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.

76 lines (75 loc) 2.58 kB
export interface DestructiveOperationOptions { operation: string; targets: string[]; consequences?: string[]; requireExplicitConfirmation?: boolean; confirmationText?: string; skipConfirmation?: boolean; } export interface BackupPromptOptions { operation: string; targets: string[]; recommendBackup?: boolean; backupMessage?: string; } export declare class ConfirmationDialogs { /** * Shows a confirmation dialog for destructive operations */ static confirmDestructiveOperation(options: DestructiveOperationOptions): Promise<boolean>; /** * Prompts user about creating a backup before a destructive operation */ static promptForBackup(options: BackupPromptOptions): Promise<'yes' | 'no' | 'skip'>; /** * Shows a final confirmation before proceeding with an operation */ static finalConfirmation(operation: string, details?: string[]): Promise<boolean>; /** * Specialized confirmation for database wiping */ static confirmDatabaseWipe(databaseNames: string[], options?: { includeStorage?: boolean; includeUsers?: boolean; skipConfirmation?: boolean; }): Promise<boolean>; /** * Specialized confirmation for collection wiping */ static confirmCollectionWipe(databaseName: string, collectionNames: string[], options?: { skipConfirmation?: boolean; }): Promise<boolean>; /** * Specialized confirmation for function deployment */ static confirmFunctionDeployment(functionNames: string[], options?: { isProduction?: boolean; hasBreakingChanges?: boolean; skipConfirmation?: boolean; }): Promise<boolean>; /** * Shows operation summary and asks for final confirmation */ static showOperationSummary(title: string, summary: Record<string, string | number | string[]>, options?: { confirmationRequired?: boolean; warningMessage?: string; }): Promise<boolean>; /** * Interactive selection with confirmation */ static selectWithConfirmation<T>(items: T[], options: { message: string; displayProperty?: keyof T; multiSelect?: boolean; confirmMessage?: string; validator?: (selection: T[]) => string | true; }): Promise<T[]>; /** * Confirms overwriting an existing file or directory */ static confirmOverwrite(target: string): Promise<boolean>; /** * Confirms removal of a file */ static confirmRemoval(target: string): Promise<boolean>; }