@adtrackify/at-service-common 3.1.2 → 3.1.4

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 (261) 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 +20 -20
  28. package/dist/cjs/clients/generic/sqs-client.js +36 -36
  29. package/dist/cjs/clients/index.d.ts +3 -3
  30. package/dist/cjs/clients/index.js +19 -19
  31. package/dist/cjs/clients/internal-api/accounts-client.d.ts +112 -112
  32. package/dist/cjs/clients/internal-api/accounts-client.js +117 -117
  33. package/dist/cjs/clients/internal-api/cache-lambda-client.d.ts +23 -23
  34. package/dist/cjs/clients/internal-api/cache-lambda-client.js +59 -59
  35. package/dist/cjs/clients/internal-api/db-management-client.d.ts +18 -18
  36. package/dist/cjs/clients/internal-api/db-management-client.js +39 -39
  37. package/dist/cjs/clients/internal-api/destinations-client.d.ts +29 -29
  38. package/dist/cjs/clients/internal-api/destinations-client.js +54 -54
  39. package/dist/cjs/clients/internal-api/event-collector-client.d.ts +20 -20
  40. package/dist/cjs/clients/internal-api/event-collector-client.js +39 -39
  41. package/dist/cjs/clients/internal-api/identity-client.d.ts +25 -25
  42. package/dist/cjs/clients/internal-api/identity-client.js +92 -92
  43. package/dist/cjs/clients/internal-api/index.d.ts +8 -8
  44. package/dist/cjs/clients/internal-api/index.js +24 -24
  45. package/dist/cjs/clients/internal-api/shopify-app-install-client.d.ts +34 -34
  46. package/dist/cjs/clients/internal-api/shopify-app-install-client.js +63 -63
  47. package/dist/cjs/clients/internal-api/users-auth-client.d.ts +31 -31
  48. package/dist/cjs/clients/internal-api/users-auth-client.js +92 -92
  49. package/dist/cjs/clients/third-party/index.d.ts +1 -1
  50. package/dist/cjs/clients/third-party/index.js +17 -17
  51. package/dist/cjs/clients/third-party/shopify-client.d.ts +200 -200
  52. package/dist/cjs/clients/third-party/shopify-client.js +265 -192
  53. package/dist/cjs/clients/third-party/shopify-client.js.map +1 -1
  54. package/dist/cjs/helpers/identity-cache-helper.d.ts +4 -4
  55. package/dist/cjs/helpers/identity-cache-helper.js +150 -150
  56. package/dist/cjs/helpers/index.d.ts +5 -5
  57. package/dist/cjs/helpers/index.js +21 -21
  58. package/dist/cjs/helpers/input-validation-helper.d.ts +3 -3
  59. package/dist/cjs/helpers/input-validation-helper.js +22 -22
  60. package/dist/cjs/helpers/logging-helper.d.ts +16 -16
  61. package/dist/cjs/helpers/logging-helper.js +84 -84
  62. package/dist/cjs/helpers/response-helper.d.ts +15 -15
  63. package/dist/cjs/helpers/response-helper.js +42 -42
  64. package/dist/cjs/helpers/shopify-helper.d.ts +9 -9
  65. package/dist/cjs/helpers/shopify-helper.js +28 -28
  66. package/dist/cjs/index.d.ts +5 -5
  67. package/dist/cjs/index.js +21 -21
  68. package/dist/cjs/libs/clickId-parser.d.ts +23 -23
  69. package/dist/cjs/libs/clickId-parser.js +49 -49
  70. package/dist/cjs/libs/compression.d.ts +2 -2
  71. package/dist/cjs/libs/compression.js +33 -33
  72. package/dist/cjs/libs/crypto.d.ts +1 -1
  73. package/dist/cjs/libs/crypto.js +12 -12
  74. package/dist/cjs/libs/dates.d.ts +6 -6
  75. package/dist/cjs/libs/dates.js +31 -31
  76. package/dist/cjs/libs/http-error.d.ts +21 -21
  77. package/dist/cjs/libs/http-error.js +59 -59
  78. package/dist/cjs/libs/http-status-codes.d.ts +58 -58
  79. package/dist/cjs/libs/http-status-codes.js +62 -62
  80. package/dist/cjs/libs/index.d.ts +9 -9
  81. package/dist/cjs/libs/index.js +25 -25
  82. package/dist/cjs/libs/referrer-parser/index.d.ts +2 -2
  83. package/dist/cjs/libs/referrer-parser/index.js +18 -18
  84. package/dist/cjs/libs/referrer-parser/referrer-data.d.ts +9 -9
  85. package/dist/cjs/libs/referrer-parser/referrer-data.js +4712 -4712
  86. package/dist/cjs/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  87. package/dist/cjs/libs/referrer-parser/referrer-parser-util.js +128 -128
  88. package/dist/cjs/libs/url.d.ts +1 -1
  89. package/dist/cjs/libs/url.js +13 -13
  90. package/dist/cjs/services/db/destinations-db-service.d.ts +8 -8
  91. package/dist/cjs/services/db/destinations-db-service.js +47 -47
  92. package/dist/cjs/services/db/identity-cache-db-service.d.ts +24 -24
  93. package/dist/cjs/services/db/identity-cache-db-service.js +233 -233
  94. package/dist/cjs/services/db/index.d.ts +7 -7
  95. package/dist/cjs/services/db/index.js +23 -23
  96. package/dist/cjs/services/db/log-events-db-service.d.ts +11 -11
  97. package/dist/cjs/services/db/log-events-db-service.js +172 -172
  98. package/dist/cjs/services/db/purchased-contacts-db-service.d.ts +9 -9
  99. package/dist/cjs/services/db/purchased-contacts-db-service.js +38 -38
  100. package/dist/cjs/services/db/shopify-app-installs-db-service.d.ts +7 -7
  101. package/dist/cjs/services/db/shopify-app-installs-db-service.js +47 -47
  102. package/dist/cjs/services/db/shopify-products-cache-db-service.d.ts +20 -9
  103. package/dist/cjs/services/db/shopify-products-cache-db-service.js +107 -64
  104. package/dist/cjs/services/db/shopify-products-cache-db-service.js.map +1 -1
  105. package/dist/cjs/services/db/tracking-events-db-service.d.ts +20 -20
  106. package/dist/cjs/services/db/tracking-events-db-service.js +162 -162
  107. package/dist/cjs/services/eventbridge-integration-service.d.ts +9 -9
  108. package/dist/cjs/services/eventbridge-integration-service.js +28 -28
  109. package/dist/cjs/services/index.d.ts +5 -5
  110. package/dist/cjs/services/index.js +21 -21
  111. package/dist/cjs/services/ipdata-lookup-service.d.ts +17 -17
  112. package/dist/cjs/services/ipdata-lookup-service.js +71 -71
  113. package/dist/cjs/services/log-event-service.d.ts +9 -9
  114. package/dist/cjs/services/log-event-service.js +56 -56
  115. package/dist/cjs/services/metric-event-service.d.ts +9 -9
  116. package/dist/cjs/services/metric-event-service.js +49 -49
  117. package/dist/cjs/types/api-response.d.ts +6 -6
  118. package/dist/cjs/types/api-response.js +2 -2
  119. package/dist/cjs/types/index.d.ts +2 -2
  120. package/dist/cjs/types/index.js +18 -18
  121. package/dist/cjs/types/internal-events/event-detail-types.d.ts +20 -20
  122. package/dist/cjs/types/internal-events/event-detail-types.js +27 -27
  123. package/dist/cjs/types/internal-events/index.d.ts +1 -1
  124. package/dist/cjs/types/internal-events/index.js +17 -17
  125. package/dist/cjs/types/shopify-graphql-types/admin.generated.d.ts +75 -47
  126. package/dist/cjs/types/shopify-graphql-types/admin.generated.js +2 -2
  127. package/dist/cjs/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  128. package/dist/cjs/types/shopify-graphql-types/admin.types.js +5311 -5311
  129. package/dist/cjs/types/shopify-graphql-types/index.d.ts +2 -2
  130. package/dist/cjs/types/shopify-graphql-types/index.js +18 -18
  131. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  132. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js +525 -525
  133. package/dist/esm/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  134. package/dist/esm/__tests__/libs/compress-decompress.spec.js +14 -14
  135. package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  136. package/dist/esm/__tests__/s3-client/s3-client.spec.js +24 -24
  137. package/dist/esm/clients/generic/cognito-client.d.ts +20 -20
  138. package/dist/esm/clients/generic/cognito-client.js +159 -159
  139. package/dist/esm/clients/generic/dynamodb-client.d.ts +17 -17
  140. package/dist/esm/clients/generic/dynamodb-client.js +163 -163
  141. package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
  142. package/dist/esm/clients/generic/eventbridge-client.js +45 -45
  143. package/dist/esm/clients/generic/http-client.d.ts +88 -88
  144. package/dist/esm/clients/generic/http-client.js +52 -52
  145. package/dist/esm/clients/generic/index.d.ts +10 -10
  146. package/dist/esm/clients/generic/index.js +10 -10
  147. package/dist/esm/clients/generic/lambda-invoke-client.d.ts +10 -10
  148. package/dist/esm/clients/generic/lambda-invoke-client.js +31 -31
  149. package/dist/esm/clients/generic/location-client.d.ts +8 -8
  150. package/dist/esm/clients/generic/location-client.js +27 -27
  151. package/dist/esm/clients/generic/redis-client.d.ts +17 -17
  152. package/dist/esm/clients/generic/redis-client.js +110 -110
  153. package/dist/esm/clients/generic/s3-client.d.ts +16 -16
  154. package/dist/esm/clients/generic/s3-client.js +106 -106
  155. package/dist/esm/clients/generic/singlestore-db-client.d.ts +14 -14
  156. package/dist/esm/clients/generic/singlestore-db-client.js +40 -40
  157. package/dist/esm/clients/generic/sqs-client.d.ts +20 -20
  158. package/dist/esm/clients/generic/sqs-client.js +32 -32
  159. package/dist/esm/clients/index.d.ts +3 -3
  160. package/dist/esm/clients/index.js +3 -3
  161. package/dist/esm/clients/internal-api/accounts-client.d.ts +112 -112
  162. package/dist/esm/clients/internal-api/accounts-client.js +113 -113
  163. package/dist/esm/clients/internal-api/cache-lambda-client.d.ts +23 -23
  164. package/dist/esm/clients/internal-api/cache-lambda-client.js +55 -55
  165. package/dist/esm/clients/internal-api/db-management-client.d.ts +18 -18
  166. package/dist/esm/clients/internal-api/db-management-client.js +32 -32
  167. package/dist/esm/clients/internal-api/destinations-client.d.ts +29 -29
  168. package/dist/esm/clients/internal-api/destinations-client.js +50 -50
  169. package/dist/esm/clients/internal-api/event-collector-client.d.ts +20 -20
  170. package/dist/esm/clients/internal-api/event-collector-client.js +32 -32
  171. package/dist/esm/clients/internal-api/identity-client.d.ts +25 -25
  172. package/dist/esm/clients/internal-api/identity-client.js +88 -88
  173. package/dist/esm/clients/internal-api/index.d.ts +8 -8
  174. package/dist/esm/clients/internal-api/index.js +8 -8
  175. package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +34 -34
  176. package/dist/esm/clients/internal-api/shopify-app-install-client.js +56 -56
  177. package/dist/esm/clients/internal-api/users-auth-client.d.ts +31 -31
  178. package/dist/esm/clients/internal-api/users-auth-client.js +88 -88
  179. package/dist/esm/clients/third-party/index.d.ts +1 -1
  180. package/dist/esm/clients/third-party/index.js +1 -1
  181. package/dist/esm/clients/third-party/shopify-client.d.ts +200 -200
  182. package/dist/esm/clients/third-party/shopify-client.js +261 -188
  183. package/dist/esm/clients/third-party/shopify-client.js.map +1 -1
  184. package/dist/esm/helpers/identity-cache-helper.d.ts +4 -4
  185. package/dist/esm/helpers/identity-cache-helper.js +145 -145
  186. package/dist/esm/helpers/index.d.ts +5 -5
  187. package/dist/esm/helpers/index.js +5 -5
  188. package/dist/esm/helpers/input-validation-helper.d.ts +3 -3
  189. package/dist/esm/helpers/input-validation-helper.js +18 -18
  190. package/dist/esm/helpers/logging-helper.d.ts +16 -16
  191. package/dist/esm/helpers/logging-helper.js +56 -56
  192. package/dist/esm/helpers/response-helper.d.ts +15 -15
  193. package/dist/esm/helpers/response-helper.js +36 -36
  194. package/dist/esm/helpers/shopify-helper.d.ts +9 -9
  195. package/dist/esm/helpers/shopify-helper.js +23 -23
  196. package/dist/esm/index.d.ts +5 -5
  197. package/dist/esm/index.js +5 -5
  198. package/dist/esm/libs/clickId-parser.d.ts +23 -23
  199. package/dist/esm/libs/clickId-parser.js +45 -45
  200. package/dist/esm/libs/compression.d.ts +2 -2
  201. package/dist/esm/libs/compression.js +25 -25
  202. package/dist/esm/libs/crypto.d.ts +1 -1
  203. package/dist/esm/libs/crypto.js +5 -5
  204. package/dist/esm/libs/dates.d.ts +6 -6
  205. package/dist/esm/libs/dates.js +22 -22
  206. package/dist/esm/libs/http-error.d.ts +21 -21
  207. package/dist/esm/libs/http-error.js +55 -55
  208. package/dist/esm/libs/http-status-codes.d.ts +58 -58
  209. package/dist/esm/libs/http-status-codes.js +59 -59
  210. package/dist/esm/libs/index.d.ts +9 -9
  211. package/dist/esm/libs/index.js +9 -9
  212. package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
  213. package/dist/esm/libs/referrer-parser/index.js +2 -2
  214. package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
  215. package/dist/esm/libs/referrer-parser/referrer-data.js +4709 -4709
  216. package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  217. package/dist/esm/libs/referrer-parser/referrer-parser-util.js +121 -121
  218. package/dist/esm/libs/url.d.ts +1 -1
  219. package/dist/esm/libs/url.js +9 -9
  220. package/dist/esm/services/db/destinations-db-service.d.ts +8 -8
  221. package/dist/esm/services/db/destinations-db-service.js +43 -43
  222. package/dist/esm/services/db/identity-cache-db-service.d.ts +24 -24
  223. package/dist/esm/services/db/identity-cache-db-service.js +229 -229
  224. package/dist/esm/services/db/index.d.ts +7 -7
  225. package/dist/esm/services/db/index.js +7 -7
  226. package/dist/esm/services/db/log-events-db-service.d.ts +11 -11
  227. package/dist/esm/services/db/log-events-db-service.js +168 -168
  228. package/dist/esm/services/db/purchased-contacts-db-service.d.ts +9 -9
  229. package/dist/esm/services/db/purchased-contacts-db-service.js +34 -34
  230. package/dist/esm/services/db/shopify-app-installs-db-service.d.ts +7 -7
  231. package/dist/esm/services/db/shopify-app-installs-db-service.js +43 -43
  232. package/dist/esm/services/db/shopify-products-cache-db-service.d.ts +20 -9
  233. package/dist/esm/services/db/shopify-products-cache-db-service.js +103 -60
  234. package/dist/esm/services/db/shopify-products-cache-db-service.js.map +1 -1
  235. package/dist/esm/services/db/tracking-events-db-service.d.ts +20 -20
  236. package/dist/esm/services/db/tracking-events-db-service.js +158 -158
  237. package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
  238. package/dist/esm/services/eventbridge-integration-service.js +24 -24
  239. package/dist/esm/services/index.d.ts +5 -5
  240. package/dist/esm/services/index.js +5 -5
  241. package/dist/esm/services/ipdata-lookup-service.d.ts +17 -17
  242. package/dist/esm/services/ipdata-lookup-service.js +67 -67
  243. package/dist/esm/services/log-event-service.d.ts +9 -9
  244. package/dist/esm/services/log-event-service.js +52 -52
  245. package/dist/esm/services/metric-event-service.d.ts +9 -9
  246. package/dist/esm/services/metric-event-service.js +45 -45
  247. package/dist/esm/types/api-response.d.ts +6 -6
  248. package/dist/esm/types/api-response.js +1 -1
  249. package/dist/esm/types/index.d.ts +2 -2
  250. package/dist/esm/types/index.js +2 -2
  251. package/dist/esm/types/internal-events/event-detail-types.d.ts +20 -20
  252. package/dist/esm/types/internal-events/event-detail-types.js +24 -24
  253. package/dist/esm/types/internal-events/index.d.ts +1 -1
  254. package/dist/esm/types/internal-events/index.js +1 -1
  255. package/dist/esm/types/shopify-graphql-types/admin.generated.d.ts +75 -47
  256. package/dist/esm/types/shopify-graphql-types/admin.generated.js +1 -1
  257. package/dist/esm/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  258. package/dist/esm/types/shopify-graphql-types/admin.types.js +5299 -5299
  259. package/dist/esm/types/shopify-graphql-types/index.d.ts +2 -2
  260. package/dist/esm/types/shopify-graphql-types/index.js +2 -2
  261. package/package.json +6 -1
@@ -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?: AxiosRequestConfig) => 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?: AxiosRequestConfig) => 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?: AxiosRequestConfig) => 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?: AxiosRequestConfig) => 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?: AxiosRequestConfig) => 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?: AxiosRequestConfig) => 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?: AxiosRequestConfig) => 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?: AxiosRequestConfig) => 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;