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/Ships.hs | 35 +++++++++++++++-------------- 1 file changed, 18 insertions(+), 17 deletions(-) (limited to 'haskell/src/SpaceTraders/APIClient/Ships.hs') diff --git a/haskell/src/SpaceTraders/APIClient/Ships.hs b/haskell/src/SpaceTraders/APIClient/Ships.hs index 87c5ecb..4ce9371 100644 --- a/haskell/src/SpaceTraders/APIClient/Ships.hs +++ b/haskell/src/SpaceTraders/APIClient/Ships.hs @@ -1,5 +1,5 @@ -{-# LANGUAGE DeriveAnyClass #-} -{-# LANGUAGE DeriveGeneric #-} +{-# LANGUAGE DeriveAnyClass #-} +{-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE OverloadedStrings #-} module SpaceTraders.APIClient.Ships @@ -8,19 +8,20 @@ module SpaceTraders.APIClient.Ships , orbit ) where -import Data.Aeson.Types -import qualified Data.Text.Encoding as T -import GHC.Generics -import Network.HTTP.Simple +import Data.Aeson.Types +import qualified Data.Text.Encoding as T +import GHC.Generics +import Network.HTTP.Simple -import SpaceTraders -import SpaceTraders.APIClient.Client -import SpaceTraders.APIClient.Pagination -import SpaceTraders.Database.Ships -import SpaceTraders.Model.Nav -import SpaceTraders.Model.Ship +import SpaceTraders +import SpaceTraders.APIClient.Client +import SpaceTraders.APIClient.Pagination +import SpaceTraders.Database.Ships +import SpaceTraders.Model.Nav +import SpaceTraders.Model.Ship + +newtype NavMessage = NavMessage { nav :: Nav } deriving (FromJSON, Generic, Show) -data NavMessage = NavMessage { nav :: Nav } deriving (FromJSON, Generic, Show) dock :: Ship -> SpaceTradersT (APIResponse Ship) dock ship = do resp <- send $ setRequestPath (T.encodeUtf8 $ mconcat ["/v2/my/ships/", symbol ship, "/dock"]) @@ -29,7 +30,7 @@ dock ship = do Left e -> return $ Left e Right (NavMessage n) -> do let s = ship{SpaceTraders.Model.Ship.nav=n} - updateShip s + setShip s return $ Right s myShips :: SpaceTradersT (APIResponse [Ship]) @@ -43,8 +44,8 @@ myShips = do Left e -> return $ Left e Right (APIMessage r (Just p')) -> do mapM_ setShip r - if (limit p' * page p' < total p') then listShips' (nextPage p') - else Right <$> getShips + if limit p' * page p' < total p' then listShips' (nextPage p') + else Right <$> getShips _ -> undefined orbit :: Ship -> SpaceTradersT (APIResponse Ship) @@ -55,5 +56,5 @@ orbit ship = do Left e -> return $ Left e Right (NavMessage n) -> do let s = ship{SpaceTraders.Model.Ship.nav=n} - updateShip s + setShip s return $ Right s -- cgit v1.2.3