@adtrackify/at-service-common 3.0.98 → 3.1.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 (263) hide show
  1. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  2. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.js +527 -527
  3. package/dist/cjs/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  4. package/dist/cjs/__tests__/libs/compress-decompress.spec.js +16 -16
  5. package/dist/cjs/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  6. package/dist/cjs/__tests__/s3-client/s3-client.spec.js +26 -26
  7. package/dist/cjs/clients/generic/cognito-client.d.ts +20 -20
  8. package/dist/cjs/clients/generic/cognito-client.js +164 -164
  9. package/dist/cjs/clients/generic/dynamodb-client.d.ts +17 -17
  10. package/dist/cjs/clients/generic/dynamodb-client.js +167 -167
  11. package/dist/cjs/clients/generic/eventbridge-client.d.ts +14 -14
  12. package/dist/cjs/clients/generic/eventbridge-client.js +49 -49
  13. package/dist/cjs/clients/generic/http-client.d.ts +88 -88
  14. package/dist/cjs/clients/generic/http-client.js +60 -60
  15. package/dist/cjs/clients/generic/index.d.ts +10 -10
  16. package/dist/cjs/clients/generic/index.js +26 -26
  17. package/dist/cjs/clients/generic/lambda-invoke-client.d.ts +10 -10
  18. package/dist/cjs/clients/generic/lambda-invoke-client.js +35 -35
  19. package/dist/cjs/clients/generic/location-client.d.ts +8 -8
  20. package/dist/cjs/clients/generic/location-client.js +31 -31
  21. package/dist/cjs/clients/generic/redis-client.d.ts +17 -17
  22. package/dist/cjs/clients/generic/redis-client.js +117 -117
  23. package/dist/cjs/clients/generic/s3-client.d.ts +16 -16
  24. package/dist/cjs/clients/generic/s3-client.js +110 -110
  25. package/dist/cjs/clients/generic/singlestore-db-client.d.ts +14 -14
  26. package/dist/cjs/clients/generic/singlestore-db-client.js +67 -67
  27. package/dist/cjs/clients/generic/sqs-client.d.ts +14 -20
  28. package/dist/cjs/clients/generic/sqs-client.js +36 -36
  29. package/dist/cjs/clients/generic/sqs-client.js.map +1 -1
  30. package/dist/cjs/clients/index.d.ts +3 -3
  31. package/dist/cjs/clients/index.js +19 -19
  32. package/dist/cjs/clients/internal-api/accounts-client.d.ts +112 -112
  33. package/dist/cjs/clients/internal-api/accounts-client.js +117 -117
  34. package/dist/cjs/clients/internal-api/cache-lambda-client.d.ts +23 -23
  35. package/dist/cjs/clients/internal-api/cache-lambda-client.js +59 -59
  36. package/dist/cjs/clients/internal-api/db-management-client.d.ts +18 -18
  37. package/dist/cjs/clients/internal-api/db-management-client.js +39 -39
  38. package/dist/cjs/clients/internal-api/destinations-client.d.ts +29 -29
  39. package/dist/cjs/clients/internal-api/destinations-client.js +54 -54
  40. package/dist/cjs/clients/internal-api/event-collector-client.d.ts +20 -20
  41. package/dist/cjs/clients/internal-api/event-collector-client.js +39 -39
  42. package/dist/cjs/clients/internal-api/identity-client.d.ts +25 -25
  43. package/dist/cjs/clients/internal-api/identity-client.js +92 -92
  44. package/dist/cjs/clients/internal-api/index.d.ts +8 -8
  45. package/dist/cjs/clients/internal-api/index.js +24 -24
  46. package/dist/cjs/clients/internal-api/shopify-app-install-client.d.ts +34 -34
  47. package/dist/cjs/clients/internal-api/shopify-app-install-client.js +63 -63
  48. package/dist/cjs/clients/internal-api/users-auth-client.d.ts +31 -31
  49. package/dist/cjs/clients/internal-api/users-auth-client.js +92 -92
  50. package/dist/cjs/clients/third-party/index.d.ts +1 -1
  51. package/dist/cjs/clients/third-party/index.js +17 -17
  52. package/dist/cjs/clients/third-party/shopify-client.d.ts +197 -198
  53. package/dist/cjs/clients/third-party/shopify-client.js +196 -150
  54. package/dist/cjs/clients/third-party/shopify-client.js.map +1 -1
  55. package/dist/cjs/helpers/identity-cache-helper.d.ts +4 -4
  56. package/dist/cjs/helpers/identity-cache-helper.js +150 -150
  57. package/dist/cjs/helpers/index.d.ts +5 -5
  58. package/dist/cjs/helpers/index.js +21 -21
  59. package/dist/cjs/helpers/input-validation-helper.d.ts +3 -3
  60. package/dist/cjs/helpers/input-validation-helper.js +22 -22
  61. package/dist/cjs/helpers/logging-helper.d.ts +16 -16
  62. package/dist/cjs/helpers/logging-helper.js +84 -84
  63. package/dist/cjs/helpers/response-helper.d.ts +15 -15
  64. package/dist/cjs/helpers/response-helper.js +42 -42
  65. package/dist/cjs/helpers/shopify-helper.d.ts +9 -9
  66. package/dist/cjs/helpers/shopify-helper.js +28 -28
  67. package/dist/cjs/index.d.ts +5 -5
  68. package/dist/cjs/index.js +21 -21
  69. package/dist/cjs/libs/clickId-parser.d.ts +23 -23
  70. package/dist/cjs/libs/clickId-parser.js +49 -49
  71. package/dist/cjs/libs/compression.d.ts +2 -2
  72. package/dist/cjs/libs/compression.js +33 -33
  73. package/dist/cjs/libs/crypto.d.ts +1 -1
  74. package/dist/cjs/libs/crypto.js +12 -12
  75. package/dist/cjs/libs/dates.d.ts +6 -6
  76. package/dist/cjs/libs/dates.js +31 -31
  77. package/dist/cjs/libs/http-error.d.ts +21 -21
  78. package/dist/cjs/libs/http-error.js +59 -59
  79. package/dist/cjs/libs/http-status-codes.d.ts +58 -58
  80. package/dist/cjs/libs/http-status-codes.js +62 -62
  81. package/dist/cjs/libs/index.d.ts +9 -9
  82. package/dist/cjs/libs/index.js +25 -25
  83. package/dist/cjs/libs/referrer-parser/index.d.ts +2 -2
  84. package/dist/cjs/libs/referrer-parser/index.js +18 -18
  85. package/dist/cjs/libs/referrer-parser/referrer-data.d.ts +9 -9
  86. package/dist/cjs/libs/referrer-parser/referrer-data.js +4712 -4712
  87. package/dist/cjs/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  88. package/dist/cjs/libs/referrer-parser/referrer-parser-util.js +128 -128
  89. package/dist/cjs/libs/url.d.ts +1 -1
  90. package/dist/cjs/libs/url.js +13 -13
  91. package/dist/cjs/services/db/destinations-db-service.d.ts +8 -8
  92. package/dist/cjs/services/db/destinations-db-service.js +47 -47
  93. package/dist/cjs/services/db/identity-cache-db-service.d.ts +24 -24
  94. package/dist/cjs/services/db/identity-cache-db-service.js +233 -233
  95. package/dist/cjs/services/db/index.d.ts +7 -7
  96. package/dist/cjs/services/db/index.js +23 -23
  97. package/dist/cjs/services/db/log-events-db-service.d.ts +11 -11
  98. package/dist/cjs/services/db/log-events-db-service.js +172 -172
  99. package/dist/cjs/services/db/purchased-contacts-db-service.d.ts +9 -9
  100. package/dist/cjs/services/db/purchased-contacts-db-service.js +38 -38
  101. package/dist/cjs/services/db/shopify-app-installs-db-service.d.ts +7 -7
  102. package/dist/cjs/services/db/shopify-app-installs-db-service.js +47 -47
  103. package/dist/cjs/services/db/shopify-products-cache-db-service.d.ts +9 -9
  104. package/dist/cjs/services/db/shopify-products-cache-db-service.js +64 -64
  105. package/dist/cjs/services/db/shopify-products-cache-db-service.js.map +1 -1
  106. package/dist/cjs/services/db/tracking-events-db-service.d.ts +20 -20
  107. package/dist/cjs/services/db/tracking-events-db-service.js +162 -162
  108. package/dist/cjs/services/eventbridge-integration-service.d.ts +9 -9
  109. package/dist/cjs/services/eventbridge-integration-service.js +28 -28
  110. package/dist/cjs/services/index.d.ts +5 -5
  111. package/dist/cjs/services/index.js +21 -21
  112. package/dist/cjs/services/ipdata-lookup-service.d.ts +17 -17
  113. package/dist/cjs/services/ipdata-lookup-service.js +71 -71
  114. package/dist/cjs/services/log-event-service.d.ts +9 -9
  115. package/dist/cjs/services/log-event-service.js +56 -56
  116. package/dist/cjs/services/metric-event-service.d.ts +9 -9
  117. package/dist/cjs/services/metric-event-service.js +49 -49
  118. package/dist/cjs/types/api-response.d.ts +6 -6
  119. package/dist/cjs/types/api-response.js +2 -2
  120. package/dist/cjs/types/index.d.ts +1 -1
  121. package/dist/cjs/types/index.js +17 -17
  122. package/dist/cjs/types/internal-events/event-detail-types.d.ts +20 -20
  123. package/dist/cjs/types/internal-events/event-detail-types.js +27 -27
  124. package/dist/cjs/types/internal-events/index.d.ts +1 -1
  125. package/dist/cjs/types/internal-events/index.js +17 -17
  126. package/dist/cjs/types/shopify-graphql-types/admin.generated.d.ts +47 -0
  127. package/dist/cjs/types/shopify-graphql-types/admin.generated.js +3 -0
  128. package/dist/cjs/types/shopify-graphql-types/admin.generated.js.map +1 -0
  129. package/dist/cjs/types/shopify-graphql-types/admin.types.d.ts +26289 -0
  130. package/dist/cjs/types/shopify-graphql-types/admin.types.js +5312 -0
  131. package/dist/cjs/types/shopify-graphql-types/admin.types.js.map +1 -0
  132. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  133. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js +525 -525
  134. package/dist/esm/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  135. package/dist/esm/__tests__/libs/compress-decompress.spec.js +14 -14
  136. package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  137. package/dist/esm/__tests__/s3-client/s3-client.spec.js +24 -24
  138. package/dist/esm/clients/generic/cognito-client.d.ts +20 -20
  139. package/dist/esm/clients/generic/cognito-client.js +159 -159
  140. package/dist/esm/clients/generic/dynamodb-client.d.ts +17 -17
  141. package/dist/esm/clients/generic/dynamodb-client.js +163 -163
  142. package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
  143. package/dist/esm/clients/generic/eventbridge-client.js +45 -45
  144. package/dist/esm/clients/generic/http-client.d.ts +88 -88
  145. package/dist/esm/clients/generic/http-client.js +52 -52
  146. package/dist/esm/clients/generic/index.d.ts +10 -10
  147. package/dist/esm/clients/generic/index.js +10 -10
  148. package/dist/esm/clients/generic/lambda-invoke-client.d.ts +10 -10
  149. package/dist/esm/clients/generic/lambda-invoke-client.js +31 -31
  150. package/dist/esm/clients/generic/location-client.d.ts +8 -8
  151. package/dist/esm/clients/generic/location-client.js +27 -27
  152. package/dist/esm/clients/generic/redis-client.d.ts +17 -17
  153. package/dist/esm/clients/generic/redis-client.js +110 -110
  154. package/dist/esm/clients/generic/s3-client.d.ts +16 -16
  155. package/dist/esm/clients/generic/s3-client.js +106 -106
  156. package/dist/esm/clients/generic/singlestore-db-client.d.ts +14 -14
  157. package/dist/esm/clients/generic/singlestore-db-client.js +40 -40
  158. package/dist/esm/clients/generic/sqs-client.d.ts +14 -20
  159. package/dist/esm/clients/generic/sqs-client.js +32 -32
  160. package/dist/esm/clients/generic/sqs-client.js.map +1 -1
  161. package/dist/esm/clients/index.d.ts +3 -3
  162. package/dist/esm/clients/index.js +3 -3
  163. package/dist/esm/clients/internal-api/accounts-client.d.ts +112 -112
  164. package/dist/esm/clients/internal-api/accounts-client.js +113 -113
  165. package/dist/esm/clients/internal-api/cache-lambda-client.d.ts +23 -23
  166. package/dist/esm/clients/internal-api/cache-lambda-client.js +55 -55
  167. package/dist/esm/clients/internal-api/db-management-client.d.ts +18 -18
  168. package/dist/esm/clients/internal-api/db-management-client.js +32 -32
  169. package/dist/esm/clients/internal-api/destinations-client.d.ts +29 -29
  170. package/dist/esm/clients/internal-api/destinations-client.js +50 -50
  171. package/dist/esm/clients/internal-api/event-collector-client.d.ts +20 -20
  172. package/dist/esm/clients/internal-api/event-collector-client.js +32 -32
  173. package/dist/esm/clients/internal-api/identity-client.d.ts +25 -25
  174. package/dist/esm/clients/internal-api/identity-client.js +88 -88
  175. package/dist/esm/clients/internal-api/index.d.ts +8 -8
  176. package/dist/esm/clients/internal-api/index.js +8 -8
  177. package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +34 -34
  178. package/dist/esm/clients/internal-api/shopify-app-install-client.js +56 -56
  179. package/dist/esm/clients/internal-api/users-auth-client.d.ts +31 -31
  180. package/dist/esm/clients/internal-api/users-auth-client.js +88 -88
  181. package/dist/esm/clients/third-party/index.d.ts +1 -1
  182. package/dist/esm/clients/third-party/index.js +1 -1
  183. package/dist/esm/clients/third-party/shopify-client.d.ts +197 -198
  184. package/dist/esm/clients/third-party/shopify-client.js +192 -146
  185. package/dist/esm/clients/third-party/shopify-client.js.map +1 -1
  186. package/dist/esm/helpers/identity-cache-helper.d.ts +4 -4
  187. package/dist/esm/helpers/identity-cache-helper.js +145 -145
  188. package/dist/esm/helpers/index.d.ts +5 -5
  189. package/dist/esm/helpers/index.js +5 -5
  190. package/dist/esm/helpers/input-validation-helper.d.ts +3 -3
  191. package/dist/esm/helpers/input-validation-helper.js +18 -18
  192. package/dist/esm/helpers/logging-helper.d.ts +16 -16
  193. package/dist/esm/helpers/logging-helper.js +56 -56
  194. package/dist/esm/helpers/response-helper.d.ts +15 -15
  195. package/dist/esm/helpers/response-helper.js +36 -36
  196. package/dist/esm/helpers/shopify-helper.d.ts +9 -9
  197. package/dist/esm/helpers/shopify-helper.js +23 -23
  198. package/dist/esm/index.d.ts +5 -5
  199. package/dist/esm/index.js +5 -5
  200. package/dist/esm/libs/clickId-parser.d.ts +23 -23
  201. package/dist/esm/libs/clickId-parser.js +45 -45
  202. package/dist/esm/libs/compression.d.ts +2 -2
  203. package/dist/esm/libs/compression.js +25 -25
  204. package/dist/esm/libs/crypto.d.ts +1 -1
  205. package/dist/esm/libs/crypto.js +5 -5
  206. package/dist/esm/libs/dates.d.ts +6 -6
  207. package/dist/esm/libs/dates.js +22 -22
  208. package/dist/esm/libs/http-error.d.ts +21 -21
  209. package/dist/esm/libs/http-error.js +55 -55
  210. package/dist/esm/libs/http-status-codes.d.ts +58 -58
  211. package/dist/esm/libs/http-status-codes.js +59 -59
  212. package/dist/esm/libs/index.d.ts +9 -9
  213. package/dist/esm/libs/index.js +9 -9
  214. package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
  215. package/dist/esm/libs/referrer-parser/index.js +2 -2
  216. package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
  217. package/dist/esm/libs/referrer-parser/referrer-data.js +4709 -4709
  218. package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  219. package/dist/esm/libs/referrer-parser/referrer-parser-util.js +121 -121
  220. package/dist/esm/libs/url.d.ts +1 -1
  221. package/dist/esm/libs/url.js +9 -9
  222. package/dist/esm/services/db/destinations-db-service.d.ts +8 -8
  223. package/dist/esm/services/db/destinations-db-service.js +43 -43
  224. package/dist/esm/services/db/identity-cache-db-service.d.ts +24 -24
  225. package/dist/esm/services/db/identity-cache-db-service.js +229 -229
  226. package/dist/esm/services/db/index.d.ts +7 -7
  227. package/dist/esm/services/db/index.js +7 -7
  228. package/dist/esm/services/db/log-events-db-service.d.ts +11 -11
  229. package/dist/esm/services/db/log-events-db-service.js +168 -168
  230. package/dist/esm/services/db/purchased-contacts-db-service.d.ts +9 -9
  231. package/dist/esm/services/db/purchased-contacts-db-service.js +34 -34
  232. package/dist/esm/services/db/shopify-app-installs-db-service.d.ts +7 -7
  233. package/dist/esm/services/db/shopify-app-installs-db-service.js +43 -43
  234. package/dist/esm/services/db/shopify-products-cache-db-service.d.ts +9 -9
  235. package/dist/esm/services/db/shopify-products-cache-db-service.js +60 -60
  236. package/dist/esm/services/db/shopify-products-cache-db-service.js.map +1 -1
  237. package/dist/esm/services/db/tracking-events-db-service.d.ts +20 -20
  238. package/dist/esm/services/db/tracking-events-db-service.js +158 -158
  239. package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
  240. package/dist/esm/services/eventbridge-integration-service.js +24 -24
  241. package/dist/esm/services/index.d.ts +5 -5
  242. package/dist/esm/services/index.js +5 -5
  243. package/dist/esm/services/ipdata-lookup-service.d.ts +17 -17
  244. package/dist/esm/services/ipdata-lookup-service.js +67 -67
  245. package/dist/esm/services/log-event-service.d.ts +9 -9
  246. package/dist/esm/services/log-event-service.js +52 -52
  247. package/dist/esm/services/metric-event-service.d.ts +9 -9
  248. package/dist/esm/services/metric-event-service.js +45 -45
  249. package/dist/esm/types/api-response.d.ts +6 -6
  250. package/dist/esm/types/api-response.js +1 -1
  251. package/dist/esm/types/index.d.ts +1 -1
  252. package/dist/esm/types/index.js +1 -1
  253. package/dist/esm/types/internal-events/event-detail-types.d.ts +20 -20
  254. package/dist/esm/types/internal-events/event-detail-types.js +24 -24
  255. package/dist/esm/types/internal-events/index.d.ts +1 -1
  256. package/dist/esm/types/internal-events/index.js +1 -1
  257. package/dist/esm/types/shopify-graphql-types/admin.generated.d.ts +47 -0
  258. package/dist/esm/types/shopify-graphql-types/admin.generated.js +2 -0
  259. package/dist/esm/types/shopify-graphql-types/admin.generated.js.map +1 -0
  260. package/dist/esm/types/shopify-graphql-types/admin.types.d.ts +26289 -0
  261. package/dist/esm/types/shopify-graphql-types/admin.types.js +5300 -0
  262. package/dist/esm/types/shopify-graphql-types/admin.types.js.map +1 -0
  263. package/package.json +6 -3
@@ -1,164 +1,164 @@
1
- import { DynamoDBClient } from '@aws-sdk/client-dynamodb';
2
- import { DynamoDBDocument } from '@aws-sdk/lib-dynamodb';
3
- import { HttpStatusCodes, Logger } from '../../index.js';
4
- const marshallOptions = {
5
- convertEmptyValues: false,
6
- removeUndefinedValues: true,
7
- convertClassInstanceToMap: true
8
- };
9
- const unmarshallOptions = {
10
- wrapNumbers: false,
11
- };
12
- const translateConfig = { marshallOptions, unmarshallOptions };
13
- const ddbClient = new DynamoDBClient({});
14
- const client = DynamoDBDocument.from(ddbClient, translateConfig);
15
- export class DynamoDbClient {
16
- static safeGet = async (tableName, keyName, keyValue) => {
17
- try {
18
- const params = {
19
- TableName: tableName,
20
- Key: {
21
- [keyName]: keyValue
22
- }
23
- };
24
- const res = await client.get(params);
25
- return res?.Item ?? null;
26
- }
27
- catch (e) {
28
- Logger.error(e, { message: 'Dynamo Client Get Failed', tableName, keyName, keyValue });
29
- return null;
30
- }
31
- };
32
- static safePut = async (tableName, data) => {
33
- try {
34
- const params = {
35
- TableName: tableName,
36
- Item: data
37
- };
38
- const res = await client.put(params);
39
- return res;
40
- }
41
- catch (e) {
42
- Logger.error(e, { message: 'Dynamo failed simplePut', tableName, data });
43
- return null;
44
- }
45
- };
46
- static safeDelete = async (tableName, keyName, keyValue) => {
47
- try {
48
- const params = {
49
- TableName: tableName,
50
- Key: {
51
- [keyName]: keyValue
52
- }
53
- };
54
- const res = await client.delete(params);
55
- return res;
56
- }
57
- catch (e) {
58
- Logger.error(e, { message: 'Dynamo failed safeDelete' });
59
- return null;
60
- }
61
- };
62
- static safeQueryByGSI = async (tableName, gsiName, keyName, keyValue) => {
63
- const query = {
64
- TableName: tableName,
65
- IndexName: gsiName,
66
- KeyConditionExpression: `${keyName} = :value`,
67
- ExpressionAttributeValues: {
68
- ':value': keyValue
69
- }
70
- };
71
- const results = await DynamoDbClient.queryAll(query);
72
- return results;
73
- };
74
- static safeBatchGet = async (tableName, keys) => {
75
- try {
76
- const params = {
77
- RequestItems: {}
78
- };
79
- params.RequestItems[tableName] = {
80
- Keys: keys
81
- };
82
- const res = await client.batchGet(params);
83
- if (res?.Responses?.[tableName]) {
84
- return res?.Responses?.[tableName];
85
- }
86
- return [];
87
- }
88
- catch (e) {
89
- Logger.error(e, { message: 'Dynamo failed safeBatchGet' });
90
- return [];
91
- }
92
- };
93
- static safeBatchPut = async (tableName, items) => {
94
- try {
95
- const params = {
96
- RequestItems: {}
97
- };
98
- params.RequestItems[tableName] = items.map((item) => {
99
- return {
100
- PutRequest: {
101
- Item: item
102
- }
103
- };
104
- });
105
- const res = await client.batchWrite(params);
106
- if (res?.$metadata?.httpStatusCode === HttpStatusCodes.OK) {
107
- return res;
108
- }
109
- return null;
110
- }
111
- catch (e) {
112
- Logger.error(e, { message: 'Dynamo failed safeBatchPut' });
113
- return null;
114
- }
115
- };
116
- static queryAll = async (params) => {
117
- try {
118
- let currentResult, exclusiveStartKey;
119
- let accumulatedResults = [];
120
- do {
121
- params.ExclusiveStartKey = exclusiveStartKey;
122
- params.Limit = 200;
123
- currentResult = await client.query(params);
124
- if (currentResult.Items) {
125
- exclusiveStartKey = currentResult.LastEvaluatedKey;
126
- accumulatedResults = [...accumulatedResults, ...currentResult.Items];
127
- }
128
- } while (currentResult.Items && currentResult.Items.length > 0 && currentResult.LastEvaluatedKey);
129
- return accumulatedResults;
130
- }
131
- catch (e) {
132
- Logger.error(e, { message: 'Dynamo failed queryAll' });
133
- return null;
134
- }
135
- };
136
- static scanAll = async (params) => {
137
- try {
138
- let currentResult, exclusiveStartKey;
139
- let accumulatedResults = [];
140
- do {
141
- params.ExclusiveStartKey = exclusiveStartKey;
142
- params.Limit = 200;
143
- currentResult = await client.scan(params);
144
- if (currentResult.Items) {
145
- exclusiveStartKey = currentResult.LastEvaluatedKey;
146
- accumulatedResults = [...accumulatedResults, ...currentResult.Items];
147
- }
148
- } while (currentResult.Items && currentResult.Items.length > 0 && currentResult.LastEvaluatedKey);
149
- return accumulatedResults;
150
- }
151
- catch (e) {
152
- Logger.error(e, { message: 'Dynamo failed scanAll' });
153
- return null;
154
- }
155
- };
156
- static batchGet = (params) => client.batchGet(params);
157
- static get = (params) => client.get(params);
158
- static put = (params) => client.put(params);
159
- static query = (params) => client.query(params);
160
- static scan = (params) => client.scan(params);
161
- static update = (params) => client.update(params);
162
- static delete = (params) => client.delete(params);
163
- }
1
+ import { DynamoDBClient } from '@aws-sdk/client-dynamodb';
2
+ import { DynamoDBDocument } from '@aws-sdk/lib-dynamodb';
3
+ import { HttpStatusCodes, Logger } from '../../index.js';
4
+ const marshallOptions = {
5
+ convertEmptyValues: false,
6
+ removeUndefinedValues: true,
7
+ convertClassInstanceToMap: true
8
+ };
9
+ const unmarshallOptions = {
10
+ wrapNumbers: false,
11
+ };
12
+ const translateConfig = { marshallOptions, unmarshallOptions };
13
+ const ddbClient = new DynamoDBClient({});
14
+ const client = DynamoDBDocument.from(ddbClient, translateConfig);
15
+ export class DynamoDbClient {
16
+ static safeGet = async (tableName, keyName, keyValue) => {
17
+ try {
18
+ const params = {
19
+ TableName: tableName,
20
+ Key: {
21
+ [keyName]: keyValue
22
+ }
23
+ };
24
+ const res = await client.get(params);
25
+ return res?.Item ?? null;
26
+ }
27
+ catch (e) {
28
+ Logger.error(e, { message: 'Dynamo Client Get Failed', tableName, keyName, keyValue });
29
+ return null;
30
+ }
31
+ };
32
+ static safePut = async (tableName, data) => {
33
+ try {
34
+ const params = {
35
+ TableName: tableName,
36
+ Item: data
37
+ };
38
+ const res = await client.put(params);
39
+ return res;
40
+ }
41
+ catch (e) {
42
+ Logger.error(e, { message: 'Dynamo failed simplePut', tableName, data });
43
+ return null;
44
+ }
45
+ };
46
+ static safeDelete = async (tableName, keyName, keyValue) => {
47
+ try {
48
+ const params = {
49
+ TableName: tableName,
50
+ Key: {
51
+ [keyName]: keyValue
52
+ }
53
+ };
54
+ const res = await client.delete(params);
55
+ return res;
56
+ }
57
+ catch (e) {
58
+ Logger.error(e, { message: 'Dynamo failed safeDelete' });
59
+ return null;
60
+ }
61
+ };
62
+ static safeQueryByGSI = async (tableName, gsiName, keyName, keyValue) => {
63
+ const query = {
64
+ TableName: tableName,
65
+ IndexName: gsiName,
66
+ KeyConditionExpression: `${keyName} = :value`,
67
+ ExpressionAttributeValues: {
68
+ ':value': keyValue
69
+ }
70
+ };
71
+ const results = await DynamoDbClient.queryAll(query);
72
+ return results;
73
+ };
74
+ static safeBatchGet = async (tableName, keys) => {
75
+ try {
76
+ const params = {
77
+ RequestItems: {}
78
+ };
79
+ params.RequestItems[tableName] = {
80
+ Keys: keys
81
+ };
82
+ const res = await client.batchGet(params);
83
+ if (res?.Responses?.[tableName]) {
84
+ return res?.Responses?.[tableName];
85
+ }
86
+ return [];
87
+ }
88
+ catch (e) {
89
+ Logger.error(e, { message: 'Dynamo failed safeBatchGet' });
90
+ return [];
91
+ }
92
+ };
93
+ static safeBatchPut = async (tableName, items) => {
94
+ try {
95
+ const params = {
96
+ RequestItems: {}
97
+ };
98
+ params.RequestItems[tableName] = items.map((item) => {
99
+ return {
100
+ PutRequest: {
101
+ Item: item
102
+ }
103
+ };
104
+ });
105
+ const res = await client.batchWrite(params);
106
+ if (res?.$metadata?.httpStatusCode === HttpStatusCodes.OK) {
107
+ return res;
108
+ }
109
+ return null;
110
+ }
111
+ catch (e) {
112
+ Logger.error(e, { message: 'Dynamo failed safeBatchPut' });
113
+ return null;
114
+ }
115
+ };
116
+ static queryAll = async (params) => {
117
+ try {
118
+ let currentResult, exclusiveStartKey;
119
+ let accumulatedResults = [];
120
+ do {
121
+ params.ExclusiveStartKey = exclusiveStartKey;
122
+ params.Limit = 200;
123
+ currentResult = await client.query(params);
124
+ if (currentResult.Items) {
125
+ exclusiveStartKey = currentResult.LastEvaluatedKey;
126
+ accumulatedResults = [...accumulatedResults, ...currentResult.Items];
127
+ }
128
+ } while (currentResult.Items && currentResult.Items.length > 0 && currentResult.LastEvaluatedKey);
129
+ return accumulatedResults;
130
+ }
131
+ catch (e) {
132
+ Logger.error(e, { message: 'Dynamo failed queryAll' });
133
+ return null;
134
+ }
135
+ };
136
+ static scanAll = async (params) => {
137
+ try {
138
+ let currentResult, exclusiveStartKey;
139
+ let accumulatedResults = [];
140
+ do {
141
+ params.ExclusiveStartKey = exclusiveStartKey;
142
+ params.Limit = 200;
143
+ currentResult = await client.scan(params);
144
+ if (currentResult.Items) {
145
+ exclusiveStartKey = currentResult.LastEvaluatedKey;
146
+ accumulatedResults = [...accumulatedResults, ...currentResult.Items];
147
+ }
148
+ } while (currentResult.Items && currentResult.Items.length > 0 && currentResult.LastEvaluatedKey);
149
+ return accumulatedResults;
150
+ }
151
+ catch (e) {
152
+ Logger.error(e, { message: 'Dynamo failed scanAll' });
153
+ return null;
154
+ }
155
+ };
156
+ static batchGet = (params) => client.batchGet(params);
157
+ static get = (params) => client.get(params);
158
+ static put = (params) => client.put(params);
159
+ static query = (params) => client.query(params);
160
+ static scan = (params) => client.scan(params);
161
+ static update = (params) => client.update(params);
162
+ static delete = (params) => client.delete(params);
163
+ }
164
164
  //# sourceMappingURL=dynamodb-client.js.map
@@ -1,14 +1,14 @@
1
- import { EventBridgeClient as EventBridge } from '@aws-sdk/client-eventbridge';
2
- export declare class EventBridgeClient {
3
- eventBridge: EventBridge;
4
- EVENT_BUS_NAME: string;
5
- constructor(eventBusName: string);
6
- buildAndSendEvent: (eventSource: string, eventType: string, eventData: any) => Promise<import("@aws-sdk/client-eventbridge").PutEventsCommandOutput>;
7
- buildEvent: (eventType: string, eventData: any, eventId?: string, eventTime?: string) => {
8
- eventId: string;
9
- eventType: string;
10
- eventTime: string;
11
- eventData: any;
12
- };
13
- putEvent: (source: string, detailType: string, data: any, headers?: any) => Promise<import("@aws-sdk/client-eventbridge").PutEventsCommandOutput>;
14
- }
1
+ import { EventBridgeClient as EventBridge } from '@aws-sdk/client-eventbridge';
2
+ export declare class EventBridgeClient {
3
+ eventBridge: EventBridge;
4
+ EVENT_BUS_NAME: string;
5
+ constructor(eventBusName: string);
6
+ buildAndSendEvent: (eventSource: string, eventType: string, eventData: any) => Promise<import("@aws-sdk/client-eventbridge").PutEventsCommandOutput>;
7
+ buildEvent: (eventType: string, eventData: any, eventId?: string, eventTime?: string) => {
8
+ eventId: string;
9
+ eventType: string;
10
+ eventTime: string;
11
+ eventData: any;
12
+ };
13
+ putEvent: (source: string, detailType: string, data: any, headers?: any) => Promise<import("@aws-sdk/client-eventbridge").PutEventsCommandOutput>;
14
+ }
@@ -1,46 +1,46 @@
1
- import { EventBridgeClient as EventBridge, PutEventsCommand } from '@aws-sdk/client-eventbridge';
2
- import { v4 as uuidv4 } from 'uuid';
3
- import { getCurrentTimestamp } from '../../libs/dates.js';
4
- import { Logger } from '../../index.js';
5
- export class EventBridgeClient {
6
- eventBridge;
7
- EVENT_BUS_NAME;
8
- constructor(eventBusName) {
9
- this.eventBridge = new EventBridge({});
10
- this.EVENT_BUS_NAME = eventBusName;
11
- }
12
- buildAndSendEvent = async (eventSource, eventType, eventData) => {
13
- const event = this.buildEvent(eventType, eventData);
14
- return await this.putEvent(eventSource, eventType, event);
15
- };
16
- buildEvent = (eventType, eventData, eventId = uuidv4(), eventTime = getCurrentTimestamp()) => {
17
- return {
18
- eventId,
19
- eventType,
20
- eventTime,
21
- eventData
22
- };
23
- };
24
- putEvent = async (source, detailType, data, headers = null) => {
25
- const params = {
26
- Entries: [{
27
- Detail: JSON.stringify({ headers, data }),
28
- DetailType: detailType,
29
- EventBusName: this.EVENT_BUS_NAME,
30
- Source: source,
31
- Time: new Date(),
32
- }],
33
- };
34
- const putEventscommand = new PutEventsCommand(params);
35
- const response = await this.eventBridge.send(putEventscommand);
36
- Logger.debug('EventBus Event Published', {
37
- eventBusName: this.EVENT_BUS_NAME,
38
- eventSource: source,
39
- eventType: detailType,
40
- event: data,
41
- response
42
- });
43
- return response;
44
- };
45
- }
1
+ import { EventBridgeClient as EventBridge, PutEventsCommand } from '@aws-sdk/client-eventbridge';
2
+ import { v4 as uuidv4 } from 'uuid';
3
+ import { getCurrentTimestamp } from '../../libs/dates.js';
4
+ import { Logger } from '../../index.js';
5
+ export class EventBridgeClient {
6
+ eventBridge;
7
+ EVENT_BUS_NAME;
8
+ constructor(eventBusName) {
9
+ this.eventBridge = new EventBridge({});
10
+ this.EVENT_BUS_NAME = eventBusName;
11
+ }
12
+ buildAndSendEvent = async (eventSource, eventType, eventData) => {
13
+ const event = this.buildEvent(eventType, eventData);
14
+ return await this.putEvent(eventSource, eventType, event);
15
+ };
16
+ buildEvent = (eventType, eventData, eventId = uuidv4(), eventTime = getCurrentTimestamp()) => {
17
+ return {
18
+ eventId,
19
+ eventType,
20
+ eventTime,
21
+ eventData
22
+ };
23
+ };
24
+ putEvent = async (source, detailType, data, headers = null) => {
25
+ const params = {
26
+ Entries: [{
27
+ Detail: JSON.stringify({ headers, data }),
28
+ DetailType: detailType,
29
+ EventBusName: this.EVENT_BUS_NAME,
30
+ Source: source,
31
+ Time: new Date(),
32
+ }],
33
+ };
34
+ const putEventscommand = new PutEventsCommand(params);
35
+ const response = await this.eventBridge.send(putEventscommand);
36
+ Logger.debug('EventBus Event Published', {
37
+ eventBusName: this.EVENT_BUS_NAME,
38
+ eventSource: source,
39
+ eventType: detailType,
40
+ event: data,
41
+ response
42
+ });
43
+ return response;
44
+ };
45
+ }
46
46
  //# sourceMappingURL=eventbridge-client.js.map
@@ -1,88 +1,88 @@
1
- import { AxiosInstance, AxiosRequestConfig, CreateAxiosDefaults } from 'axios';
2
- export declare class GenericHttpClient {
3
- _axiosService: AxiosInstance;
4
- constructor(config?: CreateAxiosDefaults);
5
- instance: () => AxiosInstance;
6
- get: (url: string, config?: AxiosRequestConfig) => Promise<{
7
- headers: any;
8
- data: any;
9
- status: any;
10
- } | {
11
- headers: any;
12
- data: any;
13
- status: any;
14
- } | {
15
- status: number;
16
- data: {
17
- message: string;
18
- error: any;
19
- };
20
- headers?: undefined;
21
- }>;
22
- post: (url: string, data?: any, config?: any) => Promise<{
23
- headers: any;
24
- data: any;
25
- status: any;
26
- } | {
27
- headers: any;
28
- data: any;
29
- status: any;
30
- } | {
31
- status: number;
32
- data: {
33
- message: string;
34
- error: any;
35
- };
36
- headers?: undefined;
37
- }>;
38
- delete: (url: string, config?: any) => Promise<{
39
- headers: any;
40
- data: any;
41
- status: any;
42
- } | {
43
- headers: any;
44
- data: any;
45
- status: any;
46
- } | {
47
- status: number;
48
- data: {
49
- message: string;
50
- error: any;
51
- };
52
- headers?: undefined;
53
- }>;
54
- put: (url: string, data?: any, config?: any) => Promise<{
55
- headers: any;
56
- data: any;
57
- status: any;
58
- } | {
59
- headers: any;
60
- data: any;
61
- status: any;
62
- } | {
63
- status: number;
64
- data: {
65
- message: string;
66
- error: any;
67
- };
68
- headers?: undefined;
69
- }>;
70
- patch: (url: string, data?: any, config?: any) => Promise<{
71
- headers: any;
72
- data: any;
73
- status: any;
74
- } | {
75
- headers: any;
76
- data: any;
77
- status: any;
78
- } | {
79
- status: number;
80
- data: {
81
- message: string;
82
- error: any;
83
- };
84
- headers?: undefined;
85
- }>;
86
- setBaseUrl: (url: string) => boolean;
87
- }
88
- export declare const axiosHttpService: (config?: CreateAxiosDefaults) => GenericHttpClient;
1
+ import { AxiosInstance, AxiosRequestConfig, CreateAxiosDefaults } from 'axios';
2
+ export declare class GenericHttpClient {
3
+ _axiosService: AxiosInstance;
4
+ constructor(config?: CreateAxiosDefaults);
5
+ instance: () => AxiosInstance;
6
+ get: (url: string, config?: AxiosRequestConfig) => Promise<{
7
+ headers: any;
8
+ data: any;
9
+ status: any;
10
+ } | {
11
+ headers: any;
12
+ data: any;
13
+ status: any;
14
+ } | {
15
+ status: number;
16
+ data: {
17
+ message: string;
18
+ error: any;
19
+ };
20
+ headers?: undefined;
21
+ }>;
22
+ post: (url: string, data?: any, config?: any) => Promise<{
23
+ headers: any;
24
+ data: any;
25
+ status: any;
26
+ } | {
27
+ headers: any;
28
+ data: any;
29
+ status: any;
30
+ } | {
31
+ status: number;
32
+ data: {
33
+ message: string;
34
+ error: any;
35
+ };
36
+ headers?: undefined;
37
+ }>;
38
+ delete: (url: string, config?: any) => Promise<{
39
+ headers: any;
40
+ data: any;
41
+ status: any;
42
+ } | {
43
+ headers: any;
44
+ data: any;
45
+ status: any;
46
+ } | {
47
+ status: number;
48
+ data: {
49
+ message: string;
50
+ error: any;
51
+ };
52
+ headers?: undefined;
53
+ }>;
54
+ put: (url: string, data?: any, config?: any) => Promise<{
55
+ headers: any;
56
+ data: any;
57
+ status: any;
58
+ } | {
59
+ headers: any;
60
+ data: any;
61
+ status: any;
62
+ } | {
63
+ status: number;
64
+ data: {
65
+ message: string;
66
+ error: any;
67
+ };
68
+ headers?: undefined;
69
+ }>;
70
+ patch: (url: string, data?: any, config?: any) => Promise<{
71
+ headers: any;
72
+ data: any;
73
+ status: any;
74
+ } | {
75
+ headers: any;
76
+ data: any;
77
+ status: any;
78
+ } | {
79
+ status: number;
80
+ data: {
81
+ message: string;
82
+ error: any;
83
+ };
84
+ headers?: undefined;
85
+ }>;
86
+ setBaseUrl: (url: string) => boolean;
87
+ }
88
+ export declare const axiosHttpService: (config?: CreateAxiosDefaults) => GenericHttpClient;