@ackplus/nest-dynamic-templates
Version:
Dynamic template management for NestJS applications
25 lines (24 loc) • 2.04 kB
TypeScript
import { Repository } from 'typeorm';
import { NestDynamicTemplateLayout } from '../entities/template-layout.entity';
import { TemplateEngineEnum, TemplateLanguageEnum } from '../interfaces/template.types';
import { TemplateLayoutFilterDto } from '../dto/template-layout-filter.dto';
import { TemplateEngineRegistryService } from './template-engine.registry';
import { RenderTemplateLayoutDto, RenderTemplateLayoutOutput } from '../dto/render-template-layout.dto';
import { CreateTemplateLayoutDto } from '../dto/create-template-layout.dto';
import { RenderContentTemplateLayoutDto } from '../dto/render-content-template-layout.dto';
export declare class TemplateLayoutService {
private readonly layoutRepository;
private readonly engineRegistry;
constructor(layoutRepository: Repository<NestDynamicTemplateLayout>, engineRegistry: TemplateEngineRegistryService);
render(renderDto: RenderTemplateLayoutDto): Promise<RenderTemplateLayoutOutput>;
renderContent(input: RenderContentTemplateLayoutDto): Promise<string>;
renderLanguage(language: TemplateLanguageEnum, content: string, context: Record<string, any>): Promise<string>;
renderEngine(engine: TemplateEngineEnum, content: string, context: Record<string, any>): Promise<string>;
getTemplateLayouts(filter?: TemplateLayoutFilterDto): Promise<NestDynamicTemplateLayout[]>;
getTemplateLayoutById(id: string): Promise<NestDynamicTemplateLayout | null>;
findTemplateLayout(name: string, scope?: string, scopeId?: string, locale?: string): Promise<NestDynamicTemplateLayout | null>;
createTemplateLayout(data: CreateTemplateLayoutDto): Promise<NestDynamicTemplateLayout>;
overwriteSystemTemplateLayout(templateId: string, updates: Partial<CreateTemplateLayoutDto>): Promise<NestDynamicTemplateLayout>;
updateTemplateLayout(id: string, updates: Partial<CreateTemplateLayoutDto>, canUpdateSystemTemplate?: boolean): Promise<NestDynamicTemplateLayout>;
deleteTemplateLayout(id: string, canDeleteSystemTemplate?: boolean): Promise<void>;
}