summaryrefslogtreecommitdiff
path: root/haskell/src/SpaceTraders.hs
diff options
context:
space:
mode:
authorJulien Dessaux2023-07-16 23:31:00 +0200
committerJulien Dessaux2023-07-17 00:15:05 +0200
commite084d260ff0439f04ab62eba7229309d79ed55c4 (patch)
treee2355a9dad8123352474cb8533d625f87fdcde0d /haskell/src/SpaceTraders.hs
parent[haskell] Implemented pagination and systems list api call (diff)
downloadspacetraders-e084d260ff0439f04ab62eba7229309d79ed55c4.tar.gz
spacetraders-e084d260ff0439f04ab62eba7229309d79ed55c4.tar.bz2
spacetraders-e084d260ff0439f04ab62eba7229309d79ed55c4.zip
[haskell] Add a SpaceTradersT and handle server reset api message
Diffstat (limited to '')
-rw-r--r--haskell/src/SpaceTraders.hs23
1 files changed, 23 insertions, 0 deletions
diff --git a/haskell/src/SpaceTraders.hs b/haskell/src/SpaceTraders.hs
new file mode 100644
index 0000000..d93116d
--- /dev/null
+++ b/haskell/src/SpaceTraders.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE OverloadedStrings #-}
+
+module SpaceTraders
+ ( SpaceTradersT
+ , runSpaceTradersT
+ , Config(..)
+ , ask
+ , liftIO
+ ) where
+
+import Control.Monad.IO.Class
+import Control.Monad.Trans.Reader
+import qualified Database.SQLite.Simple as S
+import qualified Data.Text as T
+
+type SpaceTradersT a = ReaderT Config IO a
+
+runSpaceTradersT :: SpaceTradersT a -> Config -> IO a
+runSpaceTradersT = runReaderT
+
+data Config = Config { conn :: S.Connection
+ , token :: T.Text
+ }