@adtrackify/at-service-common 1.1.21 → 1.2.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.
Files changed (146) hide show
  1. package/dist/__tests__/helpers/subscription-helper.spec.d.ts +1 -0
  2. package/dist/__tests__/helpers/subscription-helper.spec.js +28 -0
  3. package/dist/__tests__/helpers/subscription-helper.spec.js.map +1 -0
  4. package/dist/clients/generic/cognito-client.d.ts +19 -0
  5. package/dist/clients/generic/cognito-client.js +140 -0
  6. package/dist/clients/generic/cognito-client.js.map +1 -0
  7. package/dist/clients/generic/dynamodb-client.d.ts +15 -0
  8. package/dist/clients/generic/dynamodb-client.js +123 -0
  9. package/dist/clients/generic/dynamodb-client.js.map +1 -0
  10. package/dist/clients/generic/eventbridge-client.d.ts +14 -0
  11. package/dist/clients/generic/eventbridge-client.js +46 -0
  12. package/dist/clients/generic/eventbridge-client.js.map +1 -0
  13. package/dist/clients/generic/http-client.d.ts +29 -0
  14. package/dist/clients/generic/http-client.js +30 -0
  15. package/dist/clients/generic/http-client.js.map +1 -0
  16. package/{src/clients/generic/index.ts → dist/clients/generic/index.d.ts} +5 -5
  17. package/dist/clients/generic/index.js +6 -0
  18. package/dist/clients/generic/index.js.map +1 -0
  19. package/dist/clients/generic/s3-client.d.ts +6 -0
  20. package/dist/clients/generic/s3-client.js +25 -0
  21. package/dist/clients/generic/s3-client.js.map +1 -0
  22. package/{src/clients/index.ts → dist/clients/index.d.ts} +3 -3
  23. package/dist/clients/index.js +4 -0
  24. package/dist/clients/index.js.map +1 -0
  25. package/dist/clients/internal-api/accounts-client.d.ts +82 -0
  26. package/dist/clients/internal-api/accounts-client.js +79 -0
  27. package/dist/clients/internal-api/accounts-client.js.map +1 -0
  28. package/dist/clients/internal-api/destinations-client.d.ts +54 -0
  29. package/dist/clients/internal-api/destinations-client.js +37 -0
  30. package/dist/clients/internal-api/destinations-client.js.map +1 -0
  31. package/{src/clients/internal-api/index.ts → dist/clients/internal-api/index.d.ts} +4 -4
  32. package/dist/clients/internal-api/index.js +5 -0
  33. package/dist/clients/internal-api/index.js.map +1 -0
  34. package/dist/clients/internal-api/shopify-app-install-client.d.ts +57 -0
  35. package/dist/clients/internal-api/shopify-app-install-client.js +43 -0
  36. package/dist/clients/internal-api/shopify-app-install-client.js.map +1 -0
  37. package/dist/clients/internal-api/users-auth-client.d.ts +61 -0
  38. package/dist/clients/internal-api/users-auth-client.js +74 -0
  39. package/dist/clients/internal-api/users-auth-client.js.map +1 -0
  40. package/dist/clients/third-party/index.d.ts +1 -0
  41. package/dist/clients/third-party/index.js +2 -0
  42. package/dist/clients/third-party/index.js.map +1 -0
  43. package/dist/clients/third-party/shopify-client.d.ts +90 -0
  44. package/dist/clients/third-party/shopify-client.js +122 -0
  45. package/dist/clients/third-party/shopify-client.js.map +1 -0
  46. package/{src/helpers/index.ts → dist/helpers/index.d.ts} +5 -5
  47. package/dist/helpers/index.js +6 -0
  48. package/dist/helpers/index.js.map +1 -0
  49. package/dist/helpers/input-validation-helper.d.ts +2 -0
  50. package/dist/helpers/input-validation-helper.js +19 -0
  51. package/dist/helpers/input-validation-helper.js.map +1 -0
  52. package/dist/helpers/logging-helper.d.ts +1 -0
  53. package/dist/helpers/logging-helper.js +10 -0
  54. package/dist/helpers/logging-helper.js.map +1 -0
  55. package/dist/helpers/response-helper.d.ts +36 -0
  56. package/dist/helpers/response-helper.js +36 -0
  57. package/dist/helpers/response-helper.js.map +1 -0
  58. package/dist/helpers/shopify-helper.d.ts +9 -0
  59. package/dist/helpers/shopify-helper.js +24 -0
  60. package/dist/helpers/shopify-helper.js.map +1 -0
  61. package/dist/helpers/subscription-helper.d.ts +8 -0
  62. package/dist/helpers/subscription-helper.js +182 -0
  63. package/dist/helpers/subscription-helper.js.map +1 -0
  64. package/dist/index.d.ts +5 -737
  65. package/dist/index.esm.js +6 -2
  66. package/dist/index.esm.js.map +2 -2
  67. package/dist/index.js +6 -1404
  68. package/dist/index.js.map +1 -7
  69. package/dist/libs/crypto.d.ts +1 -0
  70. package/dist/libs/crypto.js +6 -0
  71. package/dist/libs/crypto.js.map +1 -0
  72. package/dist/libs/dates.d.ts +3 -0
  73. package/dist/libs/dates.js +11 -0
  74. package/dist/libs/dates.js.map +1 -0
  75. package/dist/libs/http-error.d.ts +21 -0
  76. package/dist/libs/http-error.js +56 -0
  77. package/dist/libs/http-error.js.map +1 -0
  78. package/dist/libs/http-status-codes.d.ts +58 -0
  79. package/dist/libs/http-status-codes.js +60 -0
  80. package/dist/libs/http-status-codes.js.map +1 -0
  81. package/{src/libs/index.ts → dist/libs/index.d.ts} +6 -7
  82. package/dist/libs/index.js +7 -0
  83. package/dist/libs/index.js.map +1 -0
  84. package/dist/libs/url.d.ts +1 -0
  85. package/dist/libs/url.js +10 -0
  86. package/dist/libs/url.js.map +1 -0
  87. package/dist/services/eventbridge-integration-service.d.ts +9 -0
  88. package/dist/services/eventbridge-integration-service.js +25 -0
  89. package/dist/services/eventbridge-integration-service.js.map +1 -0
  90. package/dist/services/index.d.ts +1 -0
  91. package/dist/services/index.js +2 -0
  92. package/dist/services/index.js.map +1 -0
  93. package/{src/types/api-response.ts → dist/types/api-response.d.ts} +6 -6
  94. package/dist/types/api-response.js +2 -0
  95. package/dist/types/api-response.js.map +1 -0
  96. package/dist/types/index.d.ts +1 -0
  97. package/dist/types/index.js +2 -0
  98. package/dist/types/index.js.map +1 -0
  99. package/dist/types/internal-events/event-detail-types.d.ts +20 -0
  100. package/dist/types/internal-events/event-detail-types.js +25 -0
  101. package/dist/types/internal-events/event-detail-types.js.map +1 -0
  102. package/dist/types/internal-events/index.d.ts +1 -0
  103. package/dist/types/internal-events/index.js +2 -0
  104. package/dist/types/internal-events/index.js.map +1 -0
  105. package/package.json +14 -5
  106. package/.editorconfig +0 -12
  107. package/.eslintignore +0 -3
  108. package/.eslintrc.json +0 -37
  109. package/.husky/pre-push +0 -4
  110. package/.vscode/settings.json +0 -10
  111. package/bitbucket-pipelines.yml +0 -20
  112. package/build.js +0 -39
  113. package/env.yml +0 -9
  114. package/jest.config.ts +0 -41
  115. package/src/__tests__/helpers/subscription-helper.spec.ts +0 -41
  116. package/src/clients/generic/axios.d.ts +0 -8
  117. package/src/clients/generic/cognito-client.ts +0 -154
  118. package/src/clients/generic/dynamodb-client.ts +0 -127
  119. package/src/clients/generic/eventbridge-client.ts +0 -53
  120. package/src/clients/generic/http-client.ts +0 -34
  121. package/src/clients/generic/s3-client.ts +0 -27
  122. package/src/clients/internal-api/accounts-client.ts +0 -126
  123. package/src/clients/internal-api/destinations-client.ts +0 -58
  124. package/src/clients/internal-api/shopify-app-install-client.ts +0 -66
  125. package/src/clients/internal-api/users-auth-client.ts +0 -112
  126. package/src/clients/third-party/index.ts +0 -1
  127. package/src/clients/third-party/shopify-client.ts +0 -139
  128. package/src/helpers/input-validation-helper.ts +0 -22
  129. package/src/helpers/logging-helper.ts +0 -10
  130. package/src/helpers/response-helper.ts +0 -40
  131. package/src/helpers/shopify-helper.ts +0 -39
  132. package/src/helpers/subscription-helper.ts +0 -243
  133. package/src/index.ts +0 -5
  134. package/src/libs/crypto.ts +0 -6
  135. package/src/libs/dates.ts +0 -14
  136. package/src/libs/http-error.ts +0 -90
  137. package/src/libs/http-status-codes.ts +0 -344
  138. package/src/libs/url.ts +0 -10
  139. package/src/services/eventbridge-integration-service.ts +0 -44
  140. package/src/services/index.ts +0 -1
  141. package/src/types/index.ts +0 -1
  142. package/src/types/internal-events/event-detail-types.ts +0 -10
  143. package/src/types/internal-events/index.ts +0 -1
  144. package/tsconfig.json +0 -35
  145. package/tsconfig.tsbuildinfo +0 -1
  146. package/tslint.json +0 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventbridge-integration-service.js","sourceRoot":"","sources":["../../src/services/eventbridge-integration-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAE7E,OAAO,EAAE,8BAA8B,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAIrH,MAAM,OAAO,6BAA6B;IACjC,iBAAiB,CAAoB;IACrC,cAAc,CAAS;IAE9B,YAAa,YAAoB;QAC/B,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAC7D,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC;IACrC,CAAC;IAEM,sBAAsB,GAAG,KAAK,EAAE,WAAmB,EAAE,eAAwB,EAAE,mBAA2B,EAAE,EAAE;QACnH,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CACnD,WAAW,EACX,8BAA8B,CAAC,mBAAmB,EAClD;YACE,eAAe;YACf,mBAAmB,EAAE,mBAAmB,CAAC,YAAY;YACrD,mBAAmB;SACpB,CAAC,CAAC;IACP,CAAC,CAAC;IAEK,+BAA+B,GAAG,KAAK,EAAE,WAAmB,EAAE,eAAiC,EAAE,mBAA2B,EAAE,EAAE;QACrI,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CACnD,WAAW,EACX,8BAA8B,CAAC,mBAAmB,EAClD;YACE,eAAe;YACf,mBAAmB,EAAE,mBAAmB,CAAC,cAAc;YACvD,mBAAmB;SACpB,CAAC,CAAC;IACP,CAAC,CAAC;CAEH"}
@@ -0,0 +1 @@
1
+ export * from './eventbridge-integration-service.js';
@@ -0,0 +1,2 @@
1
+ export * from './eventbridge-integration-service.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAC"}
@@ -1,6 +1,6 @@
1
- import { AxiosResponseHeaders } from 'axios';
2
- export interface ApiResponse<T> {
3
- data: T;
4
- status: number;
5
- headers?: AxiosResponseHeaders;
6
- }
1
+ import { AxiosResponseHeaders } from 'axios';
2
+ export interface ApiResponse<T> {
3
+ data: T;
4
+ status: number;
5
+ headers?: AxiosResponseHeaders;
6
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=api-response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-response.js","sourceRoot":"","sources":["../../src/types/api-response.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export * from './internal-events/index.js';
@@ -0,0 +1,2 @@
1
+ export * from './internal-events/index.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC"}
@@ -0,0 +1,20 @@
1
+ export declare enum ADTRACKIFY_EVENT_TYPES {
2
+ NOTIFY_SHOPIFY_SUBSCRIPTION_CREATED = "shopifySubscriptionCreated",
3
+ NOTIFY_SUBSCRIPTION_SIGNUP_COMPLETED = "subscription.signupCompleted",
4
+ REQUEST_SET_ACCOUNT_OWNER = "setAccountOwner",
5
+ REQUEST_SET_ACCOUNT_SUBSCRIPTION_ID = "setAccountSubscriptionId"
6
+ }
7
+ export declare enum ADTRACKIFY_EVENT_SOURCES {
8
+ SUBSCRIPTIONS = "subscriptions"
9
+ }
10
+ export declare const enum PostmarkRequestType {
11
+ SINGLE_EMAIL = "single_email",
12
+ TEMPLATE_EMAIL = "template_email"
13
+ }
14
+ export declare enum ADTRACKIFY_EVENT_BRIDGE_EVENTS {
15
+ SEND_POSTMARK_EMAIL = "integration.sendPostmarkEmail",
16
+ NOTIFY_SHOPIFY_SUBSCRIPTION_CREATED = "shopifySubscriptionCreated",
17
+ NOTIFY_SUBSCRIPTION_SIGNUP_COMPLETED = "subscription.signupCompleted",
18
+ REQUEST_SET_ACCOUNT_OWNER = "setAccountOwner",
19
+ REQUEST_SET_ACCOUNT_SUBSCRIPTION_ID = "setAccountSubscriptionId"
20
+ }
@@ -0,0 +1,25 @@
1
+ export var ADTRACKIFY_EVENT_TYPES;
2
+ (function (ADTRACKIFY_EVENT_TYPES) {
3
+ ADTRACKIFY_EVENT_TYPES["NOTIFY_SHOPIFY_SUBSCRIPTION_CREATED"] = "shopifySubscriptionCreated";
4
+ ADTRACKIFY_EVENT_TYPES["NOTIFY_SUBSCRIPTION_SIGNUP_COMPLETED"] = "subscription.signupCompleted";
5
+ ADTRACKIFY_EVENT_TYPES["REQUEST_SET_ACCOUNT_OWNER"] = "setAccountOwner";
6
+ ADTRACKIFY_EVENT_TYPES["REQUEST_SET_ACCOUNT_SUBSCRIPTION_ID"] = "setAccountSubscriptionId";
7
+ })(ADTRACKIFY_EVENT_TYPES || (ADTRACKIFY_EVENT_TYPES = {}));
8
+ export var ADTRACKIFY_EVENT_SOURCES;
9
+ (function (ADTRACKIFY_EVENT_SOURCES) {
10
+ ADTRACKIFY_EVENT_SOURCES["SUBSCRIPTIONS"] = "subscriptions";
11
+ })(ADTRACKIFY_EVENT_SOURCES || (ADTRACKIFY_EVENT_SOURCES = {}));
12
+ export var PostmarkRequestType;
13
+ (function (PostmarkRequestType) {
14
+ PostmarkRequestType["SINGLE_EMAIL"] = "single_email";
15
+ PostmarkRequestType["TEMPLATE_EMAIL"] = "template_email";
16
+ })(PostmarkRequestType || (PostmarkRequestType = {}));
17
+ export var ADTRACKIFY_EVENT_BRIDGE_EVENTS;
18
+ (function (ADTRACKIFY_EVENT_BRIDGE_EVENTS) {
19
+ ADTRACKIFY_EVENT_BRIDGE_EVENTS["SEND_POSTMARK_EMAIL"] = "integration.sendPostmarkEmail";
20
+ ADTRACKIFY_EVENT_BRIDGE_EVENTS["NOTIFY_SHOPIFY_SUBSCRIPTION_CREATED"] = "shopifySubscriptionCreated";
21
+ ADTRACKIFY_EVENT_BRIDGE_EVENTS["NOTIFY_SUBSCRIPTION_SIGNUP_COMPLETED"] = "subscription.signupCompleted";
22
+ ADTRACKIFY_EVENT_BRIDGE_EVENTS["REQUEST_SET_ACCOUNT_OWNER"] = "setAccountOwner";
23
+ ADTRACKIFY_EVENT_BRIDGE_EVENTS["REQUEST_SET_ACCOUNT_SUBSCRIPTION_ID"] = "setAccountSubscriptionId";
24
+ })(ADTRACKIFY_EVENT_BRIDGE_EVENTS || (ADTRACKIFY_EVENT_BRIDGE_EVENTS = {}));
25
+ //# sourceMappingURL=event-detail-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-detail-types.js","sourceRoot":"","sources":["../../../src/types/internal-events/event-detail-types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,sBAKX;AALD,WAAY,sBAAsB;IAChC,4FAAkE,CAAA;IAClE,+FAAqE,CAAA;IACrE,uEAA6C,CAAA;IAC7C,0FAAgE,CAAA;AAClE,CAAC,EALW,sBAAsB,KAAtB,sBAAsB,QAKjC;AAED,MAAM,CAAN,IAAY,wBAEX;AAFD,WAAY,wBAAwB;IAClC,2DAA+B,CAAA;AACjC,CAAC,EAFW,wBAAwB,KAAxB,wBAAwB,QAEnC;AAED,MAAM,CAAN,IAAkB,mBAGjB;AAHD,WAAkB,mBAAmB;IACnC,oDAA6B,CAAA;IAC7B,wDAAiC,CAAA;AACnC,CAAC,EAHiB,mBAAmB,KAAnB,mBAAmB,QAGpC;AAED,MAAM,CAAN,IAAY,8BAMX;AAND,WAAY,8BAA8B;IACxC,uFAAqD,CAAA;IACrD,oGAAkE,CAAA;IAClE,uGAAqE,CAAA;IACrE,+EAA6C,CAAA;IAC7C,kGAAgE,CAAA;AAClE,CAAC,EANW,8BAA8B,KAA9B,8BAA8B,QAMzC"}
@@ -0,0 +1 @@
1
+ export * from './event-detail-types.js';
@@ -0,0 +1,2 @@
1
+ export * from './event-detail-types.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/internal-events/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
package/package.json CHANGED
@@ -1,9 +1,16 @@
1
1
  {
2
2
  "name": "@adtrackify/at-service-common",
3
- "version": "1.1.21",
3
+ "version": "1.2.1",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "modules": "esm",
7
+ "files": [
8
+ "dist/*"
9
+ ],
10
+ "main": "./dist/index.esm.js",
11
+ "module": "./dist/index.js",
12
+ "types": "./dist/index.d.ts",
13
+ "typings": "./dist/index.d.ts",
7
14
  "exports": {
8
15
  ".": {
9
16
  "require": "./dist/index.js",
@@ -17,8 +24,8 @@
17
24
  },
18
25
  "scripts": {
19
26
  "clean": "rimraf dist",
20
- "build": "cross-env NODE_ENV=production node build.js",
21
- "build:dev": "npm run clean && npm run verify && cross-env NODE_ENV=production stage=dev APP_ENV=dev npm run build",
27
+ "build": "cross-env NODE_ENV=production node build.js && npm run tsc",
28
+ "build:dev": "npm run clean && npm run verify && cross-env NODE_ENV=production stage=dev APP_ENV=dev npm run build ",
22
29
  "build:qa": "npm run clean && npm run verify && cross-env NODE_ENV=production stage=qa APP_ENV=qa npm run build",
23
30
  "build:prod": "npm run clean && npm run verify && cross-env NODE_ENV=production stage=prod APP_ENV=prod npm run build",
24
31
  "elint": "eslint .",
@@ -32,12 +39,14 @@
32
39
  "verify": "npm run clean && npm run type-check && npm run lint:fix",
33
40
  "version": "npm run format && git add -A src",
34
41
  "postversion": "git push && git push --tags",
35
- "push": "npm install && npm run build:dev && npm publish",
42
+ "tsc": "tsc -p tsconfig.json",
43
+ "push": "npm install && npm run build:dev && npm publish --verbose",
36
44
  "type-check": "tsc --noEmit"
37
45
  },
38
46
  "dependencies": {
47
+ "assert": "^2.0.0",
39
48
  "axios": "^1.3.4",
40
- "axios-retry": "^3.4.0",
49
+ "crypto": "^1.0.1",
41
50
  "joi": "^17.6.0",
42
51
  "lambda-log": "^3.1.0",
43
52
  "luxon": "^3.0.3",
package/.editorconfig DELETED
@@ -1,12 +0,0 @@
1
- root = true
2
-
3
- [*]
4
- end_of_line = lf
5
- charset = utf-8
6
- trim_trailing_whitespace = true
7
- insert_final_newline = false
8
- indent_style = space
9
- indent_size = 2
10
-
11
- [*.{diff,md}]
12
- trim_trailing_whitespace = false
package/.eslintignore DELETED
@@ -1,3 +0,0 @@
1
- **/*.js
2
- build.js
3
- build.cjs
package/.eslintrc.json DELETED
@@ -1,37 +0,0 @@
1
- {
2
- "root": true,
3
- "env": {
4
- "browser": true,
5
- "jest": true,
6
- "es2021": true
7
- },
8
- "extends": [
9
- "eslint:recommended",
10
- "plugin:@typescript-eslint/recommended"
11
- ],
12
- "parser": "@typescript-eslint/parser",
13
- "parserOptions": {
14
- "ecmaVersion": 12,
15
- "sourceType": "module"
16
- },
17
- "plugins": [
18
- "@typescript-eslint",
19
- "babel"
20
- ],
21
- "globals": {
22
- "process": false,
23
- "exports": false
24
- },
25
- "rules": {
26
- "@typescript-eslint/ban-ts-comment": "off",
27
- "@typescript-eslint/no-explicit-any": "off",
28
- "@typescript-eslint/no-unused-vars": [
29
- "error"
30
- ],
31
- "no-unused-vars": "off",
32
- "quotes": [
33
- "error",
34
- "single"
35
- ]
36
- }
37
- }
package/.husky/pre-push DELETED
@@ -1,4 +0,0 @@
1
- #!/bin/sh
2
- . "$(dirname "$0")/_/husky.sh"
3
-
4
- npm run build:dev
@@ -1,10 +0,0 @@
1
- { "eslint.validate": [
2
- "javascript",
3
- "javascriptreact",
4
- "typescript",
5
- "typescriptreact"
6
- ],
7
- "editor.codeActionsOnSave": {
8
- "source.fixAll.eslint": true,
9
- },
10
- }
@@ -1,20 +0,0 @@
1
- image: sleavely/node-awscli:18.x
2
-
3
- pipelines:
4
- default:
5
- - step:
6
- caches:
7
- - node
8
- script:
9
- - printf "//`node -p \"require('url').parse(process.env.NPM_REGISTRY_URL || 'https://registry.npmjs.org').host\"`/:_authToken=${NPM_TOKEN}\nregistry=${NPM_REGISTRY_URL:-https://registry.npmjs.org}\n" >> ~/.npmrc
10
- - npm install
11
- - npm run build:dev
12
- branches:
13
- master:
14
- - step:
15
- deployment: prod
16
- caches:
17
- - node
18
- script:
19
- - printf "//`node -p \"require('url').parse(process.env.NPM_REGISTRY_URL || 'https://registry.npmjs.org').host\"`/:_authToken=${NPM_TOKEN}\nregistry=${NPM_REGISTRY_URL:-https://registry.npmjs.org}\n" >> ~/.npmrc
20
- - npm run push
package/build.js DELETED
@@ -1,39 +0,0 @@
1
- // @ts-nocheck
2
- // @ts-ignore
3
- /* eslint-disable */
4
- /* eslint-disable */
5
- import { build } from 'esbuild'
6
- import npmdts from 'npm-dts'
7
-
8
- import { readFile } from 'fs/promises';
9
- const json = JSON.parse(
10
- await readFile(
11
- new URL('./package.json', import.meta.url)
12
- )
13
- );
14
-
15
- console.log(json.dependencies);
16
- build({
17
- entryPoints: ['./src/index.ts'],
18
- outfile: 'dist/index.js',
19
- bundle: true,
20
- platform: 'node',
21
- sourcemap: 'linked',
22
- external: [...Object.keys(json.dependencies), '@aws-sdk/client-dynamodb', '@aws-sdk/client-eventbridge', '@aws-sdk/lib-dynamodb', '@aws-sdk/client-s3', '@aws-sdk/client-cognito-identity-provider', "@faker-js/faker"]
23
- })
24
-
25
- build({
26
- entryPoints: ['./src/index.ts'],
27
- outfile: 'dist/index.esm.js',
28
- bundle: true,
29
- format: 'esm',
30
- platform: 'node',
31
- sourcemap: 'linked',
32
- external: [...Object.keys(json.dependencies), '@aws-sdk/client-dynamodb', '@aws-sdk/client-eventbridge', '@aws-sdk/lib-dynamodb', '@aws-sdk/client-s3', '@aws-sdk/client-cognito-identity-provider', "@faker-js/faker"]
33
- })
34
-
35
-
36
- new npmdts.Generator({
37
- entry: 'src/index.ts',
38
- output: 'dist/index.d.ts',
39
- }).generate()
package/env.yml DELETED
@@ -1,9 +0,0 @@
1
- dev:
2
- STAGE: dev
3
- LOG_LEVEL: debug
4
- qa:
5
- STAGE: qa
6
- LOG_LEVEL: debug
7
- prod:
8
- STAGE: prod
9
- LOG_LEVEL: error
package/jest.config.ts DELETED
@@ -1,41 +0,0 @@
1
- /*eslint-disable */
2
-
3
- export default {
4
- globals: {
5
- 'ts-jest': {
6
- isolatedModules: true
7
- },
8
- '@swc/jest': {
9
- isolatedModules: true
10
- }
11
-
12
- },
13
- roots: [ '<rootDir>/src' ],
14
- testRegex: '\\.spec\\.(js|ts)$',
15
- transform: {
16
- "^.+\\.(t|j)sx?$": [ "@swc/jest" ],
17
- },
18
- moduleFileExtensions: [ 'js', 'json', 'ts' ],
19
- transformIgnorePatterns: [],
20
- runner: 'groups',
21
- verbose: false,
22
- coverageThreshold: {
23
- global: {
24
- branches: 0,
25
- functions: 0,
26
- lines: 0,
27
- statements: 0
28
- }
29
- },
30
- coverageReporters: [ 'html', 'text', 'text-summary', 'cobertura' ],
31
- reporters: [ 'default', 'jest-junit' ],
32
- collectCoverageFrom: [
33
- 'src/**/*.ts',
34
- '!src/**/*.spec.js',
35
- 'src/**/*.js',
36
- '!src/**/*.spec.ts',
37
- '!src/**/tests/**'
38
- ],
39
- setupFilesAfterEnv: [],
40
- };
41
- /*eslint-enable */
@@ -1,41 +0,0 @@
1
-
2
- /**
3
- * @group unit
4
- */
5
-
6
- /* eslint-disable */
7
-
8
- jest.mock('lambda-log');
9
- import * as Logger from 'lambda-log';
10
- import { getPlanDetails } from '../../helpers/subscription-helper.js';
11
-
12
- describe('postmark service email test', () => {
13
- jest.spyOn(Logger, 'warn').mockImplementation(() => {
14
- return new Logger.LogMessage({ level: 'null', msg: 'null' }, {});
15
- });
16
- jest.spyOn(Logger, 'info').mockImplementation(() => {
17
- return new Logger.LogMessage({ level: 'null', msg: 'null' }, {});
18
- });
19
- jest.spyOn(Logger, 'debug').mockImplementation(() => {
20
- return new Logger.LogMessage({ level: 'null', msg: 'null' }, {});
21
- });
22
- jest.spyOn(Logger, 'error').mockImplementation(() => {
23
- return new Logger.LogMessage({ level: 'null', msg: 'null' }, {});
24
- });
25
-
26
- beforeEach(async () => {
27
-
28
- });
29
-
30
- afterEach(() => {
31
- jest.resetAllMocks();
32
- });
33
-
34
-
35
- it('should call send email message', async () => {
36
- const plan = getPlanDetails(2, 'dev');
37
- console.log(plan);
38
- expect(plan).not.toEqual(null);
39
- });
40
-
41
- });
@@ -1,8 +0,0 @@
1
- declare module 'axios/lib/adapters/http' {
2
- import { AxiosAdapter } from 'axios';
3
-
4
- const httpAdapter: AxiosAdapter;
5
- namespace httpAdapter { }
6
-
7
- export = httpAdapter;
8
- }
@@ -1,154 +0,0 @@
1
- /* eslint-disable no-useless-escape */
2
- import { AdminConfirmSignUpCommandInput, AdminDeleteUserCommandInput, AdminUpdateUserAttributesCommandInput, CognitoIdentityProvider, ConfirmSignUpCommandInput, ForgotPasswordCommandInput, ListUsersCommandInput, ResendConfirmationCodeCommandInput, SignUpCommandInput } from '@aws-sdk/client-cognito-identity-provider';
3
- import * as log from 'lambda-log';
4
-
5
- export function dictToAwsAttributes(input: any) {
6
- delete input.email;
7
- delete input.password;
8
- const output = [];
9
- for (const att in input) {
10
- if (Object.prototype.hasOwnProperty.call(input, att)) {
11
- output.push({ Name: att, Value: input[ att ] });
12
- }
13
- }
14
- return output;
15
- }
16
-
17
- const buildAttributes = (data: any) => {
18
- const attributes = {
19
- name: data.givenName,
20
- family_name: data.familyName,
21
- };
22
- return dictToAwsAttributes(attributes);
23
- };
24
-
25
- export class CognitoClient {
26
- public cognitoClient: any
27
- public USER_POOL_ID: string;
28
- public USER_POOL_NO_SECRET_CLIENT_ID: string;
29
-
30
- constructor(userPoolId: string, userPoolNoSecretClientId: string) {
31
- this.cognitoClient = new CognitoIdentityProvider({});
32
- this.USER_POOL_ID = userPoolId;
33
- this.USER_POOL_NO_SECRET_CLIENT_ID = userPoolNoSecretClientId;
34
- }
35
-
36
- public signupUser = async (data: any) => {
37
- const params: SignUpCommandInput = {
38
- ClientId: this.USER_POOL_NO_SECRET_CLIENT_ID,
39
- Password: data.password,
40
- Username: data.email,
41
- UserAttributes: buildAttributes(data),
42
- };
43
- const cognitoResponse = await this.cognitoClient.signUp(params);
44
- log.debug('Successfully Registered User', { cognitoResponse });
45
- return cognitoResponse;
46
- }
47
-
48
- public forgotPassword = async (email: string) => {
49
- await this.adminEmailVerify(email);
50
- const params: ForgotPasswordCommandInput = {
51
- ClientId: this.USER_POOL_NO_SECRET_CLIENT_ID,
52
- Username: email,
53
- };
54
- const cognitoResponse = await this.cognitoClient.forgotPassword(params);
55
- log.debug('Sent Forgot Password', { cognitoResponse });
56
- return cognitoResponse;
57
- }
58
-
59
- public adminEmailVerify = async (email: string) => {
60
- try {
61
- const user: any = await this.getUserByEmail(email);
62
- if (user && user?.UserStatus === 'CONFIRMED' && user?.email_verified !== 'true') {
63
- await this.forceValidateEmail(email);
64
- }
65
- } catch (error) {
66
- log.error('Failed admin email verify', { error });
67
- }
68
- }
69
-
70
- public forceValidateEmail = async (email: string) => {
71
- try {
72
- const params: AdminUpdateUserAttributesCommandInput = {
73
- UserPoolId: this.USER_POOL_ID,
74
- Username: email,
75
- UserAttributes: [
76
- {
77
- Name: 'email_verified',
78
- Value: 'true',
79
- },
80
- ],
81
- };
82
- await this.cognitoClient.adminUpdateUserAttributes(params);
83
- } catch (error) {
84
- log.error('Failed force validate email', { email, error });
85
- }
86
- }
87
-
88
- public adminConfirmUser = async (data: any) => {
89
- const params: AdminConfirmSignUpCommandInput = {
90
- UserPoolId: this.USER_POOL_ID,
91
- Username: data.email,
92
- };
93
- const cognitoResponse = await this.cognitoClient.adminConfirmSignUp(params);
94
- await this.forceValidateEmail(data.email);
95
- log.debug('Admin Successfully Confirmed User', { cognitoResponse });
96
- return cognitoResponse;
97
- }
98
-
99
- public confirmUser = async (data: any) => {
100
- const params: ConfirmSignUpCommandInput = {
101
- ClientId: this.USER_POOL_NO_SECRET_CLIENT_ID,
102
- ConfirmationCode: data.confirmationCode,
103
- Username: data.email,
104
- };
105
- const cognitoResponse = await this.cognitoClient.confirmSignUp(params);
106
- log.debug('Successfully Confirmed User', { cognitoResponse });
107
- return cognitoResponse;
108
- }
109
-
110
- public resendCode = async (email: string) => {
111
- const params: ResendConfirmationCodeCommandInput = {
112
- ClientId: this.USER_POOL_NO_SECRET_CLIENT_ID,
113
- Username: email,
114
- };
115
- await this.cognitoClient.resendConfirmationCode(params);
116
- log.debug('Successfully Resend Confirmation Code', { email });
117
- return;
118
- }
119
-
120
- public adminDeleteUser = async (userId: string) => {
121
- const params: AdminDeleteUserCommandInput = {
122
- UserPoolId: this.USER_POOL_ID,
123
- Username: userId,
124
- };
125
- await this.cognitoClient.adminDeleteUser(params);
126
- return true;
127
- }
128
-
129
- public getUserByEmail = async (email: string) => {
130
- const params: ListUsersCommandInput = {
131
- UserPoolId: this.USER_POOL_ID,
132
- Filter: `email=\"${email}\"`,
133
- Limit: 1,
134
- };
135
- const cognitoResponse: any = await this.cognitoClient.listUsers(params);
136
- log.debug('Get Users by Email', { cognitoResponse });
137
-
138
- if (cognitoResponse?.Users && cognitoResponse?.Users.length > 0) {
139
- const attributes = cognitoResponse.Users[ 0 ].Attributes;
140
-
141
- const user = {
142
- ...cognitoResponse.Users[ 0 ],
143
- Attributes: undefined,
144
- id: cognitoResponse.Users[ 0 ].sub,
145
- };
146
-
147
- attributes.forEach((attr: any) => {
148
- user[ attr.Name ] = attr?.Value;
149
- });
150
- return user;
151
- }
152
- return null;
153
- }
154
- }