@ackplus/nest-dynamic-templates 0.1.51 → 1.1.1

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 (148) hide show
  1. package/README.md +6 -284
  2. package/eslint.config.mjs +22 -0
  3. package/jest.config.ts +10 -0
  4. package/package.json +7 -58
  5. package/project.json +38 -0
  6. package/src/{index.d.ts → index.ts} +14 -1
  7. package/src/lib/constant.ts +2 -0
  8. package/src/lib/dto/create-template-layout.dto.ts +65 -0
  9. package/src/lib/dto/create-template.dto.ts +80 -0
  10. package/src/lib/dto/render-content-template-layout.dto.ts +32 -0
  11. package/src/lib/dto/render-content-template.dto.ts +37 -0
  12. package/src/lib/dto/render-template-layout.dto.ts +55 -0
  13. package/src/lib/dto/render-template.dto.ts +74 -0
  14. package/src/lib/dto/template-filter.dto.ts +52 -0
  15. package/src/lib/dto/template-layout-filter.dto.ts +51 -0
  16. package/src/lib/engines/language/html.engine.ts +49 -0
  17. package/src/lib/engines/language/markdown.engine.ts +37 -0
  18. package/src/lib/engines/language/mjml.engine.ts +44 -0
  19. package/src/lib/engines/language/text.engine.ts +15 -0
  20. package/src/lib/engines/{language-engine.d.ts → language-engine.ts} +7 -1
  21. package/src/lib/engines/template/ejs.engine.ts +33 -0
  22. package/src/lib/engines/template/handlebars.engine.ts +35 -0
  23. package/src/lib/engines/template/nunjucks.engine.ts +70 -0
  24. package/src/lib/engines/template/pug.engine.ts +43 -0
  25. package/src/lib/engines/{template-engine.d.ts → template-engine.ts} +6 -1
  26. package/src/lib/entities/template-layout.entity.ts +99 -0
  27. package/src/lib/entities/template.entity.ts +105 -0
  28. package/src/lib/errors/{template.errors.js → template.errors.ts} +20 -23
  29. package/src/lib/interfaces/{module-config.interface.d.ts → module-config.interface.ts} +16 -1
  30. package/src/lib/interfaces/template.types.ts +25 -0
  31. package/src/lib/nest-dynamic-templates.module.ts +143 -0
  32. package/src/lib/services/template-config.service.ts +112 -0
  33. package/src/lib/services/template-engine.registry.ts +109 -0
  34. package/src/lib/services/template-layout.service.ts +407 -0
  35. package/src/lib/services/template.service.ts +476 -0
  36. package/src/test/{helpers.js → helpers.ts} +5 -8
  37. package/src/test/nunjucks.service.spec.ts +157 -0
  38. package/src/test/pug.service.spec-temp +254 -0
  39. package/src/test/template-layout.service.spec.ts +422 -0
  40. package/src/test/template.service.spec.ts +862 -0
  41. package/src/test/test-database.config.ts +24 -0
  42. package/src/test/test-database.d.ts +6 -0
  43. package/src/test/test.setup.ts +34 -0
  44. package/src/types/ioredis.d.ts +6 -0
  45. package/src/types/mjml.d.ts +5 -0
  46. package/tsconfig.json +17 -0
  47. package/tsconfig.lib.json +14 -0
  48. package/tsconfig.spec.json +15 -0
  49. package/src/index.js +0 -23
  50. package/src/index.js.map +0 -1
  51. package/src/lib/constant.d.ts +0 -2
  52. package/src/lib/constant.js +0 -6
  53. package/src/lib/constant.js.map +0 -1
  54. package/src/lib/dto/create-template-layout.dto.d.ts +0 -15
  55. package/src/lib/dto/create-template-layout.dto.js +0 -87
  56. package/src/lib/dto/create-template-layout.dto.js.map +0 -1
  57. package/src/lib/dto/create-template.dto.d.ts +0 -17
  58. package/src/lib/dto/create-template.dto.js +0 -104
  59. package/src/lib/dto/create-template.dto.js.map +0 -1
  60. package/src/lib/dto/render-content-template-layout.dto.d.ts +0 -7
  61. package/src/lib/dto/render-content-template-layout.dto.js +0 -41
  62. package/src/lib/dto/render-content-template-layout.dto.js.map +0 -1
  63. package/src/lib/dto/render-content-template.dto.d.ts +0 -8
  64. package/src/lib/dto/render-content-template.dto.js +0 -47
  65. package/src/lib/dto/render-content-template.dto.js.map +0 -1
  66. package/src/lib/dto/render-template-layout.dto.d.ts +0 -10
  67. package/src/lib/dto/render-template-layout.dto.js +0 -68
  68. package/src/lib/dto/render-template-layout.dto.js.map +0 -1
  69. package/src/lib/dto/render-template.dto.d.ts +0 -14
  70. package/src/lib/dto/render-template.dto.js +0 -91
  71. package/src/lib/dto/render-template.dto.js.map +0 -1
  72. package/src/lib/dto/template-filter.dto.d.ts +0 -8
  73. package/src/lib/dto/template-filter.dto.js +0 -62
  74. package/src/lib/dto/template-filter.dto.js.map +0 -1
  75. package/src/lib/dto/template-layout-filter.dto.d.ts +0 -7
  76. package/src/lib/dto/template-layout-filter.dto.js +0 -61
  77. package/src/lib/dto/template-layout-filter.dto.js.map +0 -1
  78. package/src/lib/engines/language/html.engine.d.ts +0 -9
  79. package/src/lib/engines/language/html.engine.js +0 -79
  80. package/src/lib/engines/language/html.engine.js.map +0 -1
  81. package/src/lib/engines/language/index.js +0 -12
  82. package/src/lib/engines/language/index.js.map +0 -1
  83. package/src/lib/engines/language/markdown.engine.d.ts +0 -9
  84. package/src/lib/engines/language/markdown.engine.js +0 -26
  85. package/src/lib/engines/language/markdown.engine.js.map +0 -1
  86. package/src/lib/engines/language/mjml.engine.d.ts +0 -9
  87. package/src/lib/engines/language/mjml.engine.js +0 -76
  88. package/src/lib/engines/language/mjml.engine.js.map +0 -1
  89. package/src/lib/engines/language/text.engine.d.ts +0 -7
  90. package/src/lib/engines/language/text.engine.js +0 -16
  91. package/src/lib/engines/language/text.engine.js.map +0 -1
  92. package/src/lib/engines/language-engine.js +0 -7
  93. package/src/lib/engines/language-engine.js.map +0 -1
  94. package/src/lib/engines/template/ejs.engine.d.ts +0 -10
  95. package/src/lib/engines/template/ejs.engine.js +0 -66
  96. package/src/lib/engines/template/ejs.engine.js.map +0 -1
  97. package/src/lib/engines/template/handlebars.engine.d.ts +0 -10
  98. package/src/lib/engines/template/handlebars.engine.js +0 -67
  99. package/src/lib/engines/template/handlebars.engine.js.map +0 -1
  100. package/src/lib/engines/template/index.js +0 -12
  101. package/src/lib/engines/template/index.js.map +0 -1
  102. package/src/lib/engines/template/nunjucks.engine.d.ts +0 -16
  103. package/src/lib/engines/template/nunjucks.engine.js +0 -63
  104. package/src/lib/engines/template/nunjucks.engine.js.map +0 -1
  105. package/src/lib/engines/template/pug.engine.d.ts +0 -12
  106. package/src/lib/engines/template/pug.engine.js +0 -75
  107. package/src/lib/engines/template/pug.engine.js.map +0 -1
  108. package/src/lib/engines/template-engine.js +0 -7
  109. package/src/lib/engines/template-engine.js.map +0 -1
  110. package/src/lib/entities/template-layout.entity.d.ts +0 -20
  111. package/src/lib/entities/template-layout.entity.js +0 -121
  112. package/src/lib/entities/template-layout.entity.js.map +0 -1
  113. package/src/lib/entities/template.entity.d.ts +0 -21
  114. package/src/lib/entities/template.entity.js +0 -128
  115. package/src/lib/entities/template.entity.js.map +0 -1
  116. package/src/lib/errors/template.errors.d.ts +0 -19
  117. package/src/lib/errors/template.errors.js.map +0 -1
  118. package/src/lib/interfaces/module-config.interface.js +0 -3
  119. package/src/lib/interfaces/module-config.interface.js.map +0 -1
  120. package/src/lib/interfaces/template.types.d.ts +0 -22
  121. package/src/lib/interfaces/template.types.js +0 -25
  122. package/src/lib/interfaces/template.types.js.map +0 -1
  123. package/src/lib/nest-dynamic-templates.module.d.ts +0 -10
  124. package/src/lib/nest-dynamic-templates.module.js +0 -131
  125. package/src/lib/nest-dynamic-templates.module.js.map +0 -1
  126. package/src/lib/services/template-config.service.d.ts +0 -18
  127. package/src/lib/services/template-config.service.js +0 -66
  128. package/src/lib/services/template-config.service.js.map +0 -1
  129. package/src/lib/services/template-engine.registry.d.ts +0 -21
  130. package/src/lib/services/template-engine.registry.js +0 -94
  131. package/src/lib/services/template-engine.registry.js.map +0 -1
  132. package/src/lib/services/template-layout.service.d.ts +0 -24
  133. package/src/lib/services/template-layout.service.js +0 -301
  134. package/src/lib/services/template-layout.service.js.map +0 -1
  135. package/src/lib/services/template.service.d.ts +0 -26
  136. package/src/lib/services/template.service.js +0 -366
  137. package/src/lib/services/template.service.js.map +0 -1
  138. package/src/test/helpers.d.ts +0 -4
  139. package/src/test/helpers.js.map +0 -1
  140. package/src/test/test-database.config.d.ts +0 -4
  141. package/src/test/test-database.config.js +0 -24
  142. package/src/test/test-database.config.js.map +0 -1
  143. package/src/test/test.setup.d.ts +0 -3
  144. package/src/test/test.setup.js +0 -29
  145. package/src/test/test.setup.js.map +0 -1
  146. package/tsconfig.tsbuildinfo +0 -1
  147. /package/src/lib/engines/language/{index.d.ts → index.ts} +0 -0
  148. /package/src/lib/engines/template/{index.d.ts → index.ts} +0 -0
@@ -1,301 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TemplateLayoutService = void 0;
4
- const tslib_1 = require("tslib");
5
- const common_1 = require("@nestjs/common");
6
- const typeorm_1 = require("@nestjs/typeorm");
7
- const typeorm_2 = require("typeorm");
8
- const template_layout_entity_1 = require("../entities/template-layout.entity");
9
- const template_engine_registry_1 = require("./template-engine.registry");
10
- const template_errors_1 = require("../errors/template.errors");
11
- let TemplateLayoutService = class TemplateLayoutService {
12
- constructor(layoutRepository, engineRegistry) {
13
- this.layoutRepository = layoutRepository;
14
- this.engineRegistry = engineRegistry;
15
- }
16
- async render(renderDto) {
17
- const { name, scope, scopeId, locale, context } = renderDto;
18
- try {
19
- const templateLayout = await this.findTemplateLayout(name, scope, scopeId, locale);
20
- if (!templateLayout) {
21
- throw new common_1.NotFoundException(`Template layout not found: ${name} in scope ${scope || 'system'}`);
22
- }
23
- if (!templateLayout.content) {
24
- throw new common_1.BadRequestException(`Template layout '${name}' has no content to render`);
25
- }
26
- let content = templateLayout.content;
27
- if (templateLayout.engine) {
28
- try {
29
- content = await this.renderEngine(templateLayout.engine, content, context);
30
- }
31
- catch (error) {
32
- throw new template_errors_1.TemplateEngineError(templateLayout.engine, error);
33
- }
34
- }
35
- if (templateLayout.language) {
36
- try {
37
- content = await this.renderLanguage(templateLayout.language, content, context);
38
- }
39
- catch (error) {
40
- throw new template_errors_1.TemplateLanguageError(templateLayout.language, error);
41
- }
42
- }
43
- return {
44
- content
45
- };
46
- }
47
- catch (error) {
48
- if (error instanceof template_errors_1.TemplateEngineError ||
49
- error instanceof template_errors_1.TemplateLanguageError ||
50
- error instanceof common_1.NotFoundException ||
51
- error instanceof common_1.BadRequestException) {
52
- throw error;
53
- }
54
- throw new template_errors_1.TemplateRenderError('template layout rendering', error, name);
55
- }
56
- }
57
- async renderContent(input) {
58
- const { content, language, engine, context } = input;
59
- try {
60
- if (!content) {
61
- throw new common_1.BadRequestException('Content is required for template layout rendering');
62
- }
63
- let renderContent = content;
64
- if (engine) {
65
- try {
66
- renderContent = await this.renderEngine(engine, content, context);
67
- }
68
- catch (error) {
69
- throw new template_errors_1.TemplateEngineError(engine, error);
70
- }
71
- }
72
- if (language) {
73
- try {
74
- renderContent = await this.renderLanguage(language, renderContent, context);
75
- }
76
- catch (error) {
77
- throw new template_errors_1.TemplateLanguageError(language, error);
78
- }
79
- }
80
- return renderContent;
81
- }
82
- catch (error) {
83
- if (error instanceof template_errors_1.TemplateEngineError ||
84
- error instanceof template_errors_1.TemplateLanguageError ||
85
- error instanceof common_1.BadRequestException) {
86
- throw error;
87
- }
88
- throw new template_errors_1.TemplateRenderError('template layout content rendering', error);
89
- }
90
- }
91
- async renderLanguage(language, content, context) {
92
- try {
93
- if (!content) {
94
- throw new common_1.BadRequestException('Content is required for language rendering');
95
- }
96
- const languageEngine = this.engineRegistry.getLanguageEngine(language);
97
- if (!languageEngine) {
98
- throw new common_1.BadRequestException(`Language engine not found for: ${language}`);
99
- }
100
- return await languageEngine.render(content, context);
101
- }
102
- catch (error) {
103
- if (error instanceof common_1.BadRequestException) {
104
- throw error;
105
- }
106
- throw new template_errors_1.TemplateLanguageError(language, error);
107
- }
108
- }
109
- async renderEngine(engine, content, context) {
110
- try {
111
- if (!content) {
112
- throw new common_1.BadRequestException('Content is required for engine rendering');
113
- }
114
- const templateEngine = this.engineRegistry.getTemplateEngine(engine);
115
- if (!templateEngine) {
116
- throw new common_1.BadRequestException(`Template engine not found for: ${engine}`);
117
- }
118
- return await templateEngine.render(content, context);
119
- }
120
- catch (error) {
121
- if (error instanceof common_1.BadRequestException) {
122
- throw error;
123
- }
124
- throw new template_errors_1.TemplateEngineError(engine, error);
125
- }
126
- }
127
- async getTemplateLayouts(filter = {}) {
128
- const { scope, scopeId, type, locale, excludeNames = [], } = filter;
129
- const where = {};
130
- if (type)
131
- where.type = type;
132
- if (locale)
133
- where.locale = locale;
134
- if (excludeNames.length > 0)
135
- where.name = (0, typeorm_2.Not)((0, typeorm_2.In)(excludeNames));
136
- const systemTemplates = await this.layoutRepository.find({
137
- where: {
138
- ...where,
139
- scope: 'system',
140
- scopeId: (0, typeorm_2.IsNull)(),
141
- },
142
- });
143
- if (scope === 'system') {
144
- return systemTemplates;
145
- }
146
- const templates = await this.layoutRepository.find({
147
- where: {
148
- ...where,
149
- scope: (0, typeorm_2.Equal)(scope),
150
- scopeId: (0, typeorm_2.Equal)(scopeId),
151
- },
152
- order: {
153
- createdAt: 'DESC',
154
- },
155
- });
156
- const templateMap = new Map();
157
- for (const template of systemTemplates) {
158
- const key = `${template.type}/${template.name}/${template.locale}`;
159
- templateMap.set(key, template);
160
- }
161
- for (const template of templates) {
162
- const key = `${template.type}/${template.name}/${template.locale}`;
163
- templateMap.set(key, template);
164
- }
165
- return Array.from(templateMap.values());
166
- }
167
- async getTemplateLayoutById(id) {
168
- return this.layoutRepository.findOne({
169
- where: { id },
170
- });
171
- }
172
- async findTemplateLayout(name, scope, scopeId, locale) {
173
- const locales = (locale ? [locale, 'en'] : ['en']).filter(Boolean);
174
- for (const currentLocale of locales) {
175
- const template = await this.layoutRepository.findOne({
176
- where: {
177
- name,
178
- scope,
179
- scopeId: scope === 'system' ? (0, typeorm_2.IsNull)() : (0, typeorm_2.Equal)(scopeId),
180
- locale: currentLocale,
181
- }
182
- });
183
- if (template) {
184
- return template;
185
- }
186
- }
187
- if (scope !== 'system') {
188
- for (const currentLocale of locales) {
189
- const template = await this.layoutRepository.findOne({
190
- where: {
191
- name,
192
- scope: 'system',
193
- scopeId: (0, typeorm_2.IsNull)(),
194
- locale: currentLocale,
195
- }
196
- });
197
- if (template) {
198
- return template;
199
- }
200
- }
201
- }
202
- return null;
203
- }
204
- async createTemplateLayout(data) {
205
- if (data.scope !== 'system') {
206
- throw new common_1.ForbiddenException('Only system templates can be created directly');
207
- }
208
- const existingTemplate = await this.layoutRepository.findOne({
209
- where: {
210
- name: data.name,
211
- scope: 'system',
212
- scopeId: (0, typeorm_2.IsNull)(),
213
- locale: data.locale,
214
- },
215
- });
216
- if (existingTemplate) {
217
- throw new common_1.ConflictException(`System template already exists`);
218
- }
219
- const template = this.layoutRepository.create({
220
- ...data,
221
- scopeId: null,
222
- });
223
- return this.layoutRepository.save(template);
224
- }
225
- async overwriteSystemTemplateLayout(templateId, updates) {
226
- let template = await this.layoutRepository.findOne({
227
- where: { id: templateId },
228
- });
229
- if (!template) {
230
- throw new common_1.NotFoundException(`Template not found: ${templateId}`);
231
- }
232
- if (template.scope === 'system') {
233
- if (!updates.scope) {
234
- throw new common_1.BadRequestException('Scope is required when overwriting system template');
235
- }
236
- const existingTemplate = await this.layoutRepository.findOne({
237
- where: {
238
- name: template.name,
239
- locale: template.locale,
240
- scope: updates.scope,
241
- scopeId: (0, typeorm_2.Equal)(updates.scopeId),
242
- },
243
- });
244
- if (existingTemplate) {
245
- template = existingTemplate;
246
- }
247
- else {
248
- const newTemplate = this.layoutRepository.create({
249
- ...template,
250
- id: undefined,
251
- createdAt: undefined,
252
- updatedAt: undefined,
253
- scope: updates.scope,
254
- scopeId: updates.scopeId,
255
- });
256
- template = newTemplate;
257
- }
258
- }
259
- template = this.layoutRepository.merge(template, updates);
260
- await this.layoutRepository.save(template);
261
- return template;
262
- }
263
- async updateTemplateLayout(id, updates, canUpdateSystemTemplate = false) {
264
- let template = await this.layoutRepository.findOne({
265
- where: { id },
266
- });
267
- if (!template) {
268
- throw new common_1.NotFoundException(`Template not found: ${id}`);
269
- }
270
- if (template.scope === 'system' && !canUpdateSystemTemplate) {
271
- if (updates.scope) {
272
- return this.overwriteSystemTemplateLayout(id, updates);
273
- }
274
- else {
275
- throw new common_1.ForbiddenException('Cannot update system templates');
276
- }
277
- }
278
- template = this.layoutRepository.merge(template, updates);
279
- return this.layoutRepository.save(template);
280
- }
281
- async deleteTemplateLayout(id, canDeleteSystemTemplate = false) {
282
- const template = await this.layoutRepository.findOne({
283
- where: { id },
284
- });
285
- if (!template) {
286
- throw new Error(`Template not found: ${id}`);
287
- }
288
- if (template.scope === 'system' && !canDeleteSystemTemplate) {
289
- throw new common_1.ForbiddenException('Cannot delete system templates');
290
- }
291
- await this.layoutRepository.remove(template);
292
- }
293
- };
294
- exports.TemplateLayoutService = TemplateLayoutService;
295
- exports.TemplateLayoutService = TemplateLayoutService = tslib_1.__decorate([
296
- (0, common_1.Injectable)(),
297
- tslib_1.__param(0, (0, typeorm_1.InjectRepository)(template_layout_entity_1.NestDynamicTemplateLayout)),
298
- tslib_1.__metadata("design:paramtypes", [typeorm_2.Repository,
299
- template_engine_registry_1.TemplateEngineRegistryService])
300
- ], TemplateLayoutService);
301
- //# sourceMappingURL=template-layout.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"template-layout.service.js","sourceRoot":"","sources":["../../../../../../packages/nest-dynamic-templates/src/lib/services/template-layout.service.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- import { Repository } from 'typeorm';
2
- import { NestDynamicTemplate } from '../entities/template.entity';
3
- import { TemplateEngineEnum, TemplateLanguageEnum } from '../interfaces/template.types';
4
- import { RenderTemplateDto, RenderTemplateOutputDTO } from '../dto/render-template.dto';
5
- import { CreateTemplateDto } from '../dto/create-template.dto';
6
- import { TemplateFilterDto } from '../dto/template-filter.dto';
7
- import { TemplateLayoutService } from './template-layout.service';
8
- import { TemplateEngineRegistryService } from './template-engine.registry';
9
- import { RenderContentTemplateDto } from '../dto/render-content-template.dto';
10
- export declare class TemplateService {
11
- private readonly templateRepository;
12
- private readonly engineRegistry;
13
- private readonly templateLayoutService;
14
- constructor(templateRepository: Repository<NestDynamicTemplate>, engineRegistry: TemplateEngineRegistryService, templateLayoutService: TemplateLayoutService);
15
- render(renderDto: RenderTemplateDto): Promise<RenderTemplateOutputDTO>;
16
- 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>;
19
- getTemplates(filter?: TemplateFilterDto): Promise<NestDynamicTemplate[]>;
20
- getTemplateById(id: string): Promise<NestDynamicTemplate | null>;
21
- findTemplate(name: string, scope?: string, scopeId?: string, locale?: string): Promise<NestDynamicTemplate | null>;
22
- createTemplate(data: CreateTemplateDto): Promise<NestDynamicTemplate>;
23
- overwriteSystemTemplate(templateId: string, updates: Partial<CreateTemplateDto>): Promise<NestDynamicTemplate>;
24
- updateTemplate(id: string, updates: Partial<CreateTemplateDto>, canUpdateSystemTemplate?: boolean): Promise<NestDynamicTemplate>;
25
- deleteTemplate(id: string, canDeleteSystemTemplate?: boolean): Promise<void>;
26
- }