UNPKG

appwrite-utils-cli

Version:

Appwrite Utility Functions to help with database management, data conversion, data import, migrations, and much more. Meant to be used as a CLI tool, I do not recommend installing this in frontend environments.

29 lines (28 loc) 1.06 kB
import { Client, Databases, IndexType, Query, } from "node-appwrite"; import { getAppwriteClient, tryAwaitWithRetry, } from "../utils/helperFunctions.js"; export const fetchAllDatabases = async (database) => { const databases = await tryAwaitWithRetry(async () => await database.list([Query.limit(25)])); if (!databases) return []; const allDatabases = databases.databases; if (allDatabases.length === 0) return []; let lastDatabaseId = allDatabases[allDatabases.length - 1].$id; if (databases.databases.length < 25) { return allDatabases; } else { while (lastDatabaseId) { const databases = await database.list([ Query.limit(25), Query.cursorAfter(lastDatabaseId), ]); allDatabases.push(...databases.databases); if (databases.databases.length < 25) { break; } lastDatabaseId = databases.databases[databases.databases.length - 1].$id; } } return allDatabases; };