@flusys/nestjs-email 1.1.0-beta

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 (124) hide show
  1. package/cjs/config/email-config.service.js +94 -0
  2. package/cjs/config/email.constants.js +40 -0
  3. package/cjs/config/index.js +19 -0
  4. package/cjs/controllers/email-config.controller.js +59 -0
  5. package/cjs/controllers/email-send.controller.js +142 -0
  6. package/cjs/controllers/email-template.controller.js +84 -0
  7. package/cjs/controllers/index.js +20 -0
  8. package/cjs/docs/email-swagger.config.js +176 -0
  9. package/cjs/docs/index.js +11 -0
  10. package/cjs/dtos/email-config.dto.js +238 -0
  11. package/cjs/dtos/email-send.dto.js +376 -0
  12. package/cjs/dtos/email-template.dto.js +283 -0
  13. package/cjs/dtos/index.js +20 -0
  14. package/cjs/entities/email-config-base.entity.js +111 -0
  15. package/cjs/entities/email-config-with-company.entity.js +63 -0
  16. package/cjs/entities/email-config.entity.js +25 -0
  17. package/cjs/entities/email-template-base.entity.js +134 -0
  18. package/cjs/entities/email-template-with-company.entity.js +63 -0
  19. package/cjs/entities/email-template.entity.js +25 -0
  20. package/cjs/entities/index.js +41 -0
  21. package/cjs/enums/email-provider-type.enum.js +18 -0
  22. package/cjs/enums/index.js +18 -0
  23. package/cjs/index.js +27 -0
  24. package/cjs/interfaces/email-config.interface.js +4 -0
  25. package/cjs/interfaces/email-module-options.interface.js +4 -0
  26. package/cjs/interfaces/email-provider.interface.js +6 -0
  27. package/cjs/interfaces/email-template.interface.js +4 -0
  28. package/cjs/interfaces/index.js +21 -0
  29. package/cjs/modules/email.module.js +177 -0
  30. package/cjs/modules/index.js +18 -0
  31. package/cjs/providers/email-factory.service.js +160 -0
  32. package/cjs/providers/email-provider.registry.js +51 -0
  33. package/cjs/providers/index.js +22 -0
  34. package/cjs/providers/mailgun-provider.js +125 -0
  35. package/cjs/providers/sendgrid-provider.js +156 -0
  36. package/cjs/providers/smtp-provider.js +185 -0
  37. package/cjs/services/email-datasource.provider.js +215 -0
  38. package/cjs/services/email-provider-config.service.js +180 -0
  39. package/cjs/services/email-send.service.js +228 -0
  40. package/cjs/services/email-template.service.js +186 -0
  41. package/cjs/services/index.js +21 -0
  42. package/config/email-config.service.d.ts +13 -0
  43. package/config/email.constants.d.ts +11 -0
  44. package/config/index.d.ts +2 -0
  45. package/controllers/email-config.controller.d.ts +17 -0
  46. package/controllers/email-send.controller.d.ts +19 -0
  47. package/controllers/email-template.controller.d.ts +25 -0
  48. package/controllers/index.d.ts +3 -0
  49. package/docs/email-swagger.config.d.ts +3 -0
  50. package/docs/index.d.ts +1 -0
  51. package/dtos/email-config.dto.d.ts +33 -0
  52. package/dtos/email-send.dto.d.ts +45 -0
  53. package/dtos/email-template.dto.d.ts +42 -0
  54. package/dtos/index.d.ts +3 -0
  55. package/entities/email-config-base.entity.d.ts +11 -0
  56. package/entities/email-config-with-company.entity.d.ts +4 -0
  57. package/entities/email-config.entity.d.ts +3 -0
  58. package/entities/email-template-base.entity.d.ts +14 -0
  59. package/entities/email-template-with-company.entity.d.ts +4 -0
  60. package/entities/email-template.entity.d.ts +3 -0
  61. package/entities/index.d.ts +7 -0
  62. package/enums/email-provider-type.enum.d.ts +5 -0
  63. package/enums/index.d.ts +1 -0
  64. package/fesm/config/email-config.service.js +84 -0
  65. package/fesm/config/email.constants.js +13 -0
  66. package/fesm/config/index.js +2 -0
  67. package/fesm/controllers/email-config.controller.js +49 -0
  68. package/fesm/controllers/email-send.controller.js +132 -0
  69. package/fesm/controllers/email-template.controller.js +74 -0
  70. package/fesm/controllers/index.js +3 -0
  71. package/fesm/docs/email-swagger.config.js +172 -0
  72. package/fesm/docs/index.js +1 -0
  73. package/fesm/dtos/email-config.dto.js +223 -0
  74. package/fesm/dtos/email-send.dto.js +360 -0
  75. package/fesm/dtos/email-template.dto.js +268 -0
  76. package/fesm/dtos/index.js +3 -0
  77. package/fesm/entities/email-config-base.entity.js +101 -0
  78. package/fesm/entities/email-config-with-company.entity.js +53 -0
  79. package/fesm/entities/email-config.entity.js +15 -0
  80. package/fesm/entities/email-template-base.entity.js +124 -0
  81. package/fesm/entities/email-template-with-company.entity.js +53 -0
  82. package/fesm/entities/email-template.entity.js +15 -0
  83. package/fesm/entities/index.js +20 -0
  84. package/fesm/enums/email-provider-type.enum.js +8 -0
  85. package/fesm/enums/index.js +1 -0
  86. package/fesm/index.js +10 -0
  87. package/fesm/interfaces/email-config.interface.js +3 -0
  88. package/fesm/interfaces/email-module-options.interface.js +3 -0
  89. package/fesm/interfaces/email-provider.interface.js +5 -0
  90. package/fesm/interfaces/email-template.interface.js +3 -0
  91. package/fesm/interfaces/index.js +4 -0
  92. package/fesm/modules/email.module.js +167 -0
  93. package/fesm/modules/index.js +1 -0
  94. package/fesm/providers/email-factory.service.js +109 -0
  95. package/fesm/providers/email-provider.registry.js +44 -0
  96. package/fesm/providers/index.js +5 -0
  97. package/fesm/providers/mailgun-provider.js +119 -0
  98. package/fesm/providers/sendgrid-provider.js +150 -0
  99. package/fesm/providers/smtp-provider.js +137 -0
  100. package/fesm/services/email-datasource.provider.js +164 -0
  101. package/fesm/services/email-provider-config.service.js +170 -0
  102. package/fesm/services/email-send.service.js +218 -0
  103. package/fesm/services/email-template.service.js +176 -0
  104. package/fesm/services/index.js +4 -0
  105. package/index.d.ts +9 -0
  106. package/interfaces/email-config.interface.d.ts +28 -0
  107. package/interfaces/email-module-options.interface.d.ts +26 -0
  108. package/interfaces/email-provider.interface.d.ts +34 -0
  109. package/interfaces/email-template.interface.d.ts +64 -0
  110. package/interfaces/index.d.ts +4 -0
  111. package/modules/email.module.d.ts +9 -0
  112. package/modules/index.d.ts +1 -0
  113. package/package.json +105 -0
  114. package/providers/email-factory.service.d.ts +14 -0
  115. package/providers/email-provider.registry.d.ts +10 -0
  116. package/providers/index.d.ts +5 -0
  117. package/providers/mailgun-provider.d.ts +11 -0
  118. package/providers/sendgrid-provider.d.ts +11 -0
  119. package/providers/smtp-provider.d.ts +11 -0
  120. package/services/email-datasource.provider.d.ts +25 -0
  121. package/services/email-provider-config.service.d.ts +32 -0
  122. package/services/email-send.service.d.ts +20 -0
  123. package/services/email-template.service.d.ts +31 -0
  124. package/services/index.d.ts +4 -0
@@ -0,0 +1,283 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get CreateEmailTemplateDto () {
13
+ return CreateEmailTemplateDto;
14
+ },
15
+ get EmailTemplateResponseDto () {
16
+ return EmailTemplateResponseDto;
17
+ },
18
+ get UpdateEmailTemplateDto () {
19
+ return UpdateEmailTemplateDto;
20
+ }
21
+ });
22
+ const _dtos = require("@flusys/nestjs-shared/dtos");
23
+ const _swagger = require("@nestjs/swagger");
24
+ const _classvalidator = require("class-validator");
25
+ function _define_property(obj, key, value) {
26
+ if (key in obj) {
27
+ Object.defineProperty(obj, key, {
28
+ value: value,
29
+ enumerable: true,
30
+ configurable: true,
31
+ writable: true
32
+ });
33
+ } else {
34
+ obj[key] = value;
35
+ }
36
+ return obj;
37
+ }
38
+ function _ts_decorate(decorators, target, key, desc) {
39
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
40
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
41
+ else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
42
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
43
+ }
44
+ function _ts_metadata(k, v) {
45
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
46
+ }
47
+ let CreateEmailTemplateDto = class CreateEmailTemplateDto {
48
+ constructor(){
49
+ _define_property(this, "name", void 0);
50
+ _define_property(this, "slug", void 0);
51
+ _define_property(this, "description", void 0);
52
+ _define_property(this, "subject", void 0);
53
+ _define_property(this, "schema", void 0);
54
+ _define_property(this, "htmlContent", void 0);
55
+ _define_property(this, "textContent", void 0);
56
+ _define_property(this, "isActive", void 0);
57
+ _define_property(this, "isHtml", void 0);
58
+ _define_property(this, "metadata", void 0);
59
+ }
60
+ };
61
+ _ts_decorate([
62
+ (0, _swagger.ApiProperty)({
63
+ example: 'Welcome Email'
64
+ }),
65
+ (0, _classvalidator.IsString)(),
66
+ (0, _classvalidator.IsNotEmpty)(),
67
+ (0, _classvalidator.MaxLength)(255),
68
+ _ts_metadata("design:type", String)
69
+ ], CreateEmailTemplateDto.prototype, "name", void 0);
70
+ _ts_decorate([
71
+ (0, _swagger.ApiProperty)({
72
+ example: 'welcome-email'
73
+ }),
74
+ (0, _classvalidator.IsString)(),
75
+ (0, _classvalidator.IsNotEmpty)(),
76
+ (0, _classvalidator.MaxLength)(255),
77
+ _ts_metadata("design:type", String)
78
+ ], CreateEmailTemplateDto.prototype, "slug", void 0);
79
+ _ts_decorate([
80
+ (0, _swagger.ApiPropertyOptional)({
81
+ example: 'Email sent to new users upon registration'
82
+ }),
83
+ (0, _classvalidator.IsString)(),
84
+ (0, _classvalidator.IsOptional)(),
85
+ (0, _classvalidator.MaxLength)(500),
86
+ _ts_metadata("design:type", String)
87
+ ], CreateEmailTemplateDto.prototype, "description", void 0);
88
+ _ts_decorate([
89
+ (0, _swagger.ApiProperty)({
90
+ example: 'Welcome to {{appName}}!'
91
+ }),
92
+ (0, _classvalidator.IsString)(),
93
+ (0, _classvalidator.IsNotEmpty)(),
94
+ (0, _classvalidator.MaxLength)(500),
95
+ _ts_metadata("design:type", String)
96
+ ], CreateEmailTemplateDto.prototype, "subject", void 0);
97
+ _ts_decorate([
98
+ (0, _swagger.ApiProperty)({
99
+ type: 'object',
100
+ additionalProperties: true,
101
+ description: 'Visual builder schema (sections, blocks, settings)',
102
+ example: {
103
+ id: 'template-1',
104
+ version: '1.0.0',
105
+ sections: [],
106
+ settings: {}
107
+ }
108
+ }),
109
+ (0, _classvalidator.IsObject)(),
110
+ (0, _classvalidator.IsNotEmpty)(),
111
+ _ts_metadata("design:type", typeof Record === "undefined" ? Object : Record)
112
+ ], CreateEmailTemplateDto.prototype, "schema", void 0);
113
+ _ts_decorate([
114
+ (0, _swagger.ApiProperty)({
115
+ example: '<h1>Welcome {{userName}}!</h1><p>Thanks for joining us.</p>',
116
+ description: 'Rendered HTML content with {{variable}} placeholders'
117
+ }),
118
+ (0, _classvalidator.IsString)(),
119
+ (0, _classvalidator.IsNotEmpty)(),
120
+ _ts_metadata("design:type", String)
121
+ ], CreateEmailTemplateDto.prototype, "htmlContent", void 0);
122
+ _ts_decorate([
123
+ (0, _swagger.ApiPropertyOptional)({
124
+ example: 'Welcome {{userName}}!\n\nThanks for joining us.',
125
+ description: 'Plain text fallback content'
126
+ }),
127
+ (0, _classvalidator.IsString)(),
128
+ (0, _classvalidator.IsOptional)(),
129
+ _ts_metadata("design:type", String)
130
+ ], CreateEmailTemplateDto.prototype, "textContent", void 0);
131
+ _ts_decorate([
132
+ (0, _swagger.ApiPropertyOptional)({
133
+ example: true
134
+ }),
135
+ (0, _classvalidator.IsBoolean)(),
136
+ (0, _classvalidator.IsOptional)(),
137
+ _ts_metadata("design:type", Boolean)
138
+ ], CreateEmailTemplateDto.prototype, "isActive", void 0);
139
+ _ts_decorate([
140
+ (0, _swagger.ApiPropertyOptional)({
141
+ example: true,
142
+ description: 'Whether template uses HTML (true) or plain text (false)'
143
+ }),
144
+ (0, _classvalidator.IsBoolean)(),
145
+ (0, _classvalidator.IsOptional)(),
146
+ _ts_metadata("design:type", Boolean)
147
+ ], CreateEmailTemplateDto.prototype, "isHtml", void 0);
148
+ _ts_decorate([
149
+ (0, _swagger.ApiPropertyOptional)({
150
+ type: 'object',
151
+ additionalProperties: true,
152
+ description: 'Additional metadata (tags, category, etc.)',
153
+ example: {
154
+ category: 'onboarding',
155
+ tags: [
156
+ 'welcome',
157
+ 'new-user'
158
+ ]
159
+ }
160
+ }),
161
+ (0, _classvalidator.IsObject)(),
162
+ (0, _classvalidator.IsOptional)(),
163
+ _ts_metadata("design:type", typeof Record === "undefined" ? Object : Record)
164
+ ], CreateEmailTemplateDto.prototype, "metadata", void 0);
165
+ let UpdateEmailTemplateDto = class UpdateEmailTemplateDto {
166
+ constructor(){
167
+ _define_property(this, "id", void 0);
168
+ _define_property(this, "name", void 0);
169
+ _define_property(this, "slug", void 0);
170
+ _define_property(this, "description", void 0);
171
+ _define_property(this, "subject", void 0);
172
+ _define_property(this, "schema", void 0);
173
+ _define_property(this, "htmlContent", void 0);
174
+ _define_property(this, "textContent", void 0);
175
+ _define_property(this, "isActive", void 0);
176
+ _define_property(this, "isHtml", void 0);
177
+ _define_property(this, "metadata", void 0);
178
+ }
179
+ };
180
+ _ts_decorate([
181
+ (0, _swagger.ApiProperty)({
182
+ example: '123e4567-e89b-12d3-a456-426614174000'
183
+ }),
184
+ (0, _classvalidator.IsString)(),
185
+ (0, _classvalidator.IsNotEmpty)(),
186
+ _ts_metadata("design:type", String)
187
+ ], UpdateEmailTemplateDto.prototype, "id", void 0);
188
+ _ts_decorate([
189
+ (0, _swagger.ApiPropertyOptional)({
190
+ example: 'Welcome Email'
191
+ }),
192
+ (0, _classvalidator.IsString)(),
193
+ (0, _classvalidator.IsOptional)(),
194
+ (0, _classvalidator.MaxLength)(255),
195
+ _ts_metadata("design:type", String)
196
+ ], UpdateEmailTemplateDto.prototype, "name", void 0);
197
+ _ts_decorate([
198
+ (0, _swagger.ApiPropertyOptional)({
199
+ example: 'welcome-email'
200
+ }),
201
+ (0, _classvalidator.IsString)(),
202
+ (0, _classvalidator.IsOptional)(),
203
+ (0, _classvalidator.MaxLength)(255),
204
+ _ts_metadata("design:type", String)
205
+ ], UpdateEmailTemplateDto.prototype, "slug", void 0);
206
+ _ts_decorate([
207
+ (0, _swagger.ApiPropertyOptional)({
208
+ example: 'Email sent to new users upon registration'
209
+ }),
210
+ (0, _classvalidator.IsString)(),
211
+ (0, _classvalidator.IsOptional)(),
212
+ (0, _classvalidator.MaxLength)(500),
213
+ _ts_metadata("design:type", String)
214
+ ], UpdateEmailTemplateDto.prototype, "description", void 0);
215
+ _ts_decorate([
216
+ (0, _swagger.ApiPropertyOptional)({
217
+ example: 'Welcome to {{appName}}!'
218
+ }),
219
+ (0, _classvalidator.IsString)(),
220
+ (0, _classvalidator.IsOptional)(),
221
+ (0, _classvalidator.MaxLength)(500),
222
+ _ts_metadata("design:type", String)
223
+ ], UpdateEmailTemplateDto.prototype, "subject", void 0);
224
+ _ts_decorate([
225
+ (0, _swagger.ApiPropertyOptional)({
226
+ type: 'object',
227
+ additionalProperties: true,
228
+ description: 'Visual builder schema'
229
+ }),
230
+ (0, _classvalidator.IsObject)(),
231
+ (0, _classvalidator.IsOptional)(),
232
+ _ts_metadata("design:type", typeof Record === "undefined" ? Object : Record)
233
+ ], UpdateEmailTemplateDto.prototype, "schema", void 0);
234
+ _ts_decorate([
235
+ (0, _swagger.ApiPropertyOptional)({
236
+ example: '<h1>Welcome {{userName}}!</h1>',
237
+ description: 'Rendered HTML content'
238
+ }),
239
+ (0, _classvalidator.IsString)(),
240
+ (0, _classvalidator.IsOptional)(),
241
+ _ts_metadata("design:type", String)
242
+ ], UpdateEmailTemplateDto.prototype, "htmlContent", void 0);
243
+ _ts_decorate([
244
+ (0, _swagger.ApiPropertyOptional)({
245
+ example: 'Welcome {{userName}}!',
246
+ description: 'Plain text fallback'
247
+ }),
248
+ (0, _classvalidator.IsString)(),
249
+ (0, _classvalidator.IsOptional)(),
250
+ _ts_metadata("design:type", String)
251
+ ], UpdateEmailTemplateDto.prototype, "textContent", void 0);
252
+ _ts_decorate([
253
+ (0, _swagger.ApiPropertyOptional)({
254
+ example: true
255
+ }),
256
+ (0, _classvalidator.IsBoolean)(),
257
+ (0, _classvalidator.IsOptional)(),
258
+ _ts_metadata("design:type", Boolean)
259
+ ], UpdateEmailTemplateDto.prototype, "isActive", void 0);
260
+ _ts_decorate([
261
+ (0, _swagger.ApiPropertyOptional)({
262
+ example: true,
263
+ description: 'Whether template uses HTML (true) or plain text (false)'
264
+ }),
265
+ (0, _classvalidator.IsBoolean)(),
266
+ (0, _classvalidator.IsOptional)(),
267
+ _ts_metadata("design:type", Boolean)
268
+ ], UpdateEmailTemplateDto.prototype, "isHtml", void 0);
269
+ _ts_decorate([
270
+ (0, _swagger.ApiPropertyOptional)({
271
+ type: 'object',
272
+ additionalProperties: true,
273
+ description: 'Additional metadata'
274
+ }),
275
+ (0, _classvalidator.IsObject)(),
276
+ (0, _classvalidator.IsOptional)(),
277
+ _ts_metadata("design:type", typeof Record === "undefined" ? Object : Record)
278
+ ], UpdateEmailTemplateDto.prototype, "metadata", void 0);
279
+ let EmailTemplateResponseDto = class EmailTemplateResponseDto extends _dtos.IdentityResponseDto {
280
+ constructor(...args){
281
+ super(...args), _define_property(this, "name", void 0), _define_property(this, "slug", void 0), _define_property(this, "description", void 0), _define_property(this, "subject", void 0), _define_property(this, "schema", void 0), _define_property(this, "htmlContent", void 0), _define_property(this, "textContent", void 0), _define_property(this, "schemaVersion", void 0), _define_property(this, "isActive", void 0), _define_property(this, "isHtml", void 0), _define_property(this, "metadata", void 0);
282
+ }
283
+ };
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ _export_star(require("./email-config.dto"), exports);
6
+ _export_star(require("./email-template.dto"), exports);
7
+ _export_star(require("./email-send.dto"), exports);
8
+ function _export_star(from, to) {
9
+ Object.keys(from).forEach(function(k) {
10
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
11
+ Object.defineProperty(to, k, {
12
+ enumerable: true,
13
+ get: function() {
14
+ return from[k];
15
+ }
16
+ });
17
+ }
18
+ });
19
+ return from;
20
+ }
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "EmailConfigBase", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return EmailConfigBase;
9
+ }
10
+ });
11
+ const _entities = require("@flusys/nestjs-shared/entities");
12
+ const _typeorm = require("typeorm");
13
+ const _enums = require("../enums");
14
+ function _define_property(obj, key, value) {
15
+ if (key in obj) {
16
+ Object.defineProperty(obj, key, {
17
+ value: value,
18
+ enumerable: true,
19
+ configurable: true,
20
+ writable: true
21
+ });
22
+ } else {
23
+ obj[key] = value;
24
+ }
25
+ return obj;
26
+ }
27
+ function _ts_decorate(decorators, target, key, desc) {
28
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
29
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
30
+ else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
31
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
32
+ }
33
+ function _ts_metadata(k, v) {
34
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
35
+ }
36
+ let EmailConfigBase = class EmailConfigBase extends _entities.Identity {
37
+ constructor(...args){
38
+ super(...args), _define_property(this, "name", void 0), _define_property(this, "provider", void 0), _define_property(this, "config", void 0), _define_property(this, "fromEmail", void 0), _define_property(this, "fromName", void 0), _define_property(this, "isActive", void 0), _define_property(this, "isDefault", void 0);
39
+ }
40
+ };
41
+ _ts_decorate([
42
+ (0, _typeorm.Column)({
43
+ type: 'varchar',
44
+ length: 255,
45
+ nullable: false
46
+ }),
47
+ _ts_metadata("design:type", String)
48
+ ], EmailConfigBase.prototype, "name", void 0);
49
+ _ts_decorate([
50
+ (0, _typeorm.Column)({
51
+ type: 'enum',
52
+ enum: _enums.EmailProviderTypeEnum,
53
+ nullable: false
54
+ }),
55
+ _ts_metadata("design:type", typeof _enums.EmailProviderTypeEnum === "undefined" ? Object : _enums.EmailProviderTypeEnum)
56
+ ], EmailConfigBase.prototype, "provider", void 0);
57
+ _ts_decorate([
58
+ (0, _typeorm.Column)({
59
+ type: 'json',
60
+ nullable: false
61
+ }),
62
+ _ts_metadata("design:type", typeof Record === "undefined" ? Object : Record)
63
+ ], EmailConfigBase.prototype, "config", void 0);
64
+ _ts_decorate([
65
+ (0, _typeorm.Column)({
66
+ type: 'varchar',
67
+ length: 255,
68
+ nullable: true,
69
+ name: 'from_email'
70
+ }),
71
+ _ts_metadata("design:type", Object)
72
+ ], EmailConfigBase.prototype, "fromEmail", void 0);
73
+ _ts_decorate([
74
+ (0, _typeorm.Column)({
75
+ type: 'varchar',
76
+ length: 255,
77
+ nullable: true,
78
+ name: 'from_name'
79
+ }),
80
+ _ts_metadata("design:type", Object)
81
+ ], EmailConfigBase.prototype, "fromName", void 0);
82
+ _ts_decorate([
83
+ (0, _typeorm.Column)({
84
+ type: 'boolean',
85
+ default: true,
86
+ name: 'is_active'
87
+ }),
88
+ _ts_metadata("design:type", Boolean)
89
+ ], EmailConfigBase.prototype, "isActive", void 0);
90
+ _ts_decorate([
91
+ (0, _typeorm.Column)({
92
+ type: 'boolean',
93
+ default: false,
94
+ name: 'is_default'
95
+ }),
96
+ _ts_metadata("design:type", Boolean)
97
+ ], EmailConfigBase.prototype, "isDefault", void 0);
98
+ EmailConfigBase = _ts_decorate([
99
+ (0, _typeorm.Index)([
100
+ 'name'
101
+ ]),
102
+ (0, _typeorm.Index)([
103
+ 'provider'
104
+ ]),
105
+ (0, _typeorm.Index)([
106
+ 'isActive'
107
+ ]),
108
+ (0, _typeorm.Index)([
109
+ 'isDefault'
110
+ ])
111
+ ], EmailConfigBase);
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "EmailConfigWithCompany", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return EmailConfigWithCompany;
9
+ }
10
+ });
11
+ const _typeorm = require("typeorm");
12
+ const _emailconfigbaseentity = require("./email-config-base.entity");
13
+ function _define_property(obj, key, value) {
14
+ if (key in obj) {
15
+ Object.defineProperty(obj, key, {
16
+ value: value,
17
+ enumerable: true,
18
+ configurable: true,
19
+ writable: true
20
+ });
21
+ } else {
22
+ obj[key] = value;
23
+ }
24
+ return obj;
25
+ }
26
+ function _ts_decorate(decorators, target, key, desc) {
27
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
28
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
29
+ else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
30
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
31
+ }
32
+ function _ts_metadata(k, v) {
33
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
34
+ }
35
+ let EmailConfigWithCompany = class EmailConfigWithCompany extends _emailconfigbaseentity.EmailConfigBase {
36
+ constructor(...args){
37
+ super(...args), _define_property(this, "companyId", void 0);
38
+ }
39
+ };
40
+ _ts_decorate([
41
+ (0, _typeorm.Column)({
42
+ type: 'uuid',
43
+ nullable: true,
44
+ name: 'company_id'
45
+ }),
46
+ _ts_metadata("design:type", Object)
47
+ ], EmailConfigWithCompany.prototype, "companyId", void 0);
48
+ EmailConfigWithCompany = _ts_decorate([
49
+ (0, _typeorm.Entity)({
50
+ name: 'email_config'
51
+ }),
52
+ (0, _typeorm.Index)([
53
+ 'companyId'
54
+ ]),
55
+ (0, _typeorm.Index)([
56
+ 'companyId',
57
+ 'name'
58
+ ]),
59
+ (0, _typeorm.Index)([
60
+ 'companyId',
61
+ 'isActive'
62
+ ])
63
+ ], EmailConfigWithCompany);
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "EmailConfig", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return EmailConfig;
9
+ }
10
+ });
11
+ const _typeorm = require("typeorm");
12
+ const _emailconfigbaseentity = require("./email-config-base.entity");
13
+ function _ts_decorate(decorators, target, key, desc) {
14
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
15
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
16
+ else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
17
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
18
+ }
19
+ let EmailConfig = class EmailConfig extends _emailconfigbaseentity.EmailConfigBase {
20
+ };
21
+ EmailConfig = _ts_decorate([
22
+ (0, _typeorm.Entity)({
23
+ name: 'email_config'
24
+ })
25
+ ], EmailConfig);
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "EmailTemplateBase", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return EmailTemplateBase;
9
+ }
10
+ });
11
+ const _entities = require("@flusys/nestjs-shared/entities");
12
+ const _typeorm = require("typeorm");
13
+ function _define_property(obj, key, value) {
14
+ if (key in obj) {
15
+ Object.defineProperty(obj, key, {
16
+ value: value,
17
+ enumerable: true,
18
+ configurable: true,
19
+ writable: true
20
+ });
21
+ } else {
22
+ obj[key] = value;
23
+ }
24
+ return obj;
25
+ }
26
+ function _ts_decorate(decorators, target, key, desc) {
27
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
28
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
29
+ else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
30
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
31
+ }
32
+ function _ts_metadata(k, v) {
33
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
34
+ }
35
+ let EmailTemplateBase = class EmailTemplateBase extends _entities.Identity {
36
+ constructor(...args){
37
+ super(...args), _define_property(this, "name", void 0), _define_property(this, "slug", void 0), _define_property(this, "description", void 0), _define_property(this, "subject", void 0), _define_property(this, "schema", void 0), _define_property(this, "htmlContent", void 0), _define_property(this, "textContent", void 0), _define_property(this, "schemaVersion", void 0), _define_property(this, "isActive", void 0), _define_property(this, "isHtml", void 0), _define_property(this, "metadata", void 0);
38
+ }
39
+ };
40
+ _ts_decorate([
41
+ (0, _typeorm.Column)({
42
+ type: 'varchar',
43
+ length: 255,
44
+ nullable: false
45
+ }),
46
+ _ts_metadata("design:type", String)
47
+ ], EmailTemplateBase.prototype, "name", void 0);
48
+ _ts_decorate([
49
+ (0, _typeorm.Column)({
50
+ type: 'varchar',
51
+ length: 255,
52
+ nullable: false,
53
+ unique: true
54
+ }),
55
+ _ts_metadata("design:type", String)
56
+ ], EmailTemplateBase.prototype, "slug", void 0);
57
+ _ts_decorate([
58
+ (0, _typeorm.Column)({
59
+ type: 'varchar',
60
+ length: 500,
61
+ nullable: true
62
+ }),
63
+ _ts_metadata("design:type", Object)
64
+ ], EmailTemplateBase.prototype, "description", void 0);
65
+ _ts_decorate([
66
+ (0, _typeorm.Column)({
67
+ type: 'varchar',
68
+ length: 500,
69
+ nullable: false
70
+ }),
71
+ _ts_metadata("design:type", String)
72
+ ], EmailTemplateBase.prototype, "subject", void 0);
73
+ _ts_decorate([
74
+ (0, _typeorm.Column)({
75
+ type: 'json',
76
+ nullable: false
77
+ }),
78
+ _ts_metadata("design:type", typeof Record === "undefined" ? Object : Record)
79
+ ], EmailTemplateBase.prototype, "schema", void 0);
80
+ _ts_decorate([
81
+ (0, _typeorm.Column)({
82
+ type: 'text',
83
+ nullable: false,
84
+ name: 'html_content'
85
+ }),
86
+ _ts_metadata("design:type", String)
87
+ ], EmailTemplateBase.prototype, "htmlContent", void 0);
88
+ _ts_decorate([
89
+ (0, _typeorm.Column)({
90
+ type: 'text',
91
+ nullable: true,
92
+ name: 'text_content'
93
+ }),
94
+ _ts_metadata("design:type", Object)
95
+ ], EmailTemplateBase.prototype, "textContent", void 0);
96
+ _ts_decorate([
97
+ (0, _typeorm.Column)({
98
+ type: 'int',
99
+ nullable: false,
100
+ default: 1,
101
+ name: 'schema_version'
102
+ }),
103
+ _ts_metadata("design:type", Number)
104
+ ], EmailTemplateBase.prototype, "schemaVersion", void 0);
105
+ _ts_decorate([
106
+ (0, _typeorm.Column)({
107
+ type: 'boolean',
108
+ default: true,
109
+ name: 'is_active'
110
+ }),
111
+ _ts_metadata("design:type", Boolean)
112
+ ], EmailTemplateBase.prototype, "isActive", void 0);
113
+ _ts_decorate([
114
+ (0, _typeorm.Column)({
115
+ type: 'boolean',
116
+ default: true,
117
+ name: 'is_html'
118
+ }),
119
+ _ts_metadata("design:type", Boolean)
120
+ ], EmailTemplateBase.prototype, "isHtml", void 0);
121
+ _ts_decorate([
122
+ (0, _typeorm.Column)('simple-json', {
123
+ nullable: true
124
+ }),
125
+ _ts_metadata("design:type", Object)
126
+ ], EmailTemplateBase.prototype, "metadata", void 0);
127
+ EmailTemplateBase = _ts_decorate([
128
+ (0, _typeorm.Index)([
129
+ 'name'
130
+ ]),
131
+ (0, _typeorm.Index)([
132
+ 'isActive'
133
+ ])
134
+ ], EmailTemplateBase);