generated from tpl/purs
fix: pass n to orgreposurl
This commit is contained in:
parent
aea50e7603
commit
8c3016e020
@ -30,8 +30,8 @@ import Type.Row.Subset (class Subset)
|
|||||||
reposURL :: forall m. Monad m => Username -> RepoName -> GiteaT m URL
|
reposURL :: forall m. Monad m => Username -> RepoName -> GiteaT m URL
|
||||||
reposURL (Username owner) (RepoName repo) = (\{ baseURI } -> baseURI / "repos" / owner / repo) <$> ask
|
reposURL (Username owner) (RepoName repo) = (\{ baseURI } -> baseURI / "repos" / owner / repo) <$> ask
|
||||||
|
|
||||||
orgReposURL :: forall m. Monad m => OrgName -> {page :: Int , limit :: Int} -> GiteaT m URL
|
orgReposURL :: forall m. Monad m => OrgName -> { page :: Int, limit :: Int } -> GiteaT m URL
|
||||||
orgReposURL (OrgName org) {page,limit} = (\{ baseURI } -> baseURI / "orgs" / org / "repos" ? "limit" /\ show limit & "page" /\ show page) <$> ask
|
orgReposURL (OrgName org) { page, limit } = (\{ baseURI } -> baseURI / "orgs" / org / "repos" ? "limit" /\ show limit & "page" /\ show page) <$> ask
|
||||||
|
|
||||||
get :: forall m. MonadAff m => Username -> RepoName -> GiteaT m (Record Repo)
|
get :: forall m. MonadAff m => Username -> RepoName -> GiteaT m (Record Repo)
|
||||||
get u r = do
|
get u r = do
|
||||||
@ -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 =
|
||||||
limit = 10
|
let
|
||||||
paginate (repos /\ pageN) =
|
limit = 10
|
||||||
do
|
paginate (repos /\ pageN) =
|
||||||
newRepos <- getPage pageN
|
do
|
||||||
pure if Array.length newRepos < limit then
|
newRepos <- getPage pageN
|
||||||
Done $ repos <> newRepos
|
pure
|
||||||
else
|
if Array.length newRepos < limit then
|
||||||
Loop $ (repos <> newRepos) /\ (pageN + 1)
|
Done $ repos <> newRepos
|
||||||
getPage n = do
|
else
|
||||||
{ auth } <- ask
|
Loop $ (repos <> newRepos) /\ (pageN + 1)
|
||||||
url <- orgReposURL o
|
getPage n = do
|
||||||
rep <- HTTP.fetch $ HTTP.GET /\ url /\ Auth.headers auth
|
{ auth } <- ask
|
||||||
Error.tryGetRepJSON rep
|
url <- orgReposURL o { limit, page: n }
|
||||||
in tailRecM paginate ([] /\ 1)
|
rep <- HTTP.fetch $ HTTP.GET /\ url /\ Auth.headers auth
|
||||||
|
Error.tryGetRepJSON rep
|
||||||
|
in
|
||||||
|
tailRecM paginate ([] /\ 1)
|
||||||
|
|
||||||
update
|
update
|
||||||
:: forall m patch
|
:: forall m patch
|
||||||
|
@ -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)
|
||||||
|
Loading…
Reference in New Issue
Block a user