suspend fun getDocuments()

in src/main/kotlin/circlet/cli/confluence/ConfluenceClient.kt [51:65]


    suspend fun getDocuments(spaceKey: String): Flow<DocumentInfo> {
        return flow {
            var page: DocumentsInfoResponse = getDocumentsPage(spaceKey)
            while (page.results.isNotEmpty()) {
                page.results.forEach { emit(it) }
                val nextPageParams = page.links["next"]
                    ?.substringAfter("?")
                    ?.let { parseQueryString(it) }
                    ?: break
                val limit = nextPageParams["limit"]?.toInt()
                val start = nextPageParams["start"]?.toInt() ?: 0
                page = getDocumentsPage(spaceKey, limit, start)
            }
        }
    }