UNPKG

@agility/cli

Version:

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

63 lines (62 loc) 1.91 kB
/** * GUID Data Loader Service * * Loads all entity types from the filesystem using consistent getter patterns. * Provides unified data loading for sync operations for any specified GUID. * * ✅ USES: Proven filesystem getter pattern * ✅ HANDLES: Correct directory structure (page/, item/, list/, etc.) * ✅ SUPPORTS: All Agility CMS entity types * ✅ FLEXIBLE: Works with any GUID (source or target) */ export interface ModelFilterOptions { models?: string[]; modelsWithDeps?: string[]; } export interface GuidEntities { pages: any[]; templates: any[]; containers: any[]; lists: any[]; models: any[]; content: any[]; assets: any[]; galleries: any[]; } export declare class GuidDataLoader { private guid; constructor(guid: string); /** * Load all entities for the specified GUID and locale - guarantees arrays are always returned */ loadGuidEntities(locale: string, filterOptions?: ModelFilterOptions): Promise<GuidEntities>; /** * Apply model filtering using existing ModelDependencyTreeBuilder */ private applyModelFiltering; /** * Filter entities by dependency tree (full dependency filtering) */ private filterGuidEntitiesByDependencyTree; /** * Filter entities by models only (simple filtering) */ private filterGuidEntitiesByModels; /** * Check if we have any content to process */ hasNoContent(guidEntities: GuidEntities): boolean; /** * Get entity counts for summary reporting */ getEntityCounts(guidEntities: GuidEntities): Record<string, number>; /** * Validate that the data directory exists and contains expected structure */ validateDataStructure(locale: string): boolean; /** * Get the GUID this loader is configured for */ getGuid(): string; } export type SourceEntities = GuidEntities;