@adtrackify/at-service-common 3.0.89 → 3.0.91

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