@ackplus/nest-dynamic-templates
Version:
Dynamic template management for NestJS applications
27 lines (26 loc) • 2 kB
TypeScript
import { Repository } from 'typeorm';
import { NestDynamicTemplate } from '../entities/template.entity';
import { TemplateEngineEnum, TemplateLanguageEnum } from '../interfaces/template.types';
import { RenderTemplateDto, RenderTemplateOutputDTO } from '../dto/render-template.dto';
import { CreateTemplateDto } from '../dto/create-template.dto';
import { TemplateFilterDto } from '../dto/template-filter.dto';
import { TemplateLayoutService } from './template-layout.service';
import { TemplateEngineRegistryService } from './template-engine.registry';
import { RenderContentTemplateDto } from '../dto/render-content-template.dto';
export declare class TemplateService {
private readonly templateRepository;
private readonly engineRegistry;
private readonly templateLayoutService;
constructor(templateRepository: Repository<NestDynamicTemplate>, engineRegistry: TemplateEngineRegistryService, templateLayoutService: TemplateLayoutService);
render(renderDto: RenderTemplateDto): Promise<RenderTemplateOutputDTO>;
renderContent(input: RenderContentTemplateDto): Promise<string>;
renderLanguage(language: TemplateLanguageEnum, content: string, context: Record<string, any>): Promise<string>;
renderEngine(engine: TemplateEngineEnum, content: string, context: Record<string, any>): Promise<string>;
getTemplates(filter?: TemplateFilterDto): Promise<NestDynamicTemplate[]>;
getTemplateById(id: string): Promise<NestDynamicTemplate | null>;
findTemplate(name: string, scope?: string, scopeId?: string, locale?: string): Promise<NestDynamicTemplate | null>;
createTemplate(data: CreateTemplateDto): Promise<NestDynamicTemplate>;
overwriteSystemTemplate(templateId: string, updates: Partial<CreateTemplateDto>): Promise<NestDynamicTemplate>;
updateTemplate(id: string, updates: Partial<CreateTemplateDto>, canUpdateSystemTemplate?: boolean): Promise<NestDynamicTemplate>;
deleteTemplate(id: string, canDeleteSystemTemplate?: boolean): Promise<void>;
}