[haskell] Add a SpaceTradersT and handle server reset api message
This commit is contained in:
parent
7bd1c116c2
commit
e084d260ff
6 changed files with 110 additions and 31 deletions
|
@ -3,36 +3,19 @@
|
|||
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
|
||||
import SpaceTraders.Automation.Init
|
||||
import SpaceTraders.APIClient.Agent(myAgent)
|
||||
import SpaceTraders.APIClient.Systems
|
||||
import SpaceTraders.Database
|
||||
import SpaceTraders.Database.Agents
|
||||
import SpaceTraders.Database.Contracts
|
||||
import SpaceTraders.Database.Ships
|
||||
import SpaceTraders.Database.Tokens
|
||||
|
||||
main :: IO ()
|
||||
main = do
|
||||
conn <- open
|
||||
t <- getToken conn `catch` registerNow conn
|
||||
ma <- myAgent t
|
||||
config <- initST
|
||||
ma <- runSpaceTradersT myAgent config
|
||||
print ma
|
||||
s <- listSystems t conn
|
||||
print s
|
||||
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'
|
||||
addContract conn $ contract r'
|
||||
addShip conn $ ship r'
|
||||
let t = token r'
|
||||
setToken conn $ t
|
||||
return t
|
||||
Left e' -> throwIO e'
|
||||
s <- listSystems (token config) (conn config)
|
||||
case s of
|
||||
Left e -> throwIO e
|
||||
Right s' -> print $ length s'
|
||||
deinitST config
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue