@ackplus/nest-dynamic-templates 0.1.10 → 0.1.13
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/package.json +1 -1
- package/src/lib/dto/render-content-template-layout.dto.d.ts +7 -0
- package/src/lib/dto/render-content-template-layout.dto.js +41 -0
- package/src/lib/dto/render-content-template-layout.dto.js.map +1 -0
- package/src/lib/dto/render-content-template.dto.d.ts +8 -0
- package/src/lib/dto/render-content-template.dto.js +47 -0
- package/src/lib/dto/render-content-template.dto.js.map +1 -0
- package/src/lib/dto/render-template-layout.dto.d.ts +0 -2
- package/src/lib/dto/render-template-layout.dto.js +0 -7
- package/src/lib/dto/render-template-layout.dto.js.map +1 -1
- package/src/lib/dto/render-template.dto.d.ts +4 -3
- package/src/lib/dto/render-template.dto.js +15 -6
- package/src/lib/dto/render-template.dto.js.map +1 -1
- package/src/lib/engines/language/mjml.engine.js +0 -1
- package/src/lib/engines/language/mjml.engine.js.map +1 -1
- package/src/lib/entities/template.entity.js +1 -1
- package/src/lib/entities/template.entity.js.map +1 -1
- package/src/lib/services/template-layout.service.d.ts +3 -2
- package/src/lib/services/template-layout.service.js +16 -7
- package/src/lib/services/template-layout.service.js.map +1 -1
- package/src/lib/services/template.service.d.ts +3 -2
- package/src/lib/services/template.service.js +30 -15
- package/src/lib/services/template.service.js.map +1 -1
package/package.json
CHANGED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RenderContentTemplateLayoutDto = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const class_validator_1 = require("class-validator");
|
|
6
|
+
const template_types_1 = require("../interfaces/template.types");
|
|
7
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
8
|
+
const class_transformer_1 = require("class-transformer");
|
|
9
|
+
class RenderContentTemplateLayoutDto {
|
|
10
|
+
}
|
|
11
|
+
exports.RenderContentTemplateLayoutDto = RenderContentTemplateLayoutDto;
|
|
12
|
+
tslib_1.__decorate([
|
|
13
|
+
(0, swagger_1.ApiProperty)({ type: String }),
|
|
14
|
+
(0, class_validator_1.IsString)(),
|
|
15
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
16
|
+
tslib_1.__metadata("design:type", String)
|
|
17
|
+
], RenderContentTemplateLayoutDto.prototype, "content", void 0);
|
|
18
|
+
tslib_1.__decorate([
|
|
19
|
+
(0, swagger_1.ApiProperty)({ enum: template_types_1.TemplateLanguageEnum, type: String }),
|
|
20
|
+
(0, class_validator_1.IsEnum)(template_types_1.TemplateLanguageEnum),
|
|
21
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
22
|
+
(0, class_transformer_1.Transform)(({ value }) => value || template_types_1.TemplateLanguageEnum.HTML),
|
|
23
|
+
tslib_1.__metadata("design:type", String)
|
|
24
|
+
], RenderContentTemplateLayoutDto.prototype, "language", void 0);
|
|
25
|
+
tslib_1.__decorate([
|
|
26
|
+
(0, swagger_1.ApiProperty)({ enum: template_types_1.TemplateEngineEnum, type: String }),
|
|
27
|
+
(0, class_validator_1.IsEnum)(template_types_1.TemplateEngineEnum),
|
|
28
|
+
(0, class_transformer_1.Transform)(({ value }) => value || template_types_1.TemplateEngineEnum.NUNJUCKS),
|
|
29
|
+
tslib_1.__metadata("design:type", String)
|
|
30
|
+
], RenderContentTemplateLayoutDto.prototype, "engine", void 0);
|
|
31
|
+
tslib_1.__decorate([
|
|
32
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
33
|
+
type: String,
|
|
34
|
+
nullable: true,
|
|
35
|
+
description: 'The context of the template'
|
|
36
|
+
}),
|
|
37
|
+
(0, class_validator_1.IsObject)(),
|
|
38
|
+
(0, class_validator_1.IsOptional)(),
|
|
39
|
+
tslib_1.__metadata("design:type", Object)
|
|
40
|
+
], RenderContentTemplateLayoutDto.prototype, "context", void 0);
|
|
41
|
+
//# sourceMappingURL=render-content-template-layout.dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-content-template-layout.dto.js","sourceRoot":"","sources":["../../../../../../packages/nest-dynamic-templates/src/lib/dto/render-content-template-layout.dto.ts"],"names":[],"mappings":";;;;AAAA,qDAAqF;AACrF,iEAAwF;AACxF,6CAAmE;AACnE,yDAA8C;AAG9C,MAAa,8BAA8B;CAyB1C;AAzBD,wEAyBC;AArBG;IAHC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC7B,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;+DACI;AAMjB;IAJC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,qCAAoB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACzD,IAAA,wBAAM,EAAC,qCAAoB,CAAC;IAC5B,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,IAAI,qCAAoB,CAAC,IAAI,CAAC;;gEAC7B;AAKhC;IAHC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,mCAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACvD,IAAA,wBAAM,EAAC,mCAAkB,CAAC;IAC1B,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,IAAI,mCAAkB,CAAC,QAAQ,CAAC;;8DACnC;AAS5B;IAPC,IAAA,6BAAmB,EAAC;QACjB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,6BAA6B;KAC7C,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;+DACiB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TemplateEngineEnum, TemplateLanguageEnum } from '../interfaces/template.types';
|
|
2
|
+
export declare class RenderContentTemplateDto {
|
|
3
|
+
content?: string;
|
|
4
|
+
language?: TemplateLanguageEnum;
|
|
5
|
+
engine?: TemplateEngineEnum;
|
|
6
|
+
context?: Record<string, any>;
|
|
7
|
+
templateLayoutId?: string;
|
|
8
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RenderContentTemplateDto = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const class_validator_1 = require("class-validator");
|
|
6
|
+
const template_types_1 = require("../interfaces/template.types");
|
|
7
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
8
|
+
const class_transformer_1 = require("class-transformer");
|
|
9
|
+
class RenderContentTemplateDto {
|
|
10
|
+
}
|
|
11
|
+
exports.RenderContentTemplateDto = RenderContentTemplateDto;
|
|
12
|
+
tslib_1.__decorate([
|
|
13
|
+
(0, swagger_1.ApiProperty)({ type: String }),
|
|
14
|
+
(0, class_validator_1.IsString)(),
|
|
15
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
16
|
+
tslib_1.__metadata("design:type", String)
|
|
17
|
+
], RenderContentTemplateDto.prototype, "content", void 0);
|
|
18
|
+
tslib_1.__decorate([
|
|
19
|
+
(0, swagger_1.ApiProperty)({ enum: template_types_1.TemplateLanguageEnum, type: String }),
|
|
20
|
+
(0, class_validator_1.IsEnum)(template_types_1.TemplateLanguageEnum),
|
|
21
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
22
|
+
(0, class_transformer_1.Transform)(({ value }) => value || template_types_1.TemplateLanguageEnum.HTML),
|
|
23
|
+
tslib_1.__metadata("design:type", String)
|
|
24
|
+
], RenderContentTemplateDto.prototype, "language", void 0);
|
|
25
|
+
tslib_1.__decorate([
|
|
26
|
+
(0, swagger_1.ApiProperty)({ enum: template_types_1.TemplateEngineEnum, type: String }),
|
|
27
|
+
(0, class_validator_1.IsEnum)(template_types_1.TemplateEngineEnum),
|
|
28
|
+
(0, class_transformer_1.Transform)(({ value }) => value || template_types_1.TemplateEngineEnum.NUNJUCKS),
|
|
29
|
+
tslib_1.__metadata("design:type", String)
|
|
30
|
+
], RenderContentTemplateDto.prototype, "engine", void 0);
|
|
31
|
+
tslib_1.__decorate([
|
|
32
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
33
|
+
type: String,
|
|
34
|
+
nullable: true,
|
|
35
|
+
description: 'The context of the template'
|
|
36
|
+
}),
|
|
37
|
+
(0, class_validator_1.IsObject)(),
|
|
38
|
+
(0, class_validator_1.IsOptional)(),
|
|
39
|
+
tslib_1.__metadata("design:type", Object)
|
|
40
|
+
], RenderContentTemplateDto.prototype, "context", void 0);
|
|
41
|
+
tslib_1.__decorate([
|
|
42
|
+
(0, swagger_1.ApiPropertyOptional)({ type: String }),
|
|
43
|
+
(0, class_validator_1.IsString)(),
|
|
44
|
+
(0, class_validator_1.IsOptional)(),
|
|
45
|
+
tslib_1.__metadata("design:type", String)
|
|
46
|
+
], RenderContentTemplateDto.prototype, "templateLayoutId", void 0);
|
|
47
|
+
//# sourceMappingURL=render-content-template.dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-content-template.dto.js","sourceRoot":"","sources":["../../../../../../packages/nest-dynamic-templates/src/lib/dto/render-content-template.dto.ts"],"names":[],"mappings":";;;;AAAA,qDAAqF;AACrF,iEAAwF;AACxF,6CAAmE;AACnE,yDAA8C;AAG9C,MAAa,wBAAwB;CA8BpC;AA9BD,4DA8BC;AA1BG;IAHC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC7B,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;yDACI;AAMjB;IAJC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,qCAAoB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACzD,IAAA,wBAAM,EAAC,qCAAoB,CAAC;IAC5B,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,IAAI,qCAAoB,CAAC,IAAI,CAAC;;0DAC7B;AAKhC;IAHC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,mCAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACvD,IAAA,wBAAM,EAAC,mCAAkB,CAAC;IAC1B,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,IAAI,mCAAkB,CAAC,QAAQ,CAAC;;wDACnC;AAS5B;IAPC,IAAA,6BAAmB,EAAC;QACjB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,6BAA6B;KAC7C,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;yDACiB;AAK9B;IAHC,IAAA,6BAAmB,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACrC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;kEACa"}
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.RenderTemplateLayoutOutput = exports.RenderTemplateLayoutDto = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const class_validator_1 = require("class-validator");
|
|
6
|
-
const template_types_1 = require("../interfaces/template.types");
|
|
7
6
|
const swagger_1 = require("@nestjs/swagger");
|
|
8
7
|
class RenderTemplateLayoutDto {
|
|
9
8
|
constructor() {
|
|
@@ -12,12 +11,6 @@ class RenderTemplateLayoutDto {
|
|
|
12
11
|
}
|
|
13
12
|
}
|
|
14
13
|
exports.RenderTemplateLayoutDto = RenderTemplateLayoutDto;
|
|
15
|
-
tslib_1.__decorate([
|
|
16
|
-
(0, swagger_1.ApiProperty)({ enum: template_types_1.TemplateTypeEnum, type: String }),
|
|
17
|
-
(0, class_validator_1.IsNotEmpty)(),
|
|
18
|
-
(0, class_validator_1.IsEnum)(template_types_1.TemplateTypeEnum),
|
|
19
|
-
tslib_1.__metadata("design:type", String)
|
|
20
|
-
], RenderTemplateLayoutDto.prototype, "type", void 0);
|
|
21
14
|
tslib_1.__decorate([
|
|
22
15
|
(0, swagger_1.ApiPropertyOptional)({
|
|
23
16
|
type: String,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-template-layout.dto.js","sourceRoot":"","sources":["../../../../../../packages/nest-dynamic-templates/src/lib/dto/render-template-layout.dto.ts"],"names":[],"mappings":";;;;AAAA,qDAAqF;
|
|
1
|
+
{"version":3,"file":"render-template-layout.dto.js","sourceRoot":"","sources":["../../../../../../packages/nest-dynamic-templates/src/lib/dto/render-template-layout.dto.ts"],"names":[],"mappings":";;;;AAAA,qDAAqF;AAErF,6CAAmE;AAGnE,MAAa,uBAAuB;IAApC;QASI,WAAM,GAAY,IAAI,CAAC;QAsBvB,YAAO,GAAY,IAAI,CAAC;IAU5B,CAAC;CAAA;AAzCD,0DAyCC;AAhCG;IAPC,IAAA,6BAAmB,EAAC;QACjB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,uCAAuC;KACvD,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;uDACU;AAKvB;IAHC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC7B,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;qDACA;AAQb;IANC,IAAA,qBAAW,EAAC;QACT,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,QAAQ;QACjB,WAAW,EAAE,yDAAyD;KACzE,CAAC;IACD,IAAA,0BAAQ,GAAE;;sDACG;AASd;IAPC,IAAA,6BAAmB,EAAC;QACjB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,kEAAkE;KAClF,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;wDACW;AASxB;IAPC,IAAA,6BAAmB,EAAC;QACjB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,6BAA6B;KAC7C,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;wDACiB;AAIlC,MAAa,0BAA0B;CAKtC;AALD,gEAKC;AADG;IAHC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC7B,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;2DACG"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TemplateLanguageEnum } from '../interfaces/template.types';
|
|
2
2
|
export declare class RenderTemplateDto {
|
|
3
|
-
type: TemplateTypeEnum;
|
|
4
3
|
locale?: string;
|
|
5
|
-
name
|
|
4
|
+
name?: string;
|
|
5
|
+
content?: string;
|
|
6
|
+
language?: TemplateLanguageEnum;
|
|
6
7
|
scope?: string;
|
|
7
8
|
scopeId?: string;
|
|
8
9
|
context?: Record<string, any>;
|
|
@@ -12,12 +12,6 @@ class RenderTemplateDto {
|
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
exports.RenderTemplateDto = RenderTemplateDto;
|
|
15
|
-
tslib_1.__decorate([
|
|
16
|
-
(0, swagger_1.ApiProperty)({ enum: template_types_1.TemplateTypeEnum, type: String }),
|
|
17
|
-
(0, class_validator_1.IsNotEmpty)(),
|
|
18
|
-
(0, class_validator_1.IsEnum)(template_types_1.TemplateTypeEnum),
|
|
19
|
-
tslib_1.__metadata("design:type", String)
|
|
20
|
-
], RenderTemplateDto.prototype, "type", void 0);
|
|
21
15
|
tslib_1.__decorate([
|
|
22
16
|
(0, swagger_1.ApiPropertyOptional)({
|
|
23
17
|
type: String,
|
|
@@ -32,8 +26,23 @@ tslib_1.__decorate([
|
|
|
32
26
|
(0, swagger_1.ApiProperty)({ type: String }),
|
|
33
27
|
(0, class_validator_1.IsString)(),
|
|
34
28
|
(0, class_validator_1.IsNotEmpty)(),
|
|
29
|
+
(0, class_validator_1.ValidateIf)((object, value) => !object?.content),
|
|
35
30
|
tslib_1.__metadata("design:type", String)
|
|
36
31
|
], RenderTemplateDto.prototype, "name", void 0);
|
|
32
|
+
tslib_1.__decorate([
|
|
33
|
+
(0, swagger_1.ApiProperty)({ type: String }),
|
|
34
|
+
(0, class_validator_1.IsString)(),
|
|
35
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
36
|
+
(0, class_validator_1.ValidateIf)((object, value) => !object?.name),
|
|
37
|
+
tslib_1.__metadata("design:type", String)
|
|
38
|
+
], RenderTemplateDto.prototype, "content", void 0);
|
|
39
|
+
tslib_1.__decorate([
|
|
40
|
+
(0, swagger_1.ApiProperty)({ enum: template_types_1.TemplateLanguageEnum, type: String }),
|
|
41
|
+
(0, class_validator_1.IsEnum)(template_types_1.TemplateLanguageEnum),
|
|
42
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
43
|
+
(0, class_validator_1.ValidateIf)((object, value) => !object?.name),
|
|
44
|
+
tslib_1.__metadata("design:type", String)
|
|
45
|
+
], RenderTemplateDto.prototype, "language", void 0);
|
|
37
46
|
tslib_1.__decorate([
|
|
38
47
|
(0, swagger_1.ApiPropertyOptional)({
|
|
39
48
|
type: String,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-template.dto.js","sourceRoot":"","sources":["../../../../../../packages/nest-dynamic-templates/src/lib/dto/render-template.dto.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"render-template.dto.js","sourceRoot":"","sources":["../../../../../../packages/nest-dynamic-templates/src/lib/dto/render-template.dto.ts"],"names":[],"mappings":";;;;AAAA,qDAA0G;AAC1G,iEAAsF;AACtF,6CAAmE;AAGnE,MAAa,iBAAiB;IAA9B;QASI,WAAM,GAAY,IAAI,CAAC;QA2BvB,UAAK,GAAY,QAAQ,CAAC;IAmB9B,CAAC;CAAA;AAvDD,8CAuDC;AA9CG;IAPC,IAAA,6BAAmB,EAAC;QACjB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,uCAAuC;KACvD,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;iDACU;AAMvB;IAJC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC7B,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,4BAAU,EAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;;+CAClC;AAMd;IAJC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC7B,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,4BAAU,EAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC;;kDAC5B;AAMjB;IAJC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,qCAAoB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACzD,IAAA,wBAAM,EAAC,qCAAoB,CAAC;IAC5B,IAAA,4BAAU,GAAE;IACZ,IAAA,4BAAU,EAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC;;mDACb;AAShC;IAPC,IAAA,6BAAmB,EAAC;QACjB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,QAAQ;QACjB,WAAW,EAAE,yDAAyD;KACzE,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;gDACa;AAS1B;IAPC,IAAA,6BAAmB,EAAC;QACjB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,kEAAkE;KAClF,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;kDACI;AASjB;IAPC,IAAA,6BAAmB,EAAC;QACjB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,6BAA6B;KAC7C,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;kDACiB;AAIlC,MAAa,uBAAuB;CAUnC;AAVD,0DAUC;AANG;IAHC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC7B,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;wDACG;AAKhB;IAHC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC7B,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;wDACG"}
|
|
@@ -47,7 +47,6 @@ class MjmlEngine extends language_engine_1.LanguageEngine {
|
|
|
47
47
|
const mjml2html = (await Promise.resolve().then(() => __importStar(require('mjml')))).default;
|
|
48
48
|
const result = mjml2html(content, {
|
|
49
49
|
...this.options,
|
|
50
|
-
minify: true,
|
|
51
50
|
validationLevel: 'strict',
|
|
52
51
|
});
|
|
53
52
|
if (result.errors && result.errors.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mjml.engine.js","sourceRoot":"","sources":["../../../../../../../packages/nest-dynamic-templates/src/lib/engines/language/mjml.engine.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oEAAuE;AACvE,wDAAoD;AAEpD,MAAa,UAAW,SAAQ,gCAAc;IAM1C,YAAY,UAAe,EAAE;QACzB,KAAK,EAAE,CAAC;QAHK,YAAO,GAAQ,EAAE,CAAC;QAI/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAe;QACxB,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,CAAC,wDAAa,MAAM,GAAC,CAAC,CAAC,OAAO,CAAC;YACjD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE;gBAC9B,GAAG,IAAI,CAAC,OAAO;gBACf,
|
|
1
|
+
{"version":3,"file":"mjml.engine.js","sourceRoot":"","sources":["../../../../../../../packages/nest-dynamic-templates/src/lib/engines/language/mjml.engine.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oEAAuE;AACvE,wDAAoD;AAEpD,MAAa,UAAW,SAAQ,gCAAc;IAM1C,YAAY,UAAe,EAAE;QACzB,KAAK,EAAE,CAAC;QAHK,YAAO,GAAQ,EAAE,CAAC;QAI/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAe;QACxB,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,CAAC,wDAAa,MAAM,GAAC,CAAC,CAAC,OAAO,CAAC;YACjD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE;gBAC9B,GAAG,IAAI,CAAC,OAAO;gBACf,eAAe,EAAE,QAAQ;aAC5B,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5C,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3E,CAAC;YAED,OAAO,MAAM,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,EAAE,OAAO,IAAI,eAAe,EAAE,CAAC,CAAC;QAClF,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAe;QAC1B,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,CAAC,wDAAa,MAAM,GAAC,CAAC,CAAC,OAAO,CAAC;YACjD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE;gBAC9B,eAAe,EAAE,QAAQ;aAC5B,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;;AAvCL,gCAwCC;AAtCmB,qBAAU,GAAG,qCAAoB,CAAC,IAAI,AAA5B,CAA6B"}
|
|
@@ -122,6 +122,6 @@ tslib_1.__decorate([
|
|
|
122
122
|
], NestDynamicTemplate.prototype, "updatedAt", void 0);
|
|
123
123
|
exports.NestDynamicTemplate = NestDynamicTemplate = tslib_1.__decorate([
|
|
124
124
|
(0, typeorm_1.Entity)('nest_dynamic_templates'),
|
|
125
|
-
(0, typeorm_1.Index)(['
|
|
125
|
+
(0, typeorm_1.Index)(['name', 'scope', 'scopeId', 'locale'], { unique: true })
|
|
126
126
|
], NestDynamicTemplate);
|
|
127
127
|
//# sourceMappingURL=template.entity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.entity.js","sourceRoot":"","sources":["../../../../../../packages/nest-dynamic-templates/src/lib/entities/template.entity.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"template.entity.js","sourceRoot":"","sources":["../../../../../../packages/nest-dynamic-templates/src/lib/entities/template.entity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import { Repository } from 'typeorm';
|
|
2
2
|
import { NestDynamicTemplateLayout } from '../entities/template-layout.entity';
|
|
3
|
-
import { TemplateTypeEnum } 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';
|
|
7
6
|
import { CreateTemplateLayoutDto } from '../dto/create-template-layout.dto';
|
|
7
|
+
import { RenderContentTemplateLayoutDto } from '../dto/render-content-template-layout.dto';
|
|
8
8
|
export declare class TemplateLayoutService {
|
|
9
9
|
private readonly layoutRepository;
|
|
10
10
|
private readonly engineRegistry;
|
|
11
11
|
constructor(layoutRepository: Repository<NestDynamicTemplateLayout>, engineRegistry: TemplateEngineRegistryService);
|
|
12
12
|
render(renderDto: RenderTemplateLayoutDto): Promise<RenderTemplateLayoutOutput>;
|
|
13
|
+
renderContent(input: RenderContentTemplateLayoutDto): Promise<string>;
|
|
13
14
|
getTemplateLayouts(filter?: TemplateLayoutFilterDto): Promise<NestDynamicTemplateLayout[]>;
|
|
14
15
|
getTemplateLayoutById(id: string): Promise<NestDynamicTemplateLayout | null>;
|
|
15
|
-
findTemplateLayout(
|
|
16
|
+
findTemplateLayout(name: string, scope?: string, scopeId?: string, locale?: string): Promise<NestDynamicTemplateLayout | null>;
|
|
16
17
|
createTemplateLayout(data: CreateTemplateLayoutDto): Promise<NestDynamicTemplateLayout>;
|
|
17
18
|
overwriteSystemTemplateLayout(templateId: string, updates: Partial<CreateTemplateLayoutDto>): Promise<NestDynamicTemplateLayout>;
|
|
18
19
|
updateTemplateLayout(id: string, updates: Partial<CreateTemplateLayoutDto>, canUpdateSystemTemplate?: boolean): Promise<NestDynamicTemplateLayout>;
|
|
@@ -13,8 +13,8 @@ let TemplateLayoutService = class TemplateLayoutService {
|
|
|
13
13
|
this.engineRegistry = engineRegistry;
|
|
14
14
|
}
|
|
15
15
|
async render(renderDto) {
|
|
16
|
-
const {
|
|
17
|
-
const templateLayout = await this.findTemplateLayout(
|
|
16
|
+
const { name, scope, scopeId, locale, context } = renderDto;
|
|
17
|
+
const templateLayout = await this.findTemplateLayout(name, scope, scopeId, locale);
|
|
18
18
|
if (!templateLayout) {
|
|
19
19
|
throw new common_1.NotFoundException(`Template not found: ${name}`);
|
|
20
20
|
}
|
|
@@ -32,6 +32,19 @@ let TemplateLayoutService = class TemplateLayoutService {
|
|
|
32
32
|
content
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
|
+
async renderContent(input) {
|
|
36
|
+
const { content, language, engine, context } = input;
|
|
37
|
+
let renderContent = content;
|
|
38
|
+
if (language) {
|
|
39
|
+
const languageEngine = this.engineRegistry.getLanguageEngine(language);
|
|
40
|
+
renderContent = await languageEngine.render(content);
|
|
41
|
+
}
|
|
42
|
+
if (content) {
|
|
43
|
+
const contentEngine = this.engineRegistry.getTemplateEngine(engine);
|
|
44
|
+
renderContent = await contentEngine.render(content, context);
|
|
45
|
+
}
|
|
46
|
+
return renderContent;
|
|
47
|
+
}
|
|
35
48
|
async getTemplateLayouts(filter = {}) {
|
|
36
49
|
const { scope, scopeId, type, locale, excludeNames = [], } = filter;
|
|
37
50
|
const where = {};
|
|
@@ -77,12 +90,11 @@ let TemplateLayoutService = class TemplateLayoutService {
|
|
|
77
90
|
where: { id },
|
|
78
91
|
});
|
|
79
92
|
}
|
|
80
|
-
async findTemplateLayout(
|
|
93
|
+
async findTemplateLayout(name, scope, scopeId, locale) {
|
|
81
94
|
const locales = (locale ? [locale, 'en'] : ['en']).filter(Boolean);
|
|
82
95
|
for (const currentLocale of locales) {
|
|
83
96
|
const template = await this.layoutRepository.findOne({
|
|
84
97
|
where: {
|
|
85
|
-
type,
|
|
86
98
|
name,
|
|
87
99
|
scope,
|
|
88
100
|
scopeId: scope === 'system' ? (0, typeorm_2.IsNull)() : (0, typeorm_2.Equal)(scopeId),
|
|
@@ -97,7 +109,6 @@ let TemplateLayoutService = class TemplateLayoutService {
|
|
|
97
109
|
for (const currentLocale of locales) {
|
|
98
110
|
const template = await this.layoutRepository.findOne({
|
|
99
111
|
where: {
|
|
100
|
-
type,
|
|
101
112
|
name,
|
|
102
113
|
scope: 'system',
|
|
103
114
|
scopeId: (0, typeorm_2.IsNull)(),
|
|
@@ -118,7 +129,6 @@ let TemplateLayoutService = class TemplateLayoutService {
|
|
|
118
129
|
const existingTemplate = await this.layoutRepository.findOne({
|
|
119
130
|
where: {
|
|
120
131
|
name: data.name,
|
|
121
|
-
type: data.type,
|
|
122
132
|
scope: 'system',
|
|
123
133
|
scopeId: (0, typeorm_2.IsNull)(),
|
|
124
134
|
locale: data.locale,
|
|
@@ -147,7 +157,6 @@ let TemplateLayoutService = class TemplateLayoutService {
|
|
|
147
157
|
const existingTemplate = await this.layoutRepository.findOne({
|
|
148
158
|
where: {
|
|
149
159
|
name: template.name,
|
|
150
|
-
type: template.type,
|
|
151
160
|
locale: template.locale,
|
|
152
161
|
scope: updates.scope,
|
|
153
162
|
scopeId: (0, typeorm_2.Equal)(updates.scopeId),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-layout.service.js","sourceRoot":"","sources":["../../../../../../packages/nest-dynamic-templates/src/lib/services/template-layout.service.ts"],"names":[],"mappings":";;;;AAAA,2CAA2H;AAC3H,6CAAmD;AACnD,qCAA6D;AAC7D,+EAA+E;AAG/E,yEAA2E;
|
|
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,20 +1,21 @@
|
|
|
1
1
|
import { Repository } from 'typeorm';
|
|
2
2
|
import { NestDynamicTemplate } from '../entities/template.entity';
|
|
3
|
-
import { TemplateTypeEnum } 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';
|
|
7
6
|
import { TemplateLayoutService } from './template-layout.service';
|
|
8
7
|
import { TemplateEngineRegistryService } from './template-engine.registry';
|
|
8
|
+
import { RenderContentTemplateDto } from '../dto/render-content-template.dto';
|
|
9
9
|
export declare class TemplateService {
|
|
10
10
|
private readonly templateRepository;
|
|
11
11
|
private readonly engineRegistry;
|
|
12
12
|
private readonly templateLayoutService;
|
|
13
13
|
constructor(templateRepository: Repository<NestDynamicTemplate>, engineRegistry: TemplateEngineRegistryService, templateLayoutService: TemplateLayoutService);
|
|
14
14
|
render(renderDto: RenderTemplateDto): Promise<RenderTemplateOutputDTO>;
|
|
15
|
+
renderContent(input: RenderContentTemplateDto): Promise<string>;
|
|
15
16
|
getTemplates(filter?: TemplateFilterDto): Promise<NestDynamicTemplate[]>;
|
|
16
17
|
getTemplateById(id: string): Promise<NestDynamicTemplate | null>;
|
|
17
|
-
findTemplate(
|
|
18
|
+
findTemplate(name: string, scope?: string, scopeId?: string, locale?: string): Promise<NestDynamicTemplate | null>;
|
|
18
19
|
createTemplate(data: CreateTemplateDto): Promise<NestDynamicTemplate>;
|
|
19
20
|
overwriteSystemTemplate(templateId: string, updates: Partial<CreateTemplateDto>): Promise<NestDynamicTemplate>;
|
|
20
21
|
updateTemplate(id: string, updates: Partial<CreateTemplateDto>, canUpdateSystemTemplate?: boolean): Promise<NestDynamicTemplate>;
|
|
@@ -6,6 +6,7 @@ const common_1 = require("@nestjs/common");
|
|
|
6
6
|
const typeorm_1 = require("@nestjs/typeorm");
|
|
7
7
|
const typeorm_2 = require("typeorm");
|
|
8
8
|
const template_entity_1 = require("../entities/template.entity");
|
|
9
|
+
const template_types_1 = require("../interfaces/template.types");
|
|
9
10
|
const template_layout_service_1 = require("./template-layout.service");
|
|
10
11
|
const template_engine_registry_1 = require("./template-engine.registry");
|
|
11
12
|
const lodash_1 = require("lodash");
|
|
@@ -16,18 +17,17 @@ let TemplateService = class TemplateService {
|
|
|
16
17
|
this.templateLayoutService = templateLayoutService;
|
|
17
18
|
}
|
|
18
19
|
async render(renderDto) {
|
|
19
|
-
const {
|
|
20
|
-
const template = await this.findTemplate(
|
|
20
|
+
const { name, scope, scopeId, locale, context } = renderDto;
|
|
21
|
+
const template = await this.findTemplate(name, scope, scopeId, locale);
|
|
21
22
|
if (!template) {
|
|
22
23
|
throw new common_1.NotFoundException(`Template not found: ${name}`);
|
|
23
24
|
}
|
|
24
|
-
|
|
25
|
-
let content = await templateEngine.render(template.content, context);
|
|
25
|
+
let content = template.content;
|
|
26
26
|
if (template.language) {
|
|
27
27
|
const languageEngine = this.engineRegistry.getLanguageEngine(template.language);
|
|
28
28
|
content = await languageEngine.render(content);
|
|
29
29
|
}
|
|
30
|
-
let subject;
|
|
30
|
+
let subject = template.subject;
|
|
31
31
|
if (template.subject) {
|
|
32
32
|
const subjectEngine = this.engineRegistry.getTemplateEngine(template.engine);
|
|
33
33
|
subject = await subjectEngine.render(template.subject, context);
|
|
@@ -38,7 +38,6 @@ let TemplateService = class TemplateService {
|
|
|
38
38
|
}
|
|
39
39
|
if (template.templateLayoutName) {
|
|
40
40
|
const layout = await this.templateLayoutService.render({
|
|
41
|
-
type: template.type,
|
|
42
41
|
name: template.templateLayoutName,
|
|
43
42
|
scope,
|
|
44
43
|
scopeId,
|
|
@@ -55,6 +54,29 @@ let TemplateService = class TemplateService {
|
|
|
55
54
|
content
|
|
56
55
|
};
|
|
57
56
|
}
|
|
57
|
+
async renderContent(input) {
|
|
58
|
+
const { content, language, engine, context, templateLayoutId } = input;
|
|
59
|
+
let renderContent = content;
|
|
60
|
+
const languageEngine = this.engineRegistry.getLanguageEngine(language || template_types_1.TemplateLanguageEnum.HTML);
|
|
61
|
+
renderContent = await languageEngine.render(renderContent);
|
|
62
|
+
const templateEngine = this.engineRegistry.getTemplateEngine(engine || template_types_1.TemplateEngineEnum.NUNJUCKS);
|
|
63
|
+
renderContent = await templateEngine.render(renderContent, context);
|
|
64
|
+
if (templateLayoutId) {
|
|
65
|
+
const templateLayout = await this.templateLayoutService.getTemplateLayoutById(templateLayoutId);
|
|
66
|
+
if (templateLayout) {
|
|
67
|
+
renderContent = await this.templateLayoutService.renderContent({
|
|
68
|
+
content: renderContent,
|
|
69
|
+
language: language,
|
|
70
|
+
engine: engine,
|
|
71
|
+
context: {
|
|
72
|
+
...context,
|
|
73
|
+
content: renderContent
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return renderContent;
|
|
79
|
+
}
|
|
58
80
|
async getTemplates(filter = {}) {
|
|
59
81
|
const { scope, scopeId, type, locale, excludeNames = [], } = filter;
|
|
60
82
|
const where = {};
|
|
@@ -100,12 +122,11 @@ let TemplateService = class TemplateService {
|
|
|
100
122
|
where: { id },
|
|
101
123
|
});
|
|
102
124
|
}
|
|
103
|
-
async findTemplate(
|
|
125
|
+
async findTemplate(name, scope, scopeId, locale) {
|
|
104
126
|
const locales = (locale ? [locale, 'en'] : ['en']).filter(Boolean);
|
|
105
127
|
for (const currentLocale of locales) {
|
|
106
128
|
const template = await this.templateRepository.findOne({
|
|
107
129
|
where: {
|
|
108
|
-
type,
|
|
109
130
|
name,
|
|
110
131
|
scope,
|
|
111
132
|
scopeId: scope === 'system' ? (0, typeorm_2.IsNull)() : (0, typeorm_2.Equal)(scopeId),
|
|
@@ -120,7 +141,6 @@ let TemplateService = class TemplateService {
|
|
|
120
141
|
for (const currentLocale of locales) {
|
|
121
142
|
const template = await this.templateRepository.findOne({
|
|
122
143
|
where: {
|
|
123
|
-
type,
|
|
124
144
|
name,
|
|
125
145
|
scope: 'system',
|
|
126
146
|
scopeId: (0, typeorm_2.IsNull)(),
|
|
@@ -141,7 +161,6 @@ let TemplateService = class TemplateService {
|
|
|
141
161
|
const existingTemplate = await this.templateRepository.findOne({
|
|
142
162
|
where: {
|
|
143
163
|
name: data.name,
|
|
144
|
-
type: data.type,
|
|
145
164
|
scope: 'system',
|
|
146
165
|
scopeId: (0, typeorm_2.IsNull)(),
|
|
147
166
|
locale: data.locale,
|
|
@@ -170,7 +189,6 @@ let TemplateService = class TemplateService {
|
|
|
170
189
|
const existingTemplate = await this.templateRepository.findOne({
|
|
171
190
|
where: {
|
|
172
191
|
name: template.name,
|
|
173
|
-
type: template.type,
|
|
174
192
|
locale: template.locale,
|
|
175
193
|
scope: updates.scope,
|
|
176
194
|
scopeId: (0, typeorm_2.Equal)(updates.scopeId),
|
|
@@ -203,7 +221,7 @@ let TemplateService = class TemplateService {
|
|
|
203
221
|
if (!template) {
|
|
204
222
|
throw new common_1.NotFoundException(`Template not found: ${id}`);
|
|
205
223
|
}
|
|
206
|
-
if (template.scope === 'system' &&
|
|
224
|
+
if (template.scope === 'system' && !canUpdateSystemTemplate) {
|
|
207
225
|
if (updates.scope) {
|
|
208
226
|
return this.overwriteSystemTemplate(id, updates);
|
|
209
227
|
}
|
|
@@ -211,9 +229,6 @@ let TemplateService = class TemplateService {
|
|
|
211
229
|
throw new common_1.ForbiddenException('Cannot update system templates');
|
|
212
230
|
}
|
|
213
231
|
}
|
|
214
|
-
if (!canUpdateSystemTemplate) {
|
|
215
|
-
throw new common_1.ForbiddenException('Cannot update system templates');
|
|
216
|
-
}
|
|
217
232
|
template = this.templateRepository.merge(template, updates);
|
|
218
233
|
return this.templateRepository.save(template);
|
|
219
234
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.service.js","sourceRoot":"","sources":["../../../../../../packages/nest-dynamic-templates/src/lib/services/template.service.ts"],"names":[],"mappings":";;;;AAAA,2CAA2H;AAC3H,6CAAmD;AACnD,qCAA6D;AAC7D,iEAAkE;
|
|
1
|
+
{"version":3,"file":"template.service.js","sourceRoot":"","sources":["../../../../../../packages/nest-dynamic-templates/src/lib/services/template.service.ts"],"names":[],"mappings":"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"}
|