From a775330b4fa17fb367e55343e6fda6c7ae9e34b4 Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Sun, 2 Jul 2023 22:58:30 +0200 Subject: Bootstrapped my haskell client --- haskell/app/Main.hs | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 haskell/app/Main.hs (limited to 'haskell/app') diff --git a/haskell/app/Main.hs b/haskell/app/Main.hs new file mode 100644 index 0000000..32aa908 --- /dev/null +++ b/haskell/app/Main.hs @@ -0,0 +1,31 @@ +{-# LANGUAGE OverloadedStrings #-} + +module Main (main) where + +import Control.Exception +import qualified Database.SQLite.Simple as S +import qualified Data.Text as T + +import SpaceTraders.APIClient.Agent +import SpaceTraders.Database +import SpaceTraders.Database.Agents +import SpaceTraders.Database.Tokens + +main :: IO () +main = do + conn <- open + t <- getToken conn `catch` registerNow conn + ma <- myAgent t + print ma + close conn + where + registerNow :: S.Connection -> SomeException -> IO (T.Text) + registerNow conn _ = do + r <- register "ADYXAX" "COSMIC" + case r of + Right r' -> do + setAgent conn $ agent r' + let t = token r' + setToken conn $ t + return t + Left e' -> throwIO e' -- cgit v1.2.3