@adtrackify/at-service-common 3.0.92 → 3.0.93

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