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.

79 lines (78 loc) 3.33 kB
import { type CollectionCreate } from "appwrite-utils"; /** * Recursively searches for TypeScript configuration files (appwriteConfig.ts) * @param dir The directory to start the search from * @param depth Current search depth for recursion limiting * @returns Path to the config file or null if not found */ export declare const findAppwriteConfigTS: (dir: string, depth?: number) => string | null; /** * Recursively searches for configuration files starting from the given directory. * Priority: 1) YAML configs in .appwrite directories, 2) appwriteConfig.ts files in subdirectories * @param dir The directory to start the search from * @returns The directory path where the config was found, suitable for passing to loadConfig() */ export declare const findAppwriteConfig: (dir: string) => string | null; /** * Recursively searches for the functions directory * @param dir The directory to start searching from * @param depth Current search depth for recursion limiting * @returns Path to the functions directory or null if not found */ export declare const findFunctionsDir: (dir: string, depth?: number) => string | null; /** * Loads a YAML collection file and converts it to CollectionCreate format * @param filePath Path to the YAML collection file * @returns CollectionCreate object or null if loading fails */ export declare const loadYamlCollection: (filePath: string) => CollectionCreate | null; /** * Loads a YAML table file and converts it to CollectionCreate format * @param filePath Path to the YAML table file * @returns CollectionCreate object or null if loading fails */ export declare const loadYamlTable: (filePath: string) => CollectionCreate | null; /** * Result of discovering collections from a directory */ export interface CollectionDiscoveryResult { collections: CollectionCreate[]; loadedNames: Set<string>; conflicts: Array<{ name: string; source1: string; source2: string; }>; } /** * Discovers and loads collections from a collections/ directory * @param collectionsDir Path to the collections directory * @returns Discovery result with loaded collections and metadata */ export declare const discoverCollections: (collectionsDir: string) => Promise<CollectionDiscoveryResult>; /** * Result of discovering tables from a directory */ export interface TableDiscoveryResult { tables: CollectionCreate[]; loadedNames: Set<string>; conflicts: Array<{ name: string; source1: string; source2: string; }>; } /** * Discovers and loads tables from a tables/ directory * @param tablesDir Path to the tables directory * @param existingNames Set of already-loaded collection names to check for conflicts * @returns Discovery result with loaded tables and metadata */ export declare const discoverTables: (tablesDir: string, existingNames?: Set<string>) => Promise<TableDiscoveryResult>; /** * Discovers and loads collections/tables from legacy single directory structure * @param configFileDir Directory containing the config file * @param dirName Directory name to search for ('collections' or 'tables') * @returns Array of discovered collections/tables */ export declare const discoverLegacyDirectory: (configFileDir: string, dirName: "collections" | "tables") => Promise<CollectionCreate[]>;