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
JavaScript
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;
};