Allow setting collaborators (#51)

This commit is contained in:
Patrick Stevens
2023-07-25 20:04:28 +01:00
committed by GitHub
parent 8618416a00
commit f4c1e5d400
5 changed files with 80 additions and 7 deletions

View File

@@ -1,5 +1,6 @@
namespace Gitea.Declarative
open System.Threading.Tasks
open SwaggerProvider
[<AutoOpen>]
@@ -10,12 +11,12 @@ module GiteaClient =
type Gitea = SwaggerClientProvider<Host>
let getAllPushMirrors (client : Gitea.Client) (owner : string) (repoName : string) : Gitea.PushMirror array Async =
let rec go (page : int64) (soFar : Gitea.PushMirror array) =
/// The input function takes page first, then count.
/// Repeatedly calls `f` with increasing page numbers until all results are returned.
let getAllPaginated (f : int64 -> int64 -> 'ret array Task) : 'ret array Async =
let rec go (page : int64) (soFar : 'ret array) =
async {
let! newPage =
client.RepoListPushMirrors (owner, repoName, Some page, Some 100L)
|> Async.AwaitTask
let! newPage = f page 100L |> Async.AwaitTask
let soFar = Array.append soFar newPage