From 7e27a0a7eada373780a9757fd89f70d4d911d69a Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Fri, 22 Mar 2024 01:13:34 +0100 Subject: [haskell] refactoring --- haskell/src/SpaceTraders/APIClient/Agent.hs | 39 ++++++++++++++++------------- 1 file changed, 22 insertions(+), 17 deletions(-) (limited to 'haskell/src/SpaceTraders/APIClient/Agent.hs') diff --git a/haskell/src/SpaceTraders/APIClient/Agent.hs b/haskell/src/SpaceTraders/APIClient/Agent.hs index 7b367f6..cdd04e6 100644 --- a/haskell/src/SpaceTraders/APIClient/Agent.hs +++ b/haskell/src/SpaceTraders/APIClient/Agent.hs @@ -1,5 +1,5 @@ -{-# LANGUAGE DeriveAnyClass #-} -{-# LANGUAGE DeriveGeneric #-} +{-# LANGUAGE DeriveAnyClass #-} +{-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE OverloadedStrings #-} module SpaceTraders.APIClient.Agent @@ -8,28 +8,33 @@ module SpaceTraders.APIClient.Agent , register ) where -import Control.Monad.Reader -import Data.Aeson -import GHC.Generics -import qualified Data.Text as T -import Network.HTTP.Simple +import Control.Monad.Reader +import Data.Aeson +import qualified Data.Text as T +import GHC.Generics +import Network.HTTP.Simple -import SpaceTraders -import SpaceTraders.APIClient.Client -import SpaceTraders.Model.Agent(Agent) -import SpaceTraders.Model.Ship(Ship) -import SpaceTraders.Model.Contract +import SpaceTraders +import SpaceTraders.APIClient.Client +import SpaceTraders.Database.Agents +import SpaceTraders.Model.Agent (Agent) +import SpaceTraders.Model.Contract +import SpaceTraders.Model.Ship (Ship) myAgent :: SpaceTradersT (APIResponse Agent) -myAgent = send $ setRequestPath "/v2/my/agent" +myAgent = do + a@(Right ag) <- send $ setRequestPath "/v2/my/agent" + setAgent ag + return a + data RegisterRequest = RegisterRequest { faction :: T.Text - , symbol :: T.Text + , symbol :: T.Text } deriving (ToJSON, Generic, Show) -data RegisterMessage = RegisterMessage { agent :: Agent +data RegisterMessage = RegisterMessage { agent :: Agent , contract :: Contract - , ship :: Ship - , token :: T.Text + , ship :: Ship + , token :: T.Text } deriving (FromJSON, Generic, Show) register :: (HasRequest env, MonadIO m, MonadReader env m) => T.Text -> T.Text -> m (APIResponse RegisterMessage) -- cgit v1.2.3