UNPKG

adpa-enterprise-framework-automation

Version:

Modular, standards-compliant Node.js/TypeScript automation framework for enterprise requirements, project, and data management. Provides CLI and API for BABOK v3, PMBOK 7th Edition, and DMBOK 2.0 (in progress). Production-ready Express.js API with TypeSpe

77 lines 2.59 kB
/** * Enhanced Template Repository * * Provides unified access to both static (legacy) and database-backed templates * with full CRUD operations, search, and PMBOK compliance validation. */ import { DatabaseTemplate, TemplateSearchQuery } from '../types/databaseTemplates'; import { GenerationTask } from '../modules/documentGenerator/types'; interface DatabaseConnection { query(sql: string, params?: any[]): Promise<any>; transaction<T>(callback: (trx: any) => Promise<T>): Promise<T>; } export declare class TemplateRepository { private db; constructor(db: DatabaseConnection); /** * Get all system templates (migrated from static GENERATION_TASKS) */ getSystemTemplates(): Promise<DatabaseTemplate[]>; /** * Get user-created templates */ getUserTemplates(userId?: string): Promise<DatabaseTemplate[]>; /** * Get all active templates (system + user) */ getAllTemplates(): Promise<DatabaseTemplate[]>; /** * Search templates with advanced filtering */ searchTemplates(query: TemplateSearchQuery): Promise<DatabaseTemplate[]>; /** * Get template by ID */ getTemplateById(id: string): Promise<DatabaseTemplate | null>; /** * Get template by generation function (for backward compatibility) */ getTemplateByFunction(functionName: string): Promise<DatabaseTemplate | null>; /** * Create new template */ createTemplate(template: Omit<DatabaseTemplate, 'id' | 'created_at' | 'updated_at'>): Promise<DatabaseTemplate>; /** * Update existing template (creates new version) */ updateTemplate(id: string, updates: Partial<DatabaseTemplate>, updatedBy: string): Promise<DatabaseTemplate>; /** * Soft delete template (mark as inactive) */ deleteTemplate(id: string): Promise<void>; /** * Get template categories */ getCategories(): Promise<any[]>; /** * Convert database template to legacy GenerationTask format (for backward compatibility) */ templateToGenerationTask(template: DatabaseTemplate): GenerationTask; /** * Get all templates as legacy GenerationTask format */ getTemplatesAsGenerationTasks(): Promise<GenerationTask[]>; /** * Validate template for PMBOK compliance */ validatePMBOKCompliance(template: DatabaseTemplate): { valid: boolean; issues: string[]; }; /** * Get template usage statistics */ getTemplateStats(): Promise<any>; } export {}; //# sourceMappingURL=TemplateRepository.d.ts.map