mirror of
https://framagit.org/enfance-libre/statistiques
synced 2025-12-07 22:23:46 +00:00
22 lines
640 B
TypeScript
22 lines
640 B
TypeScript
|
|
import { Client } from "@notionhq/client";
|
||
|
|
import {
|
||
|
|
QueryDatabaseParameters,
|
||
|
|
QueryDatabaseResponse,
|
||
|
|
} from "@notionhq/client/build/src/api-endpoints";
|
||
|
|
|
||
|
|
export async function queryAllDbResults(
|
||
|
|
notion: Client,
|
||
|
|
dbQuery: QueryDatabaseParameters
|
||
|
|
): Promise<QueryDatabaseResponse["results"]> {
|
||
|
|
const dbResponse = await notion.databases.query(dbQuery);
|
||
|
|
if (dbResponse.has_more && dbResponse.next_cursor) {
|
||
|
|
const moreResults = await queryAllDbResults(notion, {
|
||
|
|
...dbQuery,
|
||
|
|
start_cursor: dbResponse.next_cursor,
|
||
|
|
});
|
||
|
|
return [...dbResponse.results, ...moreResults];
|
||
|
|
} else {
|
||
|
|
return dbResponse.results;
|
||
|
|
}
|
||
|
|
}
|