@ikonintegration/ikapi 5.0.6 → 5.0.7-alpha.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 (131) hide show
  1. package/package.json +2 -2
  2. package/src/Mailer/Mailer.ts +52 -39
  3. package/dist/index.d.ts +0 -17
  4. package/dist/index.js +0 -28
  5. package/dist/index.js.map +0 -1
  6. package/dist/package-lock.json +0 -11907
  7. package/dist/package.json +0 -82
  8. package/dist/src/API/Request.d.ts +0 -125
  9. package/dist/src/API/Request.js +0 -185
  10. package/dist/src/API/Request.js.map +0 -1
  11. package/dist/src/API/Response.d.ts +0 -188
  12. package/dist/src/API/Response.js +0 -270
  13. package/dist/src/API/Response.js.map +0 -1
  14. package/dist/src/BaseEvent/DynamoTransaction.d.ts +0 -70
  15. package/dist/src/BaseEvent/DynamoTransaction.js +0 -104
  16. package/dist/src/BaseEvent/DynamoTransaction.js.map +0 -1
  17. package/dist/src/BaseEvent/EventProcessor.d.ts +0 -58
  18. package/dist/src/BaseEvent/EventProcessor.js +0 -101
  19. package/dist/src/BaseEvent/EventProcessor.js.map +0 -1
  20. package/dist/src/BaseEvent/Launchable/ContainerExec.d.ts +0 -42
  21. package/dist/src/BaseEvent/Launchable/ContainerExec.js +0 -104
  22. package/dist/src/BaseEvent/Launchable/ContainerExec.js.map +0 -1
  23. package/dist/src/BaseEvent/Launchable/index.d.ts +0 -34
  24. package/dist/src/BaseEvent/Launchable/index.js +0 -43
  25. package/dist/src/BaseEvent/Launchable/index.js.map +0 -1
  26. package/dist/src/BaseEvent/Launchable/types.d.ts +0 -10
  27. package/dist/src/BaseEvent/Launchable/types.js +0 -2
  28. package/dist/src/BaseEvent/Launchable/types.js.map +0 -1
  29. package/dist/src/BaseEvent/Process.d.ts +0 -50
  30. package/dist/src/BaseEvent/Process.js +0 -64
  31. package/dist/src/BaseEvent/Process.js.map +0 -1
  32. package/dist/src/BaseEvent/StepTransaction.d.ts +0 -23
  33. package/dist/src/BaseEvent/StepTransaction.js +0 -27
  34. package/dist/src/BaseEvent/StepTransaction.js.map +0 -1
  35. package/dist/src/BaseEvent/Transaction.d.ts +0 -149
  36. package/dist/src/BaseEvent/Transaction.js +0 -224
  37. package/dist/src/BaseEvent/Transaction.js.map +0 -1
  38. package/dist/src/Cache/Redis.d.ts +0 -29
  39. package/dist/src/Cache/Redis.js +0 -80
  40. package/dist/src/Cache/Redis.js.map +0 -1
  41. package/dist/src/Cache/types.d.ts +0 -31
  42. package/dist/src/Cache/types.js +0 -2
  43. package/dist/src/Cache/types.js.map +0 -1
  44. package/dist/src/Config/Configuration.d.ts +0 -123
  45. package/dist/src/Config/Configuration.js +0 -109
  46. package/dist/src/Config/Configuration.js.map +0 -1
  47. package/dist/src/Config/EnvironmentVar.d.ts +0 -74
  48. package/dist/src/Config/EnvironmentVar.js +0 -138
  49. package/dist/src/Config/EnvironmentVar.js.map +0 -1
  50. package/dist/src/Crypto/Crypto.d.ts +0 -45
  51. package/dist/src/Crypto/Crypto.js +0 -72
  52. package/dist/src/Crypto/Crypto.js.map +0 -1
  53. package/dist/src/Database/Database.d.ts +0 -21
  54. package/dist/src/Database/Database.js +0 -15
  55. package/dist/src/Database/Database.js.map +0 -1
  56. package/dist/src/Database/DatabaseManager.d.ts +0 -47
  57. package/dist/src/Database/DatabaseManager.js +0 -60
  58. package/dist/src/Database/DatabaseManager.js.map +0 -1
  59. package/dist/src/Database/DatabaseTransaction.d.ts +0 -101
  60. package/dist/src/Database/DatabaseTransaction.js +0 -126
  61. package/dist/src/Database/DatabaseTransaction.js.map +0 -1
  62. package/dist/src/Database/index.d.ts +0 -10
  63. package/dist/src/Database/index.js +0 -15
  64. package/dist/src/Database/index.js.map +0 -1
  65. package/dist/src/Database/integrations/dynamo/DynamoDatabase.d.ts +0 -35
  66. package/dist/src/Database/integrations/dynamo/DynamoDatabase.js +0 -59
  67. package/dist/src/Database/integrations/dynamo/DynamoDatabase.js.map +0 -1
  68. package/dist/src/Database/integrations/kysely/KyselyDatabase.d.ts +0 -66
  69. package/dist/src/Database/integrations/kysely/KyselyDatabase.js +0 -86
  70. package/dist/src/Database/integrations/kysely/KyselyDatabase.js.map +0 -1
  71. package/dist/src/Database/integrations/kysely/KyselyTransaction.d.ts +0 -70
  72. package/dist/src/Database/integrations/kysely/KyselyTransaction.js +0 -118
  73. package/dist/src/Database/integrations/kysely/KyselyTransaction.js.map +0 -1
  74. package/dist/src/Database/integrations/pgsql/PostgresDatabase.d.ts +0 -36
  75. package/dist/src/Database/integrations/pgsql/PostgresDatabase.js +0 -54
  76. package/dist/src/Database/integrations/pgsql/PostgresDatabase.js.map +0 -1
  77. package/dist/src/Database/integrations/pgsql/PostgresTransaction.d.ts +0 -63
  78. package/dist/src/Database/integrations/pgsql/PostgresTransaction.js +0 -61
  79. package/dist/src/Database/integrations/pgsql/PostgresTransaction.js.map +0 -1
  80. package/dist/src/Database/types.d.ts +0 -76
  81. package/dist/src/Database/types.js +0 -2
  82. package/dist/src/Database/types.js.map +0 -1
  83. package/dist/src/Globals.d.ts +0 -93
  84. package/dist/src/Globals.js +0 -99
  85. package/dist/src/Globals.js.map +0 -1
  86. package/dist/src/Logger/Logger.d.ts +0 -161
  87. package/dist/src/Logger/Logger.js +0 -299
  88. package/dist/src/Logger/Logger.js.map +0 -1
  89. package/dist/src/Mailer/Mailer.d.ts +0 -79
  90. package/dist/src/Mailer/Mailer.js +0 -183
  91. package/dist/src/Mailer/Mailer.js.map +0 -1
  92. package/dist/src/Publisher/Publisher.d.ts +0 -39
  93. package/dist/src/Publisher/Publisher.js +0 -77
  94. package/dist/src/Publisher/Publisher.js.map +0 -1
  95. package/dist/src/Server/RouteResolver.d.ts +0 -33
  96. package/dist/src/Server/RouteResolver.js +0 -100
  97. package/dist/src/Server/RouteResolver.js.map +0 -1
  98. package/dist/src/Server/Router.d.ts +0 -157
  99. package/dist/src/Server/Router.js +0 -32
  100. package/dist/src/Server/Router.js.map +0 -1
  101. package/dist/src/Server/lib/ContainerServer.d.ts +0 -42
  102. package/dist/src/Server/lib/ContainerServer.js +0 -66
  103. package/dist/src/Server/lib/ContainerServer.js.map +0 -1
  104. package/dist/src/Server/lib/Server.d.ts +0 -45
  105. package/dist/src/Server/lib/Server.js +0 -93
  106. package/dist/src/Server/lib/Server.js.map +0 -1
  107. package/dist/src/Server/lib/container/GenericHandler.d.ts +0 -9
  108. package/dist/src/Server/lib/container/GenericHandler.js +0 -82
  109. package/dist/src/Server/lib/container/GenericHandler.js.map +0 -1
  110. package/dist/src/Server/lib/container/GenericHandlerEvent.d.ts +0 -52
  111. package/dist/src/Server/lib/container/GenericHandlerEvent.js +0 -132
  112. package/dist/src/Server/lib/container/GenericHandlerEvent.js.map +0 -1
  113. package/dist/src/Server/lib/container/HealthHandler.d.ts +0 -9
  114. package/dist/src/Server/lib/container/HealthHandler.js +0 -19
  115. package/dist/src/Server/lib/container/HealthHandler.js.map +0 -1
  116. package/dist/src/Server/lib/container/Proxy.d.ts +0 -67
  117. package/dist/src/Server/lib/container/Proxy.js +0 -143
  118. package/dist/src/Server/lib/container/Proxy.js.map +0 -1
  119. package/dist/src/Server/lib/container/Utils.d.ts +0 -14
  120. package/dist/src/Server/lib/container/Utils.js +0 -37
  121. package/dist/src/Server/lib/container/Utils.js.map +0 -1
  122. package/dist/src/Util/AsyncSingleton.d.ts +0 -31
  123. package/dist/src/Util/AsyncSingleton.js +0 -83
  124. package/dist/src/Util/AsyncSingleton.js.map +0 -1
  125. package/dist/src/Util/Utils.d.ts +0 -61
  126. package/dist/src/Util/Utils.js +0 -147
  127. package/dist/src/Util/Utils.js.map +0 -1
  128. package/dist/src/Validation/Validator.d.ts +0 -17
  129. package/dist/src/Validation/Validator.js +0 -39
  130. package/dist/src/Validation/Validator.js.map +0 -1
  131. package/dist/tsconfig.tsbuildinfo +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ikonintegration/ikapi",
3
- "version": "5.0.6",
3
+ "version": "5.0.7-alpha.0",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -41,7 +41,7 @@
41
41
  "kysely": "^0.27.2",
42
42
  "node-cache": "^5.1.2",
43
43
  "object-hash": "^3.0.0",
44
- "parse-duration": "^1.1.0",
44
+ "parse-duration": "^2.1.3",
45
45
  "path-to-regexp": "^8.1.0",
46
46
  "pg": "^8.11.3",
47
47
  "redis": "^4.7.0",
@@ -1,26 +1,28 @@
1
1
  /* eslint-disable prettier/prettier */
2
- import * as SES from "@aws-sdk/client-ses";
3
- import { defaultProvider } from "@aws-sdk/credential-provider-node";
4
- import Email from "email-templates";
5
- import nodemailer from "nodemailer";
6
- import type SESTransport from "nodemailer/lib/ses-transport";
2
+ import * as SES from '@aws-sdk/client-ses'
3
+ import { defaultProvider } from '@aws-sdk/credential-provider-node'
4
+ import Email from 'email-templates'
5
+ import nodemailer from 'nodemailer'
6
+ import type SESTransport from 'nodemailer/lib/ses-transport'
7
7
 
8
8
  export default class Mailer {
9
9
  /**
10
10
  * The starting point of a range.
11
11
  * @type {string}
12
12
  */
13
- private readonly from: string;
13
+ private readonly from: string
14
14
  /**
15
15
  * The default file template for the application.
16
16
  * @type {string}
17
17
  */
18
- private readonly templateDefaultFile: string = "html";
18
+ private readonly templateDefaultFile: string = 'html'
19
19
  /**
20
20
  * The transporter object used for sending emails using the AWS SES service.
21
21
  * @type {ReturnType<typeof nodemailer.createTransport<SESTransport.SentMessageInfo>>}
22
22
  */
23
- private readonly transporter: ReturnType<typeof nodemailer.createTransport<SESTransport.SentMessageInfo>>;
23
+ private readonly transporter: ReturnType<
24
+ typeof nodemailer.createTransport<SESTransport.SentMessageInfo>
25
+ >
24
26
 
25
27
  /**
26
28
  * Constructs a new instance of the EmailSender class.
@@ -29,17 +31,17 @@ export default class Mailer {
29
31
  * @returns None
30
32
  */
31
33
  constructor(defaultFrom: string, region: string) {
32
- this.from = defaultFrom;
34
+ this.from = defaultFrom
33
35
  this.transporter = nodemailer.createTransport({
34
36
  SES: {
35
37
  ses: new SES.SESClient({
36
38
  credentials: defaultProvider(),
37
- apiVersion: "2010-12-01",
39
+ apiVersion: '2010-12-01',
38
40
  region,
39
41
  }),
40
42
  aws: SES,
41
43
  },
42
- });
44
+ })
43
45
  }
44
46
 
45
47
  /**
@@ -76,17 +78,17 @@ export default class Mailer {
76
78
  },
77
79
  transport: optionalTransport || this.transporter,
78
80
  send: true,
79
- });
81
+ })
80
82
  //
81
- let resp = null;
83
+ let resp = null
82
84
  try {
83
- resp = await email.send();
84
- console.debug("Mailer resp:", resp);
85
+ resp = await email.send()
86
+ console.debug('Mailer resp:', resp)
85
87
  } catch (e) {
86
- console.error("Mailer error:", e);
87
- throw e;
88
+ console.error('Mailer error:', e)
89
+ throw e
88
90
  }
89
- return resp;
91
+ return resp
90
92
  }
91
93
 
92
94
  /**
@@ -124,18 +126,18 @@ export default class Mailer {
124
126
  },
125
127
  transport: optionalTransport || this.transporter,
126
128
  send: true,
127
- });
129
+ })
128
130
  //
129
- let resp = null;
131
+ let resp = null
130
132
  try {
131
- const chosenTemplate = await this.chooseTemplate(templates, data);
132
- resp = await email.send({ template: chosenTemplate, locals: data });
133
- console.debug("Mailer resp:", resp);
133
+ const chosenTemplate = await this.chooseTemplate(templates, data)
134
+ resp = await email.send({ template: chosenTemplate, locals: data })
135
+ console.debug('Mailer resp:', resp)
134
136
  } catch (e) {
135
- console.error("Mailer error:", e);
136
- throw e;
137
+ console.error('Mailer error:', e)
138
+ throw e
137
139
  }
138
- return resp;
140
+ return resp
139
141
  }
140
142
 
141
143
  /**
@@ -146,7 +148,12 @@ export default class Mailer {
146
148
  * @param {string} password - The password for authentication with the SMTP server.
147
149
  * @returns {Email.NodeMailerTransportOptions} - The SMTP transporter object.
148
150
  */
149
- public newSMTPTransporter(host: string, portNumber: number, user: string, password: string): Email.NodeMailerTransportOptions {
151
+ public newSMTPTransporter(
152
+ host: string,
153
+ portNumber: number,
154
+ user: string,
155
+ password: string
156
+ ): Email.NodeMailerTransportOptions {
150
157
  const smtpTransporter = nodemailer.createTransport({
151
158
  host: host,
152
159
  port: portNumber,
@@ -155,8 +162,8 @@ export default class Mailer {
155
162
  user: user,
156
163
  pass: password,
157
164
  },
158
- });
159
- return smtpTransporter;
165
+ })
166
+ return smtpTransporter
160
167
  }
161
168
 
162
169
  /**
@@ -170,12 +177,15 @@ export default class Mailer {
170
177
  if (Array.isArray(templates)) {
171
178
  //For each template check if can render it
172
179
  for (const template of templates) {
173
- if (await this.canRenderTemplate(template, data)) return template;
180
+ if (await this.canRenderTemplate(template, data)) return template
174
181
  }
175
182
  } else if (templates) {
176
- if (await this.canRenderTemplate(templates, data)) return templates;
183
+ if (await this.canRenderTemplate(templates, data)) return templates
177
184
  }
178
- throw new Error(`Could not render email with template ${templates} and following data. Please, check logs above! ` + JSON.stringify(data, null, 2));
185
+ throw new Error(
186
+ `Could not render email with template ${templates} and following data. Please, check logs above! ` +
187
+ JSON.stringify(data, null, 2)
188
+ )
179
189
  }
180
190
 
181
191
  /**
@@ -185,8 +195,11 @@ export default class Mailer {
185
195
  * @returns {Promise<boolean>} - A promise that resolves to true if the template can be rendered, false otherwise.
186
196
  */
187
197
  private async canRenderTemplate(template: string, data: object): Promise<boolean> {
188
- const validRenderResp = await Mailer.renderTemplate(`${template}/${this.templateDefaultFile}`, data);
189
- return validRenderResp != null;
198
+ const validRenderResp = await Mailer.renderTemplate(
199
+ `${template}/${this.templateDefaultFile}`,
200
+ data
201
+ )
202
+ return validRenderResp != null
190
203
  }
191
204
 
192
205
  /**
@@ -196,13 +209,13 @@ export default class Mailer {
196
209
  * @returns {Promise<boolean>} - A promise that resolves to true if the template was rendered successfully, false otherwise.
197
210
  */
198
211
  public static async renderTemplate(template: string, data: object): Promise<any> {
199
- let validRenderResp: string | null = null;
212
+ let validRenderResp: string | null = null
200
213
  try {
201
- const email = new Email();
202
- validRenderResp = await email.render(`${template}`, data);
214
+ const email = new Email()
215
+ validRenderResp = await email.render(`${template}`, data)
203
216
  } catch (e) {
204
- console.log(`Error while checking renderability of email template ${template}`, e);
217
+ console.log(`Error while checking renderability of email template ${template}`, e)
205
218
  }
206
- return validRenderResp;
219
+ return validRenderResp
207
220
  }
208
221
  }
package/dist/index.d.ts DELETED
@@ -1,17 +0,0 @@
1
- import { HttpMethod } from './src/API/Request.js';
2
- import Response, { ResponseErrorType } from './src/API/Response.js';
3
- import DynamoTransaction from './src/BaseEvent/DynamoTransaction.js';
4
- import EventProcessor from './src/BaseEvent/EventProcessor.js';
5
- import Launchable from './src/BaseEvent/Launchable/index.js';
6
- import Process from './src/BaseEvent/Process.js';
7
- import StepTransaction from './src/BaseEvent/StepTransaction.js';
8
- import Transaction, { TransactionConfig } from './src/BaseEvent/Transaction.js';
9
- import Redis from './src/Cache/Redis.js';
10
- import Configuration from './src/Config/Configuration.js';
11
- import Crypto from './src/Crypto/Crypto.js';
12
- import * as Database from './src/Database/index.js';
13
- import Mailer from './src/Mailer/Mailer.js';
14
- import Router, { Route } from './src/Server/Router.js';
15
- import AsyncSingleton from './src/Util/AsyncSingleton.js';
16
- import Utils from './src/Util/Utils.js';
17
- export { Transaction, Process, EventProcessor, DynamoTransaction, StepTransaction, Launchable, Router, Route, HttpMethod, Mailer, Crypto, Configuration, Redis, Database, Response, ResponseErrorType, Utils, AsyncSingleton, TransactionConfig, };
package/dist/index.js DELETED
@@ -1,28 +0,0 @@
1
- import { HttpMethod } from './src/API/Request.js';
2
- import Response from './src/API/Response.js';
3
- import DynamoTransaction from './src/BaseEvent/DynamoTransaction.js';
4
- import EventProcessor from './src/BaseEvent/EventProcessor.js';
5
- import Launchable from './src/BaseEvent/Launchable/index.js';
6
- import Process from './src/BaseEvent/Process.js';
7
- import StepTransaction from './src/BaseEvent/StepTransaction.js';
8
- import Transaction from './src/BaseEvent/Transaction.js';
9
- import Redis from './src/Cache/Redis.js';
10
- import Configuration from './src/Config/Configuration.js';
11
- import Crypto from './src/Crypto/Crypto.js';
12
- import * as Database from './src/Database/index.js';
13
- import Mailer from './src/Mailer/Mailer.js';
14
- import Router from './src/Server/Router.js';
15
- import AsyncSingleton from './src/Util/AsyncSingleton.js';
16
- import Utils from './src/Util/Utils.js';
17
- export {
18
- // Base Events
19
- Transaction, Process, EventProcessor, DynamoTransaction, StepTransaction, Launchable,
20
- // Http
21
- Router, HttpMethod,
22
- // Modules
23
- Mailer, Crypto, Configuration, Redis, Database,
24
- // API
25
- Response,
26
- // Helpers
27
- Utils, AsyncSingleton, };
28
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,QAA+B,MAAM,uBAAuB,CAAA;AACnE,OAAO,iBAAiB,MAAM,sCAAsC,CAAA;AACpE,OAAO,cAAc,MAAM,mCAAmC,CAAA;AAC9D,OAAO,UAAU,MAAM,qCAAqC,CAAA;AAC5D,OAAO,OAAO,MAAM,4BAA4B,CAAA;AAChD,OAAO,eAAe,MAAM,oCAAoC,CAAA;AAChE,OAAO,WAAkC,MAAM,gCAAgC,CAAA;AAC/E,OAAO,KAAK,MAAM,sBAAsB,CAAA;AACxC,OAAO,aAAa,MAAM,+BAA+B,CAAA;AACzD,OAAO,MAAM,MAAM,wBAAwB,CAAA;AAC3C,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAA;AACnD,OAAO,MAAM,MAAM,wBAAwB,CAAA;AAC3C,OAAO,MAAiB,MAAM,wBAAwB,CAAA;AACtD,OAAO,cAAc,MAAM,8BAA8B,CAAA;AACzD,OAAO,KAAK,MAAM,qBAAqB,CAAA;AAEvC,OAAO;AACL,cAAc;AACd,WAAW,EACX,OAAO,EACP,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,UAAU;AACV,OAAO;AACP,MAAM,EAEN,UAAU;AACV,UAAU;AACV,MAAM,EACN,MAAM,EACN,aAAa,EACb,KAAK,EACL,QAAQ;AACR,MAAM;AACN,QAAQ;AAER,UAAU;AACV,KAAK,EACL,cAAc,GAEf,CAAA"}