diff options
Diffstat (limited to 'fig-web')
| -rw-r--r-- | fig-web/fig-web.cabal | 1 | ||||
| -rw-r--r-- | fig-web/src/Fig/Web/Module/Debt.hs | 24 | ||||
| -rw-r--r-- | fig-web/src/Fig/Web/Public.hs | 2 |
3 files changed, 27 insertions, 0 deletions
diff --git a/fig-web/fig-web.cabal b/fig-web/fig-web.cabal index 8317fa5..540ceda 100644 --- a/fig-web/fig-web.cabal +++ b/fig-web/fig-web.cabal @@ -77,6 +77,7 @@ library Fig.Web.Module.Advent Fig.Web.Module.HLS Fig.Web.Module.TCG + Fig.Web.Module.Debt executable fig-web import: defaults diff --git a/fig-web/src/Fig/Web/Module/Debt.hs b/fig-web/src/Fig/Web/Module/Debt.hs new file mode 100644 index 0000000..b438832 --- /dev/null +++ b/fig-web/src/Fig/Web/Module/Debt.hs @@ -0,0 +1,24 @@ +module Fig.Web.Module.Debt + ( public + ) where + +import Fig.Prelude + +import Data.Maybe (mapMaybe) +import qualified Data.Map.Strict as Map +import qualified Data.ByteString as BS + +import Fig.Web.Utils +import Fig.Web.Types +import qualified Fig.Web.DB as DB + +public :: PublicModule +public a = do + onGet "/debt" $ respondBytes =<< liftIO (BS.readFile "/home/llll/src/debtclock/index.html") + onGet "/debtclonk.png" $ respondBytes =<< liftIO (BS.readFile "/home/llll/src/debtclock/debtclonk.png") + onGet "/api/debt" do + debts <- DB.hgetall a.db "debt" + respondJSON + $ Map.fromList + $ mapMaybe (\(k, v) -> (decodeUtf8 k,) <$> readMaybe @Double (unpack $ decodeUtf8 v)) + $ Map.toList debts diff --git a/fig-web/src/Fig/Web/Public.hs b/fig-web/src/Fig/Web/Public.hs index a5e6722..297dac1 100644 --- a/fig-web/src/Fig/Web/Public.hs +++ b/fig-web/src/Fig/Web/Public.hs @@ -26,6 +26,7 @@ import qualified Fig.Web.Module.User as User import qualified Fig.Web.Module.Shader as Shader import qualified Fig.Web.Module.HLS as HLS import qualified Fig.Web.Module.TCG as TCG +import qualified Fig.Web.Module.Debt as Debt allBusEvents :: PublicModuleArgs -> BusEventHandlers allBusEvents args = busEvents . mconcat $ fmap ($ args) @@ -95,6 +96,7 @@ app args = do Shader.public args HLS.public args TCG.public args + Debt.public args websocket $ mconcat [ Gizmo.publicWebsockets args , Circle.publicWebsockets args |
