@ackplus/nest-dynamic-templates 1.1.16 → 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.
- package/CHANGELOG.md +32 -0
- package/MIGRATION.md +97 -0
- package/README.md +201 -116
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/config/resolve-config.d.ts +7 -0
- package/dist/lib/config/resolve-config.js +50 -0
- package/dist/lib/config/resolve-config.js.map +1 -0
- package/dist/lib/constant.d.ts +1 -0
- package/dist/lib/constant.js +2 -1
- package/dist/lib/constant.js.map +1 -1
- package/dist/lib/dto/create-template-layout.dto.js +49 -12
- package/dist/lib/dto/create-template-layout.dto.js.map +1 -1
- package/dist/lib/dto/create-template.dto.js +59 -14
- package/dist/lib/dto/create-template.dto.js.map +1 -1
- package/dist/lib/dto/render-template.dto.d.ts +3 -6
- package/dist/lib/dto/render-template.dto.js +17 -38
- package/dist/lib/dto/render-template.dto.js.map +1 -1
- package/dist/lib/engines/language/html.engine.d.ts +2 -3
- package/dist/lib/engines/language/html.engine.js +4 -34
- package/dist/lib/engines/language/html.engine.js.map +1 -1
- package/dist/lib/engines/language/markdown.engine.d.ts +4 -2
- package/dist/lib/engines/language/markdown.engine.js +20 -20
- package/dist/lib/engines/language/markdown.engine.js.map +1 -1
- package/dist/lib/engines/language/mjml.engine.d.ts +4 -2
- package/dist/lib/engines/language/mjml.engine.js +18 -20
- package/dist/lib/engines/language/mjml.engine.js.map +1 -1
- package/dist/lib/engines/language/text.engine.d.ts +2 -1
- package/dist/lib/engines/language/text.engine.js +2 -1
- package/dist/lib/engines/language/text.engine.js.map +1 -1
- package/dist/lib/engines/language-engine.d.ts +4 -1
- package/dist/lib/engines/language-engine.js +2 -0
- package/dist/lib/engines/language-engine.js.map +1 -1
- package/dist/lib/engines/load-peer.d.ts +1 -0
- package/dist/lib/engines/load-peer.js +21 -0
- package/dist/lib/engines/load-peer.js.map +1 -0
- package/dist/lib/engines/template/ejs.engine.d.ts +6 -3
- package/dist/lib/engines/template/ejs.engine.js +13 -12
- package/dist/lib/engines/template/ejs.engine.js.map +1 -1
- package/dist/lib/engines/template/handlebars.engine.d.ts +8 -3
- package/dist/lib/engines/template/handlebars.engine.js +26 -13
- package/dist/lib/engines/template/handlebars.engine.js.map +1 -1
- package/dist/lib/engines/template/nunjucks.engine.d.ts +8 -8
- package/dist/lib/engines/template/nunjucks.engine.js +25 -37
- package/dist/lib/engines/template/nunjucks.engine.js.map +1 -1
- package/dist/lib/engines/template/pug.engine.d.ts +7 -5
- package/dist/lib/engines/template/pug.engine.js +11 -20
- package/dist/lib/engines/template/pug.engine.js.map +1 -1
- package/dist/lib/engines/template-engine.d.ts +4 -1
- package/dist/lib/engines/template-engine.js +2 -0
- package/dist/lib/engines/template-engine.js.map +1 -1
- package/dist/lib/entities/template-layout.entity.js +51 -14
- package/dist/lib/entities/template-layout.entity.js.map +1 -1
- package/dist/lib/entities/template.entity.js +58 -15
- package/dist/lib/entities/template.entity.js.map +1 -1
- package/dist/lib/errors/diagnose.d.ts +11 -0
- package/dist/lib/errors/diagnose.js +162 -0
- package/dist/lib/errors/diagnose.js.map +1 -0
- package/dist/lib/errors/template.errors.d.ts +77 -13
- package/dist/lib/errors/template.errors.js +104 -59
- package/dist/lib/errors/template.errors.js.map +1 -1
- package/dist/lib/interfaces/module-config.interface.d.ts +29 -18
- package/dist/lib/nest-dynamic-templates.module.d.ts +1 -4
- package/dist/lib/nest-dynamic-templates.module.js +40 -96
- package/dist/lib/nest-dynamic-templates.module.js.map +1 -1
- package/dist/lib/services/template-config.service.d.ts +12 -15
- package/dist/lib/services/template-config.service.js +30 -45
- package/dist/lib/services/template-config.service.js.map +1 -1
- package/dist/lib/services/template-engine.registry.d.ts +6 -10
- package/dist/lib/services/template-engine.registry.js +42 -50
- package/dist/lib/services/template-engine.registry.js.map +1 -1
- package/dist/lib/services/template-layout.service.d.ts +1 -3
- package/dist/lib/services/template-layout.service.js +80 -152
- package/dist/lib/services/template-layout.service.js.map +1 -1
- package/dist/lib/services/template.service.d.ts +1 -3
- package/dist/lib/services/template.service.js +107 -209
- package/dist/lib/services/template.service.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +17 -20
|
@@ -22,6 +22,7 @@ const template_layout_service_1 = require("./template-layout.service");
|
|
|
22
22
|
const template_engine_registry_1 = require("./template-engine.registry");
|
|
23
23
|
const lodash_1 = require("lodash");
|
|
24
24
|
const template_errors_1 = require("../errors/template.errors");
|
|
25
|
+
const diagnose_1 = require("../errors/diagnose");
|
|
25
26
|
let TemplateService = class TemplateService {
|
|
26
27
|
templateRepository;
|
|
27
28
|
engineRegistry;
|
|
@@ -32,180 +33,108 @@ let TemplateService = class TemplateService {
|
|
|
32
33
|
this.templateLayoutService = templateLayoutService;
|
|
33
34
|
}
|
|
34
35
|
async render(renderDto) {
|
|
35
|
-
const { name,
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
const template = await this.findTemplate(name, scope || 'system', scopeId, locale);
|
|
41
|
-
if (!template) {
|
|
42
|
-
throw new common_1.NotFoundException(`Template not found: ${name} in scope ${scope || 'system'}`);
|
|
43
|
-
}
|
|
44
|
-
let content = template.content;
|
|
45
|
-
let subject = template.subject;
|
|
46
|
-
if (template.subject && template.engine) {
|
|
47
|
-
try {
|
|
48
|
-
const subjectEngine = this.engineRegistry.getTemplateEngine(template.engine);
|
|
49
|
-
subject = await subjectEngine.render(template.subject, context || {});
|
|
50
|
-
}
|
|
51
|
-
catch (error) {
|
|
52
|
-
throw new template_errors_1.TemplateEngineError(template.engine, error);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
if (template.engine) {
|
|
56
|
-
try {
|
|
57
|
-
content = await this.renderEngine(template.engine, content, context || {});
|
|
58
|
-
}
|
|
59
|
-
catch (error) {
|
|
60
|
-
throw new template_errors_1.TemplateEngineError(template.engine, error);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
let layout;
|
|
64
|
-
if (template.templateLayoutName) {
|
|
65
|
-
try {
|
|
66
|
-
layout = await this.templateLayoutService.render({
|
|
67
|
-
name: template.templateLayoutName,
|
|
68
|
-
scope: scope || 'system',
|
|
69
|
-
scopeId,
|
|
70
|
-
locale,
|
|
71
|
-
context: {
|
|
72
|
-
...(context || {}),
|
|
73
|
-
content
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
content = layout.content;
|
|
77
|
-
}
|
|
78
|
-
catch (error) {
|
|
79
|
-
throw new template_errors_1.TemplateLayoutError(template.templateLayoutName, error);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
if (!layout && template.language) {
|
|
83
|
-
try {
|
|
84
|
-
content = await this.renderLanguage(template.language, content, context || {});
|
|
85
|
-
}
|
|
86
|
-
catch (error) {
|
|
87
|
-
throw new template_errors_1.TemplateLanguageError(template.language, error);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
return {
|
|
91
|
-
subject: subject || '',
|
|
92
|
-
content
|
|
93
|
-
};
|
|
36
|
+
const { name, scopeId, locale, context } = renderDto;
|
|
37
|
+
const scope = renderDto.scope || 'system';
|
|
38
|
+
if (!name) {
|
|
39
|
+
throw new template_errors_1.TemplateInputError('`name` is required to render a stored template.', 'To render a raw string instead, use renderContent().');
|
|
94
40
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
error instanceof template_errors_1.TemplateLayoutError ||
|
|
99
|
-
error instanceof common_1.NotFoundException) {
|
|
100
|
-
throw error;
|
|
101
|
-
}
|
|
102
|
-
throw new template_errors_1.TemplateRenderError('template rendering', error, name);
|
|
41
|
+
const template = await this.findTemplate(name, scope, scopeId, locale);
|
|
42
|
+
if (!template) {
|
|
43
|
+
throw new template_errors_1.TemplateNotFoundError({ templateName: name, scope, scopeId, locale });
|
|
103
44
|
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
45
|
+
const ctx = context || {};
|
|
46
|
+
const meta = (stage) => ({
|
|
47
|
+
stage,
|
|
48
|
+
engine: template.engine,
|
|
49
|
+
language: template.language,
|
|
50
|
+
templateName: name,
|
|
51
|
+
scope,
|
|
52
|
+
scopeId,
|
|
53
|
+
locale,
|
|
54
|
+
});
|
|
55
|
+
let subject = template.subject ?? null;
|
|
56
|
+
if (template.subject && template.engine) {
|
|
112
57
|
try {
|
|
113
|
-
|
|
58
|
+
subject = await this.engineRegistry
|
|
59
|
+
.getTemplateEngine(template.engine)
|
|
60
|
+
.render(template.subject, ctx);
|
|
114
61
|
}
|
|
115
62
|
catch (error) {
|
|
116
|
-
throw
|
|
63
|
+
throw this.asRenderError(error, template.subject, ctx, meta('subject'));
|
|
117
64
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
throw new common_1.NotFoundException(`Template layout not found with ID: ${templateLayoutId}`);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
catch (error) {
|
|
127
|
-
if (error instanceof common_1.NotFoundException) {
|
|
128
|
-
throw error;
|
|
129
|
-
}
|
|
130
|
-
throw new template_errors_1.TemplateContentError('template layout retrieval', error);
|
|
131
|
-
}
|
|
132
|
-
if (templateLayout) {
|
|
133
|
-
try {
|
|
134
|
-
renderContent = await this.templateLayoutService.renderContent({
|
|
135
|
-
content: templateLayout.content,
|
|
136
|
-
language: language,
|
|
137
|
-
engine: engine,
|
|
138
|
-
context: {
|
|
139
|
-
...(context || {}),
|
|
140
|
-
content: renderContent
|
|
141
|
-
}
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
catch (error) {
|
|
145
|
-
throw new template_errors_1.TemplateLayoutError(templateLayout.name, error);
|
|
146
|
-
}
|
|
147
|
-
}
|
|
65
|
+
}
|
|
66
|
+
let content = template.content;
|
|
67
|
+
if (template.engine) {
|
|
68
|
+
try {
|
|
69
|
+
content = await this.engineRegistry.getTemplateEngine(template.engine).render(content, ctx);
|
|
148
70
|
}
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
renderContent = await this.renderLanguage(language, renderContent, context || {});
|
|
152
|
-
}
|
|
153
|
-
catch (error) {
|
|
154
|
-
throw new template_errors_1.TemplateLanguageError(language, error);
|
|
155
|
-
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
throw this.asRenderError(error, template.content, ctx, meta('template-engine'));
|
|
156
73
|
}
|
|
157
|
-
return renderContent;
|
|
158
74
|
}
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
75
|
+
if (template.templateLayoutName) {
|
|
76
|
+
const layout = await this.templateLayoutService.render({
|
|
77
|
+
name: template.templateLayoutName,
|
|
78
|
+
scope,
|
|
79
|
+
scopeId,
|
|
80
|
+
locale,
|
|
81
|
+
context: { ...ctx, content },
|
|
82
|
+
});
|
|
83
|
+
return { subject, content: layout.content };
|
|
84
|
+
}
|
|
85
|
+
if (template.language) {
|
|
86
|
+
try {
|
|
87
|
+
content = await this.engineRegistry.getLanguageEngine(template.language).render(content, ctx);
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
throw this.asRenderError(error, content, ctx, meta('language-engine'));
|
|
167
91
|
}
|
|
168
|
-
throw new template_errors_1.TemplateRenderError('content rendering', error);
|
|
169
92
|
}
|
|
93
|
+
return { subject, content };
|
|
170
94
|
}
|
|
171
|
-
async
|
|
95
|
+
async renderContent(input) {
|
|
96
|
+
const { content, language, templateLayoutId } = input;
|
|
97
|
+
const engine = input.engine || template_types_1.TemplateEngineEnum.NUNJUCKS;
|
|
98
|
+
const ctx = input.context || {};
|
|
99
|
+
if (!content) {
|
|
100
|
+
throw new template_errors_1.TemplateInputError('`content` is required for renderContent().');
|
|
101
|
+
}
|
|
102
|
+
let rendered;
|
|
172
103
|
try {
|
|
173
|
-
|
|
174
|
-
throw new common_1.BadRequestException('Content is required for language rendering');
|
|
175
|
-
}
|
|
176
|
-
const languageEngine = this.engineRegistry.getLanguageEngine(language);
|
|
177
|
-
if (!languageEngine) {
|
|
178
|
-
throw new common_1.BadRequestException(`Language engine not found for: ${language}`);
|
|
179
|
-
}
|
|
180
|
-
return await languageEngine.render(content, context || {});
|
|
104
|
+
rendered = await this.engineRegistry.getTemplateEngine(engine).render(content, ctx);
|
|
181
105
|
}
|
|
182
106
|
catch (error) {
|
|
183
|
-
|
|
184
|
-
throw error;
|
|
185
|
-
}
|
|
186
|
-
throw new template_errors_1.TemplateLanguageError(language, error);
|
|
107
|
+
throw this.asRenderError(error, content, ctx, { stage: 'template-engine', engine, language });
|
|
187
108
|
}
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
throw new common_1.BadRequestException('Content is required for engine rendering');
|
|
193
|
-
}
|
|
194
|
-
const templateEngine = this.engineRegistry.getTemplateEngine(engine);
|
|
195
|
-
if (!templateEngine) {
|
|
196
|
-
throw new common_1.BadRequestException(`Template engine not found for: ${engine}`);
|
|
109
|
+
if (templateLayoutId) {
|
|
110
|
+
const layout = await this.templateLayoutService.getTemplateLayoutById(templateLayoutId);
|
|
111
|
+
if (!layout) {
|
|
112
|
+
throw new template_errors_1.TemplateNotFoundError({ templateName: templateLayoutId, kind: 'layout' });
|
|
197
113
|
}
|
|
198
|
-
return
|
|
114
|
+
return this.templateLayoutService.renderContent({
|
|
115
|
+
content: layout.content,
|
|
116
|
+
language,
|
|
117
|
+
engine,
|
|
118
|
+
context: { ...ctx, content: rendered },
|
|
119
|
+
});
|
|
199
120
|
}
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
121
|
+
if (language) {
|
|
122
|
+
try {
|
|
123
|
+
rendered = await this.engineRegistry.getLanguageEngine(language).render(rendered, ctx);
|
|
124
|
+
}
|
|
125
|
+
catch (error) {
|
|
126
|
+
throw this.asRenderError(error, rendered, ctx, { stage: 'language-engine', engine, language });
|
|
203
127
|
}
|
|
204
|
-
throw new template_errors_1.TemplateEngineError(engine, error);
|
|
205
128
|
}
|
|
129
|
+
return rendered;
|
|
130
|
+
}
|
|
131
|
+
asRenderError(error, source, context, meta) {
|
|
132
|
+
if ((0, template_errors_1.isTemplateError)(error))
|
|
133
|
+
return error;
|
|
134
|
+
return (0, diagnose_1.diagnoseRenderError)(error, source, context, meta);
|
|
206
135
|
}
|
|
207
136
|
async getTemplates(filter = {}) {
|
|
208
|
-
const { scope, scopeId, type, locale, excludeNames = []
|
|
137
|
+
const { scope, scopeId, type, locale, excludeNames = [] } = filter;
|
|
209
138
|
const where = {};
|
|
210
139
|
if (type)
|
|
211
140
|
where.type = type;
|
|
@@ -214,40 +143,26 @@ let TemplateService = class TemplateService {
|
|
|
214
143
|
if (excludeNames.length > 0)
|
|
215
144
|
where.name = (0, typeorm_2.Not)((0, typeorm_2.In)(excludeNames));
|
|
216
145
|
const systemTemplates = await this.templateRepository.find({
|
|
217
|
-
where: {
|
|
218
|
-
...where,
|
|
219
|
-
scope: 'system',
|
|
220
|
-
scopeId: (0, typeorm_2.IsNull)(),
|
|
221
|
-
},
|
|
146
|
+
where: { ...where, scope: 'system', scopeId: (0, typeorm_2.IsNull)() },
|
|
222
147
|
});
|
|
223
148
|
if (scope === 'system') {
|
|
224
149
|
return systemTemplates;
|
|
225
150
|
}
|
|
226
151
|
const templates = await this.templateRepository.find({
|
|
227
|
-
where: {
|
|
228
|
-
|
|
229
|
-
scope: (0, typeorm_2.Equal)(scope),
|
|
230
|
-
scopeId: scopeId,
|
|
231
|
-
},
|
|
232
|
-
order: {
|
|
233
|
-
createdAt: 'DESC',
|
|
234
|
-
},
|
|
152
|
+
where: { ...where, scope: (0, typeorm_2.Equal)(scope), scopeId: scopeId },
|
|
153
|
+
order: { createdAt: 'DESC' },
|
|
235
154
|
});
|
|
236
155
|
const templateMap = new Map();
|
|
237
156
|
for (const template of systemTemplates) {
|
|
238
|
-
|
|
239
|
-
templateMap.set(key, template);
|
|
157
|
+
templateMap.set(`${template.type}/${template.name}/${template.locale}`, template);
|
|
240
158
|
}
|
|
241
159
|
for (const template of templates) {
|
|
242
|
-
|
|
243
|
-
templateMap.set(key, template);
|
|
160
|
+
templateMap.set(`${template.type}/${template.name}/${template.locale}`, template);
|
|
244
161
|
}
|
|
245
162
|
return Array.from(templateMap.values());
|
|
246
163
|
}
|
|
247
164
|
async getTemplateById(id) {
|
|
248
|
-
return this.templateRepository.findOne({
|
|
249
|
-
where: { id },
|
|
250
|
-
});
|
|
165
|
+
return this.templateRepository.findOne({ where: { id } });
|
|
251
166
|
}
|
|
252
167
|
async findTemplate(name, scope, scopeId, locale) {
|
|
253
168
|
const locales = (locale ? [locale, 'en'] : ['en']).filter(Boolean);
|
|
@@ -258,11 +173,11 @@ let TemplateService = class TemplateService {
|
|
|
258
173
|
scope,
|
|
259
174
|
scopeId: scope === 'system' ? (0, typeorm_2.IsNull)() : (0, typeorm_2.Equal)(scopeId),
|
|
260
175
|
locale: currentLocale,
|
|
261
|
-
|
|
176
|
+
isActive: true,
|
|
177
|
+
},
|
|
262
178
|
});
|
|
263
|
-
if (template)
|
|
179
|
+
if (template)
|
|
264
180
|
return template;
|
|
265
|
-
}
|
|
266
181
|
}
|
|
267
182
|
if (scope !== 'system') {
|
|
268
183
|
for (const currentLocale of locales) {
|
|
@@ -272,46 +187,36 @@ let TemplateService = class TemplateService {
|
|
|
272
187
|
scope: 'system',
|
|
273
188
|
scopeId: (0, typeorm_2.IsNull)(),
|
|
274
189
|
locale: currentLocale,
|
|
275
|
-
|
|
190
|
+
isActive: true,
|
|
191
|
+
},
|
|
276
192
|
});
|
|
277
|
-
if (template)
|
|
193
|
+
if (template)
|
|
278
194
|
return template;
|
|
279
|
-
}
|
|
280
195
|
}
|
|
281
196
|
}
|
|
282
197
|
return null;
|
|
283
198
|
}
|
|
284
199
|
async createTemplate(data) {
|
|
285
200
|
if (data.scope !== 'system') {
|
|
286
|
-
throw new
|
|
201
|
+
throw new template_errors_1.TemplateForbiddenError('Only system templates can be created directly.', 'To create a scoped override, call overwriteSystemTemplate() or updateTemplate() with a non-system scope.');
|
|
287
202
|
}
|
|
288
203
|
const existingTemplate = await this.templateRepository.findOne({
|
|
289
|
-
where: {
|
|
290
|
-
name: data.name,
|
|
291
|
-
scope: 'system',
|
|
292
|
-
scopeId: (0, typeorm_2.IsNull)(),
|
|
293
|
-
locale: data.locale,
|
|
294
|
-
},
|
|
204
|
+
where: { name: data.name, scope: 'system', scopeId: (0, typeorm_2.IsNull)(), locale: data.locale },
|
|
295
205
|
});
|
|
296
206
|
if (existingTemplate) {
|
|
297
|
-
throw new
|
|
207
|
+
throw new template_errors_1.TemplateConflictError(`A system template "${data.name}" already exists for locale "${data.locale ?? 'en'}".`);
|
|
298
208
|
}
|
|
299
|
-
const template = this.templateRepository.create({
|
|
300
|
-
...data,
|
|
301
|
-
scopeId: undefined,
|
|
302
|
-
});
|
|
209
|
+
const template = this.templateRepository.create({ ...data, scopeId: undefined });
|
|
303
210
|
return this.templateRepository.save(template);
|
|
304
211
|
}
|
|
305
212
|
async overwriteSystemTemplate(templateId, updates) {
|
|
306
|
-
let template = await this.templateRepository.findOne({
|
|
307
|
-
where: { id: templateId },
|
|
308
|
-
});
|
|
213
|
+
let template = await this.templateRepository.findOne({ where: { id: templateId } });
|
|
309
214
|
if (!template) {
|
|
310
|
-
throw new
|
|
215
|
+
throw new template_errors_1.TemplateNotFoundError({ templateName: templateId });
|
|
311
216
|
}
|
|
312
217
|
if (template.scope === 'system') {
|
|
313
218
|
if (!updates.scope) {
|
|
314
|
-
throw new
|
|
219
|
+
throw new template_errors_1.TemplateInputError('`scope` is required when overwriting a system template.');
|
|
315
220
|
}
|
|
316
221
|
const existingTemplate = await this.templateRepository.findOne({
|
|
317
222
|
where: {
|
|
@@ -325,7 +230,7 @@ let TemplateService = class TemplateService {
|
|
|
325
230
|
template = existingTemplate;
|
|
326
231
|
}
|
|
327
232
|
else {
|
|
328
|
-
|
|
233
|
+
template = this.templateRepository.create({
|
|
329
234
|
...template,
|
|
330
235
|
id: undefined,
|
|
331
236
|
createdAt: undefined,
|
|
@@ -333,7 +238,6 @@ let TemplateService = class TemplateService {
|
|
|
333
238
|
scope: updates.scope,
|
|
334
239
|
scopeId: updates.scopeId,
|
|
335
240
|
});
|
|
336
|
-
template = newTemplate;
|
|
337
241
|
}
|
|
338
242
|
}
|
|
339
243
|
updates = (0, lodash_1.omit)(updates, ['name', 'id', 'createdAt', 'updatedAt']);
|
|
@@ -342,32 +246,26 @@ let TemplateService = class TemplateService {
|
|
|
342
246
|
return template;
|
|
343
247
|
}
|
|
344
248
|
async updateTemplate(id, updates, canUpdateSystemTemplate = false) {
|
|
345
|
-
let template = await this.templateRepository.findOne({
|
|
346
|
-
where: { id },
|
|
347
|
-
});
|
|
249
|
+
let template = await this.templateRepository.findOne({ where: { id } });
|
|
348
250
|
if (!template) {
|
|
349
|
-
throw new
|
|
251
|
+
throw new template_errors_1.TemplateNotFoundError({ templateName: id });
|
|
350
252
|
}
|
|
351
253
|
if (template.scope === 'system' && !canUpdateSystemTemplate) {
|
|
352
254
|
if (updates.scope) {
|
|
353
255
|
return this.overwriteSystemTemplate(id, updates);
|
|
354
256
|
}
|
|
355
|
-
|
|
356
|
-
throw new common_1.ForbiddenException('Cannot update system templates');
|
|
357
|
-
}
|
|
257
|
+
throw new template_errors_1.TemplateForbiddenError('Cannot update a system template directly.', 'Pass a non-system `scope` to create a scoped override, or call updateTemplate(id, updates, true).');
|
|
358
258
|
}
|
|
359
259
|
template = this.templateRepository.merge(template, updates);
|
|
360
260
|
return this.templateRepository.save(template);
|
|
361
261
|
}
|
|
362
262
|
async deleteTemplate(id, canDeleteSystemTemplate = false) {
|
|
363
|
-
const template = await this.templateRepository.findOne({
|
|
364
|
-
where: { id },
|
|
365
|
-
});
|
|
263
|
+
const template = await this.templateRepository.findOne({ where: { id } });
|
|
366
264
|
if (!template) {
|
|
367
|
-
throw new
|
|
265
|
+
throw new template_errors_1.TemplateNotFoundError({ templateName: id });
|
|
368
266
|
}
|
|
369
267
|
if (template.scope === 'system' && !canDeleteSystemTemplate) {
|
|
370
|
-
throw new
|
|
268
|
+
throw new template_errors_1.TemplateForbiddenError('Cannot delete a system template.');
|
|
371
269
|
}
|
|
372
270
|
await this.templateRepository.remove(template);
|
|
373
271
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.service.js","sourceRoot":"","sources":["../../../src/lib/services/template.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA2H;AAC3H,6CAAmD;AACnD,qCAA6D;AAC7D,iEAAkE;AAClE,iEAA0G;AAI1G,uEAAkE;AAClE,yEAA2E;AAC3E,mCAA8B;AAG9B,+DAMmC;AAG5B,IAAM,eAAe,GAArB,MAAM,eAAe;IAGH;IACA;IACA;IAJrB,YAEqB,kBAAmD,EACnD,cAA6C,EAC7C,qBAA4C;QAF5C,uBAAkB,GAAlB,kBAAkB,CAAiC;QACnD,mBAAc,GAAd,cAAc,CAA+B;QAC7C,0BAAqB,GAArB,qBAAqB,CAAuB;IAC7D,CAAC;IAEL,KAAK,CAAC,MAAM,CAAC,SAA4B;QACrC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;QAE5D,IAAI,CAAC;YAED,IAAI,CAAC,IAAI,EAAE,CAAC;gBACR,MAAM,IAAI,4BAAmB,CAAC,2BAA2B,CAAC,CAAC;YAC/D,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,IAAI,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACnF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,MAAM,IAAI,0BAAiB,CAAC,uBAAuB,IAAI,aAAa,KAAK,IAAI,QAAQ,EAAE,CAAC,CAAC;YAC7F,CAAC;YAED,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;YAC/B,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;YAG/B,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACtC,IAAI,CAAC;oBACD,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBAC7E,OAAO,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAG,OAAO,IAAI,EAAE,CAAC,CAAC;gBAC3E,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,MAAM,IAAI,qCAAmB,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAc,CAAC,CAAC;gBACnE,CAAC;YACL,CAAC;YAGD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAClB,IAAI,CAAC;oBACD,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAG,OAAO,IAAI,EAAE,CAAC,CAAC;gBAChF,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,MAAM,IAAI,qCAAmB,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAc,CAAC,CAAC;gBACnE,CAAC;YACL,CAAC;YAGD,IAAI,MAAW,CAAC;YAChB,IAAI,QAAQ,CAAC,kBAAkB,EAAE,CAAC;gBAC9B,IAAI,CAAC;oBACD,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC;wBAC7C,IAAI,EAAE,QAAQ,CAAC,kBAAkB;wBACjC,KAAK,EAAE,KAAK,IAAI,QAAQ;wBACxB,OAAO;wBACP,MAAM;wBACN,OAAO,EAAE;4BACL,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;4BAClB,OAAO;yBACV;qBACJ,CAAC,CAAC;oBACH,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;gBAC7B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,MAAM,IAAI,qCAAmB,CAAC,QAAQ,CAAC,kBAAkB,EAAE,KAAc,CAAC,CAAC;gBAC/E,CAAC;YACL,CAAC;YAGD,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAC/B,IAAI,CAAC;oBACD,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAG,OAAO,IAAI,EAAE,CAAC,CAAC;gBACpF,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,MAAM,IAAI,uCAAqB,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAc,CAAC,CAAC;gBACvE,CAAC;YACL,CAAC;YAED,OAAO;gBACH,OAAO,EAAE,OAAO,IAAI,EAAE;gBACtB,OAAO;aACV,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEb,IAAI,KAAK,YAAY,qCAAmB;gBACpC,KAAK,YAAY,uCAAqB;gBACtC,KAAK,YAAY,qCAAmB;gBACpC,KAAK,YAAY,0BAAiB,EAAE,CAAC;gBACrC,MAAM,KAAK,CAAC;YAChB,CAAC;YAGD,MAAM,IAAI,qCAAmB,CAAC,oBAAoB,EAAE,KAAc,EAAE,IAAI,CAAC,CAAC;QAC9E,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAA+B;QAC/C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC;QAEvE,IAAI,CAAC;YACD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,MAAM,IAAI,4BAAmB,CAAC,mCAAmC,CAAC,CAAC;YACvE,CAAC;YAED,IAAI,aAAa,GAAG,OAAO,CAAC;YAG5B,IAAI,CAAC;gBACD,aAAa,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,mCAAkB,CAAC,QAAQ,EAAE,aAAa,EAAG,OAAO,IAAI,EAAE,CAAC,CAAC;YAClH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,IAAI,qCAAmB,CAAC,MAAM,IAAI,mCAAkB,CAAC,QAAQ,EAAE,KAAc,CAAC,CAAC;YACzF,CAAC;YAGD,IAAI,cAAc,GAAqC,IAAI,CAAC;YAC5D,IAAI,gBAAgB,EAAE,CAAC;gBACnB,IAAI,CAAC;oBACD,cAAc,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;oBAC1F,IAAI,CAAC,cAAc,EAAE,CAAC;wBAClB,MAAM,IAAI,0BAAiB,CAAC,sCAAsC,gBAAgB,EAAE,CAAC,CAAC;oBAC1F,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,IAAI,KAAK,YAAY,0BAAiB,EAAE,CAAC;wBACrC,MAAM,KAAK,CAAC;oBAChB,CAAC;oBACD,MAAM,IAAI,sCAAoB,CAAC,2BAA2B,EAAE,KAAc,CAAC,CAAC;gBAChF,CAAC;gBAED,IAAI,cAAc,EAAE,CAAC;oBACjB,IAAI,CAAC;wBAED,aAAa,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC;4BAC3D,OAAO,EAAE,cAAc,CAAC,OAAO;4BAC/B,QAAQ,EAAE,QAAQ;4BAClB,MAAM,EAAE,MAAM;4BAClB,OAAO,EAAE;gCACL,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;gCAClB,OAAO,EAAE,aAAa;6BACzB;yBACA,CAAC,CAAC;oBACP,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACb,MAAM,IAAI,qCAAmB,CAAC,cAAc,CAAC,IAAI,EAAE,KAAc,CAAC,CAAC;oBACvE,CAAC;gBACL,CAAC;YACL,CAAC;YAGD,IAAI,CAAC,CAAC,gBAAgB,IAAI,CAAC,cAAc,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACrD,IAAI,CAAC;oBACD,aAAa,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,aAAa,EAAG,OAAO,IAAI,EAAE,CAAC,CAAC;gBACvF,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,MAAM,IAAI,uCAAqB,CAAC,QAAQ,EAAE,KAAc,CAAC,CAAC;gBAC9D,CAAC;YACL,CAAC;YAED,OAAO,aAAa,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEb,IAAI,KAAK,YAAY,qCAAmB;gBACpC,KAAK,YAAY,uCAAqB;gBACtC,KAAK,YAAY,qCAAmB;gBACpC,KAAK,YAAY,sCAAoB;gBACrC,KAAK,YAAY,0BAAiB;gBAClC,KAAK,YAAY,4BAAmB,EAAE,CAAC;gBACvC,MAAM,KAAK,CAAC;YAChB,CAAC;YAGD,MAAM,IAAI,qCAAmB,CAAC,mBAAmB,EAAE,KAAc,CAAC,CAAC;QACvE,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAA8B,EAAE,OAAe,EAAE,OAA4B;QAC9F,IAAI,CAAC;YACD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,MAAM,IAAI,4BAAmB,CAAC,4CAA4C,CAAC,CAAC;YAChF,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACvE,IAAI,CAAC,cAAc,EAAE,CAAC;gBAClB,MAAM,IAAI,4BAAmB,CAAC,kCAAkC,QAAQ,EAAE,CAAC,CAAC;YAChF,CAAC;YAED,OAAO,MAAM,cAAc,CAAC,MAAM,CAAC,OAAO,EAAG,OAAO,IAAI,EAAE,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,KAAK,YAAY,4BAAmB,EAAE,CAAC;gBACvC,MAAM,KAAK,CAAC;YAChB,CAAC;YACD,MAAM,IAAI,uCAAqB,CAAC,QAAQ,EAAE,KAAc,CAAC,CAAC;QAC9D,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAA0B,EAAE,OAAe,EAAE,OAA4B;QACxF,IAAI,CAAC;YACD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,MAAM,IAAI,4BAAmB,CAAC,0CAA0C,CAAC,CAAC;YAC9E,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACrE,IAAI,CAAC,cAAc,EAAE,CAAC;gBAClB,MAAM,IAAI,4BAAmB,CAAC,kCAAkC,MAAM,EAAE,CAAC,CAAC;YAC9E,CAAC;YAED,OAAO,MAAM,cAAc,CAAC,MAAM,CAAC,OAAO,EAAG,OAAO,IAAI,EAAE,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,KAAK,YAAY,4BAAmB,EAAE,CAAC;gBACvC,MAAM,KAAK,CAAC;YAChB,CAAC;YACD,MAAM,IAAI,qCAAmB,CAAC,MAAM,EAAE,KAAc,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC;IAKD,KAAK,CAAC,YAAY,CAAC,SAA4B,EAAE;QAC7C,MAAM,EACF,KAAK,EACL,OAAO,EACP,IAAI,EACJ,MAAM,EACN,YAAY,GAAG,EAAE,GACpB,GAAG,MAAM,CAAC;QAIX,MAAM,KAAK,GAAQ,EAAE,CAAC;QACtB,IAAI,IAAI;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAC5B,IAAI,MAAM;YAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QAClC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,GAAG,IAAA,aAAG,EAAC,IAAA,YAAE,EAAC,YAAY,CAAC,CAAC,CAAC;QAEhE,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;YACvD,KAAK,EAAE;gBACH,GAAG,KAAK;gBACR,KAAK,EAAE,QAAQ;gBACf,OAAO,EAAE,IAAA,gBAAM,GAAE;aACpB;SACJ,CAAC,CAAC;QAEH,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrB,OAAO,eAAe,CAAC;QAC3B,CAAC;QAGD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;YACjD,KAAK,EAAE;gBACH,GAAG,KAAK;gBACR,KAAK,EAAE,IAAA,eAAK,EAAC,KAAK,CAAC;gBACnB,OAAO,EAAE,OAAc;aAC1B;YACD,KAAK,EAAE;gBACH,SAAS,EAAE,MAAM;aACpB;SACJ,CAAC,CAAC;QAGH,MAAM,WAAW,GAAG,IAAI,GAAG,EAA+B,CAAC;QAE3D,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACnE,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACnE,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACnC,CAAC;QAGD,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EAAU;QAC5B,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;YACnC,KAAK,EAAE,EAAE,EAAE,EAAE;SAChB,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,YAAY,CACd,IAAY,EACZ,KAAc,EACd,OAAgB,EAChB,MAAe;QAQf,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAGnE,KAAK,MAAM,aAAa,IAAI,OAAO,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;gBACnD,KAAK,EAAE;oBACH,IAAI;oBACJ,KAAK;oBACL,OAAO,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,gBAAM,GAAE,CAAC,CAAC,CAAC,IAAA,eAAK,EAAC,OAAO,CAAC;oBACvD,MAAM,EAAE,aAAa;iBACxB;aACJ,CAAC,CAAC;YAEH,IAAI,QAAQ,EAAE,CAAC;gBACX,OAAO,QAAQ,CAAC;YACpB,CAAC;QACL,CAAC;QAGD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrB,KAAK,MAAM,aAAa,IAAI,OAAO,EAAE,CAAC;gBAClC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;oBACnD,KAAK,EAAE;wBACH,IAAI;wBACJ,KAAK,EAAE,QAAQ;wBACf,OAAO,EAAE,IAAA,gBAAM,GAAE;wBACjB,MAAM,EAAE,aAAa;qBACxB;iBACJ,CAAC,CAAC;gBAEH,IAAI,QAAQ,EAAE,CAAC;oBACX,OAAO,QAAQ,CAAC;gBACpB,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAKD,KAAK,CAAC,cAAc,CAAC,IAAuB;QAExC,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,IAAI,2BAAkB,CAAC,+CAA+C,CAAC,CAAC;QAClF,CAAC;QAGD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;YAC3D,KAAK,EAAE;gBACH,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,QAAQ;gBACf,OAAO,EAAE,IAAA,gBAAM,GAAE;gBACjB,MAAM,EAAE,IAAI,CAAC,MAAM;aACtB;SACJ,CAAC,CAAC;QAEH,IAAI,gBAAgB,EAAE,CAAC;YACnB,MAAM,IAAI,0BAAiB,CAAC,gCAAgC,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;YAC5C,GAAG,IAAI;YACP,OAAO,EAAE,SAAS;SACrB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,UAAkB,EAAE,OAAmC;QACjF,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;YACjD,KAAK,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE;SAC5B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,0BAAiB,CAAC,uBAAuB,UAAU,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACjB,MAAM,IAAI,4BAAmB,CAAC,oDAAoD,CAAC,CAAC;YACxF,CAAC;YAGD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;gBAC3D,KAAK,EAAE;oBACH,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,OAAO,EAAE,OAAO,CAAC,OAAc;iBAClC;aACJ,CAAC,CAAC;YAEH,IAAI,gBAAgB,EAAE,CAAC;gBAEnB,QAAQ,GAAG,gBAAgB,CAAC;YAChC,CAAC;iBAAM,CAAC;gBAEJ,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;oBAC/C,GAAG,QAAQ;oBACX,EAAE,EAAE,SAAS;oBACb,SAAS,EAAE,SAAS;oBACpB,SAAS,EAAE,SAAS;oBACpB,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;iBAC3B,CAAC,CAAC;gBACH,QAAQ,GAAG,WAAW,CAAC;YAC3B,CAAC;QACL,CAAC;QACD,OAAO,GAAG,IAAA,aAAI,EAAC,OAAO,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;QAElE,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5D,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7C,OAAO,QAAQ,CAAC;IACpB,CAAC;IAMD,KAAK,CAAC,cAAc,CAChB,EAAU,EACV,OAAmC,EACnC,0BAAmC,KAAK;QAGxC,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;YACjD,KAAK,EAAE,EAAE,EAAE,EAAE;SAChB,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,0BAAiB,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;QAC7D,CAAC;QAGD,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC1D,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAEhB,OAAO,IAAI,CAAC,uBAAuB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,2BAAkB,CAAC,gCAAgC,CAAC,CAAC;YACnE,CAAC;QACL,CAAC;QAGD,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IAKD,KAAK,CAAC,cAAc,CAAC,EAAU,EAAE,0BAAmC,KAAK;QACrE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;YACnD,KAAK,EAAE,EAAE,EAAE,EAAE;SAChB,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;QACjD,CAAC;QAGD,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC1D,MAAM,IAAI,2BAAkB,CAAC,gCAAgC,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;CACJ,CAAA;AArcY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;IAGJ,WAAA,IAAA,0BAAgB,EAAC,qCAAmB,CAAC,CAAA;qCACD,oBAAU;QACd,wDAA6B;QACtB,+CAAqB;GALxD,eAAe,CAqc3B"}
|
|
1
|
+
{"version":3,"file":"template.service.js","sourceRoot":"","sources":["../../../src/lib/services/template.service.ts"],"names":[],"mappings":"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"}
|