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.
67 lines (66 loc) • 2.21 kB
TypeScript
import { type AppwriteConfig } from "appwrite-utils";
/**
* Validation error types for different categories of issues
*/
export type ValidationErrorType = "naming_conflict" | "invalid_database_reference" | "missing_required_field" | "schema_inconsistency" | "duplicate_definition" | "cross_array_conflict";
/**
* Detailed validation error information
*/
export interface ValidationError {
type: ValidationErrorType;
message: string;
details?: string;
suggestion?: string;
affectedItems?: string[];
severity: "error" | "warning" | "info";
}
/**
* Configuration validation result
*/
export interface ValidationResult {
isValid: boolean;
errors: ValidationError[];
warnings: ValidationError[];
suggestions: ValidationError[];
}
/**
* Conflict information between collections and tables
*/
export interface ConfigConflict {
name: string;
collectionsIndex?: number;
tablesIndex?: number;
type: "name" | "id" | "database_reference";
message: string;
}
/**
* Main configuration validation function
* Validates the dual collections/tables configuration schema
*/
export declare function validateCollectionsTablesConfig(config: AppwriteConfig): ValidationResult;
/**
* Detects naming conflicts between collections and tables
*/
export declare function detectNamingConflicts(config: AppwriteConfig): ValidationError[];
/**
* Find naming conflicts between collections and tables
*/
export declare function findNamingConflicts(config: AppwriteConfig): ConfigConflict[];
/**
* Validates database ID references in collections and tables
*/
export declare function validateDatabaseReferences(config: AppwriteConfig): ValidationError[];
/**
* Validates schema consistency between collections and tables
*/
export declare function validateSchemaConsistency(config: AppwriteConfig): ValidationError[];
/**
* Reports validation results with formatted output
*/
export declare function reportValidationResults(result: ValidationResult, options?: {
verbose?: boolean;
}): void;
/**
* Validation with strict mode for enhanced checking
*/
export declare function validateWithStrictMode(config: AppwriteConfig, strictMode?: boolean): ValidationResult;