@futdevpro/nts-dynamo 1.5.76 → 1.5.81

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 (227) hide show
  1. package/LICENSE +2 -2
  2. package/lib/_constants/dynamo-nts-global-settings.d.ts +2 -2
  3. package/lib/_constants/dynamo-nts-global-settings.js +17 -17
  4. package/lib/_constants/index.d.ts +1 -1
  5. package/lib/_constants/index.js +4 -4
  6. package/lib/_enums/data-model-type.enum.d.ts +12 -12
  7. package/lib/_enums/data-model-type.enum.js +16 -16
  8. package/lib/_enums/data-model-type.enum.js.map +1 -1
  9. package/lib/_enums/dynamo-nts-data-service-function.enum.d.ts +12 -12
  10. package/lib/_enums/dynamo-nts-data-service-function.enum.js +18 -18
  11. package/lib/_enums/dynamo-nts-data-service-function.enum.js.map +1 -1
  12. package/lib/_enums/dynamo-nts-route-security.enum.d.ts +11 -11
  13. package/lib/_enums/dynamo-nts-route-security.enum.js +15 -15
  14. package/lib/_enums/dynamo-nts-route-security.enum.js.map +1 -1
  15. package/lib/_enums/dynamo-nts-socket-security.enum.d.ts +10 -10
  16. package/lib/_enums/dynamo-nts-socket-security.enum.js +14 -14
  17. package/lib/_enums/dynamo-nts-socket-security.enum.js.map +1 -1
  18. package/lib/_enums/http/http-call-type.enum.d.ts +11 -11
  19. package/lib/_enums/http/http-call-type.enum.js +15 -15
  20. package/lib/_enums/http/http-call-type.enum.js.map +1 -1
  21. package/lib/_enums/http/http-response-type.enum.d.ts +6 -6
  22. package/lib/_enums/http/http-response-type.enum.js +10 -10
  23. package/lib/_enums/http/http-response-type.enum.js.map +1 -1
  24. package/lib/_enums/http/socket-event.enum.d.ts +9 -8
  25. package/lib/_enums/http/socket-event.enum.d.ts.map +1 -1
  26. package/lib/_enums/http/socket-event.enum.js +13 -12
  27. package/lib/_enums/http/socket-event.enum.js.map +1 -1
  28. package/lib/_enums/index.d.ts +8 -8
  29. package/lib/_enums/index.js +13 -13
  30. package/lib/_enums/predefined-data-types.enum.d.ts +10 -10
  31. package/lib/_enums/predefined-data-types.enum.js +14 -14
  32. package/lib/_enums/predefined-data-types.enum.js.map +1 -1
  33. package/lib/_interfaces/certification-settings.interface.d.ts +7 -0
  34. package/lib/_interfaces/certification-settings.interface.d.ts.map +1 -0
  35. package/lib/_interfaces/certification-settings.interface.js +3 -0
  36. package/lib/_interfaces/certification-settings.interface.js.map +1 -0
  37. package/lib/_interfaces/global-service-settings.interface.d.ts +18 -0
  38. package/lib/_interfaces/global-service-settings.interface.d.ts.map +1 -0
  39. package/lib/_interfaces/global-service-settings.interface.js +3 -0
  40. package/lib/_interfaces/global-service-settings.interface.js.map +1 -0
  41. package/lib/_interfaces/index.d.ts +1 -0
  42. package/lib/_interfaces/index.d.ts.map +1 -0
  43. package/lib/_interfaces/index.js +4 -0
  44. package/lib/_interfaces/index.js.map +1 -0
  45. package/lib/_interfaces/port-settings.interface.d.ts +5 -0
  46. package/lib/_interfaces/port-settings.interface.d.ts.map +1 -0
  47. package/lib/_interfaces/port-settings.interface.js +3 -0
  48. package/lib/_interfaces/port-settings.interface.js.map +1 -0
  49. package/lib/_models/dynamo-nts-api-call-params.d.ts +95 -95
  50. package/lib/_models/dynamo-nts-api-call-params.js +47 -47
  51. package/lib/_models/dynamo-nts-app-params.d.ts +49 -49
  52. package/lib/_models/dynamo-nts-app-params.js +17 -17
  53. package/lib/_models/dynamo-nts-endpoint-params.d.ts +80 -80
  54. package/lib/_models/dynamo-nts-endpoint-params.js +139 -139
  55. package/lib/_models/dynamo-nts-global-settings.d.ts +53 -53
  56. package/lib/_models/dynamo-nts-global-settings.js +2 -2
  57. package/lib/_models/dynamo-nts-routing-module-settings.d.ts +19 -19
  58. package/lib/_models/dynamo-nts-routing-module-settings.js +2 -2
  59. package/lib/_models/dynamo-nts-socket-event-params.d.ts +32 -30
  60. package/lib/_models/dynamo-nts-socket-event-params.d.ts.map +1 -1
  61. package/lib/_models/dynamo-nts-socket-event-params.js +80 -79
  62. package/lib/_models/dynamo-nts-socket-event-params.js.map +1 -1
  63. package/lib/_models/dynamo-nts-socket-presence.d.ts +21 -0
  64. package/lib/_models/dynamo-nts-socket-presence.d.ts.map +1 -0
  65. package/lib/_models/dynamo-nts-socket-presence.js +45 -0
  66. package/lib/_models/dynamo-nts-socket-presence.js.map +1 -0
  67. package/lib/_models/dynamo-nts-socket-service-params.d.ts +18 -18
  68. package/lib/_models/dynamo-nts-socket-service-params.d.ts.map +1 -1
  69. package/lib/_models/dynamo-nts-socket-service-params.js +26 -26
  70. package/lib/_models/dynamo-nts-socket-service-params.js.map +1 -1
  71. package/lib/_models/index.d.ts +7 -8
  72. package/lib/_models/index.d.ts.map +1 -1
  73. package/lib/_models/index.js +12 -12
  74. package/lib/_models/index.js.map +1 -1
  75. package/lib/_modules/api-service.index.d.ts +5 -5
  76. package/lib/_modules/api-service.index.js +11 -11
  77. package/lib/_modules/app-extended.index.d.ts +15 -12
  78. package/lib/_modules/app-extended.index.d.ts.map +1 -1
  79. package/lib/_modules/app-extended.index.js +23 -19
  80. package/lib/_modules/app-extended.index.js.map +1 -1
  81. package/lib/_modules/app.index.d.ts +13 -10
  82. package/lib/_modules/app.index.d.ts.map +1 -1
  83. package/lib/_modules/app.index.js +21 -17
  84. package/lib/_modules/app.index.js.map +1 -1
  85. package/lib/_modules/auth.index.d.ts +3 -3
  86. package/lib/_modules/auth.index.js +8 -8
  87. package/lib/_modules/constants.index.d.ts +1 -1
  88. package/lib/_modules/constants.index.js +4 -4
  89. package/lib/_modules/controller.index.d.ts +4 -4
  90. package/lib/_modules/controller.index.js +10 -10
  91. package/lib/_modules/custom-data/custom-data.controller.d.ts +5 -5
  92. package/lib/_modules/custom-data/custom-data.controller.js +55 -55
  93. package/lib/_modules/custom-data/custom-data.service.d.ts +5 -5
  94. package/lib/_modules/custom-data/custom-data.service.js +11 -11
  95. package/lib/_modules/custom-data/get-custom-data-routing-module.d.ts +3 -3
  96. package/lib/_modules/custom-data/get-custom-data-routing-module.js +17 -17
  97. package/lib/_modules/custom-data/index.d.ts +4 -4
  98. package/lib/_modules/custom-data/index.js +8 -8
  99. package/lib/_modules/custom-data-module.index.d.ts +1 -1
  100. package/lib/_modules/custom-data-module.index.js +4 -4
  101. package/lib/_modules/data-service.index.d.ts +5 -5
  102. package/lib/_modules/data-service.index.js +10 -10
  103. package/lib/_modules/email.index.d.ts +3 -3
  104. package/lib/_modules/email.index.js +8 -8
  105. package/lib/_modules/enums.index.d.ts +1 -1
  106. package/lib/_modules/enums.index.js +4 -4
  107. package/lib/_modules/models.index.d.ts +1 -1
  108. package/lib/_modules/models.index.js +4 -4
  109. package/lib/_modules/services.index.d.ts +1 -1
  110. package/lib/_modules/services.index.js +4 -4
  111. package/lib/_modules/test/get-test-routing-module.d.ts +3 -3
  112. package/lib/_modules/test/get-test-routing-module.js +17 -17
  113. package/lib/_modules/test/index.d.ts +3 -3
  114. package/lib/_modules/test/index.js +7 -7
  115. package/lib/_modules/test/test.controller.d.ts +5 -5
  116. package/lib/_modules/test/test.controller.js +104 -104
  117. package/lib/_modules/test-module.index.d.ts +1 -1
  118. package/lib/_modules/test-module.index.js +4 -4
  119. package/lib/_modules/usage/get-usage-routing-module.d.ts +3 -3
  120. package/lib/_modules/usage/get-usage-routing-module.js +17 -17
  121. package/lib/_modules/usage/index.d.ts +4 -4
  122. package/lib/_modules/usage/index.js +8 -8
  123. package/lib/_modules/usage/usage-controller.d.ts +6 -6
  124. package/lib/_modules/usage/usage-controller.js +88 -88
  125. package/lib/_modules/usage/usage.service.d.ts +16 -16
  126. package/lib/_modules/usage/usage.service.js +132 -132
  127. package/lib/_modules/usage-module.index.d.ts +1 -1
  128. package/lib/_modules/usage-module.index.js +4 -4
  129. package/lib/_services/dynamo-nts-api.service.d.ts +34 -34
  130. package/lib/_services/dynamo-nts-api.service.js +188 -188
  131. package/lib/_services/dynamo-nts-app-extended.d.ts +128 -128
  132. package/lib/_services/dynamo-nts-app-extended.d.ts.map +1 -1
  133. package/lib/_services/dynamo-nts-app-extended.js +212 -212
  134. package/lib/_services/dynamo-nts-app-extended.js.map +1 -1
  135. package/lib/_services/dynamo-nts-app.d.ts +270 -278
  136. package/lib/_services/dynamo-nts-app.d.ts.map +1 -1
  137. package/lib/_services/dynamo-nts-app.js +371 -371
  138. package/lib/_services/dynamo-nts-app.js.map +1 -1
  139. package/lib/_services/dynamo-nts-app.spec.d.ts +1 -0
  140. package/lib/_services/dynamo-nts-app.spec.d.ts.map +1 -0
  141. package/lib/_services/dynamo-nts-app.spec.js +10 -0
  142. package/lib/_services/dynamo-nts-app.spec.js.map +1 -0
  143. package/lib/_services/dynamo-nts-auth.service.d.ts +127 -127
  144. package/lib/_services/dynamo-nts-auth.service.d.ts.map +1 -1
  145. package/lib/_services/dynamo-nts-auth.service.js +53 -53
  146. package/lib/_services/dynamo-nts-auth.service.js.map +1 -1
  147. package/lib/_services/dynamo-nts-controller.service.d.ts +105 -105
  148. package/lib/_services/dynamo-nts-controller.service.d.ts.map +1 -1
  149. package/lib/_services/dynamo-nts-controller.service.js +57 -57
  150. package/lib/_services/dynamo-nts-controller.service.js.map +1 -1
  151. package/lib/_services/dynamo-nts-data.service.d.ts +230 -229
  152. package/lib/_services/dynamo-nts-data.service.d.ts.map +1 -1
  153. package/lib/_services/dynamo-nts-data.service.js +689 -686
  154. package/lib/_services/dynamo-nts-data.service.js.map +1 -1
  155. package/lib/_services/dynamo-nts-db-service-collection.service.d.ts +8 -8
  156. package/lib/_services/dynamo-nts-db-service-collection.service.js +10 -10
  157. package/lib/_services/dynamo-nts-db.service.d.ts +312 -312
  158. package/lib/_services/dynamo-nts-db.service.d.ts.map +1 -1
  159. package/lib/_services/dynamo-nts-db.service.js +856 -856
  160. package/lib/_services/dynamo-nts-db.service.js.map +1 -1
  161. package/lib/_services/dynamo-nts-email-service-collection.service.d.ts +18 -18
  162. package/lib/_services/dynamo-nts-email-service-collection.service.js +20 -20
  163. package/lib/_services/dynamo-nts-email.service.d.ts +56 -56
  164. package/lib/_services/dynamo-nts-email.service.d.ts.map +1 -1
  165. package/lib/_services/dynamo-nts-email.service.js +203 -203
  166. package/lib/_services/dynamo-nts-email.service.js.map +1 -1
  167. package/lib/_services/dynamo-nts-global.service.d.ts +71 -84
  168. package/lib/_services/dynamo-nts-global.service.d.ts.map +1 -1
  169. package/lib/_services/dynamo-nts-global.service.js +156 -156
  170. package/lib/_services/dynamo-nts-global.service.js.map +1 -1
  171. package/lib/_services/dynamo-nts-routing-module.service.d.ts +76 -76
  172. package/lib/_services/dynamo-nts-routing-module.service.d.ts.map +1 -1
  173. package/lib/_services/dynamo-nts-routing-module.service.js +191 -191
  174. package/lib/_services/dynamo-nts-routing-module.service.js.map +1 -1
  175. package/lib/_services/dynamo-nts-shared.service.d.ts +31 -31
  176. package/lib/_services/dynamo-nts-shared.service.d.ts.map +1 -1
  177. package/lib/_services/dynamo-nts-shared.service.js +70 -70
  178. package/lib/_services/dynamo-nts-shared.service.js.map +1 -1
  179. package/lib/_services/dynamo-nts-shared.service.spec.d.ts +2 -0
  180. package/lib/_services/dynamo-nts-shared.service.spec.d.ts.map +1 -0
  181. package/lib/_services/dynamo-nts-shared.service.spec.js +12 -0
  182. package/lib/_services/dynamo-nts-shared.service.spec.js.map +1 -0
  183. package/lib/_services/dynamo-nts-singleton.service.d.ts +8 -8
  184. package/lib/_services/dynamo-nts-singleton.service.js +18 -18
  185. package/lib/_services/dynamo-nts-singleton.service.js.map +1 -1
  186. package/lib/_services/dynamo-nts-socket-service-collection.service.d.ts +9 -9
  187. package/lib/_services/dynamo-nts-socket-service-collection.service.js +13 -13
  188. package/lib/_services/dynamo-nts-socket.service.d.ts +57 -45
  189. package/lib/_services/dynamo-nts-socket.service.d.ts.map +1 -1
  190. package/lib/_services/dynamo-nts-socket.service.js +188 -165
  191. package/lib/_services/dynamo-nts-socket.service.js.map +1 -1
  192. package/lib/_services/index.d.ts +14 -16
  193. package/lib/_services/index.d.ts.map +1 -1
  194. package/lib/_services/index.js +20 -20
  195. package/lib/_services/index.js.map +1 -1
  196. package/lib/index.d.ts +6 -6
  197. package/lib/index.js +14 -14
  198. package/lib/tsconfig.tsbuildinfo +1 -1
  199. package/package SAVE.json +216 -0
  200. package/package-NEW with test but not working.json +228 -0
  201. package/package.json +15 -8
  202. package/spec/support/jasmine.json +14 -0
  203. package/src/_enums/http/socket-event.enum.ts +2 -1
  204. package/src/_interfaces/certification-settings.interface.ts +7 -0
  205. package/src/_interfaces/global-service-settings.interface.ts +23 -0
  206. package/src/_interfaces/index.ts +5 -0
  207. package/src/_interfaces/port-settings.interface.ts +5 -0
  208. package/src/_models/dynamo-nts-socket-event-params.ts +23 -21
  209. package/src/_models/{dynamo-nts-socket-dictionary.ts → dynamo-nts-socket-presence.ts} +21 -5
  210. package/src/_models/dynamo-nts-socket-service-params.ts +1 -0
  211. package/src/_models/index.ts +2 -2
  212. package/src/_modules/app-extended.index.ts +7 -2
  213. package/src/_modules/app.index.ts +5 -0
  214. package/src/_services/dynamo-nts-app-extended.ts +6 -2
  215. package/src/_services/dynamo-nts-app.spec.ts +14 -0
  216. package/src/_services/dynamo-nts-app.ts +8 -14
  217. package/src/_services/dynamo-nts-auth.service.ts +1 -0
  218. package/src/_services/dynamo-nts-controller.service.ts +2 -1
  219. package/src/_services/dynamo-nts-data.service.ts +16 -10
  220. package/src/_services/dynamo-nts-db.service.ts +8 -5
  221. package/src/_services/dynamo-nts-email.service.ts +1 -0
  222. package/src/_services/dynamo-nts-global.service.ts +3 -18
  223. package/src/_services/dynamo-nts-routing-module.service.ts +1 -0
  224. package/src/_services/dynamo-nts-shared.service.spec.ts +10 -0
  225. package/src/_services/dynamo-nts-shared.service.ts +2 -1
  226. package/src/_services/dynamo-nts-socket.service.ts +80 -41
  227. package/src/_services/index.ts +2 -2
@@ -1,204 +1,204 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DynamoNTS_EmailService = void 0;
4
- const tslib_1 = require("tslib");
5
- const FileSystem = tslib_1.__importStar(require("fs"));
6
- const Path = tslib_1.__importStar(require("path"));
7
- const NodeMailer = tslib_1.__importStar(require("nodemailer"));
8
- const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
9
- /**
10
- *
11
- */
12
- class DynamoNTS_EmailService {
13
- constructor(set) {
14
- this.templates = {};
15
- this.templatePropertyKeys = {};
16
- this.templateLoadingInProgressCounter = 0;
17
- this.defaultErrorUserMsg = `We encountered an uncought Email Service Error, ` +
18
- `\nplease contact the responsible development team.`;
19
- try {
20
- // console.log('\n\n\n\n\nNEW CONSTRUCT STARTED', set.email);
21
- this.senderName = set.senderName;
22
- this.senderNEmail = `${set.senderName} <${set.email}>`;
23
- this.nmTransporter = NodeMailer.createTransport({
24
- host: set.host,
25
- port: set.port,
26
- auth: {
27
- user: set.email,
28
- pass: set.pass
29
- }
30
- });
31
- if (set.templatePaths) {
32
- for (let key in set.templatePaths) {
33
- this.loadTemplate(key, set.rootPath, set.templatePaths[key]);
34
- }
35
- }
36
- else {
37
- this.constructionFinished();
38
- }
39
- }
40
- catch (error) {
41
- fsm_dynamo_1.Dynamo_Log.error(`\nDynamoBEEmailService ERROR, The emailService construction failed for ${set.email}.`, new Error());
42
- }
43
- }
44
- /**
45
- *
46
- */
47
- constructionFinished() {
48
- fsm_dynamo_1.Dynamo_Log.success(`\nEmailService construction (${this.senderName}) Finished!\n`);
49
- }
50
- /**
51
- *
52
- * @param set
53
- */
54
- sendEmail(set) {
55
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
56
- try {
57
- let content;
58
- if (set.content) {
59
- content = set.content;
60
- }
61
- else {
62
- if (!set.useTemplate) {
63
- throw new fsm_dynamo_1.Dynamo_Error({
64
- errorCode: 'NTS-ES4-101',
65
- addECToUserMsg: true,
66
- message: 'No content setting passsed to emailSending!',
67
- userMessage: this.defaultErrorUserMsg,
68
- });
69
- }
70
- if (!this.templates[set.useTemplate]) {
71
- throw new fsm_dynamo_1.Dynamo_Error({
72
- errorCode: 'NTS-ES4-102',
73
- addECToUserMsg: true,
74
- message: `No email template found with this parameter! (${set.useTemplate})`,
75
- userMessage: this.defaultErrorUserMsg
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
- errorCode: 'NTS-ES4-103',
88
- addECToUserMsg: true,
89
- message: `TemplateProperties missing! properties needed: ${props}`,
90
- userMessage: this.defaultErrorUserMsg
91
- });
92
- }
93
- this.templatePropertyKeys[set.useTemplate].forEach((propertyKey) => {
94
- if (!set.templateProperties[propertyKey]) {
95
- fsm_dynamo_1.Dynamo_Log.error(`TemplateProperty missing! (${propertyKey})`);
96
- }
97
- const reg = new RegExp(`{{${propertyKey}}}`, 'g');
98
- content = content.replace(reg, set.templateProperties[propertyKey]);
99
- });
100
- }
101
- }
102
- let mailOptions = {
103
- from: this.senderNEmail,
104
- to: set.to,
105
- subject: set.subject,
106
- html: content,
107
- attachments: set.attachments,
108
- };
109
- yield new Promise((resolve, reject) => {
110
- this.nmTransporter.sendMail(mailOptions, (error, info) => {
111
- /* err = error; */
112
- if (error) {
113
- reject(error);
114
- }
115
- else {
116
- resolve();
117
- }
118
- });
119
- });
120
- }
121
- catch (error) {
122
- throw new fsm_dynamo_1.Dynamo_Error({
123
- errorCode: 'NTS-ES4-100',
124
- addECToUserMsg: true,
125
- message: `SendEmail failed!`,
126
- userMessage: this.defaultErrorUserMsg,
127
- error
128
- });
129
- }
130
- });
131
- }
132
- /**
133
- *
134
- * @param templateName
135
- * @param rootPath
136
- * @param templatePath
137
- * @returns
138
- */
139
- loadTemplate(templateName, rootPath, templatePath) {
140
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
141
- try {
142
- this.templateLoadingInProgressCounter++;
143
- return new Promise((resolve, reject) => {
144
- templatePath = Path.join(rootPath, templatePath);
145
- FileSystem.readFile(templatePath, 'utf8', (err, template) => {
146
- if (err) {
147
- fsm_dynamo_1.Dynamo_Log.error(`\nDynamoBEEmailService readFile ERROR (0), Couldn't load email template; ${templateName} from ${templatePath}\nerror:\n`, err, '\n');
148
- reject(err);
149
- return;
150
- }
151
- else {
152
- this.templates[templateName] = template;
153
- this.templatePropertyKeys[templateName] = this.getTemplatePropertyKeys(template);
154
- this.templateLoadingInProgressCounter--;
155
- if (this.templateLoadingInProgressCounter == 0) {
156
- this.constructionFinished();
157
- }
158
- resolve();
159
- }
160
- });
161
- });
162
- }
163
- catch (error) {
164
- fsm_dynamo_1.Dynamo_Log.error(`\nDynamoBEEmailService ERROR (1), Couldn't load email template; ${templateName} from ${templatePath}`, new Error());
165
- }
166
- });
167
- }
168
- /**
169
- *
170
- * @param template
171
- * @returns
172
- */
173
- getTemplatePropertyKeys(template) {
174
- try {
175
- const propertyKeys = [];
176
- let propertyOpenTagIndex = template.indexOf('{{');
177
- let propertyCloseTagIndex = template.indexOf('}}', propertyOpenTagIndex + 2);
178
- while (propertyOpenTagIndex >= 0) {
179
- if (propertyCloseTagIndex === -1) {
180
- fsm_dynamo_1.Dynamo_Log.error(`\nDynamoBEEmailService ERROR, missing closing tag from email template! (${propertyOpenTagIndex} -)`, propertyKeys);
181
- throw new fsm_dynamo_1.Dynamo_Error({
182
- errorCode: 'NTS-ES4-200',
183
- addECToUserMsg: true,
184
- message: `ERROR, missing closing tag from email template! (${propertyOpenTagIndex} -)`,
185
- userMessage: this.defaultErrorUserMsg
186
- });
187
- }
188
- const newKey = template.substring(propertyOpenTagIndex + 2, propertyCloseTagIndex);
189
- if (!propertyKeys.includes(newKey)) {
190
- propertyKeys.push(newKey);
191
- }
192
- propertyOpenTagIndex = template.indexOf('{{', propertyOpenTagIndex + 2);
193
- propertyCloseTagIndex = template.indexOf('}}', propertyOpenTagIndex + 2);
194
- }
195
- // console.log('\n\n\nTEST propertyKeys: ', propertyKeys);
196
- return propertyKeys;
197
- }
198
- catch (error) {
199
- fsm_dynamo_1.Dynamo_Log.error(`\nDynamoBEEmailService ERROR, getTemplatePropertyKeys ERROR`, new Error(), '\ntemplate:\n', template);
200
- }
201
- }
202
- }
203
- exports.DynamoNTS_EmailService = DynamoNTS_EmailService;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DynamoNTS_EmailService = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const FileSystem = tslib_1.__importStar(require("fs"));
6
+ const Path = tslib_1.__importStar(require("path"));
7
+ const NodeMailer = tslib_1.__importStar(require("nodemailer"));
8
+ const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
9
+ /**
10
+ *
11
+ */
12
+ class DynamoNTS_EmailService {
13
+ constructor(set) {
14
+ this.templates = {};
15
+ this.templatePropertyKeys = {};
16
+ this.templateLoadingInProgressCounter = 0;
17
+ this.defaultErrorUserMsg = `We encountered an uncought Email Service Error, ` +
18
+ `\nplease contact the responsible development team.`;
19
+ try {
20
+ // console.log('\n\n\n\n\nNEW CONSTRUCT STARTED', set.email);
21
+ this.senderName = set.senderName;
22
+ this.senderNEmail = `${set.senderName} <${set.email}>`;
23
+ this.nmTransporter = NodeMailer.createTransport({
24
+ host: set.host,
25
+ port: set.port,
26
+ auth: {
27
+ user: set.email,
28
+ pass: set.pass
29
+ }
30
+ });
31
+ if (set.templatePaths) {
32
+ for (let key in set.templatePaths) {
33
+ this.loadTemplate(key, set.rootPath, set.templatePaths[key]);
34
+ }
35
+ }
36
+ else {
37
+ this.constructionFinished();
38
+ }
39
+ }
40
+ catch (error) {
41
+ fsm_dynamo_1.Dynamo_Log.error(`\nDynamoBEEmailService ERROR, The emailService construction failed for ${set.email}.`, new Error());
42
+ }
43
+ }
44
+ /**
45
+ *
46
+ */
47
+ constructionFinished() {
48
+ fsm_dynamo_1.Dynamo_Log.success(`\nEmailService construction (${this.senderName}) Finished!\n`);
49
+ }
50
+ /**
51
+ *
52
+ * @param set
53
+ */
54
+ sendEmail(set) {
55
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
56
+ try {
57
+ let content;
58
+ if (set.content) {
59
+ content = set.content;
60
+ }
61
+ else {
62
+ if (!set.useTemplate) {
63
+ throw new fsm_dynamo_1.Dynamo_Error({
64
+ errorCode: 'NTS-ES4-101',
65
+ addECToUserMsg: true,
66
+ message: 'No content setting passsed to emailSending!',
67
+ userMessage: this.defaultErrorUserMsg,
68
+ });
69
+ }
70
+ if (!this.templates[set.useTemplate]) {
71
+ throw new fsm_dynamo_1.Dynamo_Error({
72
+ errorCode: 'NTS-ES4-102',
73
+ addECToUserMsg: true,
74
+ message: `No email template found with this parameter! (${set.useTemplate})`,
75
+ userMessage: this.defaultErrorUserMsg
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
+ errorCode: 'NTS-ES4-103',
88
+ addECToUserMsg: true,
89
+ message: `TemplateProperties missing! properties needed: ${props}`,
90
+ userMessage: this.defaultErrorUserMsg
91
+ });
92
+ }
93
+ this.templatePropertyKeys[set.useTemplate].forEach((propertyKey) => {
94
+ if (!set.templateProperties[propertyKey]) {
95
+ fsm_dynamo_1.Dynamo_Log.error(`TemplateProperty missing! (${propertyKey})`);
96
+ }
97
+ const reg = new RegExp(`{{${propertyKey}}}`, 'g');
98
+ content = content.replace(reg, set.templateProperties[propertyKey]);
99
+ });
100
+ }
101
+ }
102
+ let mailOptions = {
103
+ from: this.senderNEmail,
104
+ to: set.to,
105
+ subject: set.subject,
106
+ html: content,
107
+ attachments: set.attachments,
108
+ };
109
+ yield new Promise((resolve, reject) => {
110
+ this.nmTransporter.sendMail(mailOptions, (error, info) => {
111
+ /* err = error; */
112
+ if (error) {
113
+ reject(error);
114
+ }
115
+ else {
116
+ resolve();
117
+ }
118
+ });
119
+ });
120
+ }
121
+ catch (error) {
122
+ throw new fsm_dynamo_1.Dynamo_Error({
123
+ errorCode: 'NTS-ES4-100',
124
+ addECToUserMsg: true,
125
+ message: `SendEmail failed!`,
126
+ userMessage: this.defaultErrorUserMsg,
127
+ error
128
+ });
129
+ }
130
+ });
131
+ }
132
+ /**
133
+ *
134
+ * @param templateName
135
+ * @param rootPath
136
+ * @param templatePath
137
+ * @returns
138
+ */
139
+ loadTemplate(templateName, rootPath, templatePath) {
140
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
141
+ try {
142
+ this.templateLoadingInProgressCounter++;
143
+ return new Promise((resolve, reject) => {
144
+ templatePath = Path.join(rootPath, templatePath);
145
+ FileSystem.readFile(templatePath, 'utf8', (err, template) => {
146
+ if (err) {
147
+ fsm_dynamo_1.Dynamo_Log.error(`\nDynamoBEEmailService readFile ERROR (0), Couldn't load email template; ${templateName} from ${templatePath}\nerror:\n`, err, '\n');
148
+ reject(err);
149
+ return;
150
+ }
151
+ else {
152
+ this.templates[templateName] = template;
153
+ this.templatePropertyKeys[templateName] = this.getTemplatePropertyKeys(template);
154
+ this.templateLoadingInProgressCounter--;
155
+ if (this.templateLoadingInProgressCounter == 0) {
156
+ this.constructionFinished();
157
+ }
158
+ resolve();
159
+ }
160
+ });
161
+ });
162
+ }
163
+ catch (error) {
164
+ fsm_dynamo_1.Dynamo_Log.error(`\nDynamoBEEmailService ERROR (1), Couldn't load email template; ${templateName} from ${templatePath}`, new Error());
165
+ }
166
+ });
167
+ }
168
+ /**
169
+ *
170
+ * @param template
171
+ * @returns
172
+ */
173
+ getTemplatePropertyKeys(template) {
174
+ try {
175
+ const propertyKeys = [];
176
+ let propertyOpenTagIndex = template.indexOf('{{');
177
+ let propertyCloseTagIndex = template.indexOf('}}', propertyOpenTagIndex + 2);
178
+ while (propertyOpenTagIndex >= 0) {
179
+ if (propertyCloseTagIndex === -1) {
180
+ fsm_dynamo_1.Dynamo_Log.error(`\nDynamoBEEmailService ERROR, missing closing tag from email template! (${propertyOpenTagIndex} -)`, propertyKeys);
181
+ throw new fsm_dynamo_1.Dynamo_Error({
182
+ errorCode: 'NTS-ES4-200',
183
+ addECToUserMsg: true,
184
+ message: `ERROR, missing closing tag from email template! (${propertyOpenTagIndex} -)`,
185
+ userMessage: this.defaultErrorUserMsg
186
+ });
187
+ }
188
+ const newKey = template.substring(propertyOpenTagIndex + 2, propertyCloseTagIndex);
189
+ if (!propertyKeys.includes(newKey)) {
190
+ propertyKeys.push(newKey);
191
+ }
192
+ propertyOpenTagIndex = template.indexOf('{{', propertyOpenTagIndex + 2);
193
+ propertyCloseTagIndex = template.indexOf('}}', propertyOpenTagIndex + 2);
194
+ }
195
+ // console.log('\n\n\nTEST propertyKeys: ', propertyKeys);
196
+ return propertyKeys;
197
+ }
198
+ catch (error) {
199
+ fsm_dynamo_1.Dynamo_Log.error(`\nDynamoBEEmailService ERROR, getTemplatePropertyKeys ERROR`, new Error(), '\ntemplate:\n', template);
200
+ }
201
+ }
202
+ }
203
+ exports.DynamoNTS_EmailService = DynamoNTS_EmailService;
204
204
  //# sourceMappingURL=dynamo-nts-email.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dynamo-nts-email.service.js","sourceRoot":"","sources":["../../src/_services/dynamo-nts-email.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dynamo-nts-email.service.js","sourceRoot":"","sources":["../../src/_services/dynamo-nts-email.service.ts"],"names":[],"mappings":"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"}
@@ -1,85 +1,72 @@
1
- import { Dynamo_Metadata, Dynamo_DataParams } from '@futdevpro/fsm-dynamo';
2
- import { DynamoNTS_AppParams } from '../_models';
3
- import { DynamoNTS_AuthService } from './dynamo-nts-auth.service';
4
- import { DynamoNTS_DBServiceCollection } from './dynamo-nts-db-service-collection.service';
5
- import { DynamoNTS_DBService } from './dynamo-nts-db.service';
6
- import { DynamoNTS_EmailServiceCollection } from './dynamo-nts-email-service-collection.service';
7
- import { DynamoNTS_SingletonService } from './dynamo-nts-singleton.service';
8
- import { DynamoNTS_SocketServiceCollection } from './dynamo-nts-socket-service-collection.service';
9
- import { DynamoNTS_SocketService } from './dynamo-nts-socket.service';
10
- export interface DynamoNTS_GlobalServiceSettings {
11
- /**
12
- * You need to setup your Own Auth Service extending the DynamoBEAuthService class
13
- */
14
- authService?: DynamoNTS_AuthService;
15
- /**
16
- * You can setup your Own Email Service extending the DynamoBEEmailServiceCollection class
17
- */
18
- emailServiceCollection?: DynamoNTS_EmailServiceCollection;
19
- /**
20
- * you can setup data tables by passing a DynamoBEDataParams list at this point
21
- */
22
- dbModels: Dynamo_DataParams[];
23
- }
24
- /**
25
- * This is the main Global/Core Service Collection used by DynamoBE,
26
- * you also can use this to access main services as
27
- * dbServices, emailServices, or authService
28
- */
29
- export declare class DynamoNTS_GlobalService extends DynamoNTS_SingletonService {
30
- static getInstance(): DynamoNTS_GlobalService;
31
- private static _params;
32
- static get params(): DynamoNTS_AppParams;
33
- private static readonly _upSince;
34
- static get upSince(): Date;
35
- static get upTime(): number;
36
- authService: DynamoNTS_AuthService;
37
- dbServiceCollection: DynamoNTS_DBServiceCollection;
38
- emailServiceCollection: DynamoNTS_EmailServiceCollection;
39
- socketServiceCollection: DynamoNTS_SocketServiceCollection;
40
- /**
41
- * You need to setup global Services through this function
42
- */
43
- static setServices(set: DynamoNTS_GlobalServiceSettings): void;
44
- static setParams(params: DynamoNTS_AppParams): void;
45
- /**
46
- *
47
- * @returns
48
- */
49
- static getAuthService(): DynamoNTS_AuthService;
50
- /**
51
- *
52
- * @returns
53
- */
54
- static getDBServiceCollection(): DynamoNTS_DBServiceCollection;
55
- /**
56
- *
57
- * @param dataParams
58
- * @returns
59
- */
60
- static getDBService<T extends Dynamo_Metadata>(dataParams: Dynamo_DataParams): DynamoNTS_DBService<T>;
61
- /**
62
- *
63
- * @param key
64
- * @returns
65
- */
66
- static getDBServiceByKey<T extends Dynamo_Metadata>(key: string): DynamoNTS_DBService<T>;
67
- /**
68
- *
69
- * @returns
70
- */
71
- static getEmailServiceCollection(): DynamoNTS_EmailServiceCollection;
72
- /**
73
- *
74
- * @returns
75
- */
76
- static getSocketServiceCollection(): DynamoNTS_SocketServiceCollection;
77
- /**
78
- *
79
- * @param name
80
- * @returns
81
- */
82
- static getSocketServiceByName(name: string): DynamoNTS_SocketService<any>;
83
- static attachNewSocketService(service: DynamoNTS_SocketService<any>): void;
84
- }
1
+ import { Dynamo_Metadata, Dynamo_DataParams } from '@futdevpro/fsm-dynamo';
2
+ import { DynamoNTS_GlobalServiceSettings } from '../_interfaces/global-service-settings.interface';
3
+ import { DynamoNTS_AppParams } from '../_models/dynamo-nts-app-params';
4
+ import { DynamoNTS_AuthService } from './dynamo-nts-auth.service';
5
+ import { DynamoNTS_DBServiceCollection } from './dynamo-nts-db-service-collection.service';
6
+ import { DynamoNTS_DBService } from './dynamo-nts-db.service';
7
+ import { DynamoNTS_EmailServiceCollection } from './dynamo-nts-email-service-collection.service';
8
+ import { DynamoNTS_SingletonService } from './dynamo-nts-singleton.service';
9
+ import { DynamoNTS_SocketServiceCollection } from './dynamo-nts-socket-service-collection.service';
10
+ import { DynamoNTS_SocketService } from './dynamo-nts-socket.service';
11
+ /**
12
+ * This is the main Global/Core Service Collection used by DynamoBE,
13
+ * you also can use this to access main services as
14
+ * dbServices, emailServices, or authService
15
+ */
16
+ export declare class DynamoNTS_GlobalService extends DynamoNTS_SingletonService {
17
+ static getInstance(): DynamoNTS_GlobalService;
18
+ private static _params;
19
+ static get params(): DynamoNTS_AppParams;
20
+ private static readonly _upSince;
21
+ static get upSince(): Date;
22
+ static get upTime(): number;
23
+ authService: DynamoNTS_AuthService;
24
+ dbServiceCollection: DynamoNTS_DBServiceCollection;
25
+ emailServiceCollection: DynamoNTS_EmailServiceCollection;
26
+ socketServiceCollection: DynamoNTS_SocketServiceCollection;
27
+ /**
28
+ * You need to setup global Services through this function
29
+ */
30
+ static setServices(set: DynamoNTS_GlobalServiceSettings): void;
31
+ static setParams(params: DynamoNTS_AppParams): void;
32
+ /**
33
+ *
34
+ * @returns
35
+ */
36
+ static getAuthService(): DynamoNTS_AuthService;
37
+ /**
38
+ *
39
+ * @returns
40
+ */
41
+ static getDBServiceCollection(): DynamoNTS_DBServiceCollection;
42
+ /**
43
+ *
44
+ * @param dataParams
45
+ * @returns
46
+ */
47
+ static getDBService<T extends Dynamo_Metadata>(dataParams: Dynamo_DataParams): DynamoNTS_DBService<T>;
48
+ /**
49
+ *
50
+ * @param key
51
+ * @returns
52
+ */
53
+ static getDBServiceByKey<T extends Dynamo_Metadata>(key: string): DynamoNTS_DBService<T>;
54
+ /**
55
+ *
56
+ * @returns
57
+ */
58
+ static getEmailServiceCollection(): DynamoNTS_EmailServiceCollection;
59
+ /**
60
+ *
61
+ * @returns
62
+ */
63
+ static getSocketServiceCollection(): DynamoNTS_SocketServiceCollection;
64
+ /**
65
+ *
66
+ * @param name
67
+ * @returns
68
+ */
69
+ static getSocketServiceByName(name: string): DynamoNTS_SocketService<any>;
70
+ static attachNewSocketService(service: DynamoNTS_SocketService<any>): void;
71
+ }
85
72
  //# sourceMappingURL=dynamo-nts-global.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dynamo-nts-global.service.d.ts","sourceRoot":"","sources":["../../src/_services/dynamo-nts-global.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAc,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,gCAAgC,EAAE,MAAM,+CAA+C,CAAC;AACjG,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,iCAAiC,EAAE,MAAM,gDAAgD,CAAC;AACnG,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,MAAM,WAAW,+BAA+B;IAC9C;;OAEG;IACH,WAAW,CAAC,EAAE,qBAAqB,CAAC;IAEpC;;OAEG;IACH,sBAAsB,CAAC,EAAE,gCAAgC,CAAC;IAE1D;;OAEG;IACH,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AAED;;;;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,6BAA6B,CAAC;IACnD,sBAAsB,EAAE,gCAAgC,CAAC;IAEzD,uBAAuB,EAAE,iCAAiC,CAAmD;IAE7G;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,+BAA+B,GAAG,IAAI;IAoB9D,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAInD;;;OAGG;IACH,MAAM,CAAC,cAAc,IAAI,qBAAqB;IAW9C;;;OAGG;IACH,MAAM,CAAC,sBAAsB,IAAI,6BAA6B;IAW9D;;;;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;IAgBxF;;;OAGG;IACH,MAAM,CAAC,yBAAyB,IAAI,gCAAgC;IAWpE;;;OAGG;IACH,MAAM,CAAC,0BAA0B,IAAI,iCAAiC;IAYtE;;;;OAIG;IACH,MAAM,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,uBAAuB,CAAC,GAAG,CAAC;IAgBzE,MAAM,CAAC,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,CAAC,GAAG,CAAC,GAAG,IAAI;CAe3E"}
1
+ {"version":3,"file":"dynamo-nts-global.service.d.ts","sourceRoot":"","sources":["../../src/_services/dynamo-nts-global.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAc,MAAM,uBAAuB,CAAC;AAEvF,OAAO,EAAE,+BAA+B,EAAE,MAAM,kDAAkD,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,gCAAgC,EAAE,MAAM,+CAA+C,CAAC;AACjG,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,iCAAiC,EAAE,MAAM,gDAAgD,CAAC;AACnG,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAEtE;;;;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,6BAA6B,CAAC;IACnD,sBAAsB,EAAE,gCAAgC,CAAC;IAEzD,uBAAuB,EAAE,iCAAiC,CAAmD;IAE7G;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,+BAA+B,GAAG,IAAI;IAoB9D,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAInD;;;OAGG;IACH,MAAM,CAAC,cAAc,IAAI,qBAAqB;IAW9C;;;OAGG;IACH,MAAM,CAAC,sBAAsB,IAAI,6BAA6B;IAW9D;;;;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;IAgBxF;;;OAGG;IACH,MAAM,CAAC,yBAAyB,IAAI,gCAAgC;IAWpE;;;OAGG;IACH,MAAM,CAAC,0BAA0B,IAAI,iCAAiC;IAYtE;;;;OAIG;IACH,MAAM,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,uBAAuB,CAAC,GAAG,CAAC;IAgBzE,MAAM,CAAC,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,CAAC,GAAG,CAAC,GAAG,IAAI;CAe3E"}