summaryrefslogtreecommitdiff
path: root/fig-web/src/Fig/Web/Module/Debt.hs
blob: b4388323bfe5fb333a1883236ad42a79af511f61 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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