override def getRepo()

in modules/core/src/main/scala/org/scalasteward/core/forge/gitea/GiteaApiAlg.scala [214:246]


  override def getRepo(repo: Repo): F[RepoOut] =
    client
      .get[Repository](url.repos(repo), modify)
      .map(repoOut(_))

  override def listPullRequests(
      repo: Repo,
      head: String,
      base: Branch
  ): F[List[PullRequestOut]] = {
    def go(page: Int) =
      client
        .get[Vector[PullRequestResp]](
          url
            .pulls(repo)
            .withQueryParam("page", page)
            .withQueryParam("limit", PULL_REQUEST_PAGE_SIZE),
          modify
        )

    // basically unfoldEval
    def goLoop(page: Int, accu: Vector[PullRequestOut]): F[Vector[PullRequestOut]] =
      go(page).flatMap {
        case xs if xs.isEmpty => accu.pure[F]
        case xs =>
          val xs0 =
            xs.filter(x => x.head.label == head && x.base.label == base.name)
              .map(pullRequestOut)
          goLoop(page + 1, accu ++ xs0)
      }

    goLoop(1, Vector.empty).map(_.toList)
  }