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
TypeScript
/**
* 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