@ackplus/nest-dynamic-templates 1.1.15 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/MIGRATION.md +97 -0
  3. package/README.md +201 -116
  4. package/dist/index.d.ts +2 -0
  5. package/dist/index.js +2 -0
  6. package/dist/index.js.map +1 -1
  7. package/dist/lib/config/resolve-config.d.ts +7 -0
  8. package/dist/lib/config/resolve-config.js +50 -0
  9. package/dist/lib/config/resolve-config.js.map +1 -0
  10. package/dist/lib/constant.d.ts +1 -0
  11. package/dist/lib/constant.js +2 -1
  12. package/dist/lib/constant.js.map +1 -1
  13. package/dist/lib/dto/create-template-layout.dto.js +49 -12
  14. package/dist/lib/dto/create-template-layout.dto.js.map +1 -1
  15. package/dist/lib/dto/create-template.dto.js +59 -14
  16. package/dist/lib/dto/create-template.dto.js.map +1 -1
  17. package/dist/lib/dto/render-template.dto.d.ts +3 -6
  18. package/dist/lib/dto/render-template.dto.js +17 -38
  19. package/dist/lib/dto/render-template.dto.js.map +1 -1
  20. package/dist/lib/engines/language/html.engine.d.ts +2 -3
  21. package/dist/lib/engines/language/html.engine.js +4 -34
  22. package/dist/lib/engines/language/html.engine.js.map +1 -1
  23. package/dist/lib/engines/language/markdown.engine.d.ts +4 -2
  24. package/dist/lib/engines/language/markdown.engine.js +20 -20
  25. package/dist/lib/engines/language/markdown.engine.js.map +1 -1
  26. package/dist/lib/engines/language/mjml.engine.d.ts +4 -2
  27. package/dist/lib/engines/language/mjml.engine.js +18 -20
  28. package/dist/lib/engines/language/mjml.engine.js.map +1 -1
  29. package/dist/lib/engines/language/text.engine.d.ts +2 -1
  30. package/dist/lib/engines/language/text.engine.js +2 -1
  31. package/dist/lib/engines/language/text.engine.js.map +1 -1
  32. package/dist/lib/engines/language-engine.d.ts +4 -1
  33. package/dist/lib/engines/language-engine.js +2 -0
  34. package/dist/lib/engines/language-engine.js.map +1 -1
  35. package/dist/lib/engines/load-peer.d.ts +1 -0
  36. package/dist/lib/engines/load-peer.js +21 -0
  37. package/dist/lib/engines/load-peer.js.map +1 -0
  38. package/dist/lib/engines/template/ejs.engine.d.ts +6 -3
  39. package/dist/lib/engines/template/ejs.engine.js +13 -12
  40. package/dist/lib/engines/template/ejs.engine.js.map +1 -1
  41. package/dist/lib/engines/template/handlebars.engine.d.ts +8 -3
  42. package/dist/lib/engines/template/handlebars.engine.js +26 -13
  43. package/dist/lib/engines/template/handlebars.engine.js.map +1 -1
  44. package/dist/lib/engines/template/nunjucks.engine.d.ts +8 -8
  45. package/dist/lib/engines/template/nunjucks.engine.js +26 -33
  46. package/dist/lib/engines/template/nunjucks.engine.js.map +1 -1
  47. package/dist/lib/engines/template/pug.engine.d.ts +7 -5
  48. package/dist/lib/engines/template/pug.engine.js +11 -20
  49. package/dist/lib/engines/template/pug.engine.js.map +1 -1
  50. package/dist/lib/engines/template-engine.d.ts +4 -1
  51. package/dist/lib/engines/template-engine.js +2 -0
  52. package/dist/lib/engines/template-engine.js.map +1 -1
  53. package/dist/lib/entities/template-layout.entity.js +51 -14
  54. package/dist/lib/entities/template-layout.entity.js.map +1 -1
  55. package/dist/lib/entities/template.entity.js +58 -15
  56. package/dist/lib/entities/template.entity.js.map +1 -1
  57. package/dist/lib/errors/diagnose.d.ts +11 -0
  58. package/dist/lib/errors/diagnose.js +162 -0
  59. package/dist/lib/errors/diagnose.js.map +1 -0
  60. package/dist/lib/errors/template.errors.d.ts +77 -13
  61. package/dist/lib/errors/template.errors.js +104 -59
  62. package/dist/lib/errors/template.errors.js.map +1 -1
  63. package/dist/lib/interfaces/module-config.interface.d.ts +29 -18
  64. package/dist/lib/nest-dynamic-templates.module.d.ts +1 -4
  65. package/dist/lib/nest-dynamic-templates.module.js +40 -96
  66. package/dist/lib/nest-dynamic-templates.module.js.map +1 -1
  67. package/dist/lib/services/template-config.service.d.ts +12 -15
  68. package/dist/lib/services/template-config.service.js +30 -45
  69. package/dist/lib/services/template-config.service.js.map +1 -1
  70. package/dist/lib/services/template-engine.registry.d.ts +6 -10
  71. package/dist/lib/services/template-engine.registry.js +42 -50
  72. package/dist/lib/services/template-engine.registry.js.map +1 -1
  73. package/dist/lib/services/template-layout.service.d.ts +1 -3
  74. package/dist/lib/services/template-layout.service.js +80 -152
  75. package/dist/lib/services/template-layout.service.js.map +1 -1
  76. package/dist/lib/services/template.service.d.ts +1 -3
  77. package/dist/lib/services/template.service.js +107 -209
  78. package/dist/lib/services/template.service.js.map +1 -1
  79. package/dist/tsconfig.build.tsbuildinfo +1 -1
  80. package/package.json +17 -20
@@ -1,21 +1,17 @@
1
1
  import { TemplateEngineEnum, TemplateLanguageEnum } from '../interfaces/template.types';
2
2
  import { TemplateEngine } from '../engines/template-engine';
3
3
  import { LanguageEngine } from '../engines/language-engine';
4
- type ClassType<T> = new (...args: any[]) => T;
4
+ import type { ResolvedTemplatesConfig } from '../interfaces/module-config.interface';
5
5
  export declare class TemplateEngineRegistryService {
6
- private templateEngines;
7
- private languageEngines;
8
- private config;
9
- constructor();
10
- registerTemplateEngines(engineClasses: ClassType<TemplateEngine>[]): void;
11
- registerTemplateEngine(format: TemplateEngineEnum, engine: TemplateEngine): void;
12
- registerLanguageEngine(format: TemplateLanguageEnum, engine: LanguageEngine): void;
6
+ private readonly config;
7
+ private readonly templateEngines;
8
+ private readonly languageEngines;
9
+ constructor(config: ResolvedTemplatesConfig);
10
+ private registerEnabledEngines;
13
11
  getTemplateEngine(format: TemplateEngineEnum): TemplateEngine;
14
12
  getLanguageEngine(format: TemplateLanguageEnum): LanguageEngine;
15
- registerLanguageEngines(engineClasses: ClassType<LanguageEngine>[]): void;
16
13
  hasTemplateEngine(format: TemplateEngineEnum): boolean;
17
14
  hasLanguageEngine(format: TemplateLanguageEnum): boolean;
18
15
  getSupportedTemplateFormats(): TemplateEngineEnum[];
19
16
  getSupportedLanguageFormats(): TemplateLanguageEnum[];
20
17
  }
21
- export {};
@@ -8,6 +8,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.TemplateEngineRegistryService = void 0;
13
16
  const common_1 = require("@nestjs/common");
@@ -18,70 +21,58 @@ const language_1 = require("../engines/language");
18
21
  const ejs_engine_1 = require("../engines/template/ejs.engine");
19
22
  const handlebars_engine_1 = require("../engines/template/handlebars.engine");
20
23
  const pug_engine_1 = require("../engines/template/pug.engine");
21
- const template_config_service_1 = require("./template-config.service");
24
+ const constant_1 = require("../constant");
25
+ const template_errors_1 = require("../errors/template.errors");
26
+ const TEMPLATE_ENGINES = [nunjucks_engine_1.NunjucksEngine, handlebars_engine_1.HandlebarsEngine, ejs_engine_1.EjsEngine, pug_engine_1.PugEngine];
27
+ const LANGUAGE_ENGINES = [mjml_engine_1.MjmlEngine, html_engine_1.HtmlEngine, language_1.TextEngine, language_1.MarkdownEngine];
22
28
  let TemplateEngineRegistryService = class TemplateEngineRegistryService {
29
+ config;
23
30
  templateEngines = new Map();
24
31
  languageEngines = new Map();
25
- config;
26
- constructor() {
27
- this.config = template_config_service_1.TemplateConfigService.getOptions();
28
- this.registerTemplateEngines([
29
- nunjucks_engine_1.NunjucksEngine,
30
- handlebars_engine_1.HandlebarsEngine,
31
- ejs_engine_1.EjsEngine,
32
- pug_engine_1.PugEngine
33
- ]);
34
- this.registerLanguageEngines([
35
- mjml_engine_1.MjmlEngine,
36
- html_engine_1.HtmlEngine,
37
- language_1.TextEngine,
38
- language_1.MarkdownEngine
39
- ]);
40
- }
41
- registerTemplateEngines(engineClasses) {
42
- engineClasses.forEach(EngineClass => {
43
- const engineName = EngineClass.engineName;
44
- if (!engineName) {
45
- throw new Error(`Engine class ${EngineClass.name} must define static engineName property`);
46
- }
47
- const options = this.config.enginesOptions?.template?.[engineName];
48
- const customOptions = {
49
- filters: this.config.enginesOptions?.filters,
50
- globalValues: this.config.enginesOptions?.globalValues
51
- };
52
- this.registerTemplateEngine(engineName, new EngineClass(options, customOptions));
53
- });
32
+ constructor(config) {
33
+ this.config = config;
34
+ this.registerEnabledEngines();
54
35
  }
55
- registerTemplateEngine(format, engine) {
56
- this.templateEngines.set(format, engine);
57
- }
58
- registerLanguageEngine(format, engine) {
59
- this.languageEngines.set(format, engine);
36
+ registerEnabledEngines() {
37
+ const custom = {
38
+ filters: this.config.filters,
39
+ globals: this.config.globals,
40
+ };
41
+ for (const Engine of TEMPLATE_ENGINES) {
42
+ if (!this.config.engines.template.includes(Engine.engineName))
43
+ continue;
44
+ const options = this.config.engineOptions.template[Engine.engineName];
45
+ this.templateEngines.set(Engine.engineName, new Engine(options, custom));
46
+ }
47
+ for (const Engine of LANGUAGE_ENGINES) {
48
+ if (!this.config.engines.language.includes(Engine.engineName))
49
+ continue;
50
+ const options = this.config.engineOptions.language[Engine.engineName];
51
+ this.languageEngines.set(Engine.engineName, new Engine(options));
52
+ }
60
53
  }
61
54
  getTemplateEngine(format) {
62
55
  const engine = this.templateEngines.get(format);
63
56
  if (!engine) {
64
- throw new Error(`Template engine not found for format: ${format}`);
57
+ throw new template_errors_1.TemplateEngineUnavailableError({
58
+ engine: format,
59
+ kind: 'template',
60
+ reason: 'not-enabled',
61
+ });
65
62
  }
66
63
  return engine;
67
64
  }
68
65
  getLanguageEngine(format) {
69
66
  const engine = this.languageEngines.get(format);
70
67
  if (!engine) {
71
- throw new Error(`Language engine not found for format: ${format}`);
68
+ throw new template_errors_1.TemplateEngineUnavailableError({
69
+ engine: format,
70
+ kind: 'language',
71
+ reason: 'not-enabled',
72
+ });
72
73
  }
73
74
  return engine;
74
75
  }
75
- registerLanguageEngines(engineClasses) {
76
- engineClasses.forEach(EngineClass => {
77
- const engineName = EngineClass.engineName;
78
- if (!engineName) {
79
- throw new Error(`Engine class ${EngineClass.name} must define static engineName property`);
80
- }
81
- const options = this.config.enginesOptions?.language?.[engineName];
82
- this.registerLanguageEngine(engineName, new EngineClass(options));
83
- });
84
- }
85
76
  hasTemplateEngine(format) {
86
77
  return this.templateEngines.has(format);
87
78
  }
@@ -89,15 +80,16 @@ let TemplateEngineRegistryService = class TemplateEngineRegistryService {
89
80
  return this.languageEngines.has(format);
90
81
  }
91
82
  getSupportedTemplateFormats() {
92
- return Array.from(this.templateEngines.keys());
83
+ return [...this.templateEngines.keys()];
93
84
  }
94
85
  getSupportedLanguageFormats() {
95
- return Array.from(this.languageEngines.keys());
86
+ return [...this.languageEngines.keys()];
96
87
  }
97
88
  };
98
89
  exports.TemplateEngineRegistryService = TemplateEngineRegistryService;
99
90
  exports.TemplateEngineRegistryService = TemplateEngineRegistryService = __decorate([
100
91
  (0, common_1.Injectable)(),
101
- __metadata("design:paramtypes", [])
92
+ __param(0, (0, common_1.Inject)(constant_1.NEST_DYNAMIC_TEMPLATES_OPTIONS)),
93
+ __metadata("design:paramtypes", [Object])
102
94
  ], TemplateEngineRegistryService);
103
95
  //# sourceMappingURL=template-engine.registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"template-engine.registry.js","sourceRoot":"","sources":["../../../src/lib/services/template-engine.registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template-engine.registry.js","sourceRoot":"","sources":["../../../src/lib/services/template-engine.registry.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { Repository } from 'typeorm';
2
2
  import { NestDynamicTemplateLayout } from '../entities/template-layout.entity';
3
- import { TemplateEngineEnum, TemplateLanguageEnum } from '../interfaces/template.types';
4
3
  import { TemplateLayoutFilterDto } from '../dto/template-layout-filter.dto';
5
4
  import { TemplateEngineRegistryService } from './template-engine.registry';
6
5
  import { RenderTemplateLayoutDto, RenderTemplateLayoutOutput } from '../dto/render-template-layout.dto';
@@ -12,8 +11,7 @@ export declare class TemplateLayoutService {
12
11
  constructor(layoutRepository: Repository<NestDynamicTemplateLayout>, engineRegistry: TemplateEngineRegistryService);
13
12
  render(renderDto: RenderTemplateLayoutDto): Promise<RenderTemplateLayoutOutput>;
14
13
  renderContent(input: RenderContentTemplateLayoutDto): Promise<string>;
15
- renderLanguage(language: TemplateLanguageEnum, content: string, context: Record<string, any>): Promise<string>;
16
- renderEngine(engine: TemplateEngineEnum, content: string, context: Record<string, any>): Promise<string>;
14
+ private asRenderError;
17
15
  getTemplateLayouts(filter?: TemplateLayoutFilterDto): Promise<NestDynamicTemplateLayout[]>;
18
16
  getTemplateLayoutById(id: string): Promise<NestDynamicTemplateLayout | null>;
19
17
  findTemplateLayout(name: string, scope?: string, scopeId?: string, locale?: string): Promise<NestDynamicTemplateLayout | null>;
@@ -19,6 +19,7 @@ const typeorm_2 = require("typeorm");
19
19
  const template_layout_entity_1 = require("../entities/template-layout.entity");
20
20
  const template_engine_registry_1 = require("./template-engine.registry");
21
21
  const template_errors_1 = require("../errors/template.errors");
22
+ const diagnose_1 = require("../errors/diagnose");
22
23
  let TemplateLayoutService = class TemplateLayoutService {
23
24
  layoutRepository;
24
25
  engineRegistry;
@@ -27,118 +28,76 @@ let TemplateLayoutService = class TemplateLayoutService {
27
28
  this.engineRegistry = engineRegistry;
28
29
  }
29
30
  async render(renderDto) {
30
- const { name, scope, scopeId, locale, context } = renderDto;
31
- try {
32
- const templateLayout = await this.findTemplateLayout(name, scope, scopeId, locale);
33
- if (!templateLayout) {
34
- throw new common_1.NotFoundException(`Template layout not found: ${name} in scope ${scope || 'system'}`);
35
- }
36
- if (!templateLayout.content) {
37
- throw new common_1.BadRequestException(`Template layout '${name}' has no content to render`);
38
- }
39
- let content = templateLayout.content;
40
- if (templateLayout.engine) {
41
- try {
42
- content = await this.renderEngine(templateLayout.engine, content, context || {});
43
- }
44
- catch (error) {
45
- throw new template_errors_1.TemplateEngineError(templateLayout.engine, error);
46
- }
31
+ const { name, scopeId, locale, context } = renderDto;
32
+ const scope = renderDto.scope || 'system';
33
+ const layout = await this.findTemplateLayout(name, scope, scopeId, locale);
34
+ if (!layout) {
35
+ throw new template_errors_1.TemplateNotFoundError({ templateName: name, scope, scopeId, locale, kind: 'layout' });
36
+ }
37
+ if (!layout.content) {
38
+ throw new template_errors_1.TemplateInputError(`Layout "${name}" has no content to render.`);
39
+ }
40
+ const ctx = context || {};
41
+ const meta = (stage) => ({
42
+ stage,
43
+ engine: layout.engine,
44
+ language: layout.language,
45
+ templateName: name,
46
+ scope,
47
+ scopeId,
48
+ locale,
49
+ });
50
+ let content = layout.content;
51
+ if (layout.engine) {
52
+ try {
53
+ content = await this.engineRegistry.getTemplateEngine(layout.engine).render(content, ctx);
47
54
  }
48
- if (templateLayout.language) {
49
- try {
50
- content = await this.renderLanguage(templateLayout.language, content, context || {});
51
- }
52
- catch (error) {
53
- throw new template_errors_1.TemplateLanguageError(templateLayout.language, error);
54
- }
55
+ catch (error) {
56
+ throw this.asRenderError(error, layout.content, ctx, meta('template-engine'));
55
57
  }
56
- return {
57
- content
58
- };
59
58
  }
60
- catch (error) {
61
- if (error instanceof template_errors_1.TemplateEngineError ||
62
- error instanceof template_errors_1.TemplateLanguageError ||
63
- error instanceof common_1.NotFoundException ||
64
- error instanceof common_1.BadRequestException) {
65
- throw error;
59
+ if (layout.language) {
60
+ try {
61
+ content = await this.engineRegistry.getLanguageEngine(layout.language).render(content, ctx);
62
+ }
63
+ catch (error) {
64
+ throw this.asRenderError(error, content, ctx, meta('language-engine'));
66
65
  }
67
- throw new template_errors_1.TemplateRenderError('template layout rendering', error, name);
68
66
  }
67
+ return { content };
69
68
  }
70
69
  async renderContent(input) {
71
70
  const { content, language, engine, context } = input;
72
- try {
73
- if (!content) {
74
- throw new common_1.BadRequestException('Content is required for template layout rendering');
75
- }
76
- let renderContent = content;
77
- if (engine) {
78
- try {
79
- renderContent = await this.renderEngine(engine, content, context || {});
80
- }
81
- catch (error) {
82
- throw new template_errors_1.TemplateEngineError(engine, error);
83
- }
84
- }
85
- if (language) {
86
- try {
87
- renderContent = await this.renderLanguage(language, renderContent, context || {});
88
- }
89
- catch (error) {
90
- throw new template_errors_1.TemplateLanguageError(language, error);
91
- }
92
- }
93
- return renderContent;
71
+ const ctx = context || {};
72
+ if (!content) {
73
+ throw new template_errors_1.TemplateInputError('`content` is required for layout rendering.');
94
74
  }
95
- catch (error) {
96
- if (error instanceof template_errors_1.TemplateEngineError ||
97
- error instanceof template_errors_1.TemplateLanguageError ||
98
- error instanceof common_1.BadRequestException) {
99
- throw error;
75
+ let rendered = content;
76
+ if (engine) {
77
+ try {
78
+ rendered = await this.engineRegistry.getTemplateEngine(engine).render(content, ctx);
100
79
  }
101
- throw new template_errors_1.TemplateRenderError('template layout content rendering', error);
102
- }
103
- }
104
- async renderLanguage(language, content, context) {
105
- try {
106
- if (!content) {
107
- throw new common_1.BadRequestException('Content is required for language rendering');
108
- }
109
- const languageEngine = this.engineRegistry.getLanguageEngine(language);
110
- if (!languageEngine) {
111
- throw new common_1.BadRequestException(`Language engine not found for: ${language}`);
80
+ catch (error) {
81
+ throw this.asRenderError(error, content, ctx, { stage: 'template-engine', engine, language });
112
82
  }
113
- return await languageEngine.render(content, context);
114
83
  }
115
- catch (error) {
116
- if (error instanceof common_1.BadRequestException) {
117
- throw error;
118
- }
119
- throw new template_errors_1.TemplateLanguageError(language, error);
120
- }
121
- }
122
- async renderEngine(engine, content, context) {
123
- try {
124
- if (!content) {
125
- throw new common_1.BadRequestException('Content is required for engine rendering');
84
+ if (language) {
85
+ try {
86
+ rendered = await this.engineRegistry.getLanguageEngine(language).render(rendered, ctx);
126
87
  }
127
- const templateEngine = this.engineRegistry.getTemplateEngine(engine);
128
- if (!templateEngine) {
129
- throw new common_1.BadRequestException(`Template engine not found for: ${engine}`);
88
+ catch (error) {
89
+ throw this.asRenderError(error, rendered, ctx, { stage: 'language-engine', engine, language });
130
90
  }
131
- return await templateEngine.render(content, context);
132
- }
133
- catch (error) {
134
- if (error instanceof common_1.BadRequestException) {
135
- throw error;
136
- }
137
- throw new template_errors_1.TemplateEngineError(engine, error);
138
91
  }
92
+ return rendered;
93
+ }
94
+ asRenderError(error, source, context, meta) {
95
+ if ((0, template_errors_1.isTemplateError)(error))
96
+ return error;
97
+ return (0, diagnose_1.diagnoseRenderError)(error, source, context, meta);
139
98
  }
140
99
  async getTemplateLayouts(filter = {}) {
141
- const { scope, scopeId, type, locale, excludeNames = [], } = filter;
100
+ const { scope, scopeId, type, locale, excludeNames = [] } = filter;
142
101
  const where = {};
143
102
  if (type)
144
103
  where.type = type;
@@ -147,40 +106,26 @@ let TemplateLayoutService = class TemplateLayoutService {
147
106
  if (excludeNames.length > 0)
148
107
  where.name = (0, typeorm_2.Not)((0, typeorm_2.In)(excludeNames));
149
108
  const systemTemplates = await this.layoutRepository.find({
150
- where: {
151
- ...where,
152
- scope: 'system',
153
- scopeId: (0, typeorm_2.IsNull)(),
154
- },
109
+ where: { ...where, scope: 'system', scopeId: (0, typeorm_2.IsNull)() },
155
110
  });
156
111
  if (scope === 'system') {
157
112
  return systemTemplates;
158
113
  }
159
114
  const templates = await this.layoutRepository.find({
160
- where: {
161
- ...where,
162
- scope: (0, typeorm_2.Equal)(scope),
163
- scopeId: scopeId,
164
- },
165
- order: {
166
- createdAt: 'DESC',
167
- },
115
+ where: { ...where, scope: (0, typeorm_2.Equal)(scope), scopeId: scopeId },
116
+ order: { createdAt: 'DESC' },
168
117
  });
169
118
  const templateMap = new Map();
170
119
  for (const template of systemTemplates) {
171
- const key = `${template.type}/${template.name}/${template.locale}`;
172
- templateMap.set(key, template);
120
+ templateMap.set(`${template.type}/${template.name}/${template.locale}`, template);
173
121
  }
174
122
  for (const template of templates) {
175
- const key = `${template.type}/${template.name}/${template.locale}`;
176
- templateMap.set(key, template);
123
+ templateMap.set(`${template.type}/${template.name}/${template.locale}`, template);
177
124
  }
178
125
  return Array.from(templateMap.values());
179
126
  }
180
127
  async getTemplateLayoutById(id) {
181
- return this.layoutRepository.findOne({
182
- where: { id },
183
- });
128
+ return this.layoutRepository.findOne({ where: { id } });
184
129
  }
185
130
  async findTemplateLayout(name, scope, scopeId, locale) {
186
131
  const locales = (locale ? [locale, 'en'] : ['en']).filter(Boolean);
@@ -191,11 +136,11 @@ let TemplateLayoutService = class TemplateLayoutService {
191
136
  scope,
192
137
  scopeId: scope === 'system' ? (0, typeorm_2.IsNull)() : (0, typeorm_2.Equal)(scopeId),
193
138
  locale: currentLocale,
194
- }
139
+ isActive: true,
140
+ },
195
141
  });
196
- if (template) {
142
+ if (template)
197
143
  return template;
198
- }
199
144
  }
200
145
  if (scope !== 'system') {
201
146
  for (const currentLocale of locales) {
@@ -205,46 +150,36 @@ let TemplateLayoutService = class TemplateLayoutService {
205
150
  scope: 'system',
206
151
  scopeId: (0, typeorm_2.IsNull)(),
207
152
  locale: currentLocale,
208
- }
153
+ isActive: true,
154
+ },
209
155
  });
210
- if (template) {
156
+ if (template)
211
157
  return template;
212
- }
213
158
  }
214
159
  }
215
160
  return null;
216
161
  }
217
162
  async createTemplateLayout(data) {
218
163
  if (data.scope !== 'system') {
219
- throw new common_1.ForbiddenException('Only system templates can be created directly');
164
+ throw new template_errors_1.TemplateForbiddenError('Only system layouts can be created directly.');
220
165
  }
221
166
  const existingTemplate = await this.layoutRepository.findOne({
222
- where: {
223
- name: data.name,
224
- scope: 'system',
225
- scopeId: (0, typeorm_2.IsNull)(),
226
- locale: data.locale,
227
- },
167
+ where: { name: data.name, scope: 'system', scopeId: (0, typeorm_2.IsNull)(), locale: data.locale },
228
168
  });
229
169
  if (existingTemplate) {
230
- throw new common_1.ConflictException(`System template already exists`);
170
+ throw new template_errors_1.TemplateConflictError(`A system layout "${data.name}" already exists for locale "${data.locale ?? 'en'}".`);
231
171
  }
232
- const template = this.layoutRepository.create({
233
- ...data,
234
- scopeId: undefined,
235
- });
172
+ const template = this.layoutRepository.create({ ...data, scopeId: undefined });
236
173
  return this.layoutRepository.save(template);
237
174
  }
238
175
  async overwriteSystemTemplateLayout(templateId, updates) {
239
- let template = await this.layoutRepository.findOne({
240
- where: { id: templateId },
241
- });
176
+ let template = await this.layoutRepository.findOne({ where: { id: templateId } });
242
177
  if (!template) {
243
- throw new common_1.NotFoundException(`Template not found: ${templateId}`);
178
+ throw new template_errors_1.TemplateNotFoundError({ templateName: templateId, kind: 'layout' });
244
179
  }
245
180
  if (template.scope === 'system') {
246
181
  if (!updates.scope) {
247
- throw new common_1.BadRequestException('Scope is required when overwriting system template');
182
+ throw new template_errors_1.TemplateInputError('`scope` is required when overwriting a system layout.');
248
183
  }
249
184
  const existingTemplate = await this.layoutRepository.findOne({
250
185
  where: {
@@ -258,7 +193,7 @@ let TemplateLayoutService = class TemplateLayoutService {
258
193
  template = existingTemplate;
259
194
  }
260
195
  else {
261
- const newTemplate = this.layoutRepository.create({
196
+ template = this.layoutRepository.create({
262
197
  ...template,
263
198
  id: undefined,
264
199
  createdAt: undefined,
@@ -266,7 +201,6 @@ let TemplateLayoutService = class TemplateLayoutService {
266
201
  scope: updates.scope,
267
202
  scopeId: updates.scopeId,
268
203
  });
269
- template = newTemplate;
270
204
  }
271
205
  }
272
206
  template = this.layoutRepository.merge(template, updates);
@@ -274,32 +208,26 @@ let TemplateLayoutService = class TemplateLayoutService {
274
208
  return template;
275
209
  }
276
210
  async updateTemplateLayout(id, updates, canUpdateSystemTemplate = false) {
277
- let template = await this.layoutRepository.findOne({
278
- where: { id },
279
- });
211
+ let template = await this.layoutRepository.findOne({ where: { id } });
280
212
  if (!template) {
281
- throw new common_1.NotFoundException(`Template not found: ${id}`);
213
+ throw new template_errors_1.TemplateNotFoundError({ templateName: id, kind: 'layout' });
282
214
  }
283
215
  if (template.scope === 'system' && !canUpdateSystemTemplate) {
284
216
  if (updates.scope) {
285
217
  return this.overwriteSystemTemplateLayout(id, updates);
286
218
  }
287
- else {
288
- throw new common_1.ForbiddenException('Cannot update system templates');
289
- }
219
+ throw new template_errors_1.TemplateForbiddenError('Cannot update a system layout directly.');
290
220
  }
291
221
  template = this.layoutRepository.merge(template, updates);
292
222
  return this.layoutRepository.save(template);
293
223
  }
294
224
  async deleteTemplateLayout(id, canDeleteSystemTemplate = false) {
295
- const template = await this.layoutRepository.findOne({
296
- where: { id },
297
- });
225
+ const template = await this.layoutRepository.findOne({ where: { id } });
298
226
  if (!template) {
299
- throw new Error(`Template not found: ${id}`);
227
+ throw new template_errors_1.TemplateNotFoundError({ templateName: id, kind: 'layout' });
300
228
  }
301
229
  if (template.scope === 'system' && !canDeleteSystemTemplate) {
302
- throw new common_1.ForbiddenException('Cannot delete system templates');
230
+ throw new template_errors_1.TemplateForbiddenError('Cannot delete a system layout.');
303
231
  }
304
232
  await this.layoutRepository.remove(template);
305
233
  }
@@ -1 +1 @@
1
- {"version":3,"file":"template-layout.service.js","sourceRoot":"","sources":["../../../src/lib/services/template-layout.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template-layout.service.js","sourceRoot":"","sources":["../../../src/lib/services/template-layout.service.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { Repository } from 'typeorm';
2
2
  import { NestDynamicTemplate } from '../entities/template.entity';
3
- import { TemplateEngineEnum, TemplateLanguageEnum } from '../interfaces/template.types';
4
3
  import { RenderTemplateDto, RenderTemplateOutputDTO } from '../dto/render-template.dto';
5
4
  import { CreateTemplateDto } from '../dto/create-template.dto';
6
5
  import { TemplateFilterDto } from '../dto/template-filter.dto';
@@ -14,8 +13,7 @@ export declare class TemplateService {
14
13
  constructor(templateRepository: Repository<NestDynamicTemplate>, engineRegistry: TemplateEngineRegistryService, templateLayoutService: TemplateLayoutService);
15
14
  render(renderDto: RenderTemplateDto): Promise<RenderTemplateOutputDTO>;
16
15
  renderContent(input: RenderContentTemplateDto): Promise<string>;
17
- renderLanguage(language: TemplateLanguageEnum, content: string, context: Record<string, any>): Promise<string>;
18
- renderEngine(engine: TemplateEngineEnum, content: string, context: Record<string, any>): Promise<string>;
16
+ private asRenderError;
19
17
  getTemplates(filter?: TemplateFilterDto): Promise<NestDynamicTemplate[]>;
20
18
  getTemplateById(id: string): Promise<NestDynamicTemplate | null>;
21
19
  findTemplate(name: string, scope?: string, scopeId?: string, locale?: string): Promise<NestDynamicTemplate | null>;