@ikonintegration/ikapi 5.0.15 → 5.1.1

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.
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ikonintegration/ikapi",
3
- "version": "5.0.15",
3
+ "version": "5.1.1",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -19,65 +19,65 @@
19
19
  "author": "",
20
20
  "license": "ISC",
21
21
  "dependencies": {
22
- "@aws-sdk/client-dynamodb": "^3.650.0",
23
- "@aws-sdk/client-eventbridge": "^3.916.0",
24
- "@aws-sdk/client-kms": "^3.650.0",
25
- "@aws-sdk/client-secrets-manager": "^3.650.0",
26
- "@aws-sdk/client-ses": "^3.650.0",
27
- "@aws-sdk/client-sns": "^3.650.0",
28
- "@aws-sdk/client-ssm": "^3.650.0",
29
- "@aws-sdk/credential-provider-node": "^3.650.0",
30
- "@aws-sdk/util-dynamodb": "^3.650.0",
31
- "@smithy/node-http-handler": "^3.2.0",
32
- "@types/email-templates": "^10.0.1",
33
- "@types/nodemailer": "^6.4.10",
34
- "@types/object-hash": "^3.0.4",
22
+ "@aws-sdk/client-dynamodb": "^3.988.0",
23
+ "@aws-sdk/client-eventbridge": "^3.988.0",
24
+ "@aws-sdk/client-kms": "^3.988.0",
25
+ "@aws-sdk/client-secrets-manager": "^3.988.0",
26
+ "@aws-sdk/client-ses": "^3.988.0",
27
+ "@aws-sdk/client-sns": "^3.988.0",
28
+ "@aws-sdk/client-ssm": "^3.988.0",
29
+ "@aws-sdk/credential-provider-node": "^3.972.7",
30
+ "@aws-sdk/util-dynamodb": "^3.988.0",
31
+ "@smithy/node-http-handler": "^4.4.10",
32
+ "@types/email-templates": "^10.0.4",
33
+ "@types/nodemailer": "^7.0.9",
34
+ "@types/object-hash": "^3.0.6",
35
35
  "abind": "^1.0.5",
36
- "cors": "^2.8.5",
36
+ "cors": "^2.8.6",
37
37
  "cuid": "^3.0.0",
38
- "dotenv": "^16.4.1",
39
- "email-templates": "^12.0.3",
40
- "express": "^4.21.1",
38
+ "dotenv": "^17.2.4",
39
+ "email-templates": "^13.0.1",
40
+ "express": "^5.2.1",
41
41
  "json-stringify-safe": "^5.0.1",
42
- "kysely": "^0.27.2",
42
+ "kysely": "^0.28.11",
43
43
  "node-cache": "^5.1.2",
44
44
  "object-hash": "^3.0.0",
45
- "parse-duration": "^2.1.3",
46
- "path-to-regexp": "^8.1.0",
47
- "pg": "^8.11.3",
48
- "redis": "^4.7.0",
45
+ "parse-duration": "^2.1.5",
46
+ "path-to-regexp": "^8.3.0",
47
+ "pg": "^8.18.0",
48
+ "redis": "^5.10.0",
49
49
  "sha1": "^1.1.1",
50
50
  "stack-trace": "0.0.10",
51
- "zod": "^3.23.4"
51
+ "zod": "^4.3.6"
52
52
  },
53
53
  "devDependencies": {
54
- "@go-task/cli": "^3.39.0",
55
- "@jest/globals": "^29.7.0",
56
- "@types/aws-lambda": "^8.10.145",
57
- "@types/chai": "^4.3.19",
58
- "@types/cors": "^2.8.15",
59
- "@types/express": "^4.17.19",
60
- "@types/jest": "^29.5.13",
61
- "@types/node": "^20.12.7",
54
+ "@go-task/cli": "^3.48.0",
55
+ "@jest/globals": "^30.2.0",
56
+ "@types/aws-lambda": "^8.10.160",
57
+ "@types/chai": "^5.2.3",
58
+ "@types/cors": "^2.8.19",
59
+ "@types/express": "^5.0.6",
60
+ "@types/jest": "^30.0.0",
61
+ "@types/node": "^25.2.3",
62
62
  "@types/path-to-regexp": "^1.7.0",
63
- "@types/pg": "^8.11.9",
64
- "@types/supertest": "^6.0.2",
65
- "@typescript-eslint/eslint-plugin": "^7.7.1",
66
- "@typescript-eslint/parser": "^7.7.1",
63
+ "@types/pg": "^8.16.0",
64
+ "@types/supertest": "^6.0.3",
65
+ "@typescript-eslint/eslint-plugin": "^8.55.0",
66
+ "@typescript-eslint/parser": "^8.55.0",
67
67
  "aws-lambda": "^1.0.7",
68
- "aws-sdk-client-mock": "^4.0.0",
69
- "chai": "^4.4.1",
70
- "eslint": "^8.48.0",
71
- "eslint-config-prettier": "^9.0.0",
72
- "eslint-plugin-import": "^2.30.0",
73
- "eslint-plugin-prettier": "^5.0.0",
68
+ "aws-sdk-client-mock": "^4.1.0",
69
+ "chai": "^6.2.2",
70
+ "eslint": "^9.39.2",
71
+ "eslint-config-prettier": "^10.1.8",
72
+ "eslint-plugin-import": "^2.32.0",
73
+ "eslint-plugin-prettier": "^5.5.5",
74
74
  "eslint-plugin-require-extensions": "^0.1.3",
75
- "jest": "^29.7.0",
75
+ "jest": "^30.2.0",
76
76
  "jest-junit": "^16.0.0",
77
- "prettier": "^3.3.2",
78
- "supertest": "^7.0.0",
79
- "ts-jest": "^29.2.5",
80
- "ts-node": "^10.9.1",
81
- "typescript": "^5.6.2"
77
+ "prettier": "^3.8.1",
78
+ "supertest": "^7.2.2",
79
+ "ts-jest": "^29.4.6",
80
+ "ts-node": "^10.9.2",
81
+ "typescript": "^5.9.3"
82
82
  }
83
83
  }
@@ -35,11 +35,16 @@ class Redis {
35
35
  static redisClientConnection(config) {
36
36
  return __awaiter(this, void 0, void 0, function* () {
37
37
  console.debug('Starting remote client cache connection');
38
- const connection = _a.ClientFactory(Object.assign(Object.assign({ username: config.username }, (config.password ? { password: config.password } : {})), { disableOfflineQueue: true, socket: {
39
- host: config.hostname,
40
- tls: config.enableTLS,
41
- connectTimeout: 10000,
42
- } }));
38
+ const connection = _a.ClientFactory(Object.assign(Object.assign({ username: config.username }, (config.password ? { password: config.password } : {})), { disableOfflineQueue: true, socket: config.enableTLS
39
+ ? {
40
+ host: config.hostname,
41
+ tls: true,
42
+ connectTimeout: 10000,
43
+ }
44
+ : {
45
+ host: config.hostname,
46
+ connectTimeout: 10000,
47
+ } }));
43
48
  yield connection.connect();
44
49
  return connection;
45
50
  });
@@ -48,10 +53,14 @@ class Redis {
48
53
  return __awaiter(this, void 0, void 0, function* () {
49
54
  console.debug('Starting remote cluster cache connection');
50
55
  const connection = _a.ClusterFactory({
51
- defaults: Object.assign(Object.assign({ username: config.username }, (config.password ? { password: config.password } : {})), { socket: {
52
- tls: config.enableTLS,
53
- connectTimeout: 10000,
54
- } }),
56
+ defaults: Object.assign(Object.assign({ username: config.username }, (config.password ? { password: config.password } : {})), { socket: config.enableTLS
57
+ ? {
58
+ tls: true,
59
+ connectTimeout: 10000,
60
+ }
61
+ : {
62
+ connectTimeout: 10000,
63
+ } }),
55
64
  rootNodes: [
56
65
  {
57
66
  url: `redis://${config.username}:${config.username}@${config.hostname}:6379`,
@@ -1 +1 @@
1
- {"version":3,"file":"Redis.js","sourceRoot":"","sources":["../../../src/Cache/Redis.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAqC,aAAa,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAGtF,OAAO,cAAc,MAAM,2BAA2B,CAAA;AACtD;;GAEG;AACH,MAAqB,KAAK;IAkBjB,MAAM,CAAC,UAAU,CACtB,MAA4B;QAE5B,OAAO,EAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACzC,CAAC;IAEO,MAAM,CAAO,iBAAiB,CACpC,MAA4B;;YAE5B,IAAI,MAAM,CAAC,WAAW;gBAAE,OAAO,EAAK,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAA;;gBAC9D,OAAO,EAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAA;QACjD,CAAC;KAAA;IAED;;;;;;OAMG;IACK,MAAM,CAAO,qBAAqB,CACxC,MAA4B;;YAE5B,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAA;YACxD,MAAM,UAAU,GAAG,EAAK,CAAC,aAAa,+BACpC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IACtB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACzD,mBAAmB,EAAE,IAAI,EACzB,MAAM,EAAE;oBACN,IAAI,EAAE,MAAM,CAAC,QAAQ;oBACrB,GAAG,EAAE,MAAM,CAAC,SAAS;oBACrB,cAAc,EAAE,KAAK;iBACtB,IACD,CAAA;YACF,MAAM,UAAU,CAAC,OAAO,EAAE,CAAA;YAE1B,OAAO,UAAiB,CAAA;QAC1B,CAAC;KAAA;IAEO,MAAM,CAAO,sBAAsB,CACzC,MAA4B;;YAE5B,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;YACzD,MAAM,UAAU,GAAG,EAAK,CAAC,cAAc,CAAC;gBACtC,QAAQ,gCACN,QAAQ,EAAE,MAAM,CAAC,QAAQ,IACtB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACzD,MAAM,EAAE;wBACN,GAAG,EAAE,MAAM,CAAC,SAAS;wBACrB,cAAc,EAAE,KAAK;qBACtB,GACF;gBACD,SAAS,EAAE;oBACT;wBACE,GAAG,EAAE,WAAW,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,OAAO;wBAC5E,mBAAmB,EAAE,IAAI;qBAC1B;iBACF;aACF,CAAC,CAAA;YACF,MAAM,UAAU,CAAC,OAAO,EAAE,CAAA;YAE1B,OAAO,UAAiB,CAAA;QAC1B,CAAC;KAAA;;;AA/Ec,eAAS,GAAG,IAAI,cAAc,CAG3C,EAAK,CAAC,iBAAiB,EAAE,CAAM,CAAC,EAAC,EAAE,kDAAC,OAAA,CAAC,CAAC,MAAM,CAAA,GAAA,CAAC,AAHvB,CAGuB;AAE/C;;;GAGG;AACY,mBAAa,GAAG,YAAY,AAAf,CAAe;AAE3C;;;GAGG;AACY,oBAAc,GAAG,aAAa,AAAhB,CAAgB;eAhB1B,KAAK"}
1
+ {"version":3,"file":"Redis.js","sourceRoot":"","sources":["../../../src/Cache/Redis.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAqC,aAAa,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAGtF,OAAO,cAAc,MAAM,2BAA2B,CAAA;AACtD;;GAEG;AACH,MAAqB,KAAK;IAkBjB,MAAM,CAAC,UAAU,CACtB,MAA4B;QAE5B,OAAO,EAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACzC,CAAC;IAEO,MAAM,CAAO,iBAAiB,CACpC,MAA4B;;YAE5B,IAAI,MAAM,CAAC,WAAW;gBAAE,OAAO,EAAK,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAA;;gBAC9D,OAAO,EAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAA;QACjD,CAAC;KAAA;IAED;;;;;;OAMG;IACK,MAAM,CAAO,qBAAqB,CACxC,MAA4B;;YAE5B,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAA;YACxD,MAAM,UAAU,GAAG,EAAK,CAAC,aAAa,+BACpC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IACtB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACzD,mBAAmB,EAAE,IAAI,EACzB,MAAM,EAAE,MAAM,CAAC,SAAS;oBACtB,CAAC,CAAC;wBACE,IAAI,EAAE,MAAM,CAAC,QAAQ;wBACrB,GAAG,EAAE,IAAI;wBACT,cAAc,EAAE,KAAK;qBACtB;oBACH,CAAC,CAAC;wBACE,IAAI,EAAE,MAAM,CAAC,QAAQ;wBACrB,cAAc,EAAE,KAAK;qBACtB,IACL,CAAA;YACF,MAAM,UAAU,CAAC,OAAO,EAAE,CAAA;YAE1B,OAAO,UAAiB,CAAA;QAC1B,CAAC;KAAA;IAEO,MAAM,CAAO,sBAAsB,CACzC,MAA4B;;YAE5B,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;YACzD,MAAM,UAAU,GAAG,EAAK,CAAC,cAAc,CAAC;gBACtC,QAAQ,gCACN,QAAQ,EAAE,MAAM,CAAC,QAAQ,IACtB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACzD,MAAM,EAAE,MAAM,CAAC,SAAS;wBACtB,CAAC,CAAC;4BACE,GAAG,EAAE,IAAI;4BACT,cAAc,EAAE,KAAK;yBACtB;wBACH,CAAC,CAAC;4BACE,cAAc,EAAE,KAAK;yBACtB,GACN;gBACD,SAAS,EAAE;oBACT;wBACE,GAAG,EAAE,WAAW,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,OAAO;wBAC5E,mBAAmB,EAAE,IAAI;qBAC1B;iBACF;aACF,CAAC,CAAA;YACF,MAAM,UAAU,CAAC,OAAO,EAAE,CAAA;YAE1B,OAAO,UAAiB,CAAA;QAC1B,CAAC;KAAA;;;AAxFc,eAAS,GAAG,IAAI,cAAc,CAG3C,EAAK,CAAC,iBAAiB,EAAE,CAAM,CAAC,EAAC,EAAE,kDAAC,OAAA,CAAC,CAAC,MAAM,CAAA,GAAA,CAAC,AAHvB,CAGuB;AAE/C;;;GAGG;AACY,mBAAa,GAAG,YAAY,AAAf,CAAe;AAE3C;;;GAGG;AACY,oBAAc,GAAG,aAAa,AAAhB,CAAgB;eAhB1B,KAAK"}
@@ -1,4 +1,12 @@
1
1
  import Email from 'email-templates';
2
+ export declare class MailerRenderError extends Error {
3
+ readonly cause?: unknown | undefined;
4
+ constructor(message: string, cause?: unknown | undefined);
5
+ }
6
+ export declare class MailerSendError extends Error {
7
+ readonly cause?: unknown | undefined;
8
+ constructor(message: string, cause?: unknown | undefined);
9
+ }
2
10
  export default class Mailer {
3
11
  /**
4
12
  * The starting point of a range.
@@ -12,6 +12,20 @@ import * as SES from '@aws-sdk/client-ses';
12
12
  import { defaultProvider } from '@aws-sdk/credential-provider-node';
13
13
  import Email from 'email-templates';
14
14
  import nodemailer from 'nodemailer';
15
+ export class MailerRenderError extends Error {
16
+ constructor(message, cause) {
17
+ super(message);
18
+ this.cause = cause;
19
+ this.name = 'MailerRenderError';
20
+ }
21
+ }
22
+ export class MailerSendError extends Error {
23
+ constructor(message, cause) {
24
+ super(message);
25
+ this.cause = cause;
26
+ this.name = 'MailerSendError';
27
+ }
28
+ }
15
29
  export default class Mailer {
16
30
  /**
17
31
  * Constructs a new instance of the EmailSender class.
@@ -28,12 +42,12 @@ export default class Mailer {
28
42
  this.from = defaultFrom;
29
43
  this.transporter = nodemailer.createTransport({
30
44
  SES: {
31
- ses: new SES.SESClient({
45
+ sesClient: new SES.SESClient({
32
46
  credentials: defaultProvider(),
33
47
  apiVersion: '2010-12-01',
34
48
  region,
35
49
  }),
36
- aws: SES,
50
+ SendEmailCommand: SES.SendEmailCommand,
37
51
  },
38
52
  });
39
53
  }
@@ -65,7 +79,7 @@ export default class Mailer {
65
79
  }
66
80
  catch (e) {
67
81
  console.error('Mailer error:', e);
68
- throw e;
82
+ throw new MailerSendError('Failed to send raw email', e);
69
83
  }
70
84
  return resp;
71
85
  });
@@ -93,14 +107,21 @@ export default class Mailer {
93
107
  });
94
108
  //
95
109
  let resp = null;
110
+ let chosenTemplate;
111
+ try {
112
+ chosenTemplate = yield this.chooseTemplate(templates, data);
113
+ }
114
+ catch (e) {
115
+ console.error('Mailer template rendering error:', e);
116
+ throw new MailerRenderError(`Failed to render template: ${Array.isArray(templates) ? templates.join(', ') : templates}`, e);
117
+ }
96
118
  try {
97
- const chosenTemplate = yield this.chooseTemplate(templates, data);
98
119
  resp = yield email.send({ template: chosenTemplate, locals: data });
99
120
  console.debug('Mailer resp suppressed due to raw size:', typeof resp === 'object' ? resp === null || resp === void 0 ? void 0 : resp.messageId : 'resp not recognized');
100
121
  }
101
122
  catch (e) {
102
- console.error('Mailer error:', e);
103
- throw e;
123
+ console.error('Mailer send error:', e);
124
+ throw new MailerSendError('Failed to send templated email', e);
104
125
  }
105
126
  return resp;
106
127
  });
@@ -145,7 +166,7 @@ export default class Mailer {
145
166
  if (yield this.canRenderTemplate(templates, data))
146
167
  return templates;
147
168
  }
148
- throw new Error(`Could not render email with template ${templates} and following data. Please, check logs above! ` +
169
+ throw new MailerRenderError(`Could not render email with template ${templates} and following data. Please, check logs above! ` +
149
170
  JSON.stringify(data, null, 2));
150
171
  });
151
172
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Mailer.js","sourceRoot":"","sources":["../../../src/Mailer/Mailer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Mailer.js","sourceRoot":"","sources":["../../../src/Mailer/Mailer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,97 @@
1
+ const { fixupConfigRules, fixupPluginRules } = require('@eslint/compat')
2
+ const { FlatCompat } = require('@eslint/eslintrc')
3
+ const js = require('@eslint/js')
4
+ const typescriptEslint = require('@typescript-eslint/eslint-plugin')
5
+ const tsParser = require('@typescript-eslint/parser')
6
+ const { defineConfig, globalIgnores } = require('eslint/config')
7
+ const prettier = require('eslint-plugin-prettier')
8
+ const requireExtensions = require('eslint-plugin-require-extensions')
9
+ const globals = require('globals')
10
+
11
+ const compat = new FlatCompat({
12
+ baseDirectory: __dirname,
13
+ recommendedConfig: js.configs.recommended,
14
+ allConfig: js.configs.all,
15
+ })
16
+
17
+ module.exports = defineConfig([
18
+ {
19
+ extends: fixupConfigRules(
20
+ compat.extends(
21
+ 'eslint:recommended',
22
+ 'plugin:@typescript-eslint/recommended',
23
+ 'plugin:prettier/recommended',
24
+ 'plugin:import/recommended',
25
+ 'plugin:import/typescript',
26
+ 'plugin:require-extensions/recommended',
27
+ 'prettier'
28
+ )
29
+ ),
30
+
31
+ languageOptions: {
32
+ parser: tsParser,
33
+
34
+ globals: {
35
+ ...globals.node,
36
+ },
37
+ },
38
+
39
+ plugins: {
40
+ '@typescript-eslint': fixupPluginRules(typescriptEslint),
41
+ prettier: fixupPluginRules(prettier),
42
+ 'require-extensions': fixupPluginRules(requireExtensions),
43
+ },
44
+
45
+ rules: {
46
+ 'import/extensions': ['error', 'always'],
47
+
48
+ 'prettier/prettier': [
49
+ 0,
50
+ {
51
+ tabWidth: 2,
52
+ useTabs: false,
53
+ bracketSameLine: false,
54
+ semi: false,
55
+ arrowParens: 'avoid',
56
+ jsxSingleQuote: true,
57
+ printWidth: 120,
58
+ singleQuote: true,
59
+ quoteProps: 'as-needed',
60
+ htmlWhitespaceSensitivity: 'css',
61
+ proseWrap: 'preserve',
62
+ bracketSpacing: true,
63
+ embeddedLanguageFormatting: 'auto',
64
+ endOfLine: 'lf',
65
+ trailingComma: 'es5',
66
+ },
67
+ ],
68
+
69
+ '@typescript-eslint/ban-ts-comment': 0,
70
+ 'import/no-named-as-default-member': 0,
71
+ '@typescript-eslint/no-explicit-any': 'off',
72
+ '@typescript-eslint/no-empty-object-type': 'off',
73
+
74
+ 'import/no-unresolved': [
75
+ 'error',
76
+ {
77
+ ignore: ['\\.js$'],
78
+ },
79
+ ],
80
+
81
+ 'import/order': [
82
+ 'error',
83
+ {
84
+ groups: ['builtin', 'external', 'internal', ['sibling', 'parent'], 'index', 'unknown'],
85
+
86
+ 'newlines-between': 'always',
87
+
88
+ alphabetize: {
89
+ order: 'asc',
90
+ caseInsensitive: true,
91
+ },
92
+ },
93
+ ],
94
+ },
95
+ },
96
+ globalIgnores(['**/node_modules', '**/dist', '**/build', 'eslint.config.cjs']),
97
+ ])
package/index.ts CHANGED
@@ -10,7 +10,7 @@ import Redis from './src/Cache/Redis.js'
10
10
  import Configuration from './src/Config/Configuration.js'
11
11
  import Crypto from './src/Crypto/Crypto.js'
12
12
  import * as Database from './src/Database/index.js'
13
- import Mailer from './src/Mailer/Mailer.js'
13
+ import Mailer, { MailerRenderError, MailerSendError } from './src/Mailer/Mailer.js'
14
14
  import Router, { Route } from './src/Server/Router.js'
15
15
  import AsyncSingleton from './src/Util/AsyncSingleton.js'
16
16
  import Utils from './src/Util/Utils.js'
@@ -29,6 +29,8 @@ export {
29
29
  HttpMethod,
30
30
  // Modules
31
31
  Mailer,
32
+ MailerRenderError,
33
+ MailerSendError,
32
34
  Crypto,
33
35
  Configuration,
34
36
  Redis,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ikonintegration/ikapi",
3
- "version": "5.0.15",
3
+ "version": "5.1.1",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -19,65 +19,65 @@
19
19
  "author": "",
20
20
  "license": "ISC",
21
21
  "dependencies": {
22
- "@aws-sdk/client-dynamodb": "^3.650.0",
23
- "@aws-sdk/client-eventbridge": "^3.916.0",
24
- "@aws-sdk/client-kms": "^3.650.0",
25
- "@aws-sdk/client-secrets-manager": "^3.650.0",
26
- "@aws-sdk/client-ses": "^3.650.0",
27
- "@aws-sdk/client-sns": "^3.650.0",
28
- "@aws-sdk/client-ssm": "^3.650.0",
29
- "@aws-sdk/credential-provider-node": "^3.650.0",
30
- "@aws-sdk/util-dynamodb": "^3.650.0",
31
- "@smithy/node-http-handler": "^3.2.0",
32
- "@types/email-templates": "^10.0.1",
33
- "@types/nodemailer": "^6.4.10",
34
- "@types/object-hash": "^3.0.4",
22
+ "@aws-sdk/client-dynamodb": "^3.988.0",
23
+ "@aws-sdk/client-eventbridge": "^3.988.0",
24
+ "@aws-sdk/client-kms": "^3.988.0",
25
+ "@aws-sdk/client-secrets-manager": "^3.988.0",
26
+ "@aws-sdk/client-ses": "^3.988.0",
27
+ "@aws-sdk/client-sns": "^3.988.0",
28
+ "@aws-sdk/client-ssm": "^3.988.0",
29
+ "@aws-sdk/credential-provider-node": "^3.972.7",
30
+ "@aws-sdk/util-dynamodb": "^3.988.0",
31
+ "@smithy/node-http-handler": "^4.4.10",
32
+ "@types/email-templates": "^10.0.4",
33
+ "@types/nodemailer": "^7.0.9",
34
+ "@types/object-hash": "^3.0.6",
35
35
  "abind": "^1.0.5",
36
- "cors": "^2.8.5",
36
+ "cors": "^2.8.6",
37
37
  "cuid": "^3.0.0",
38
- "dotenv": "^16.4.1",
39
- "email-templates": "^12.0.3",
40
- "express": "^4.21.1",
38
+ "dotenv": "^17.2.4",
39
+ "email-templates": "^13.0.1",
40
+ "express": "^5.2.1",
41
41
  "json-stringify-safe": "^5.0.1",
42
- "kysely": "^0.27.2",
42
+ "kysely": "^0.28.11",
43
43
  "node-cache": "^5.1.2",
44
44
  "object-hash": "^3.0.0",
45
- "parse-duration": "^2.1.3",
46
- "path-to-regexp": "^8.1.0",
47
- "pg": "^8.11.3",
48
- "redis": "^4.7.0",
45
+ "parse-duration": "^2.1.5",
46
+ "path-to-regexp": "^8.3.0",
47
+ "pg": "^8.18.0",
48
+ "redis": "^5.10.0",
49
49
  "sha1": "^1.1.1",
50
50
  "stack-trace": "0.0.10",
51
- "zod": "^3.23.4"
51
+ "zod": "^4.3.6"
52
52
  },
53
53
  "devDependencies": {
54
- "@go-task/cli": "^3.39.0",
55
- "@jest/globals": "^29.7.0",
56
- "@types/aws-lambda": "^8.10.145",
57
- "@types/chai": "^4.3.19",
58
- "@types/cors": "^2.8.15",
59
- "@types/express": "^4.17.19",
60
- "@types/jest": "^29.5.13",
61
- "@types/node": "^20.12.7",
54
+ "@go-task/cli": "^3.48.0",
55
+ "@jest/globals": "^30.2.0",
56
+ "@types/aws-lambda": "^8.10.160",
57
+ "@types/chai": "^5.2.3",
58
+ "@types/cors": "^2.8.19",
59
+ "@types/express": "^5.0.6",
60
+ "@types/jest": "^30.0.0",
61
+ "@types/node": "^25.2.3",
62
62
  "@types/path-to-regexp": "^1.7.0",
63
- "@types/pg": "^8.11.9",
64
- "@types/supertest": "^6.0.2",
65
- "@typescript-eslint/eslint-plugin": "^7.7.1",
66
- "@typescript-eslint/parser": "^7.7.1",
63
+ "@types/pg": "^8.16.0",
64
+ "@types/supertest": "^6.0.3",
65
+ "@typescript-eslint/eslint-plugin": "^8.55.0",
66
+ "@typescript-eslint/parser": "^8.55.0",
67
67
  "aws-lambda": "^1.0.7",
68
- "aws-sdk-client-mock": "^4.0.0",
69
- "chai": "^4.4.1",
70
- "eslint": "^8.48.0",
71
- "eslint-config-prettier": "^9.0.0",
72
- "eslint-plugin-import": "^2.30.0",
73
- "eslint-plugin-prettier": "^5.0.0",
68
+ "aws-sdk-client-mock": "^4.1.0",
69
+ "chai": "^6.2.2",
70
+ "eslint": "^9.39.2",
71
+ "eslint-config-prettier": "^10.1.8",
72
+ "eslint-plugin-import": "^2.32.0",
73
+ "eslint-plugin-prettier": "^5.5.5",
74
74
  "eslint-plugin-require-extensions": "^0.1.3",
75
- "jest": "^29.7.0",
75
+ "jest": "^30.2.0",
76
76
  "jest-junit": "^16.0.0",
77
- "prettier": "^3.3.2",
78
- "supertest": "^7.0.0",
79
- "ts-jest": "^29.2.5",
80
- "ts-node": "^10.9.1",
81
- "typescript": "^5.6.2"
77
+ "prettier": "^3.8.1",
78
+ "supertest": "^7.2.2",
79
+ "ts-jest": "^29.4.6",
80
+ "ts-node": "^10.9.2",
81
+ "typescript": "^5.9.3"
82
82
  }
83
83
  }
@@ -51,11 +51,16 @@ export default class Redis {
51
51
  username: config.username,
52
52
  ...(config.password ? { password: config.password } : {}),
53
53
  disableOfflineQueue: true,
54
- socket: {
55
- host: config.hostname,
56
- tls: config.enableTLS,
57
- connectTimeout: 10000,
58
- },
54
+ socket: config.enableTLS
55
+ ? {
56
+ host: config.hostname,
57
+ tls: true,
58
+ connectTimeout: 10000,
59
+ }
60
+ : {
61
+ host: config.hostname,
62
+ connectTimeout: 10000,
63
+ },
59
64
  })
60
65
  await connection.connect()
61
66
 
@@ -70,10 +75,14 @@ export default class Redis {
70
75
  defaults: {
71
76
  username: config.username,
72
77
  ...(config.password ? { password: config.password } : {}),
73
- socket: {
74
- tls: config.enableTLS,
75
- connectTimeout: 10000,
76
- },
78
+ socket: config.enableTLS
79
+ ? {
80
+ tls: true,
81
+ connectTimeout: 10000,
82
+ }
83
+ : {
84
+ connectTimeout: 10000,
85
+ },
77
86
  },
78
87
  rootNodes: [
79
88
  {
@@ -80,7 +80,7 @@ type OmitKeysByValueType<T, U> = {
80
80
  * @returns {OmitKeysByValueType<T, V>} - The resulting object type after omitting properties.
81
81
  */
82
82
  // eslint-disable-next-line @typescript-eslint/no-unused-vars, prettier/prettier
83
- type OmitByValueType<T, V> = T extends infer _
83
+ type OmitByValueType<T, V> = T extends infer _
84
84
  ? {
85
85
  [key in OmitKeysByValueType<T, V>]: T[key]
86
86
  }