fix: pass n to orgreposurl

This commit is contained in:
orion kindel 2023-11-27 13:08:14 -06:00
parent aea50e7603
commit 8c3016e020
Signed by: orion
GPG Key ID: 6D4165AE4C928719
2 changed files with 20 additions and 19 deletions

View File

@ -41,22 +41,24 @@ get u r = do
Error.tryGetRepJSON rep Error.tryGetRepJSON rep
listForOrg :: forall m. MonadAff m => MonadRec m => OrgName -> GiteaT m (Array (Record Repo)) listForOrg :: forall m. MonadAff m => MonadRec m => OrgName -> GiteaT m (Array (Record Repo))
listForOrg o = let listForOrg o =
let
limit = 10 limit = 10
paginate (repos /\ pageN) = paginate (repos /\ pageN) =
do do
newRepos <- getPage pageN newRepos <- getPage pageN
pure if Array.length newRepos < limit then pure
if Array.length newRepos < limit then
Done $ repos <> newRepos Done $ repos <> newRepos
else else
Loop $ (repos <> newRepos) /\ (pageN + 1) Loop $ (repos <> newRepos) /\ (pageN + 1)
getPage n = do getPage n = do
{ auth } <- ask { auth } <- ask
url <- orgReposURL o url <- orgReposURL o { limit, page: n }
rep <- HTTP.fetch $ HTTP.GET /\ url /\ Auth.headers auth rep <- HTTP.fetch $ HTTP.GET /\ url /\ Auth.headers auth
Error.tryGetRepJSON rep Error.tryGetRepJSON rep
in tailRecM paginate ([] /\ 1) in
tailRecM paginate ([] /\ 1)
update update
:: forall m patch :: forall m patch

View File

@ -42,7 +42,6 @@ derive newtype instance Monad m => MonadError Gitea.Error.Error (GiteaT m)
derive newtype instance Monad m => MonadThrow Gitea.Error.Error (GiteaT m) derive newtype instance Monad m => MonadThrow Gitea.Error.Error (GiteaT m)
derive newtype instance MonadRec m => MonadRec (GiteaT m) derive newtype instance MonadRec m => MonadRec (GiteaT m)
derive newtype instance Monad m => Functor (GiteaT m) derive newtype instance Monad m => Functor (GiteaT m)
derive newtype instance Monad m => Apply (GiteaT m) derive newtype instance Monad m => Apply (GiteaT m)
derive newtype instance Monad m => Applicative (GiteaT m) derive newtype instance Monad m => Applicative (GiteaT m)