@agility/cli
Version:
Agility CLI for working with your content. (Public Beta)
63 lines (62 loc) • 1.91 kB
TypeScript
/**
* 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;