summaryrefslogtreecommitdiff
path: root/fig-web/src/Fig
diff options
context:
space:
mode:
Diffstat (limited to 'fig-web/src/Fig')
-rw-r--r--fig-web/src/Fig/Web/Module/Debt.hs24
-rw-r--r--fig-web/src/Fig/Web/Public.hs2
2 files changed, 26 insertions, 0 deletions
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