@futdevpro/nts-dynamo 1.7.17 → 1.7.21

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 (129) hide show
  1. package/.eslintrc.json +171 -0
  2. package/lib/_constants/mocks/app-extended-server.mock.d.ts.map +1 -1
  3. package/lib/_constants/mocks/app-extended-server.mock.js.map +1 -1
  4. package/lib/_constants/mocks/app-server.mock.d.ts.map +1 -1
  5. package/lib/_constants/mocks/app-server.mock.js.map +1 -1
  6. package/lib/_constants/mocks/data-model.mock.d.ts.map +1 -1
  7. package/lib/_constants/mocks/data-model.mock.js.map +1 -1
  8. package/lib/_constants/mocks/email-service-collection.mock.d.ts.map +1 -1
  9. package/lib/_constants/mocks/email-service-collection.mock.js.map +1 -1
  10. package/lib/_constants/mocks/email-service.mock.js +3 -3
  11. package/lib/_constants/mocks/email-service.mock.js.map +1 -1
  12. package/lib/_constants/mocks/endpoint.mock.d.ts.map +1 -1
  13. package/lib/_constants/mocks/endpoint.mock.js.map +1 -1
  14. package/lib/_constants/mocks/socket-server.mock.d.ts.map +1 -1
  15. package/lib/_constants/mocks/socket-server.mock.js.map +1 -1
  16. package/lib/_enums/index.js +1 -1
  17. package/lib/_enums/index.js.map +1 -1
  18. package/lib/_models/control-models/api-call-params.control-model.d.ts +2 -2
  19. package/lib/_models/control-models/api-call-params.control-model.d.ts.map +1 -1
  20. package/lib/_models/control-models/api-call-params.control-model.js.map +1 -1
  21. package/lib/_models/control-models/app-system-controls.control-model copy.d.ts.map +1 -1
  22. package/lib/_models/control-models/app-system-controls.control-model copy.js.map +1 -1
  23. package/lib/_models/control-models/app-system-controls.control-model.d.ts.map +1 -1
  24. package/lib/_models/control-models/app-system-controls.control-model.js.map +1 -1
  25. package/lib/_models/control-models/endpoint-params.control-model.d.ts.map +1 -1
  26. package/lib/_models/control-models/endpoint-params.control-model.js +15 -9
  27. package/lib/_models/control-models/endpoint-params.control-model.js.map +1 -1
  28. package/lib/_models/control-models/http-settings.control-model.d.ts +1 -1
  29. package/lib/_models/control-models/http-settings.control-model.d.ts.map +1 -1
  30. package/lib/_models/control-models/http-settings.control-model.js +3 -1
  31. package/lib/_models/control-models/http-settings.control-model.js.map +1 -1
  32. package/lib/_models/control-models/socket-client-service-params.control-model.js.map +1 -1
  33. package/lib/_models/control-models/socket-event.control-model.js.map +1 -1
  34. package/lib/_models/control-models/socket-presence.control-model.js.map +1 -1
  35. package/lib/_modules/custom-data/custom-data.controller.d.ts.map +1 -1
  36. package/lib/_modules/custom-data/custom-data.controller.js +2 -1
  37. package/lib/_modules/custom-data/custom-data.controller.js.map +1 -1
  38. package/lib/_modules/custom-data/get-custom-data-routing-module.util.d.ts.map +1 -1
  39. package/lib/_modules/custom-data/get-custom-data-routing-module.util.js.map +1 -1
  40. package/lib/_modules/test/get-test-routing-module.util.d.ts.map +1 -1
  41. package/lib/_modules/test/get-test-routing-module.util.js.map +1 -1
  42. package/lib/_modules/test/test.controller.d.ts.map +1 -1
  43. package/lib/_modules/test/test.controller.js.map +1 -1
  44. package/lib/_modules/usage/get-usage-routing-module.util.d.ts.map +1 -1
  45. package/lib/_modules/usage/get-usage-routing-module.util.js +1 -1
  46. package/lib/_modules/usage/get-usage-routing-module.util.js.map +1 -1
  47. package/lib/_modules/usage/usage.controller.d.ts.map +1 -1
  48. package/lib/_modules/usage/usage.controller.js +15 -14
  49. package/lib/_modules/usage/usage.controller.js.map +1 -1
  50. package/lib/_modules/usage/usage.data-service.d.ts +3 -1
  51. package/lib/_modules/usage/usage.data-service.d.ts.map +1 -1
  52. package/lib/_modules/usage/usage.data-service.js +24 -16
  53. package/lib/_modules/usage/usage.data-service.js.map +1 -1
  54. package/lib/_services/base/data.service.d.ts.map +1 -1
  55. package/lib/_services/base/data.service.js +45 -23
  56. package/lib/_services/base/data.service.js.map +1 -1
  57. package/lib/_services/base/db.service.d.ts.map +1 -1
  58. package/lib/_services/base/db.service.js +82 -53
  59. package/lib/_services/base/db.service.js.map +1 -1
  60. package/lib/_services/base/singleton.service.d.ts.map +1 -1
  61. package/lib/_services/base/singleton.service.js.map +1 -1
  62. package/lib/_services/core/api.service.d.ts +21 -13
  63. package/lib/_services/core/api.service.d.ts.map +1 -1
  64. package/lib/_services/core/api.service.js +192 -143
  65. package/lib/_services/core/api.service.js.map +1 -1
  66. package/lib/_services/core/auth.service.d.ts.map +1 -1
  67. package/lib/_services/core/auth.service.js.map +1 -1
  68. package/lib/_services/core/email.service.d.ts +50 -36
  69. package/lib/_services/core/email.service.d.ts.map +1 -1
  70. package/lib/_services/core/email.service.js +329 -94
  71. package/lib/_services/core/email.service.js.map +1 -1
  72. package/lib/_services/core/global.service.d.ts.map +1 -1
  73. package/lib/_services/core/global.service.js +30 -19
  74. package/lib/_services/core/global.service.js.map +1 -1
  75. package/lib/_services/route/controller.service.d.ts.map +1 -1
  76. package/lib/_services/route/controller.service.js.map +1 -1
  77. package/lib/_services/route/routing-module.service.d.ts.map +1 -1
  78. package/lib/_services/route/routing-module.service.js +2 -2
  79. package/lib/_services/route/routing-module.service.js.map +1 -1
  80. package/lib/_services/server/app-extended.server.d.ts.map +1 -1
  81. package/lib/_services/server/app-extended.server.js +19 -14
  82. package/lib/_services/server/app-extended.server.js.map +1 -1
  83. package/lib/_services/server/app-extended.server.spec.js +1 -0
  84. package/lib/_services/server/app-extended.server.spec.js.map +1 -1
  85. package/lib/_services/server/app.server.d.ts +4 -3
  86. package/lib/_services/server/app.server.d.ts.map +1 -1
  87. package/lib/_services/server/app.server.js +106 -51
  88. package/lib/_services/server/app.server.js.map +1 -1
  89. package/lib/_services/server/app.server.spec.js +1 -0
  90. package/lib/_services/server/app.server.spec.js.map +1 -1
  91. package/lib/_services/shared.static-service.js.map +1 -1
  92. package/lib/_services/socket/socket-client.service.js.map +1 -1
  93. package/lib/_services/socket/socket-server.service.js.map +1 -1
  94. package/lib/tsconfig.tsbuildinfo +1 -1
  95. package/nodemon.json +3 -1
  96. package/package.json +9 -8
  97. package/src/_constants/mocks/app-extended-server.mock.ts +6 -2
  98. package/src/_constants/mocks/app-server.mock.ts +7 -1
  99. package/src/_constants/mocks/data-model.mock.ts +2 -2
  100. package/src/_constants/mocks/email-service-collection.mock.ts +2 -1
  101. package/src/_constants/mocks/email-service.mock.ts +2 -2
  102. package/src/_constants/mocks/endpoint.mock.ts +28 -26
  103. package/src/_constants/mocks/socket-server.mock.ts +12 -4
  104. package/src/_enums/index.ts +1 -1
  105. package/src/_models/control-models/api-call-params.control-model.ts +3 -2
  106. package/src/_models/control-models/app-system-controls.control-model copy.ts +1 -1
  107. package/src/_models/control-models/app-system-controls.control-model.ts +1 -1
  108. package/src/_models/control-models/endpoint-params.control-model.ts +39 -16
  109. package/src/_models/control-models/http-settings.control-model.ts +4 -2
  110. package/src/_modules/custom-data/custom-data.controller.ts +55 -51
  111. package/src/_modules/custom-data/get-custom-data-routing-module.util.ts +7 -3
  112. package/src/_modules/test/get-test-routing-module.util.ts +7 -3
  113. package/src/_modules/test/test.controller.ts +98 -96
  114. package/src/_modules/usage/get-usage-routing-module.util.ts +8 -4
  115. package/src/_modules/usage/usage.controller.ts +108 -102
  116. package/src/_modules/usage/usage.data-service.ts +54 -28
  117. package/src/_services/base/data.service.ts +133 -34
  118. package/src/_services/base/db.service.ts +254 -171
  119. package/src/_services/base/singleton.service.ts +1 -1
  120. package/src/_services/core/api.service.ts +348 -218
  121. package/src/_services/core/auth.service.ts +2 -0
  122. package/src/_services/core/email.service.ts +537 -129
  123. package/src/_services/core/global.service.ts +56 -26
  124. package/src/_services/route/controller.service.ts +3 -1
  125. package/src/_services/route/routing-module.service.ts +33 -16
  126. package/src/_services/server/app-extended.server.spec.ts +22 -17
  127. package/src/_services/server/app-extended.server.ts +108 -45
  128. package/src/_services/server/app.server.spec.ts +17 -12
  129. package/src/_services/server/app.server.ts +264 -138
@@ -1,11 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DynamoNTS_EmailService = void 0;
3
+ exports.DynamoNTS_EmailService = exports.DynamoNTS_EmailTemplateComponent = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const FileSystem = tslib_1.__importStar(require("fs"));
6
- const Path = tslib_1.__importStar(require("path"));
7
6
  const NodeMailer = tslib_1.__importStar(require("nodemailer"));
8
7
  const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
8
+ class DynamoNTS_EmailTemplateComponent {
9
+ name;
10
+ selector;
11
+ templatePath;
12
+ template;
13
+ stylePath;
14
+ styles;
15
+ headerLinks = '';
16
+ properties = [];
17
+ subComponentSelectors = [];
18
+ constructor(set) {
19
+ if (set) {
20
+ Object.assign(this, set);
21
+ }
22
+ }
23
+ }
24
+ exports.DynamoNTS_EmailTemplateComponent = DynamoNTS_EmailTemplateComponent;
9
25
  /**
10
26
  *
11
27
  */
@@ -14,44 +30,45 @@ class DynamoNTS_EmailService {
14
30
  nmTransporter;
15
31
  senderName;
16
32
  senderNEmail;
17
- templates = {};
18
- templatePropertyKeys = {};
19
- templateLoadingInProgressCounter = 0;
33
+ components = [];
34
+ componentsBySelector = {};
35
+ componentsByName = {};
36
+ styleLimitWarning = 16;
20
37
  defaultErrorUserMsg = `We encountered an uncought Email Service Error, ` +
21
38
  `\nplease contact the responsible development team.`;
22
39
  constructor(set) {
40
+ this.serviceName = this.constructor?.name;
41
+ this.senderName = set.senderName;
42
+ this.senderNEmail = `${set.senderName} <${set.email}>`;
43
+ this.nmTransporter = NodeMailer.createTransport({
44
+ host: set.host,
45
+ port: set.port,
46
+ auth: {
47
+ user: set.email,
48
+ pass: set.pass,
49
+ },
50
+ });
51
+ this.components = set.templateComponents ?? [];
52
+ }
53
+ async asyncPostConstruct() {
23
54
  try {
24
- this.serviceName = this.constructor?.name;
25
- // console.log('\n\n\n\n\nNEW CONSTRUCT STARTED', set.email);
26
- this.senderName = set.senderName;
27
- this.senderNEmail = `${set.senderName} <${set.email}>`;
28
- this.nmTransporter = NodeMailer.createTransport({
29
- host: set.host,
30
- port: set.port,
31
- auth: {
32
- user: set.email,
33
- pass: set.pass
34
- }
35
- });
36
- if (set.templatePaths) {
37
- for (let key in set.templatePaths) {
38
- this.loadTemplate(key, set.rootPath, set.templatePaths[key]);
39
- }
40
- }
41
- else {
42
- this.constructionFinished();
55
+ if (this.components) {
56
+ await fsm_dynamo_1.Dynamo_Array.asyncForEach(this.components, async (component) => {
57
+ await this.loadComponent(component);
58
+ });
59
+ this.connectComponents();
43
60
  }
61
+ fsm_dynamo_1.Dynamo_Log.success(`\nEmailService construction (${this.senderName}) Finished!`);
44
62
  }
45
63
  catch (error) {
46
- fsm_dynamo_1.Dynamo_Log.error(`\nDynamoBEEmailService ERROR, The emailService construction failed for ${set.email}.`, new Error());
64
+ throw new fsm_dynamo_1.Dynamo_Error({
65
+ ...this._getDefaultErrorSettings('asyncPostConstruct', error, 'SYSTEM'),
66
+ errorCode: 'NTS-ES0-APC0',
67
+ message: `\nDynamoBEEmailService ERROR, ` +
68
+ `\nThe emailService construction failed for ${this.serviceName}.`,
69
+ });
47
70
  }
48
71
  }
49
- /**
50
- *
51
- */
52
- constructionFinished() {
53
- fsm_dynamo_1.Dynamo_Log.success(`\nEmailService construction (${this.senderName}) Finished!`);
54
- }
55
72
  /**
56
73
  *
57
74
  * @param set
@@ -63,41 +80,24 @@ class DynamoNTS_EmailService {
63
80
  content = set.content;
64
81
  }
65
82
  else {
66
- if (!set.useTemplate) {
83
+ if (!set.templateComponentName) {
67
84
  throw new fsm_dynamo_1.Dynamo_Error({
68
- ...this._getDefaultErrorSettings('sendEmail', new Error(`No content setting passsed to emailSending!`), issuer),
69
- errorCode: 'NTS-ES4-101',
85
+ ...this._getDefaultErrorSettings('sendEmail', new Error(`No email template component is given!`), issuer),
86
+ errorCode: 'NTS-ES0-SE1',
70
87
  });
71
88
  }
72
- if (!this.templates[set.useTemplate]) {
89
+ if (!this.componentsByName[set.templateComponentName]) {
73
90
  throw new fsm_dynamo_1.Dynamo_Error({
74
- ...this._getDefaultErrorSettings('sendEmail', new Error(`No email template found with this parameter! (${set.useTemplate})`), issuer),
75
- errorCode: 'NTS-ES4-102',
76
- });
77
- }
78
- content = this.templates[set.useTemplate];
79
- if (0 < this.templatePropertyKeys[set.useTemplate].length) {
80
- if (!set.templateProperties) {
81
- let props = '';
82
- this.templatePropertyKeys[set.useTemplate].forEach((key, index) => {
83
- props += `${key}${index != this.templatePropertyKeys[set.useTemplate].length - 1 ? ', ' : ''}`;
84
- });
85
- fsm_dynamo_1.Dynamo_Log.error('\nDynamoBEEmailService ERROR: INVALID sendEmail settings', set);
86
- throw new fsm_dynamo_1.Dynamo_Error({
87
- ...this._getDefaultErrorSettings('sendEmail', new Error(`TemplateProperties missing! properties needed: ${props}`), issuer),
88
- errorCode: 'NTS-ES4-103',
89
- });
90
- }
91
- this.templatePropertyKeys[set.useTemplate].forEach((propertyKey) => {
92
- if (!set.templateProperties[propertyKey]) {
93
- fsm_dynamo_1.Dynamo_Log.error(`TemplateProperty missing! (${propertyKey})`);
94
- }
95
- const reg = new RegExp(`{{${propertyKey}}}`, 'g');
96
- content = content.replace(reg, set.templateProperties[propertyKey]);
91
+ ...this._getDefaultErrorSettings('sendEmail', new Error(`No email template component found with this name! (${set.templateComponentName})`), issuer),
92
+ errorCode: 'NTS-ES0-SE2',
93
+ additionalContent: {
94
+ availableComponenets: Object.keys(this.componentsByName),
95
+ },
97
96
  });
98
97
  }
98
+ content = this.compileTemplateComponent(set.templateComponentName, set.templateProperties, issuer);
99
99
  }
100
- let mailOptions = {
100
+ const mailOptions = {
101
101
  from: this.senderNEmail,
102
102
  to: set.to,
103
103
  subject: set.subject,
@@ -105,7 +105,7 @@ class DynamoNTS_EmailService {
105
105
  attachments: set.attachments,
106
106
  };
107
107
  await new Promise((resolve, reject) => {
108
- this.nmTransporter.sendMail(mailOptions, (error, info) => {
108
+ this.nmTransporter.sendMail(mailOptions, (error) => {
109
109
  if (error) {
110
110
  reject(error);
111
111
  }
@@ -116,54 +116,281 @@ class DynamoNTS_EmailService {
116
116
  });
117
117
  }
118
118
  catch (error) {
119
- if (error?.includes?.('all recipients were rejected')) {
119
+ if (error.message?.includes?.('all recipients were rejected')) {
120
120
  throw new fsm_dynamo_1.Dynamo_Error({
121
121
  ...this._getDefaultErrorSettings('sendEmail', error, issuer),
122
- errorCode: 'NTS-ES4-104',
123
- userMessage: `Can't send mail to ${set.to}`,
122
+ errorCode: 'NTS-ES0-SE4',
123
+ userMessage: `Can't send mail to ${set.to}!`,
124
+ message: `sendEmail failed to ${set.to}`,
124
125
  });
125
126
  }
126
127
  else {
127
128
  throw new fsm_dynamo_1.Dynamo_Error({
128
129
  ...this._getDefaultErrorSettings('sendEmail', error, issuer),
129
- errorCode: 'NTS-ES4-100',
130
- message: `SendEmail failed!`,
130
+ errorCode: 'NTS-ES0-SE0',
131
+ message: `sendEmail failed to ${set.to}`,
131
132
  });
132
133
  }
133
134
  }
134
135
  }
135
- /**
136
- *
137
- * @param templateName
138
- * @param rootPath
139
- * @param templatePath
140
- * @returns
141
- */
142
- async loadTemplate(templateName, rootPath, templatePath) {
136
+ compileTemplateComponent(componentName, componentProperties, issuer) {
143
137
  try {
144
- this.templateLoadingInProgressCounter++;
145
- return new Promise((resolve, reject) => {
146
- templatePath = Path.join(rootPath, templatePath);
147
- FileSystem.readFile(templatePath, 'utf8', (err, template) => {
148
- if (err) {
149
- fsm_dynamo_1.Dynamo_Log.error(`\nDynamoBEEmailService readFile ERROR (0), Couldn't load email template; ${templateName} from ${templatePath}\nerror:\n`, err, '\n');
150
- reject(err);
151
- return;
152
- }
153
- else {
154
- this.templates[templateName] = template;
155
- this.templatePropertyKeys[templateName] = this.getTemplatePropertyKeys(template);
156
- this.templateLoadingInProgressCounter--;
157
- if (this.templateLoadingInProgressCounter == 0) {
158
- this.constructionFinished();
138
+ if (!this.componentsByName[componentName]) {
139
+ throw new fsm_dynamo_1.Dynamo_Error({
140
+ ...this._getDefaultErrorSettings('setupComponent', new Error(`No email component found with this name! (${componentName})`), issuer),
141
+ errorCode: 'NTS-ES0-SC1',
142
+ additionalContent: {
143
+ availableComponenets: Object.keys(this.componentsByName),
144
+ },
145
+ });
146
+ }
147
+ const component = this.componentsByName[componentName];
148
+ let template = this.compileHTMLMainFrame(component);
149
+ template = template.replace('<nts-content>', '');
150
+ template = this.compileComponentProperties(component, componentProperties, template, issuer);
151
+ component.subComponentSelectors.forEach((subComponentSelector) => {
152
+ while (template.includes(`<nts-${subComponentSelector}`)) {
153
+ template = this.compileSubComponent(subComponentSelector, componentProperties, template, issuer);
154
+ }
155
+ });
156
+ template = this.templateTrim(template);
157
+ return template;
158
+ }
159
+ catch (error) {
160
+ throw new fsm_dynamo_1.Dynamo_Error({
161
+ ...this._getDefaultErrorSettings('setupComponent', error, issuer),
162
+ errorCode: 'NTS-ES0-SC0',
163
+ message: `setupComponent failed! (${componentName})`,
164
+ });
165
+ }
166
+ }
167
+ compileHTMLMainFrame(component) {
168
+ const allLinks = [];
169
+ const allStyles = [];
170
+ if (component.headerLinks) {
171
+ allLinks.push(component.headerLinks);
172
+ }
173
+ if (component.styles) {
174
+ allStyles.push(component.styles);
175
+ }
176
+ component.subComponentSelectors.forEach((subComponentSelector) => {
177
+ const subComponent = this.componentsBySelector[subComponentSelector];
178
+ if (subComponent.headerLinks) {
179
+ allLinks.push(subComponent.headerLinks.trim());
180
+ }
181
+ if (subComponent.styles) {
182
+ allStyles.push(subComponent.styles.trim());
183
+ }
184
+ });
185
+ const styles = this.styleTrim(allStyles.join(''));
186
+ const styleSize = this.getStringKBSize(styles);
187
+ if (this.styleLimitWarning < styleSize) {
188
+ fsm_dynamo_1.Dynamo_Log.warn(`\nDynamoNTS EmailService WARNING (${this.serviceName}), ` +
189
+ `\nEmail template styles are too big! (${styleSize}KB)` +
190
+ `\ncomponent: ${component.name} (${component.selector})` +
191
+ `\nSome email clients may not support this!` +
192
+ `\nThe limit is ${this.styleLimitWarning}KB!`);
193
+ }
194
+ return `\n<!DOCTYPE html>` +
195
+ `\n<html>` +
196
+ `\n <head>` +
197
+ `\n ${allLinks.join('')}` +
198
+ `\n` +
199
+ `\n <style>` +
200
+ `\n ${styles}` +
201
+ `\n </style>` +
202
+ `\n </head>` +
203
+ `\n <body>` +
204
+ `\n ${component.template}` +
205
+ `\n </body>` +
206
+ `\n</html> `;
207
+ }
208
+ /** trims all rows and remove everything between /*...*\/ */
209
+ styleTrim(style) {
210
+ let result = style.split('\n').map((row) => row.trim()).join('');
211
+ while (result.includes('/*')) {
212
+ const start = result.indexOf('/*');
213
+ const end = result.indexOf('*/', start) + 2;
214
+ result = result.substring(0, start) + result.substring(end);
215
+ }
216
+ return result;
217
+ }
218
+ /** removes HTML comments */
219
+ templateTrim(template) {
220
+ let result = template;
221
+ while (result.includes('<!--')) {
222
+ const start = result.indexOf('<!--');
223
+ const end = result.indexOf('-->', start) + 3;
224
+ result = result.substring(0, start) + result.substring(end);
225
+ }
226
+ return result;
227
+ }
228
+ getStringKBSize(str) {
229
+ const b = str.length * 2;
230
+ return b / 1024;
231
+ }
232
+ compileComponentProperties(component, componentProperties, template, issuer) {
233
+ component.properties.forEach((propertyKey) => {
234
+ if (!componentProperties[propertyKey]) {
235
+ throw new fsm_dynamo_1.Dynamo_Error({
236
+ ...this._getDefaultErrorSettings('setupComponent', new Error(`ComponentProperty missing from input! ${propertyKey} for ${component.name}`), issuer),
237
+ errorCode: 'NTS-ES0-SC4',
238
+ additionalContent: {
239
+ componentProperties: Object.keys(componentProperties),
240
+ },
241
+ });
242
+ }
243
+ const propReg = new RegExp(`{{${propertyKey}}}`, 'g');
244
+ template = template.replace(propReg, componentProperties[propertyKey]);
245
+ });
246
+ return template;
247
+ }
248
+ compileSubComponent(subComponentSelector, componentProperties, template, issuer) {
249
+ const subComponent = this.componentsBySelector[subComponentSelector];
250
+ if (!subComponent) {
251
+ throw new fsm_dynamo_1.Dynamo_Error({
252
+ ...this._getDefaultErrorSettings('setupComponent', new Error(`SubComponent missing from components! (${subComponentSelector})`), issuer),
253
+ errorCode: 'NTS-ES0-SC2',
254
+ additionalContent: this.componentsBySelector,
255
+ });
256
+ }
257
+ let subComponentTemplate = subComponent.template;
258
+ const startTag = `<nts-${subComponent.selector}`;
259
+ const endTag = `</nts-${subComponent.selector}>`;
260
+ const tagHTMLProperties = template.split(startTag)[1].split('>')[0];
261
+ let componentContent;
262
+ if (!tagHTMLProperties) {
263
+ componentContent = template.split(`${startTag}>`)[1].split(endTag)[0];
264
+ }
265
+ else {
266
+ componentContent = template.split(startTag)[1].split('>')[1].split(endTag)[0];
267
+ }
268
+ const contentReg = new RegExp(`<nts-content>`, 'g');
269
+ subComponentTemplate = subComponentTemplate.replace(contentReg, componentContent);
270
+ subComponentTemplate = this.compileComponentProperties(subComponent, componentProperties, subComponentTemplate, issuer);
271
+ const startTagReg = new RegExp(startTag, 'g');
272
+ const endTagReg = new RegExp(endTag, 'g');
273
+ template = template.replace(startTagReg, '<div');
274
+ template = template.replace(componentContent, subComponentTemplate);
275
+ template = template.replace(endTagReg, '</div>');
276
+ /* while (template.includes(`<nts-${subComponent.selector}`)) {
277
+ const replaceStartIndex = template.indexOf(`<nts-${subComponent.selector}`);
278
+ const replaceEndIndex = template.indexOf(endTag, replaceStartIndex) + endTag.length;
279
+
280
+ template =
281
+ template.substring(0, replaceStartIndex) +
282
+ subComponentCompiled +
283
+ template.substring(replaceEndIndex);
284
+ } */
285
+ return template;
286
+ }
287
+ async loadComponent(component) {
288
+ try {
289
+ if (this.componentsBySelector[component.selector]) {
290
+ throw new fsm_dynamo_1.Dynamo_Error({
291
+ ...this._getDefaultErrorSettings('loadComponent', new Error(), 'SYSTEM'),
292
+ errorCode: 'NTS-ES0-LC1',
293
+ message: `Template already loaded! (${component.name})`,
294
+ });
295
+ }
296
+ if (!component.templatePath && !component.template) {
297
+ throw new fsm_dynamo_1.Dynamo_Error({
298
+ ...this._getDefaultErrorSettings('loadComponent', new Error(), 'SYSTEM'),
299
+ errorCode: 'NTS-ES0-LC2',
300
+ message: `Component missing template and templatePath! (${component.name})`,
301
+ });
302
+ }
303
+ if (!component.template) {
304
+ await new Promise((resolve, reject) => {
305
+ FileSystem.readFile(component.templatePath, 'utf8', (err, template) => {
306
+ if (err || !template) {
307
+ if (!err) {
308
+ err = new Error(`Couldn't load email component's template; ${component.name} ` +
309
+ `from ${component.templatePath}`);
310
+ }
311
+ reject(new fsm_dynamo_1.Dynamo_Error({
312
+ ...this._getDefaultErrorSettings('loadTemplate', err, 'SYSTEM'),
313
+ errorCode: 'NTS-ES0-LC3',
314
+ }));
315
+ return;
159
316
  }
317
+ component.template = template;
160
318
  resolve();
161
- }
319
+ });
162
320
  });
321
+ }
322
+ if (component.stylePath) {
323
+ await new Promise((resolve, reject) => {
324
+ FileSystem.readFile(component.stylePath, 'utf8', (err, styles) => {
325
+ if (err || !styles) {
326
+ if (!err) {
327
+ err = new Error(`Couldn't load email component's styles; ${component.name} ` +
328
+ `from ${component.stylePath}`);
329
+ }
330
+ reject(new fsm_dynamo_1.Dynamo_Error({
331
+ ...this._getDefaultErrorSettings('loadTemplate', err, 'SYSTEM'),
332
+ errorCode: 'NTS-ES0-LC4',
333
+ }));
334
+ return;
335
+ }
336
+ component.styles = styles;
337
+ resolve();
338
+ });
339
+ });
340
+ }
341
+ component.properties = this.getTemplatePropertyKeys(component.template);
342
+ this.componentsBySelector[component.selector] = component;
343
+ this.componentsByName[component.name] = component;
344
+ component.properties.forEach((propertyKey) => {
345
+ if (!component.template.includes(`{{${propertyKey}}}`)) {
346
+ throw new fsm_dynamo_1.Dynamo_Error({
347
+ ...this._getDefaultErrorSettings('loadComponent', new Error(`TemplateProperty missing from template! (${propertyKey} for ${component.name})`), 'SYSTEM'),
348
+ errorCode: 'NTS-ES0-LC5',
349
+ additionalContent: component.template,
350
+ });
351
+ }
163
352
  });
164
353
  }
165
354
  catch (error) {
166
- fsm_dynamo_1.Dynamo_Log.error(`\nDynamoBEEmailService ERROR (1), Couldn't load email template; ${templateName} from ${templatePath}`, new Error());
355
+ throw new fsm_dynamo_1.Dynamo_Error({
356
+ ...this._getDefaultErrorSettings('loadComponent', error, 'SYSTEM'),
357
+ errorCode: 'NTS-ES0-LC0',
358
+ message: `loadComponent failed! (${component.name})`,
359
+ });
360
+ }
361
+ }
362
+ connectComponents() {
363
+ try {
364
+ for (const componentSelector in this.componentsBySelector) {
365
+ this.componentsBySelector[componentSelector].subComponentSelectors = [];
366
+ const innerTags = this.componentsBySelector[componentSelector].template.split('<nts-');
367
+ innerTags.shift();
368
+ innerTags.forEach((subComponents) => {
369
+ const subComponentSelector = subComponents.split('>')[0].split(' ')[0];
370
+ if (subComponentSelector !== 'content') {
371
+ const fullSelector = 'nts-' + subComponentSelector;
372
+ if (fullSelector) {
373
+ if (!this.componentsBySelector[subComponentSelector]) {
374
+ throw new fsm_dynamo_1.Dynamo_Error({
375
+ ...this._getDefaultErrorSettings('connectComponents', new Error(`SubComponent missing from components! (${fullSelector})`), 'SYSTEM'),
376
+ errorCode: 'NTS-ES0-CC1',
377
+ additionalContent: {
378
+ availableComponenets: Object.keys(this.componentsBySelector),
379
+ },
380
+ });
381
+ }
382
+ this.componentsBySelector[componentSelector].subComponentSelectors.push(subComponentSelector);
383
+ }
384
+ }
385
+ });
386
+ }
387
+ }
388
+ catch (error) {
389
+ throw new fsm_dynamo_1.Dynamo_Error({
390
+ ...this._getDefaultErrorSettings('connectComponents', error, 'SYSTEM'),
391
+ errorCode: 'NTS-ES0-CC0',
392
+ message: `connectComponents failed!`,
393
+ });
167
394
  }
168
395
  }
169
396
  /**
@@ -178,18 +405,20 @@ class DynamoNTS_EmailService {
178
405
  let propertyCloseTagIndex = template.indexOf('}}', propertyOpenTagIndex + 2);
179
406
  while (propertyOpenTagIndex >= 0) {
180
407
  if (propertyCloseTagIndex === -1) {
181
- fsm_dynamo_1.Dynamo_Log.error(`\nDynamoBEEmailService ERROR, missing closing tag from email template! (${propertyOpenTagIndex} -)`, propertyKeys);
408
+ fsm_dynamo_1.Dynamo_Log.error(`\nDynamoBEEmailService ERROR, missing closing tag from email template! ` +
409
+ `(${propertyOpenTagIndex} -)`, propertyKeys);
182
410
  throw new fsm_dynamo_1.Dynamo_Error({
183
- errorCode: 'NTS-ES4-200',
411
+ errorCode: 'NTS-ES0-200',
184
412
  addECToUserMsg: true,
185
413
  message: `ERROR, missing closing tag from email template! (${propertyOpenTagIndex} -)`,
186
- userMessage: this.defaultErrorUserMsg
414
+ userMessage: this.defaultErrorUserMsg,
187
415
  });
188
416
  }
189
417
  const newKey = template.substring(propertyOpenTagIndex + 2, propertyCloseTagIndex);
190
418
  if (!propertyKeys.includes(newKey)) {
191
419
  propertyKeys.push(newKey);
192
420
  }
421
+ // KELLEZIDE?
193
422
  propertyOpenTagIndex = template.indexOf('{{', propertyOpenTagIndex + 2);
194
423
  propertyCloseTagIndex = template.indexOf('}}', propertyOpenTagIndex + 2);
195
424
  }
@@ -197,9 +426,15 @@ class DynamoNTS_EmailService {
197
426
  return propertyKeys;
198
427
  }
199
428
  catch (error) {
200
- fsm_dynamo_1.Dynamo_Log.error(`\nDynamoBEEmailService ERROR, getTemplatePropertyKeys ERROR`, new Error(), '\ntemplate:\n', template);
429
+ throw new fsm_dynamo_1.Dynamo_Error({
430
+ ...this._getDefaultErrorSettings('getTemplatePropertyKeys', error, 'SYSTEM'),
431
+ errorCode: 'NTS-ES0-GTPK0',
432
+ message: `getTemplatePropertyKeys failed!`,
433
+ additionalContent: template,
434
+ });
201
435
  }
202
436
  }
437
+ // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
203
438
  _getDefaultErrorSettings(fnName, error, issuer) {
204
439
  return {
205
440
  status: error?.___status ?? 500,
@@ -1 +1 @@
1
- {"version":3,"file":"email.service.js","sourceRoot":"","sources":["../../../src/_services/core/email.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"email.service.js","sourceRoot":"","sources":["../../../src/_services/core/email.service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"global.service.d.ts","sourceRoot":"","sources":["../../../src/_services/core/global.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAA4B,MAAM,uBAAuB,CAAC;AACrG,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAE5F,OAAO,EAAE,+BAA+B,EAAE,MAAM,4DAA4D,CAAC;AAE7G,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAE3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAEvE;;;;GAIG;AACH,qBAAa,uBAAwB,SAAQ,0BAA0B;IAErE,MAAM,CAAC,WAAW,IAAI,uBAAuB;IAI7C,OAAO,CAAC,MAAM,CAAC,OAAO,CAAsB;IAC5C,MAAM,KAAK,MAAM,IAAI,mBAAmB,CAAyB;IAEjE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IACpD,MAAM,KAAK,OAAO,IAAI,IAAI,CAA0B;IACpD,MAAM,KAAK,MAAM,IAAI,MAAM,CAAyC;IAEpE,WAAW,EAAE,qBAAqB,CAAC;IACnC,mBAAmB,EAAE,2BAA2B,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3E,sBAAsB,EAAE,2BAA2B,CAAC,sBAAsB,CAAC,CAAC;IAE5E,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAExG;;OAEG;WACU,WAAW,CAAC,GAAG,EAAE,+BAA+B,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC7E,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAInD;;;OAGG;IACH,MAAM,CAAC,cAAc,IAAI,qBAAqB;IAY9C;;;OAGG;IACH,MAAM,CAAC,sBAAsB,IAAI,2BAA2B,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAYtF;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,eAAe,EAAE,UAAU,EAAE,iBAAiB,GAAG,mBAAmB,CAAC,CAAC,CAAC;IAIrG;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,CAAC,SAAS,eAAe,EAAE,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAC;IAiBxF;;;OAGG;IACH,MAAM,CAAC,yBAAyB,IAAI,2BAA2B,CAAC,sBAAsB,CAAC;CAgExF"}
1
+ {"version":3,"file":"global.service.d.ts","sourceRoot":"","sources":["../../../src/_services/core/global.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EACL,eAAe,EAAE,iBAAiB,EACnC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAE5F,OAAO,EACL,+BAA+B,EAChC,MAAM,4DAA4D,CAAC;AAEpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAE3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAEvE;;;;GAIG;AACH,qBAAa,uBAAwB,SAAQ,0BAA0B;IAErE,MAAM,CAAC,WAAW,IAAI,uBAAuB;IAI7C,OAAO,CAAC,MAAM,CAAC,OAAO,CAAsB;IAC5C,MAAM,KAAK,MAAM,IAAI,mBAAmB,CAEvC;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IACpD,MAAM,KAAK,OAAO,IAAI,IAAI,CAEzB;IACD,MAAM,KAAK,MAAM,IAAI,MAAM,CAE1B;IAED,WAAW,EAAE,qBAAqB,CAAC;IACnC,mBAAmB,EAAE,2BAA2B,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3E,sBAAsB,EAAE,2BAA2B,CAAC,sBAAsB,CAAC,CAAC;IAE5E,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAC1B,GAAG,EAAE,GAAG,EACR,GAAG,CAAC,EAAE,OAAO,EACb,GAAG,CAAC,EAAE,QAAQ,EACd,MAAM,CAAC,EAAE,MAAM,KACZ,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnB;;OAEG;WACU,WAAW,CAAC,GAAG,EAAE,+BAA+B,GAAG,OAAO,CAAC,IAAI,CAAC;IA6C7E,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAInD;;;OAGG;IACH,MAAM,CAAC,cAAc,IAAI,qBAAqB;IAY9C;;;OAGG;IACH,MAAM,CAAC,sBAAsB,IAAI,2BAA2B,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAatF;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,eAAe,EAC3C,UAAU,EAAE,iBAAiB,GAC5B,mBAAmB,CAAC,CAAC,CAAC;IAIzB;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,CAAC,SAAS,eAAe,EAAE,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAC;IAmBxF;;;OAGG;IACH,MAAM,CAAC,yBAAyB,IAAI,2BAA2B,CAAC,sBAAsB,CAAC;CAiExF"}