aboutsummaryrefslogtreecommitdiff
path: root/src/server/Json.hs
diff options
context:
space:
mode:
authorJoris2016-03-27 17:36:33 +0200
committerJoris2016-03-27 17:59:32 +0200
commit869bab77e93e2a6c776a4b1fc35ef0fd5df22f5f (patch)
tree917a9e871eff1c487da63ea2407234d7e3829dda /src/server/Json.hs
parenta8882071da12cbb5b0bf2f003322e42e181b0c82 (diff)
downloadbudget-869bab77e93e2a6c776a4b1fc35ef0fd5df22f5f.tar.gz
budget-869bab77e93e2a6c776a4b1fc35ef0fd5df22f5f.tar.bz2
budget-869bab77e93e2a6c776a4b1fc35ef0fd5df22f5f.zip
Compute payers client side rather than server side
Diffstat (limited to 'src/server/Json.hs')
-rw-r--r--src/server/Json.hs10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/server/Json.hs b/src/server/Json.hs
index a2f1ef5..408742a 100644
--- a/src/server/Json.hs
+++ b/src/server/Json.hs
@@ -1,7 +1,9 @@
{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE FlexibleContexts #-}
module Json
( jsonObject
+ , jsonId
) where
import Web.Scotty
@@ -10,5 +12,13 @@ import qualified Data.Aeson.Types as Json
import qualified Data.HashMap.Strict as M
import Data.Text (Text)
+import Database.Persist
+import Database.Persist.Sqlite
+
+import Model.Database
+
jsonObject :: [(Text, Json.Value)] -> ActionM ()
jsonObject = json . Json.Object . M.fromList
+
+jsonId :: (ToBackendKey SqlBackend a) => Key a -> ActionM ()
+jsonId key = json . Json.Object . M.fromList $ [("id", Json.Number . fromIntegral . keyToInt64 $ key)]