UNPKG

@agility/cli

Version:

Agility CLI for working with your content. (Public Beta)

83 lines (82 loc) 2.3 kB
/** * Content Field Validation Service * * Validates and sanitizes content fields before mapping to ensure: * - Proper reference types and structures * - Asset URL validity * - Content ID reference validation * - Field type compliance with Agility CMS expectations */ export interface FieldValidationResult { isValid: boolean; field: any; warnings: string[]; errors: string[]; sanitizedField?: any; } export interface ContentValidationOptions { sourceAssets?: any[]; sourceContainers?: any[]; modelDefinitions?: any[]; strictMode?: boolean; } export declare class ContentFieldValidator { private linkTypeDetector; constructor(); /** * Validate all fields in a content item */ validateContentFields(fields: any, options?: ContentValidationOptions): { isValid: boolean; validatedFields: any; totalWarnings: number; totalErrors: number; fieldResults: Map<string, FieldValidationResult>; }; /** * Validate a single field with type-specific rules */ private validateSingleField; /** * Validate object fields with content references */ private validateObjectField; /** * Validate string fields */ private validateStringField; /** * Validate numeric fields */ private validateNumericField; /** * Check if string field contains content ID references */ private isContentIdField; /** * Validate asset URL format */ private isValidAssetUrl; /** * Sanitize field value to ensure compatibility */ sanitizeField(fieldKey: string, fieldValue: any): any; /** * Get validation summary for reporting */ getValidationSummary(fieldResults: Map<string, FieldValidationResult>): { totalFields: number; validFields: number; fieldsWithWarnings: number; fieldsWithErrors: number; criticalFields: string[]; }; } /** * Factory function for easy usage */ export declare function createContentFieldValidator(): ContentFieldValidator; /** * Quick validation function for single fields */ export declare function validateField(fieldKey: string, fieldValue: any, options?: ContentValidationOptions): FieldValidationResult;