From 24f6c8eb90555b81a96b142fec8057b05d334035 Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Thu, 20 Jul 2023 00:24:31 +0200 Subject: [haskell] Finalized the agent initialization, refresh and reset --- haskell/src/SpaceTraders/APIClient/Systems.hs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'haskell/src/SpaceTraders/APIClient/Systems.hs') 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 -- cgit v1.2.3