diff options
author | Julien Dessaux | 2023-07-20 00:24:31 +0200 |
---|---|---|
committer | Julien Dessaux | 2023-07-20 00:24:31 +0200 |
commit | 24f6c8eb90555b81a96b142fec8057b05d334035 (patch) | |
tree | d85d9f71cb9dc6472d6cb4e95a0d2ca256308ce8 /haskell/src/SpaceTraders/APIClient/Systems.hs | |
parent | [haskell] Fixed models' serialization (diff) | |
download | spacetraders-24f6c8eb90555b81a96b142fec8057b05d334035.tar.gz spacetraders-24f6c8eb90555b81a96b142fec8057b05d334035.tar.bz2 spacetraders-24f6c8eb90555b81a96b142fec8057b05d334035.zip |
[haskell] Finalized the agent initialization, refresh and reset
Diffstat (limited to 'haskell/src/SpaceTraders/APIClient/Systems.hs')
-rw-r--r-- | haskell/src/SpaceTraders/APIClient/Systems.hs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/haskell/src/SpaceTraders/APIClient/Systems.hs b/haskell/src/SpaceTraders/APIClient/Systems.hs index 2e275ee..eb15b4d 100644 --- a/haskell/src/SpaceTraders/APIClient/Systems.hs +++ b/haskell/src/SpaceTraders/APIClient/Systems.hs @@ -3,7 +3,7 @@ {-# LANGUAGE OverloadedStrings #-} module SpaceTraders.APIClient.Systems - ( listSystems + ( initSystems ) where import Control.Exception @@ -15,8 +15,8 @@ import SpaceTraders.APIClient.Pagination import SpaceTraders.Database.Systems import SpaceTraders.Model.System(System) -listSystems :: SpaceTradersT (APIResponse [System]) -listSystems = do +initSystems :: SpaceTradersT (APIResponse [System]) +initSystems = do s <- getSystems listSystems' Pagination{limit=20, page=((length s) `div` 20) + 1, total=0} where @@ -25,8 +25,8 @@ listSystems = do resp <- sendPaginated (Just p) $ setRequestPath "/v2/systems" case resp of Left e -> throw e - Right (APIMessage [] _) -> Right <$> getSystems Right (APIMessage r (Just p')) -> do addSystems r - listSystems' (nextPage p') + if (limit p' * page p' < total p') then listSystems' (nextPage p') + else Right <$> getSystems _ -> undefined |