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.
51 lines (50 loc) • 2.19 kB
TypeScript
import { type AppwriteConfig } from "appwrite-utils";
import { type ValidationResult } from "../config/configValidation.js";
/**
* Session authentication preservation options for config loading
*/
export interface SessionPreservationOptions {
sessionCookie?: string;
authMethod?: "session" | "apikey" | "auto";
sessionMetadata?: {
email?: string;
expiresAt?: string;
};
}
/**
* Configuration loading options
*/
export interface ConfigLoadingOptions {
validate?: boolean;
strictMode?: boolean;
reportValidation?: boolean;
preserveAuth?: SessionPreservationOptions;
}
/**
* Helper function to create session preservation options from session data
* @param sessionCookie The session cookie string
* @param email Optional email associated with the session
* @param expiresAt Optional expiration timestamp
* @returns SessionPreservationOptions object
*/
export declare function createSessionPreservation(sessionCookie: string, email?: string, expiresAt?: string): SessionPreservationOptions;
export { findAppwriteConfig, findFunctionsDir } from "./configDiscovery.js";
/**
* Loads the Appwrite configuration and returns both config and the path where it was found.
* @param configDir The directory to search for config files.
* @param options Loading options including validation settings and session preservation.
* @returns Object containing the config, path, and validation results.
*/
export declare const loadConfigWithPath: (configDir: string, options?: ConfigLoadingOptions) => Promise<{
config: AppwriteConfig;
actualConfigPath: string;
validation?: ValidationResult;
}>;
/**
* Loads the Appwrite configuration and all collection configurations from a specified directory.
* Supports both YAML and TypeScript config formats with backward compatibility.
* @param configDir The directory containing the config file and collections folder.
* @param options Loading options including validation settings and session preservation.
* @returns The loaded Appwrite configuration including collections.
*/
export declare const loadConfig: (configDir: string, options?: ConfigLoadingOptions) => Promise<AppwriteConfig>;