@flusys/nestjs-email 7.1.0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/config/index.d.ts +3 -3
  2. package/controllers/email-config.controller.d.ts +2 -2
  3. package/controllers/email-send.controller.d.ts +3 -3
  4. package/controllers/email-template.controller.d.ts +4 -4
  5. package/controllers/index.d.ts +3 -3
  6. package/docs/email-swagger.config.d.ts +2 -2
  7. package/docs/index.d.ts +1 -1
  8. package/dtos/email-config.dto.d.ts +1 -1
  9. package/dtos/email-send.dto.d.ts +1 -1
  10. package/dtos/index.d.ts +3 -3
  11. package/entities/email-config-with-company.entity.d.ts +1 -1
  12. package/entities/email-template-with-company.entity.d.ts +1 -1
  13. package/entities/index.d.ts +10 -10
  14. package/enums/index.d.ts +1 -1
  15. package/fesm/261.js +799 -0
  16. package/fesm/493.js +1723 -0
  17. package/fesm/chunks/99.js +12 -0
  18. package/fesm/config/index.js +104 -3
  19. package/fesm/controllers/index.js +396 -3
  20. package/fesm/docs/index.js +134 -1
  21. package/fesm/dtos/index.js +22 -3
  22. package/fesm/entities/index.js +409 -13
  23. package/fesm/enums/index.js +37 -1
  24. package/fesm/index.js +762 -10
  25. package/fesm/interfaces/index.js +18 -4
  26. package/fesm/modules/index.js +541 -1
  27. package/fesm/providers/index.js +523 -5
  28. package/fesm/runtime.js +134 -0
  29. package/fesm/services/index.js +17 -5
  30. package/index.d.ts +10 -10
  31. package/interfaces/email-config.interface.d.ts +2 -2
  32. package/interfaces/email-module-options.interface.d.ts +3 -3
  33. package/interfaces/email-template.interface.d.ts +1 -1
  34. package/interfaces/index.d.ts +4 -4
  35. package/modules/email.module.d.ts +2 -2
  36. package/modules/index.d.ts +1 -1
  37. package/package.json +27 -38
  38. package/providers/email-factory.service.d.ts +2 -2
  39. package/providers/email-provider.registry.d.ts +2 -2
  40. package/providers/index.d.ts +5 -5
  41. package/providers/mailgun-provider.d.ts +1 -1
  42. package/providers/sendgrid-provider.d.ts +1 -1
  43. package/providers/smtp-provider.d.ts +1 -1
  44. package/services/email-config.service.d.ts +3 -3
  45. package/services/email-datasource.provider.d.ts +3 -3
  46. package/services/email-provider-config.service.d.ts +7 -7
  47. package/services/email-send.service.d.ts +7 -7
  48. package/services/email-template.service.d.ts +6 -6
  49. package/services/index.d.ts +5 -5
  50. package/utils/index.d.ts +1 -1
  51. package/cjs/config/email.constants.js +0 -22
  52. package/cjs/config/event-actions.js +0 -34
  53. package/cjs/config/index.js +0 -20
  54. package/cjs/config/message-keys.js +0 -39
  55. package/cjs/controllers/email-config.controller.js +0 -111
  56. package/cjs/controllers/email-config.controller.spec.js +0 -85
  57. package/cjs/controllers/email-send.controller.js +0 -128
  58. package/cjs/controllers/email-send.controller.spec.js +0 -139
  59. package/cjs/controllers/email-template.controller.js +0 -142
  60. package/cjs/controllers/email-template.controller.spec.js +0 -89
  61. package/cjs/controllers/index.js +0 -20
  62. package/cjs/docs/email-swagger.config.js +0 -116
  63. package/cjs/docs/email-swagger.config.spec.js +0 -62
  64. package/cjs/docs/index.js +0 -11
  65. package/cjs/dtos/email-config.dto.js +0 -212
  66. package/cjs/dtos/email-send.dto.js +0 -354
  67. package/cjs/dtos/email-template.dto.js +0 -252
  68. package/cjs/dtos/index.js +0 -20
  69. package/cjs/entities/email-config-with-company.entity.js +0 -63
  70. package/cjs/entities/email-config.entity.js +0 -114
  71. package/cjs/entities/email-template-with-company.entity.js +0 -65
  72. package/cjs/entities/email-template.entity.js +0 -136
  73. package/cjs/entities/index.js +0 -56
  74. package/cjs/entities/index.spec.js +0 -18
  75. package/cjs/enums/email-provider-type.enum.js +0 -18
  76. package/cjs/enums/index.js +0 -18
  77. package/cjs/index.js +0 -28
  78. package/cjs/interfaces/email-config.interface.js +0 -4
  79. package/cjs/interfaces/email-module-options.interface.js +0 -4
  80. package/cjs/interfaces/email-provider.interface.js +0 -4
  81. package/cjs/interfaces/email-template.interface.js +0 -4
  82. package/cjs/interfaces/index.js +0 -21
  83. package/cjs/modules/email.module.js +0 -122
  84. package/cjs/modules/email.module.spec.js +0 -142
  85. package/cjs/modules/index.js +0 -18
  86. package/cjs/providers/email-factory.service.js +0 -113
  87. package/cjs/providers/email-factory.service.spec.js +0 -242
  88. package/cjs/providers/email-provider.registry.js +0 -41
  89. package/cjs/providers/email-provider.registry.spec.js +0 -58
  90. package/cjs/providers/index.js +0 -22
  91. package/cjs/providers/mailgun-provider.js +0 -119
  92. package/cjs/providers/mailgun-provider.spec.js +0 -244
  93. package/cjs/providers/sendgrid-provider.js +0 -129
  94. package/cjs/providers/sendgrid-provider.spec.js +0 -346
  95. package/cjs/providers/smtp-provider.js +0 -164
  96. package/cjs/providers/smtp-provider.spec.js +0 -327
  97. package/cjs/services/email-config.service.js +0 -71
  98. package/cjs/services/email-config.service.spec.js +0 -69
  99. package/cjs/services/email-datasource.provider.js +0 -84
  100. package/cjs/services/email-datasource.provider.spec.js +0 -135
  101. package/cjs/services/email-provider-config.service.js +0 -159
  102. package/cjs/services/email-provider-config.service.spec.js +0 -269
  103. package/cjs/services/email-send.service.js +0 -315
  104. package/cjs/services/email-send.service.spec.js +0 -614
  105. package/cjs/services/email-template.service.js +0 -144
  106. package/cjs/services/email-template.service.spec.js +0 -261
  107. package/cjs/services/index.js +0 -22
  108. package/cjs/utils/email-templates.util.js +0 -64
  109. package/cjs/utils/email-templates.util.spec.js +0 -61
  110. package/cjs/utils/index.js +0 -18
  111. package/fesm/config/email.constants.js +0 -4
  112. package/fesm/config/event-actions.js +0 -13
  113. package/fesm/config/message-keys.js +0 -18
  114. package/fesm/controllers/email-config.controller.js +0 -101
  115. package/fesm/controllers/email-config.controller.spec.js +0 -81
  116. package/fesm/controllers/email-send.controller.js +0 -118
  117. package/fesm/controllers/email-send.controller.spec.js +0 -135
  118. package/fesm/controllers/email-template.controller.js +0 -132
  119. package/fesm/controllers/email-template.controller.spec.js +0 -85
  120. package/fesm/docs/email-swagger.config.js +0 -109
  121. package/fesm/docs/email-swagger.config.spec.js +0 -58
  122. package/fesm/dtos/email-config.dto.js +0 -191
  123. package/fesm/dtos/email-send.dto.js +0 -324
  124. package/fesm/dtos/email-template.dto.js +0 -231
  125. package/fesm/entities/email-config-with-company.entity.js +0 -53
  126. package/fesm/entities/email-config.entity.js +0 -104
  127. package/fesm/entities/email-template-with-company.entity.js +0 -55
  128. package/fesm/entities/email-template.entity.js +0 -126
  129. package/fesm/entities/index.spec.js +0 -14
  130. package/fesm/enums/email-provider-type.enum.js +0 -8
  131. package/fesm/interfaces/email-config.interface.js +0 -1
  132. package/fesm/interfaces/email-module-options.interface.js +0 -1
  133. package/fesm/interfaces/email-provider.interface.js +0 -1
  134. package/fesm/interfaces/email-template.interface.js +0 -1
  135. package/fesm/modules/email.module.js +0 -112
  136. package/fesm/modules/email.module.spec.js +0 -138
  137. package/fesm/providers/email-factory.service.js +0 -103
  138. package/fesm/providers/email-factory.service.spec.js +0 -238
  139. package/fesm/providers/email-provider.registry.js +0 -31
  140. package/fesm/providers/email-provider.registry.spec.js +0 -54
  141. package/fesm/providers/mailgun-provider.js +0 -109
  142. package/fesm/providers/mailgun-provider.spec.js +0 -240
  143. package/fesm/providers/sendgrid-provider.js +0 -119
  144. package/fesm/providers/sendgrid-provider.spec.js +0 -342
  145. package/fesm/providers/smtp-provider.js +0 -113
  146. package/fesm/providers/smtp-provider.spec.js +0 -282
  147. package/fesm/services/email-config.service.js +0 -61
  148. package/fesm/services/email-config.service.spec.js +0 -65
  149. package/fesm/services/email-datasource.provider.js +0 -74
  150. package/fesm/services/email-datasource.provider.spec.js +0 -131
  151. package/fesm/services/email-provider-config.service.js +0 -149
  152. package/fesm/services/email-provider-config.service.spec.js +0 -265
  153. package/fesm/services/email-send.service.js +0 -305
  154. package/fesm/services/email-send.service.spec.js +0 -610
  155. package/fesm/services/email-template.service.js +0 -134
  156. package/fesm/services/email-template.service.spec.js +0 -257
  157. package/fesm/utils/email-templates.util.js +0 -47
  158. package/fesm/utils/email-templates.util.spec.js +0 -57
  159. package/fesm/utils/index.js +0 -1
@@ -1,114 +0,0 @@
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 _nestjsshared = require("@flusys/nestjs-shared");
12
- const _entities = require("@flusys/nestjs-shared/entities");
13
- const _typeorm = require("typeorm");
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 EmailConfig = class EmailConfig 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
- ], EmailConfig.prototype, "name", void 0);
49
- _ts_decorate([
50
- (0, _typeorm.Column)({
51
- type: 'varchar',
52
- length: 50,
53
- nullable: false
54
- }),
55
- _ts_metadata("design:type", String)
56
- ], EmailConfig.prototype, "provider", void 0);
57
- _ts_decorate([
58
- (0, _typeorm.Column)({
59
- type: (0, _nestjsshared.getJsonColumnType)(),
60
- nullable: false
61
- }),
62
- _ts_metadata("design:type", typeof Record === "undefined" ? Object : Record)
63
- ], EmailConfig.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
- ], EmailConfig.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
- ], EmailConfig.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
- ], EmailConfig.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
- ], EmailConfig.prototype, "isDefault", void 0);
98
- EmailConfig = _ts_decorate([
99
- (0, _typeorm.Entity)({
100
- name: 'email_config'
101
- }),
102
- (0, _typeorm.Index)([
103
- 'name'
104
- ]),
105
- (0, _typeorm.Index)([
106
- 'provider'
107
- ]),
108
- (0, _typeorm.Index)([
109
- 'isActive'
110
- ]),
111
- (0, _typeorm.Index)([
112
- 'isDefault'
113
- ])
114
- ], EmailConfig);
@@ -1,65 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "EmailTemplateWithCompany", {
6
- enumerable: true,
7
- get: function() {
8
- return EmailTemplateWithCompany;
9
- }
10
- });
11
- const _typeorm = require("typeorm");
12
- const _emailtemplateentity = require("./email-template.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 EmailTemplateWithCompany = class EmailTemplateWithCompany extends _emailtemplateentity.EmailTemplate {
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
- ], EmailTemplateWithCompany.prototype, "companyId", void 0);
48
- EmailTemplateWithCompany = _ts_decorate([
49
- (0, _typeorm.Entity)({
50
- name: 'email_template'
51
- }),
52
- (0, _typeorm.Index)([
53
- 'companyId'
54
- ]),
55
- (0, _typeorm.Index)([
56
- 'companyId',
57
- 'slug'
58
- ], {
59
- unique: true
60
- }),
61
- (0, _typeorm.Index)([
62
- 'companyId',
63
- 'isActive'
64
- ])
65
- ], EmailTemplateWithCompany);
@@ -1,136 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "EmailTemplate", {
6
- enumerable: true,
7
- get: function() {
8
- return EmailTemplate;
9
- }
10
- });
11
- const _nestjsshared = require("@flusys/nestjs-shared");
12
- const _entities = require("@flusys/nestjs-shared/entities");
13
- const _typeorm = require("typeorm");
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 EmailTemplate = class EmailTemplate extends _entities.Identity {
37
- constructor(...args){
38
- 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);
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
- ], EmailTemplate.prototype, "name", void 0);
49
- _ts_decorate([
50
- (0, _typeorm.Column)({
51
- type: 'varchar',
52
- length: 255,
53
- nullable: false
54
- }),
55
- _ts_metadata("design:type", String)
56
- ], EmailTemplate.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
- ], EmailTemplate.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
- ], EmailTemplate.prototype, "subject", void 0);
73
- _ts_decorate([
74
- (0, _typeorm.Column)({
75
- type: (0, _nestjsshared.getJsonColumnType)(),
76
- nullable: false
77
- }),
78
- _ts_metadata("design:type", typeof Record === "undefined" ? Object : Record)
79
- ], EmailTemplate.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
- ], EmailTemplate.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
- ], EmailTemplate.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
- ], EmailTemplate.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
- ], EmailTemplate.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
- ], EmailTemplate.prototype, "isHtml", void 0);
121
- EmailTemplate = _ts_decorate([
122
- (0, _typeorm.Entity)({
123
- name: 'email_template'
124
- }),
125
- (0, _typeorm.Index)([
126
- 'name'
127
- ]),
128
- (0, _typeorm.Index)([
129
- 'slug'
130
- ], {
131
- unique: true
132
- }),
133
- (0, _typeorm.Index)([
134
- 'isActive'
135
- ])
136
- ], EmailTemplate);
@@ -1,56 +0,0 @@
1
- // Entities without company feature
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- function _export(target, all) {
7
- for(var name in all)Object.defineProperty(target, name, {
8
- enumerable: true,
9
- get: Object.getOwnPropertyDescriptor(all, name).get
10
- });
11
- }
12
- _export(exports, {
13
- get EmailCompanyEntities () {
14
- return EmailCompanyEntities;
15
- },
16
- get EmailConfigBase () {
17
- return _emailconfigentity.EmailConfig;
18
- },
19
- get EmailCoreEntities () {
20
- return EmailCoreEntities;
21
- },
22
- get EmailTemplateBase () {
23
- return _emailtemplateentity.EmailTemplate;
24
- },
25
- get getEmailEntitiesByConfig () {
26
- return getEmailEntitiesByConfig;
27
- }
28
- });
29
- const _emailconfigentity = _export_star(require("./email-config.entity"), exports);
30
- const _emailtemplateentity = _export_star(require("./email-template.entity"), exports);
31
- const _emailconfigwithcompanyentity = _export_star(require("./email-config-with-company.entity"), exports);
32
- const _emailtemplatewithcompanyentity = _export_star(require("./email-template-with-company.entity"), exports);
33
- function _export_star(from, to) {
34
- Object.keys(from).forEach(function(k) {
35
- if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
36
- Object.defineProperty(to, k, {
37
- enumerable: true,
38
- get: function() {
39
- return from[k];
40
- }
41
- });
42
- }
43
- });
44
- return from;
45
- }
46
- const EmailCoreEntities = [
47
- _emailconfigentity.EmailConfig,
48
- _emailtemplateentity.EmailTemplate
49
- ];
50
- const EmailCompanyEntities = [
51
- _emailconfigwithcompanyentity.EmailConfigWithCompany,
52
- _emailtemplatewithcompanyentity.EmailTemplateWithCompany
53
- ];
54
- function getEmailEntitiesByConfig(enableCompanyFeature) {
55
- return enableCompanyFeature ? EmailCompanyEntities : EmailCoreEntities;
56
- }
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- const _index = require("./index");
6
- describe('getEmailEntitiesByConfig', ()=>{
7
- it('returns the core entities when the company feature is disabled', ()=>{
8
- expect((0, _index.getEmailEntitiesByConfig)(false)).toBe(_index.EmailCoreEntities);
9
- });
10
- it('returns the company-scoped entities when the company feature is enabled', ()=>{
11
- expect((0, _index.getEmailEntitiesByConfig)(true)).toBe(_index.EmailCompanyEntities);
12
- });
13
- it('core and company entity sets are disjoint (never mixed)', ()=>{
14
- const core = (0, _index.getEmailEntitiesByConfig)(false);
15
- const company = (0, _index.getEmailEntitiesByConfig)(true);
16
- expect(core.some((e)=>company.includes(e))).toBe(false);
17
- });
18
- });
@@ -1,18 +0,0 @@
1
- /**
2
- * Supported email provider types
3
- */ "use strict";
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- Object.defineProperty(exports, "EmailProviderTypeEnum", {
8
- enumerable: true,
9
- get: function() {
10
- return EmailProviderTypeEnum;
11
- }
12
- });
13
- var EmailProviderTypeEnum = /*#__PURE__*/ function(EmailProviderTypeEnum) {
14
- /** SMTP - Default provider using nodemailer (always available) */ EmailProviderTypeEnum["SMTP"] = "smtp";
15
- /** SendGrid - Optional (requires @sendgrid/mail) */ EmailProviderTypeEnum["SENDGRID"] = "sendgrid";
16
- /** Mailgun - Optional (requires mailgun.js) */ EmailProviderTypeEnum["MAILGUN"] = "mailgun";
17
- return EmailProviderTypeEnum;
18
- }({});
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- _export_star(require("./email-provider-type.enum"), exports);
6
- function _export_star(from, to) {
7
- Object.keys(from).forEach(function(k) {
8
- if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
9
- Object.defineProperty(to, k, {
10
- enumerable: true,
11
- get: function() {
12
- return from[k];
13
- }
14
- });
15
- }
16
- });
17
- return from;
18
- }
package/cjs/index.js DELETED
@@ -1,28 +0,0 @@
1
- // Export all email module components
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- _export_star(require("./controllers"), exports);
7
- _export_star(require("./services"), exports);
8
- _export_star(require("./entities"), exports);
9
- _export_star(require("./modules"), exports);
10
- _export_star(require("./config"), exports);
11
- _export_star(require("./dtos"), exports);
12
- _export_star(require("./enums"), exports);
13
- _export_star(require("./interfaces"), exports);
14
- _export_star(require("./providers"), exports);
15
- _export_star(require("./utils"), exports);
16
- function _export_star(from, to) {
17
- Object.keys(from).forEach(function(k) {
18
- if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
19
- Object.defineProperty(to, k, {
20
- enumerable: true,
21
- get: function() {
22
- return from[k];
23
- }
24
- });
25
- }
26
- });
27
- return from;
28
- }
@@ -1,4 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
@@ -1,4 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
@@ -1,4 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
@@ -1,4 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- _export_star(require("./email-provider.interface"), exports);
6
- _export_star(require("./email-module-options.interface"), exports);
7
- _export_star(require("./email-config.interface"), exports);
8
- _export_star(require("./email-template.interface"), exports);
9
- function _export_star(from, to) {
10
- Object.keys(from).forEach(function(k) {
11
- if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
12
- Object.defineProperty(to, k, {
13
- enumerable: true,
14
- get: function() {
15
- return from[k];
16
- }
17
- });
18
- }
19
- });
20
- return from;
21
- }
@@ -1,122 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "EmailModule", {
6
- enumerable: true,
7
- get: function() {
8
- return EmailModule;
9
- }
10
- });
11
- const _modules = require("@flusys/nestjs-shared/modules");
12
- const _common = require("@nestjs/common");
13
- const _emailconstants = require("../config/email.constants");
14
- const _controllers = require("../controllers");
15
- const _enums = require("../enums");
16
- const _providers = require("../providers");
17
- const _services = require("../services");
18
- function _ts_decorate(decorators, target, key, desc) {
19
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
- 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;
22
- return c > 3 && r && Object.defineProperty(target, key, r), r;
23
- }
24
- const CONTROLLERS = [
25
- _controllers.EmailConfigController,
26
- _controllers.EmailTemplateController,
27
- _controllers.EmailSendController
28
- ];
29
- const EXPORTED_SERVICES = [
30
- _services.EmailConfigService,
31
- _services.EmailDataSourceProvider,
32
- _services.EmailProviderConfigService,
33
- _services.EmailTemplateService,
34
- _services.EmailSendService,
35
- _providers.EmailFactoryService
36
- ];
37
- _providers.EmailProviderRegistry.register(_enums.EmailProviderTypeEnum.SMTP, _providers.SmtpProvider);
38
- _providers.EmailProviderRegistry.register(_enums.EmailProviderTypeEnum.SENDGRID, _providers.SendGridProvider);
39
- _providers.EmailProviderRegistry.register(_enums.EmailProviderTypeEnum.MAILGUN, _providers.MailgunProvider);
40
- let EmailModule = class EmailModule {
41
- static forRoot(options) {
42
- return {
43
- module: EmailModule,
44
- global: options.global ?? false,
45
- imports: [
46
- _modules.CacheModule,
47
- _modules.UtilsModule
48
- ],
49
- controllers: options.includeController !== false ? CONTROLLERS : [],
50
- providers: this.buildProviders(options),
51
- exports: EXPORTED_SERVICES
52
- };
53
- }
54
- static forRootAsync(options) {
55
- return {
56
- module: EmailModule,
57
- global: options.global ?? false,
58
- imports: [
59
- ...options.imports || [],
60
- _modules.CacheModule,
61
- _modules.UtilsModule
62
- ],
63
- controllers: options.includeController !== false ? CONTROLLERS : [],
64
- providers: [
65
- ...this.createAsyncProviders(options),
66
- ...this.buildProviders()
67
- ],
68
- exports: EXPORTED_SERVICES
69
- };
70
- }
71
- static buildProviders(options) {
72
- const providers = [
73
- ...EXPORTED_SERVICES
74
- ];
75
- if (options) {
76
- providers.unshift({
77
- provide: _emailconstants.EMAIL_MODULE_OPTIONS,
78
- useValue: options
79
- });
80
- }
81
- providers.push((0, _modules.createModuleEventsProvider)('email', _emailconstants.EMAIL_MODULE_OPTIONS));
82
- return providers;
83
- }
84
- static createAsyncProviders(options) {
85
- if (options.useFactory) {
86
- return [
87
- {
88
- provide: _emailconstants.EMAIL_MODULE_OPTIONS,
89
- useFactory: async (...args)=>({
90
- ...options,
91
- config: await options.useFactory(...args)
92
- }),
93
- inject: options.inject || []
94
- }
95
- ];
96
- }
97
- const factoryClass = options.useClass || options.useExisting;
98
- if (!factoryClass) return [];
99
- const providers = [
100
- {
101
- provide: _emailconstants.EMAIL_MODULE_OPTIONS,
102
- useFactory: async (factory)=>({
103
- ...options,
104
- config: await factory.createEmailOptions()
105
- }),
106
- inject: [
107
- factoryClass
108
- ]
109
- }
110
- ];
111
- if (options.useClass) {
112
- providers.push({
113
- provide: options.useClass,
114
- useClass: options.useClass
115
- });
116
- }
117
- return providers;
118
- }
119
- };
120
- EmailModule = _ts_decorate([
121
- (0, _common.Module)({})
122
- ], EmailModule);