summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLLLL Colonq <llll@colonq>2025-06-03 02:37:51 -0400
committerLLLL Colonq <llll@colonq>2025-06-03 02:37:51 -0400
commitccb71807423d306d0718e9f2a7189a4a3fdebe79 (patch)
tree36e9bd0ccf9eee536e61baba95d8063d9414a215
parenta931453581d7aa9882469d30fc4fda7c246b08e7 (diff)
Remove bullfrog
-rw-r--r--cabal.project1
-rw-r--r--fig-monitor-bullfrog/fig-monitor-bullfrog.cabal54
-rw-r--r--fig-monitor-bullfrog/main/Main.hs29
-rw-r--r--fig-monitor-bullfrog/src/Fig/Monitor/Bullfrog.hs36
-rw-r--r--fig-monitor-bullfrog/src/Fig/Monitor/Bullfrog/Utils.hs29
-rw-r--r--hie.yaml4
6 files changed, 0 insertions, 153 deletions
diff --git a/cabal.project b/cabal.project
index 850d58b..154c8f8 100644
--- a/cabal.project
+++ b/cabal.project
@@ -4,7 +4,6 @@ packages:
fig-monitor-twitch/
fig-monitor-discord/
fig-monitor-irc/
- fig-monitor-bullfrog/
fig-bridge-irc-discord/
fig-web/
optimization: 2
diff --git a/fig-monitor-bullfrog/fig-monitor-bullfrog.cabal b/fig-monitor-bullfrog/fig-monitor-bullfrog.cabal
deleted file mode 100644
index 0cc111e..0000000
--- a/fig-monitor-bullfrog/fig-monitor-bullfrog.cabal
+++ /dev/null
@@ -1,54 +0,0 @@
-cabal-version: 3.4
-name: fig-monitor-bullfrog
-version: 0.1.0.0
-
-common defaults
- ghc-options: -Wall
- default-language: GHC2021
- default-extensions: NoImplicitPrelude PackageImports LambdaCase MultiWayIf OverloadedStrings OverloadedLists OverloadedRecordDot DuplicateRecordFields RecordWildCards NoFieldSelectors BlockArguments ViewPatterns TypeFamilies DataKinds GADTs
-
-common deps
- build-depends:
- base
- , aeson
- , base64
- , binary
- , bytestring
- , containers
- , data-default-class
- , directory
- , filepath
- , http-types
- , http-client
- , http-client-tls
- , megaparsec
- , mtl
- , network
- , safe-exceptions
- , text
- , time
- , tomland
- , transformers
- , unordered-containers
- , vector
- , warp
- , websockets
- , wuss
- , fig-utils
- , fig-bus
-
-library
- import: defaults
- import: deps
- hs-source-dirs: src
- exposed-modules:
- Fig.Monitor.Bullfrog
- Fig.Monitor.Bullfrog.Utils
-
-executable fig-monitor-bullfrog
- import: defaults
- import: deps
- build-depends: fig-monitor-bullfrog, optparse-applicative
- hs-source-dirs:
- main
- main-is: Main.hs
diff --git a/fig-monitor-bullfrog/main/Main.hs b/fig-monitor-bullfrog/main/Main.hs
deleted file mode 100644
index 966e0a1..0000000
--- a/fig-monitor-bullfrog/main/Main.hs
+++ /dev/null
@@ -1,29 +0,0 @@
-module Main where
-
-import Fig.Prelude
-
-import Options.Applicative
-
-import Fig.Monitor.Bullfrog
-import Fig.Monitor.Bullfrog.Utils
-
-data Opts = Opts
- { busHost :: Text
- , busPort :: Text
- , config :: FilePath
- }
-
-parseOpts :: Parser Opts
-parseOpts = Opts
- <$> strOption (long "bus-host" <> metavar "HOST" <> help "Address of message bus" <> value "localhost")
- <*> strOption (long "bus-port" <> metavar "PORT" <> help "Message bus port" <> showDefault <> value "32050")
- <*> strOption (long "config" <> metavar "PATH" <> help "Path to config file" <> showDefault <> value "fig-monitor-bullfrog.toml")
-
-main :: IO ()
-main = do
- opts <- execParser $ info (parseOpts <**> helper)
- ( fullDesc
- <> header "fig-monitor-bullfrog - monitor Bullfrog broadcast server"
- )
- cfg <- loadConfig opts.config
- bullfrogClient cfg (opts.busHost, opts.busPort)
diff --git a/fig-monitor-bullfrog/src/Fig/Monitor/Bullfrog.hs b/fig-monitor-bullfrog/src/Fig/Monitor/Bullfrog.hs
deleted file mode 100644
index 1b0f42c..0000000
--- a/fig-monitor-bullfrog/src/Fig/Monitor/Bullfrog.hs
+++ /dev/null
@@ -1,36 +0,0 @@
-{-# Language QuasiQuotes #-}
-{-# Language RecordWildCards #-}
-{-# Language ApplicativeDo #-}
-
-module Fig.Monitor.Bullfrog
- ( bullfrogClient
- ) where
-
-import Fig.Prelude
-
-import qualified Data.Text as Text
-
-import qualified Wuss as WS
-import qualified Network.WebSockets.Connection as WS
-
-import Fig.Utils.SExpr
-import Fig.Bus.SExpr.Client
-import Fig.Monitor.Bullfrog.Utils
-
-bullfrogClient :: Config -> (Text, Text) -> IO ()
-bullfrogClient cfg busAddr = do
- WS.runSecureClient "colonq.computer" 443 ("/bullfrog/api/channel/broadcast?token=" <> Text.unpack cfg.authToken) \conn -> do
- busClient busAddr
- (\cmds -> do
- log "Connected to bus and broadcast server"
- cmds.subscribe [sexp|(monitor bullfrog broadcast)|]
- )
- (\_cmds d -> do
- case d of
- SExprList [ev, SExprString msg]
- | ev == [sexp|(monitor bullfrog broadcast)|] -> do
- log $ "Broadcasting message: " <> msg
- WS.sendTextData conn msg
- _ -> log $ "Invalid incoming message: " <> tshow d
- )
- (pure ())
diff --git a/fig-monitor-bullfrog/src/Fig/Monitor/Bullfrog/Utils.hs b/fig-monitor-bullfrog/src/Fig/Monitor/Bullfrog/Utils.hs
deleted file mode 100644
index b0ae02b..0000000
--- a/fig-monitor-bullfrog/src/Fig/Monitor/Bullfrog/Utils.hs
+++ /dev/null
@@ -1,29 +0,0 @@
-{-# Language ApplicativeDo #-}
-
-module Fig.Monitor.Bullfrog.Utils
- ( FigMonitorBullfrogException(..)
- , Config(..)
- , loadConfig
- ) where
-
-import Fig.Prelude
-
-import qualified Toml
-
-newtype FigMonitorBullfrogException = FigMonitorBullfrogException Text
- deriving (Show, Eq, Ord)
-instance Exception FigMonitorBullfrogException
-
-newtype Config = Config
- { authToken :: Text
- } deriving (Show, Eq, Ord)
-
-configCodec :: Toml.TomlCodec Config
-configCodec = do
- authToken <- Toml.text "auth_token" Toml..= (\a -> a.authToken)
- pure $ Config{..}
-
-loadConfig :: FilePath -> IO Config
-loadConfig path = Toml.decodeFileEither configCodec path >>= \case
- Left err -> throwM . FigMonitorBullfrogException $ tshow err
- Right config -> pure config
diff --git a/hie.yaml b/hie.yaml
index 8b21905..6f5f326 100644
--- a/hie.yaml
+++ b/hie.yaml
@@ -18,10 +18,6 @@ cradle:
config: { cradle: { cabal: { component: "fig-monitor-irc:lib:fig-monitor-irc" } } }
- path: "./fig-monitor-irc/main/"
config: { cradle: { cabal: { component: "fig-monitor-irc:exe:fig-monitor-irc" } } }
- - path: "./fig-monitor-bullfrog/src/"
- config: { cradle: { cabal: { component: "fig-monitor-bullfrog:lib:fig-monitor-bullfrog" } } }
- - path: "./fig-monitor-bullfrog/main/"
- config: { cradle: { cabal: { component: "fig-monitor-bullfrog:exe:fig-monitor-bullfrog" } } }
- path: "./fig-bridge-irc-discord/src/"
config: { cradle: { cabal: { component: "fig-bridge-irc-discord:lib:fig-bridge-irc-discord" } } }
- path: "./fig-bridge-irc-discord/main/"