@adtrackify/at-service-common 3.1.27 → 3.1.29

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 (309) 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 +22 -20
  8. package/dist/cjs/clients/generic/cognito-client.js +175 -164
  9. package/dist/cjs/clients/generic/cognito-client.js.map +1 -1
  10. package/dist/cjs/clients/generic/dynamodb-client.d.ts +17 -17
  11. package/dist/cjs/clients/generic/dynamodb-client.js +167 -167
  12. package/dist/cjs/clients/generic/eventbridge-client.d.ts +14 -14
  13. package/dist/cjs/clients/generic/eventbridge-client.js +49 -49
  14. package/dist/cjs/clients/generic/http-client.d.ts +88 -88
  15. package/dist/cjs/clients/generic/http-client.js +60 -60
  16. package/dist/cjs/clients/generic/index.d.ts +10 -10
  17. package/dist/cjs/clients/generic/index.js +26 -26
  18. package/dist/cjs/clients/generic/lambda-invoke-client.d.ts +10 -10
  19. package/dist/cjs/clients/generic/lambda-invoke-client.js +35 -35
  20. package/dist/cjs/clients/generic/location-client.d.ts +8 -8
  21. package/dist/cjs/clients/generic/location-client.js +31 -31
  22. package/dist/cjs/clients/generic/redis-client.d.ts +18 -18
  23. package/dist/cjs/clients/generic/redis-client.js +128 -128
  24. package/dist/cjs/clients/generic/s3-client.d.ts +16 -16
  25. package/dist/cjs/clients/generic/s3-client.js +110 -110
  26. package/dist/cjs/clients/generic/singlestore-db-client.d.ts +14 -14
  27. package/dist/cjs/clients/generic/singlestore-db-client.js +67 -67
  28. package/dist/cjs/clients/generic/sqs-client.d.ts +20 -20
  29. package/dist/cjs/clients/generic/sqs-client.js +36 -36
  30. package/dist/cjs/clients/index.d.ts +3 -3
  31. package/dist/cjs/clients/index.js +19 -19
  32. package/dist/cjs/clients/internal-api/accounts-client.d.ts +112 -112
  33. package/dist/cjs/clients/internal-api/accounts-client.js +117 -117
  34. package/dist/cjs/clients/internal-api/cache-lambda-client.d.ts +23 -23
  35. package/dist/cjs/clients/internal-api/cache-lambda-client.js +59 -59
  36. package/dist/cjs/clients/internal-api/db-management-client.d.ts +18 -18
  37. package/dist/cjs/clients/internal-api/db-management-client.js +39 -39
  38. package/dist/cjs/clients/internal-api/destinations-client.d.ts +29 -29
  39. package/dist/cjs/clients/internal-api/destinations-client.js +54 -54
  40. package/dist/cjs/clients/internal-api/event-collector-client.d.ts +20 -20
  41. package/dist/cjs/clients/internal-api/event-collector-client.js +39 -39
  42. package/dist/cjs/clients/internal-api/identity-client.d.ts +25 -25
  43. package/dist/cjs/clients/internal-api/identity-client.js +92 -92
  44. package/dist/cjs/clients/internal-api/index.d.ts +8 -8
  45. package/dist/cjs/clients/internal-api/index.js +24 -24
  46. package/dist/cjs/clients/internal-api/shopify-app-install-client.d.ts +34 -34
  47. package/dist/cjs/clients/internal-api/shopify-app-install-client.js +63 -63
  48. package/dist/cjs/clients/internal-api/users-auth-client.d.ts +31 -31
  49. package/dist/cjs/clients/internal-api/users-auth-client.js +92 -92
  50. package/dist/cjs/clients/third-party/index.d.ts +1 -1
  51. package/dist/cjs/clients/third-party/index.js +17 -17
  52. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  53. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.js +5 -5
  54. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -9
  55. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.js +95 -95
  56. package/dist/cjs/clients/third-party/shopify-client.d.ts +198 -198
  57. package/dist/cjs/clients/third-party/shopify-client.js +150 -150
  58. package/dist/cjs/helpers/identity-cache-helper.d.ts +4 -4
  59. package/dist/cjs/helpers/identity-cache-helper.js +150 -150
  60. package/dist/cjs/helpers/index.d.ts +5 -5
  61. package/dist/cjs/helpers/index.js +21 -21
  62. package/dist/cjs/helpers/input-validation-helper.d.ts +3 -3
  63. package/dist/cjs/helpers/input-validation-helper.js +22 -22
  64. package/dist/cjs/helpers/logging-helper.d.ts +16 -16
  65. package/dist/cjs/helpers/logging-helper.js +84 -84
  66. package/dist/cjs/helpers/response-helper.d.ts +15 -15
  67. package/dist/cjs/helpers/response-helper.js +42 -42
  68. package/dist/cjs/helpers/shopify-helper.d.ts +9 -9
  69. package/dist/cjs/helpers/shopify-helper.js +28 -28
  70. package/dist/cjs/index.d.ts +5 -5
  71. package/dist/cjs/index.js +21 -21
  72. package/dist/cjs/libs/clickId-parser.d.ts +23 -23
  73. package/dist/cjs/libs/clickId-parser.js +49 -49
  74. package/dist/cjs/libs/compression.d.ts +2 -2
  75. package/dist/cjs/libs/compression.js +33 -33
  76. package/dist/cjs/libs/crypto.d.ts +1 -1
  77. package/dist/cjs/libs/crypto.js +12 -12
  78. package/dist/cjs/libs/dates.d.ts +6 -6
  79. package/dist/cjs/libs/dates.js +31 -31
  80. package/dist/cjs/libs/http-error.d.ts +21 -21
  81. package/dist/cjs/libs/http-error.js +59 -59
  82. package/dist/cjs/libs/http-status-codes.d.ts +58 -58
  83. package/dist/cjs/libs/http-status-codes.js +62 -62
  84. package/dist/cjs/libs/index.d.ts +9 -9
  85. package/dist/cjs/libs/index.js +25 -25
  86. package/dist/cjs/libs/referrer-parser/index.d.ts +2 -2
  87. package/dist/cjs/libs/referrer-parser/index.js +18 -18
  88. package/dist/cjs/libs/referrer-parser/referrer-data.d.ts +9 -9
  89. package/dist/cjs/libs/referrer-parser/referrer-data.js +4712 -4712
  90. package/dist/cjs/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  91. package/dist/cjs/libs/referrer-parser/referrer-parser-util.js +128 -128
  92. package/dist/cjs/libs/url.d.ts +1 -1
  93. package/dist/cjs/libs/url.js +13 -13
  94. package/dist/cjs/services/cache/generic-cached-object.d.ts +5 -5
  95. package/dist/cjs/services/cache/generic-cached-object.js +2 -2
  96. package/dist/cjs/services/cache/index.d.ts +1 -1
  97. package/dist/cjs/services/cache/index.js +17 -17
  98. package/dist/cjs/services/cache/product-cache-service.d.ts +17 -17
  99. package/dist/cjs/services/cache/product-cache-service.js +52 -52
  100. package/dist/cjs/services/db/destinations-db-service.d.ts +9 -9
  101. package/dist/cjs/services/db/destinations-db-service.js +57 -57
  102. package/dist/cjs/services/db/identity-cache-db-service.d.ts +24 -24
  103. package/dist/cjs/services/db/identity-cache-db-service.js +233 -233
  104. package/dist/cjs/services/db/index.d.ts +7 -7
  105. package/dist/cjs/services/db/index.js +23 -23
  106. package/dist/cjs/services/db/log-events-db-service.d.ts +11 -11
  107. package/dist/cjs/services/db/log-events-db-service.js +172 -172
  108. package/dist/cjs/services/db/purchased-contacts-db-service.d.ts +9 -9
  109. package/dist/cjs/services/db/purchased-contacts-db-service.js +38 -38
  110. package/dist/cjs/services/db/shopify-app-installs-db-service.d.ts +7 -7
  111. package/dist/cjs/services/db/shopify-app-installs-db-service.js +47 -47
  112. package/dist/cjs/services/db/shopify-products-cache-db-service.d.ts +9 -9
  113. package/dist/cjs/services/db/shopify-products-cache-db-service.js +64 -64
  114. package/dist/cjs/services/db/tracking-events-db-service.d.ts +20 -20
  115. package/dist/cjs/services/db/tracking-events-db-service.js +162 -162
  116. package/dist/cjs/services/eventbridge-integration-service.d.ts +9 -9
  117. package/dist/cjs/services/eventbridge-integration-service.js +28 -28
  118. package/dist/cjs/services/generic-cache-service.d.ts +8 -8
  119. package/dist/cjs/services/generic-cache-service.js +35 -30
  120. package/dist/cjs/services/generic-cache-service.js.map +1 -1
  121. package/dist/cjs/services/index.d.ts +8 -8
  122. package/dist/cjs/services/index.js +24 -24
  123. package/dist/cjs/services/ipdata-lookup-service.d.ts +17 -17
  124. package/dist/cjs/services/ipdata-lookup-service.js +71 -71
  125. package/dist/cjs/services/log-event-service.d.ts +9 -9
  126. package/dist/cjs/services/log-event-service.js +56 -56
  127. package/dist/cjs/services/metric-event-service.d.ts +9 -9
  128. package/dist/cjs/services/metric-event-service.js +49 -49
  129. package/dist/cjs/services/shopify/index.d.ts +3 -3
  130. package/dist/cjs/services/shopify/index.js +19 -19
  131. package/dist/cjs/services/shopify/products/index.d.ts +1 -1
  132. package/dist/cjs/services/shopify/products/index.js +17 -17
  133. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.d.ts +12 -12
  134. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.js +63 -63
  135. package/dist/cjs/services/shopify/shopify-graphql-transformer.d.ts +8 -8
  136. package/dist/cjs/services/shopify/shopify-graphql-transformer.js +114 -114
  137. package/dist/cjs/services/shopify/types/index.d.ts +1 -1
  138. package/dist/cjs/services/shopify/types/index.js +17 -17
  139. package/dist/cjs/services/shopify/types/product.d.ts +114 -114
  140. package/dist/cjs/services/shopify/types/product.js +9 -9
  141. package/dist/cjs/types/api-response.d.ts +6 -6
  142. package/dist/cjs/types/api-response.js +2 -2
  143. package/dist/cjs/types/index.d.ts +2 -2
  144. package/dist/cjs/types/index.js +18 -18
  145. package/dist/cjs/types/internal-events/event-detail-types.d.ts +20 -20
  146. package/dist/cjs/types/internal-events/event-detail-types.js +27 -27
  147. package/dist/cjs/types/internal-events/index.d.ts +1 -1
  148. package/dist/cjs/types/internal-events/index.js +17 -17
  149. package/dist/cjs/types/shopify-graphql-types/admin.generated.d.ts +105 -105
  150. package/dist/cjs/types/shopify-graphql-types/admin.generated.js +2 -2
  151. package/dist/cjs/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  152. package/dist/cjs/types/shopify-graphql-types/admin.types.js +5311 -5311
  153. package/dist/cjs/types/shopify-graphql-types/index.d.ts +2 -2
  154. package/dist/cjs/types/shopify-graphql-types/index.js +18 -18
  155. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  156. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js +525 -525
  157. package/dist/esm/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  158. package/dist/esm/__tests__/libs/compress-decompress.spec.js +14 -14
  159. package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  160. package/dist/esm/__tests__/s3-client/s3-client.spec.js +24 -24
  161. package/dist/esm/clients/generic/cognito-client.d.ts +22 -20
  162. package/dist/esm/clients/generic/cognito-client.js +170 -159
  163. package/dist/esm/clients/generic/cognito-client.js.map +1 -1
  164. package/dist/esm/clients/generic/dynamodb-client.d.ts +17 -17
  165. package/dist/esm/clients/generic/dynamodb-client.js +163 -163
  166. package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
  167. package/dist/esm/clients/generic/eventbridge-client.js +45 -45
  168. package/dist/esm/clients/generic/http-client.d.ts +88 -88
  169. package/dist/esm/clients/generic/http-client.js +52 -52
  170. package/dist/esm/clients/generic/index.d.ts +10 -10
  171. package/dist/esm/clients/generic/index.js +10 -10
  172. package/dist/esm/clients/generic/lambda-invoke-client.d.ts +10 -10
  173. package/dist/esm/clients/generic/lambda-invoke-client.js +31 -31
  174. package/dist/esm/clients/generic/location-client.d.ts +8 -8
  175. package/dist/esm/clients/generic/location-client.js +27 -27
  176. package/dist/esm/clients/generic/redis-client.d.ts +18 -18
  177. package/dist/esm/clients/generic/redis-client.js +121 -121
  178. package/dist/esm/clients/generic/s3-client.d.ts +16 -16
  179. package/dist/esm/clients/generic/s3-client.js +106 -106
  180. package/dist/esm/clients/generic/singlestore-db-client.d.ts +14 -14
  181. package/dist/esm/clients/generic/singlestore-db-client.js +40 -40
  182. package/dist/esm/clients/generic/sqs-client.d.ts +20 -20
  183. package/dist/esm/clients/generic/sqs-client.js +32 -32
  184. package/dist/esm/clients/index.d.ts +3 -3
  185. package/dist/esm/clients/index.js +3 -3
  186. package/dist/esm/clients/internal-api/accounts-client.d.ts +112 -112
  187. package/dist/esm/clients/internal-api/accounts-client.js +113 -113
  188. package/dist/esm/clients/internal-api/cache-lambda-client.d.ts +23 -23
  189. package/dist/esm/clients/internal-api/cache-lambda-client.js +55 -55
  190. package/dist/esm/clients/internal-api/db-management-client.d.ts +18 -18
  191. package/dist/esm/clients/internal-api/db-management-client.js +32 -32
  192. package/dist/esm/clients/internal-api/destinations-client.d.ts +29 -29
  193. package/dist/esm/clients/internal-api/destinations-client.js +50 -50
  194. package/dist/esm/clients/internal-api/event-collector-client.d.ts +20 -20
  195. package/dist/esm/clients/internal-api/event-collector-client.js +32 -32
  196. package/dist/esm/clients/internal-api/identity-client.d.ts +25 -25
  197. package/dist/esm/clients/internal-api/identity-client.js +88 -88
  198. package/dist/esm/clients/internal-api/index.d.ts +8 -8
  199. package/dist/esm/clients/internal-api/index.js +8 -8
  200. package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +34 -34
  201. package/dist/esm/clients/internal-api/shopify-app-install-client.js +56 -56
  202. package/dist/esm/clients/internal-api/users-auth-client.d.ts +31 -31
  203. package/dist/esm/clients/internal-api/users-auth-client.js +88 -88
  204. package/dist/esm/clients/third-party/index.d.ts +1 -1
  205. package/dist/esm/clients/third-party/index.js +1 -1
  206. package/dist/esm/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  207. package/dist/esm/clients/third-party/shopify/graphql-product-queries.js +2 -2
  208. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -9
  209. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js +91 -91
  210. package/dist/esm/clients/third-party/shopify-client.d.ts +198 -198
  211. package/dist/esm/clients/third-party/shopify-client.js +146 -146
  212. package/dist/esm/helpers/identity-cache-helper.d.ts +4 -4
  213. package/dist/esm/helpers/identity-cache-helper.js +145 -145
  214. package/dist/esm/helpers/index.d.ts +5 -5
  215. package/dist/esm/helpers/index.js +5 -5
  216. package/dist/esm/helpers/input-validation-helper.d.ts +3 -3
  217. package/dist/esm/helpers/input-validation-helper.js +18 -18
  218. package/dist/esm/helpers/logging-helper.d.ts +16 -16
  219. package/dist/esm/helpers/logging-helper.js +56 -56
  220. package/dist/esm/helpers/response-helper.d.ts +15 -15
  221. package/dist/esm/helpers/response-helper.js +36 -36
  222. package/dist/esm/helpers/shopify-helper.d.ts +9 -9
  223. package/dist/esm/helpers/shopify-helper.js +23 -23
  224. package/dist/esm/index.d.ts +5 -5
  225. package/dist/esm/index.js +5 -5
  226. package/dist/esm/libs/clickId-parser.d.ts +23 -23
  227. package/dist/esm/libs/clickId-parser.js +45 -45
  228. package/dist/esm/libs/compression.d.ts +2 -2
  229. package/dist/esm/libs/compression.js +25 -25
  230. package/dist/esm/libs/crypto.d.ts +1 -1
  231. package/dist/esm/libs/crypto.js +5 -5
  232. package/dist/esm/libs/dates.d.ts +6 -6
  233. package/dist/esm/libs/dates.js +22 -22
  234. package/dist/esm/libs/http-error.d.ts +21 -21
  235. package/dist/esm/libs/http-error.js +55 -55
  236. package/dist/esm/libs/http-status-codes.d.ts +58 -58
  237. package/dist/esm/libs/http-status-codes.js +59 -59
  238. package/dist/esm/libs/index.d.ts +9 -9
  239. package/dist/esm/libs/index.js +9 -9
  240. package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
  241. package/dist/esm/libs/referrer-parser/index.js +2 -2
  242. package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
  243. package/dist/esm/libs/referrer-parser/referrer-data.js +4709 -4709
  244. package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  245. package/dist/esm/libs/referrer-parser/referrer-parser-util.js +121 -121
  246. package/dist/esm/libs/url.d.ts +1 -1
  247. package/dist/esm/libs/url.js +9 -9
  248. package/dist/esm/services/cache/generic-cached-object.d.ts +5 -5
  249. package/dist/esm/services/cache/generic-cached-object.js +1 -1
  250. package/dist/esm/services/cache/index.d.ts +1 -1
  251. package/dist/esm/services/cache/index.js +1 -1
  252. package/dist/esm/services/cache/product-cache-service.d.ts +17 -17
  253. package/dist/esm/services/cache/product-cache-service.js +44 -44
  254. package/dist/esm/services/db/destinations-db-service.d.ts +9 -9
  255. package/dist/esm/services/db/destinations-db-service.js +53 -53
  256. package/dist/esm/services/db/identity-cache-db-service.d.ts +24 -24
  257. package/dist/esm/services/db/identity-cache-db-service.js +229 -229
  258. package/dist/esm/services/db/index.d.ts +7 -7
  259. package/dist/esm/services/db/index.js +7 -7
  260. package/dist/esm/services/db/log-events-db-service.d.ts +11 -11
  261. package/dist/esm/services/db/log-events-db-service.js +168 -168
  262. package/dist/esm/services/db/purchased-contacts-db-service.d.ts +9 -9
  263. package/dist/esm/services/db/purchased-contacts-db-service.js +34 -34
  264. package/dist/esm/services/db/shopify-app-installs-db-service.d.ts +7 -7
  265. package/dist/esm/services/db/shopify-app-installs-db-service.js +43 -43
  266. package/dist/esm/services/db/shopify-products-cache-db-service.d.ts +9 -9
  267. package/dist/esm/services/db/shopify-products-cache-db-service.js +60 -60
  268. package/dist/esm/services/db/tracking-events-db-service.d.ts +20 -20
  269. package/dist/esm/services/db/tracking-events-db-service.js +158 -158
  270. package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
  271. package/dist/esm/services/eventbridge-integration-service.js +24 -24
  272. package/dist/esm/services/generic-cache-service.d.ts +8 -8
  273. package/dist/esm/services/generic-cache-service.js +31 -26
  274. package/dist/esm/services/generic-cache-service.js.map +1 -1
  275. package/dist/esm/services/index.d.ts +8 -8
  276. package/dist/esm/services/index.js +8 -8
  277. package/dist/esm/services/ipdata-lookup-service.d.ts +17 -17
  278. package/dist/esm/services/ipdata-lookup-service.js +67 -67
  279. package/dist/esm/services/log-event-service.d.ts +9 -9
  280. package/dist/esm/services/log-event-service.js +52 -52
  281. package/dist/esm/services/metric-event-service.d.ts +9 -9
  282. package/dist/esm/services/metric-event-service.js +45 -45
  283. package/dist/esm/services/shopify/index.d.ts +3 -3
  284. package/dist/esm/services/shopify/index.js +3 -3
  285. package/dist/esm/services/shopify/products/index.d.ts +1 -1
  286. package/dist/esm/services/shopify/products/index.js +1 -1
  287. package/dist/esm/services/shopify/products/shopify-products-serviceV2.d.ts +12 -12
  288. package/dist/esm/services/shopify/products/shopify-products-serviceV2.js +59 -59
  289. package/dist/esm/services/shopify/shopify-graphql-transformer.d.ts +8 -8
  290. package/dist/esm/services/shopify/shopify-graphql-transformer.js +111 -111
  291. package/dist/esm/services/shopify/types/index.d.ts +1 -1
  292. package/dist/esm/services/shopify/types/index.js +1 -1
  293. package/dist/esm/services/shopify/types/product.d.ts +114 -114
  294. package/dist/esm/services/shopify/types/product.js +6 -6
  295. package/dist/esm/types/api-response.d.ts +6 -6
  296. package/dist/esm/types/api-response.js +1 -1
  297. package/dist/esm/types/index.d.ts +2 -2
  298. package/dist/esm/types/index.js +2 -2
  299. package/dist/esm/types/internal-events/event-detail-types.d.ts +20 -20
  300. package/dist/esm/types/internal-events/event-detail-types.js +24 -24
  301. package/dist/esm/types/internal-events/index.d.ts +1 -1
  302. package/dist/esm/types/internal-events/index.js +1 -1
  303. package/dist/esm/types/shopify-graphql-types/admin.generated.d.ts +105 -105
  304. package/dist/esm/types/shopify-graphql-types/admin.generated.js +1 -1
  305. package/dist/esm/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  306. package/dist/esm/types/shopify-graphql-types/admin.types.js +5299 -5299
  307. package/dist/esm/types/shopify-graphql-types/index.d.ts +2 -2
  308. package/dist/esm/types/shopify-graphql-types/index.js +2 -2
  309. package/package.json +1 -1
@@ -1,61 +1,61 @@
1
- import { DynamoDbClient, ShopifyClient } from '../../clients';
2
- import { compressJSON, decompressJSON, getCurrentTimestamp } from '../../libs';
3
- import { DateTime } from 'luxon';
4
- import { Logger } from '../../helpers';
5
- export class ShopifyProductsCacheDbService {
6
- TABLE_NAME;
7
- KEY_NAME;
8
- constructor(tableName, keyName) {
9
- this.TABLE_NAME = tableName;
10
- this.KEY_NAME = keyName;
11
- }
12
- getShopifyProductWithCachingREST = async (pixelId, shop, accessToken, productId) => {
13
- try {
14
- const cachedShopifyProduct = await this.getShopifyProductFromCacheREST(pixelId, productId);
15
- if (cachedShopifyProduct) {
16
- return cachedShopifyProduct.product;
17
- }
18
- else {
19
- const productRes = await ShopifyClient.getProductREST(shop, accessToken, productId);
20
- if (productRes.status === 200 && productRes?.data?.product) {
21
- const product = productRes.data.product;
22
- await this.putShopifyProductCacheREST(pixelId, productId, product);
23
- return product;
24
- }
25
- }
26
- return null;
27
- }
28
- catch (error) {
29
- Logger.error('Failed lookupShopifyProductCacheREST', { error });
30
- return null;
31
- }
32
- };
33
- getShopifyProductFromCacheREST = async (pixelId, productId) => {
34
- try {
35
- const cachedProduct = await DynamoDbClient.safeGet(this.TABLE_NAME, this.KEY_NAME, `${pixelId}_${productId}`);
36
- if (cachedProduct) {
37
- cachedProduct.product = decompressJSON(cachedProduct.productCompressed);
38
- return cachedProduct;
39
- }
40
- return null;
41
- }
42
- catch (error) {
43
- Logger.error('Failed getShopifyProductCacheREST', { keyName: this.KEY_NAME, pixelId, productId, error });
44
- return null;
45
- }
46
- };
47
- putShopifyProductCacheREST = async (pixelId, productId, product, ttlInDays) => {
48
- const ttl = ttlInDays || 7;
49
- const expiresAt = DateTime.now().plus({ days: ttl }).toSeconds();
50
- const shopifyProductCache = {
51
- pixelId_productId: `${pixelId}_${productId}`,
52
- pixelId,
53
- productId,
54
- productCompressed: compressJSON(product),
55
- createdAt: getCurrentTimestamp(),
56
- expiresAt
57
- };
58
- return await DynamoDbClient.safePut(this.TABLE_NAME, shopifyProductCache);
59
- };
60
- }
1
+ import { DynamoDbClient, ShopifyClient } from '../../clients';
2
+ import { compressJSON, decompressJSON, getCurrentTimestamp } from '../../libs';
3
+ import { DateTime } from 'luxon';
4
+ import { Logger } from '../../helpers';
5
+ export class ShopifyProductsCacheDbService {
6
+ TABLE_NAME;
7
+ KEY_NAME;
8
+ constructor(tableName, keyName) {
9
+ this.TABLE_NAME = tableName;
10
+ this.KEY_NAME = keyName;
11
+ }
12
+ getShopifyProductWithCachingREST = async (pixelId, shop, accessToken, productId) => {
13
+ try {
14
+ const cachedShopifyProduct = await this.getShopifyProductFromCacheREST(pixelId, productId);
15
+ if (cachedShopifyProduct) {
16
+ return cachedShopifyProduct.product;
17
+ }
18
+ else {
19
+ const productRes = await ShopifyClient.getProductREST(shop, accessToken, productId);
20
+ if (productRes.status === 200 && productRes?.data?.product) {
21
+ const product = productRes.data.product;
22
+ await this.putShopifyProductCacheREST(pixelId, productId, product);
23
+ return product;
24
+ }
25
+ }
26
+ return null;
27
+ }
28
+ catch (error) {
29
+ Logger.error('Failed lookupShopifyProductCacheREST', { error });
30
+ return null;
31
+ }
32
+ };
33
+ getShopifyProductFromCacheREST = async (pixelId, productId) => {
34
+ try {
35
+ const cachedProduct = await DynamoDbClient.safeGet(this.TABLE_NAME, this.KEY_NAME, `${pixelId}_${productId}`);
36
+ if (cachedProduct) {
37
+ cachedProduct.product = decompressJSON(cachedProduct.productCompressed);
38
+ return cachedProduct;
39
+ }
40
+ return null;
41
+ }
42
+ catch (error) {
43
+ Logger.error('Failed getShopifyProductCacheREST', { keyName: this.KEY_NAME, pixelId, productId, error });
44
+ return null;
45
+ }
46
+ };
47
+ putShopifyProductCacheREST = async (pixelId, productId, product, ttlInDays) => {
48
+ const ttl = ttlInDays || 7;
49
+ const expiresAt = DateTime.now().plus({ days: ttl }).toSeconds();
50
+ const shopifyProductCache = {
51
+ pixelId_productId: `${pixelId}_${productId}`,
52
+ pixelId,
53
+ productId,
54
+ productCompressed: compressJSON(product),
55
+ createdAt: getCurrentTimestamp(),
56
+ expiresAt
57
+ };
58
+ return await DynamoDbClient.safePut(this.TABLE_NAME, shopifyProductCache);
59
+ };
60
+ }
61
61
  //# sourceMappingURL=shopify-products-cache-db-service.js.map
@@ -1,20 +1,20 @@
1
- import { AdClickInfo, TrackingEvent, TrackingEventRecord } from '@adtrackify/at-tracking-event-types';
2
- export interface LatestSessionResponseData {
3
- pixelId?: string;
4
- identityId?: string;
5
- sessionId?: string;
6
- click?: AdClickInfo;
7
- }
8
- export declare class TrackingEventsDbService {
9
- TABLE_NAME: string;
10
- KEY_NAME: string;
11
- constructor(tableName: string);
12
- private processResult;
13
- private processResults;
14
- getLatestSessionByIpAddressUserAgent: (indexName: string, ipAddressUserAgent: string, hostname?: string) => Promise<LatestSessionResponseData>;
15
- getTrackingEventsByPixelIdEventName: (indexName: string, pixelId: string, eventName: string, limit?: number, afterCollectedAt?: string) => Promise<TrackingEventRecord[]>;
16
- getTrackingEventCountByPixelId: (indexName: string, pixelId: string, offsetInMinutes?: number) => Promise<number>;
17
- getTrackingEvent: (eventId: string) => Promise<TrackingEventRecord | null>;
18
- buildTrackingEventRecord: (trackingEvent: TrackingEvent, ttlInDays?: number) => TrackingEventRecord;
19
- putTrackingEvent: (trackingEvent: TrackingEvent, ttlInDays?: number) => Promise<import("@aws-sdk/lib-dynamodb").PutCommandOutput | null | undefined>;
20
- }
1
+ import { AdClickInfo, TrackingEvent, TrackingEventRecord } from '@adtrackify/at-tracking-event-types';
2
+ export interface LatestSessionResponseData {
3
+ pixelId?: string;
4
+ identityId?: string;
5
+ sessionId?: string;
6
+ click?: AdClickInfo;
7
+ }
8
+ export declare class TrackingEventsDbService {
9
+ TABLE_NAME: string;
10
+ KEY_NAME: string;
11
+ constructor(tableName: string);
12
+ private processResult;
13
+ private processResults;
14
+ getLatestSessionByIpAddressUserAgent: (indexName: string, ipAddressUserAgent: string, hostname?: string) => Promise<LatestSessionResponseData>;
15
+ getTrackingEventsByPixelIdEventName: (indexName: string, pixelId: string, eventName: string, limit?: number, afterCollectedAt?: string) => Promise<TrackingEventRecord[]>;
16
+ getTrackingEventCountByPixelId: (indexName: string, pixelId: string, offsetInMinutes?: number) => Promise<number>;
17
+ getTrackingEvent: (eventId: string) => Promise<TrackingEventRecord | null>;
18
+ buildTrackingEventRecord: (trackingEvent: TrackingEvent, ttlInDays?: number) => TrackingEventRecord;
19
+ putTrackingEvent: (trackingEvent: TrackingEvent, ttlInDays?: number) => Promise<import("@aws-sdk/lib-dynamodb").PutCommandOutput | null | undefined>;
20
+ }
@@ -1,159 +1,159 @@
1
- import { DynamoDbClient } from '../../clients';
2
- import { Logger } from '../../helpers';
3
- import { DateTime } from 'luxon';
4
- import { compressJSON, decompressJSON } from '../../libs';
5
- export class TrackingEventsDbService {
6
- TABLE_NAME;
7
- KEY_NAME = 'eventId';
8
- constructor(tableName) {
9
- this.TABLE_NAME = tableName;
10
- }
11
- processResult = (trackingEventRecord) => {
12
- if (trackingEventRecord?.trackingEventCompressed) {
13
- const trackingEventDecompressed = decompressJSON(trackingEventRecord.trackingEventCompressed);
14
- if (trackingEventDecompressed) {
15
- trackingEventRecord.trackingEvent = trackingEventDecompressed;
16
- delete trackingEventRecord?.trackingEventCompressed;
17
- }
18
- }
19
- return trackingEventRecord;
20
- };
21
- processResults = (trackingEventRecords) => {
22
- return trackingEventRecords.map((trackingEventRecord) => this.processResult(trackingEventRecord));
23
- };
24
- getLatestSessionByIpAddressUserAgent = async (indexName, ipAddressUserAgent, hostname) => {
25
- try {
26
- const params = {
27
- TableName: this.TABLE_NAME,
28
- IndexName: indexName,
29
- KeyConditionExpression: 'ipAddressUserAgent = :ipAddressUserAgent',
30
- ExpressionAttributeValues: {
31
- ':ipAddressUserAgent': ipAddressUserAgent,
32
- },
33
- ScanIndexForward: false
34
- };
35
- const results = await DynamoDbClient.query(params);
36
- let trackingEventRecord;
37
- if (results?.Items && results.Items.length > 0) {
38
- trackingEventRecord = results.Items.find((item) => {
39
- const _trackingEvent = item.trackingEvent;
40
- const _hostname = item?.hostname;
41
- if (hostname && _hostname === hostname && _trackingEvent.context?.identity?.identityId && _trackingEvent.context.properties?.sessionId) {
42
- return true;
43
- }
44
- else if (_trackingEvent.context?.identity?.identityId && _trackingEvent.context.properties?.sessionId) {
45
- return true;
46
- }
47
- else {
48
- return false;
49
- }
50
- });
51
- }
52
- if (trackingEventRecord) {
53
- trackingEventRecord = this.processResult(trackingEventRecord);
54
- const trackingEvent = trackingEventRecord.trackingEvent;
55
- return {
56
- pixelId: trackingEvent?.pixelId,
57
- identityId: trackingEvent.context?.identity?.identityId,
58
- sessionId: trackingEvent.context?.properties?.sessionId,
59
- click: trackingEvent.context?.properties?.click
60
- };
61
- }
62
- else {
63
- return {};
64
- }
65
- }
66
- catch (e) {
67
- Logger.error('Failed to getLastTrackingEventByIpAddressUserAgent', { e });
68
- return {};
69
- }
70
- };
71
- getTrackingEventsByPixelIdEventName = async (indexName, pixelId, eventName, limit, afterCollectedAt) => {
72
- const query = {
73
- TableName: this.TABLE_NAME,
74
- IndexName: indexName,
75
- KeyConditionExpression: 'pixelIdEventName = :pixelIdEventName',
76
- ExpressionAttributeValues: {
77
- ':pixelIdEventName': `${pixelId}_${eventName}`,
78
- },
79
- ScanIndexForward: false,
80
- };
81
- if (limit) {
82
- query.Limit = limit;
83
- }
84
- if (afterCollectedAt) {
85
- query.KeyConditionExpression += ' and collectedAt > :collectedAt';
86
- query.ExpressionAttributeValues[':collectedAt'] = afterCollectedAt;
87
- }
88
- const result = await DynamoDbClient.query(query);
89
- const trackingEventRecords = (result?.Items ?? []);
90
- return this.processResults(trackingEventRecords);
91
- };
92
- getTrackingEventCountByPixelId = async (indexName, pixelId, offsetInMinutes = 30) => {
93
- try {
94
- const pastDateTime = DateTime.now().minus({ minutes: offsetInMinutes }).toISO();
95
- const params = {
96
- TableName: this.TABLE_NAME,
97
- IndexName: indexName,
98
- KeyConditionExpression: 'pixelId = :pixelId and collectedAt > :collectedAt',
99
- ExpressionAttributeValues: {
100
- ':pixelId': pixelId,
101
- ':collectedAt': pastDateTime
102
- }
103
- };
104
- const results = await DynamoDbClient.query(params);
105
- return results?.Items?.length ?? 0;
106
- }
107
- catch (e) {
108
- Logger.error('Failed to getTrackingEventCountByPixelId', { e });
109
- return 0;
110
- }
111
- };
112
- getTrackingEvent = async (eventId) => {
113
- try {
114
- let trackingEventRecord = await DynamoDbClient.safeGet(this.TABLE_NAME, this.KEY_NAME, eventId);
115
- trackingEventRecord = this.processResult(trackingEventRecord);
116
- return trackingEventRecord;
117
- }
118
- catch (e) {
119
- Logger.error('Failed to getTrackingEvent', { e });
120
- return null;
121
- }
122
- };
123
- buildTrackingEventRecord = (trackingEvent, ttlInDays) => {
124
- const trackingEventCopy = JSON.parse(JSON.stringify(trackingEvent));
125
- delete trackingEventCopy?.context?.properties?.enrichment?.ipLookupResponse;
126
- const pageURL = trackingEventCopy?.context?.properties?.page?.url;
127
- const parsedPageURL = new URL(pageURL);
128
- const hostname = parsedPageURL?.hostname;
129
- const trackingEventsTableTTLDays = ttlInDays || 15;
130
- const expiredAt = DateTime.now().plus({ days: trackingEventsTableTTLDays }).toSeconds();
131
- const trackingEventRecord = {
132
- eventId: trackingEventCopy.id,
133
- eventName: trackingEventCopy.name,
134
- pixelId: trackingEventCopy?.pixelId,
135
- pixelIdEventName: `${trackingEventCopy.pixelId}_${trackingEventCopy.name}`,
136
- ipAddressUserAgent: `${trackingEventCopy.context?.properties?.ipAddress}_${trackingEventCopy.context?.properties?.userAgent}`,
137
- hostname,
138
- identityId: trackingEventCopy?.context?.identity?.identityId,
139
- sessionId: trackingEventCopy?.context?.properties?.sessionId,
140
- collectedAt: trackingEventCopy.collectedAt,
141
- expiredAt,
142
- };
143
- const trackingEventCompressed = compressJSON(trackingEventCopy);
144
- if (trackingEventCompressed) {
145
- trackingEventRecord.trackingEventCompressed = trackingEventCompressed;
146
- }
147
- else {
148
- trackingEventRecord.trackingEvent = trackingEventCopy;
149
- }
150
- return trackingEventRecord;
151
- };
152
- putTrackingEvent = async (trackingEvent, ttlInDays) => {
153
- if (!trackingEvent.context?.properties?.ipAddress || !trackingEvent.context?.properties?.userAgent)
154
- return;
155
- const trackingEventRecord = this.buildTrackingEventRecord(trackingEvent, ttlInDays);
156
- return await DynamoDbClient.safePut(this.TABLE_NAME, trackingEventRecord);
157
- };
158
- }
1
+ import { DynamoDbClient } from '../../clients';
2
+ import { Logger } from '../../helpers';
3
+ import { DateTime } from 'luxon';
4
+ import { compressJSON, decompressJSON } from '../../libs';
5
+ export class TrackingEventsDbService {
6
+ TABLE_NAME;
7
+ KEY_NAME = 'eventId';
8
+ constructor(tableName) {
9
+ this.TABLE_NAME = tableName;
10
+ }
11
+ processResult = (trackingEventRecord) => {
12
+ if (trackingEventRecord?.trackingEventCompressed) {
13
+ const trackingEventDecompressed = decompressJSON(trackingEventRecord.trackingEventCompressed);
14
+ if (trackingEventDecompressed) {
15
+ trackingEventRecord.trackingEvent = trackingEventDecompressed;
16
+ delete trackingEventRecord?.trackingEventCompressed;
17
+ }
18
+ }
19
+ return trackingEventRecord;
20
+ };
21
+ processResults = (trackingEventRecords) => {
22
+ return trackingEventRecords.map((trackingEventRecord) => this.processResult(trackingEventRecord));
23
+ };
24
+ getLatestSessionByIpAddressUserAgent = async (indexName, ipAddressUserAgent, hostname) => {
25
+ try {
26
+ const params = {
27
+ TableName: this.TABLE_NAME,
28
+ IndexName: indexName,
29
+ KeyConditionExpression: 'ipAddressUserAgent = :ipAddressUserAgent',
30
+ ExpressionAttributeValues: {
31
+ ':ipAddressUserAgent': ipAddressUserAgent,
32
+ },
33
+ ScanIndexForward: false
34
+ };
35
+ const results = await DynamoDbClient.query(params);
36
+ let trackingEventRecord;
37
+ if (results?.Items && results.Items.length > 0) {
38
+ trackingEventRecord = results.Items.find((item) => {
39
+ const _trackingEvent = item.trackingEvent;
40
+ const _hostname = item?.hostname;
41
+ if (hostname && _hostname === hostname && _trackingEvent.context?.identity?.identityId && _trackingEvent.context.properties?.sessionId) {
42
+ return true;
43
+ }
44
+ else if (_trackingEvent.context?.identity?.identityId && _trackingEvent.context.properties?.sessionId) {
45
+ return true;
46
+ }
47
+ else {
48
+ return false;
49
+ }
50
+ });
51
+ }
52
+ if (trackingEventRecord) {
53
+ trackingEventRecord = this.processResult(trackingEventRecord);
54
+ const trackingEvent = trackingEventRecord.trackingEvent;
55
+ return {
56
+ pixelId: trackingEvent?.pixelId,
57
+ identityId: trackingEvent.context?.identity?.identityId,
58
+ sessionId: trackingEvent.context?.properties?.sessionId,
59
+ click: trackingEvent.context?.properties?.click
60
+ };
61
+ }
62
+ else {
63
+ return {};
64
+ }
65
+ }
66
+ catch (e) {
67
+ Logger.error('Failed to getLastTrackingEventByIpAddressUserAgent', { e });
68
+ return {};
69
+ }
70
+ };
71
+ getTrackingEventsByPixelIdEventName = async (indexName, pixelId, eventName, limit, afterCollectedAt) => {
72
+ const query = {
73
+ TableName: this.TABLE_NAME,
74
+ IndexName: indexName,
75
+ KeyConditionExpression: 'pixelIdEventName = :pixelIdEventName',
76
+ ExpressionAttributeValues: {
77
+ ':pixelIdEventName': `${pixelId}_${eventName}`,
78
+ },
79
+ ScanIndexForward: false,
80
+ };
81
+ if (limit) {
82
+ query.Limit = limit;
83
+ }
84
+ if (afterCollectedAt) {
85
+ query.KeyConditionExpression += ' and collectedAt > :collectedAt';
86
+ query.ExpressionAttributeValues[':collectedAt'] = afterCollectedAt;
87
+ }
88
+ const result = await DynamoDbClient.query(query);
89
+ const trackingEventRecords = (result?.Items ?? []);
90
+ return this.processResults(trackingEventRecords);
91
+ };
92
+ getTrackingEventCountByPixelId = async (indexName, pixelId, offsetInMinutes = 30) => {
93
+ try {
94
+ const pastDateTime = DateTime.now().minus({ minutes: offsetInMinutes }).toISO();
95
+ const params = {
96
+ TableName: this.TABLE_NAME,
97
+ IndexName: indexName,
98
+ KeyConditionExpression: 'pixelId = :pixelId and collectedAt > :collectedAt',
99
+ ExpressionAttributeValues: {
100
+ ':pixelId': pixelId,
101
+ ':collectedAt': pastDateTime
102
+ }
103
+ };
104
+ const results = await DynamoDbClient.query(params);
105
+ return results?.Items?.length ?? 0;
106
+ }
107
+ catch (e) {
108
+ Logger.error('Failed to getTrackingEventCountByPixelId', { e });
109
+ return 0;
110
+ }
111
+ };
112
+ getTrackingEvent = async (eventId) => {
113
+ try {
114
+ let trackingEventRecord = await DynamoDbClient.safeGet(this.TABLE_NAME, this.KEY_NAME, eventId);
115
+ trackingEventRecord = this.processResult(trackingEventRecord);
116
+ return trackingEventRecord;
117
+ }
118
+ catch (e) {
119
+ Logger.error('Failed to getTrackingEvent', { e });
120
+ return null;
121
+ }
122
+ };
123
+ buildTrackingEventRecord = (trackingEvent, ttlInDays) => {
124
+ const trackingEventCopy = JSON.parse(JSON.stringify(trackingEvent));
125
+ delete trackingEventCopy?.context?.properties?.enrichment?.ipLookupResponse;
126
+ const pageURL = trackingEventCopy?.context?.properties?.page?.url;
127
+ const parsedPageURL = new URL(pageURL);
128
+ const hostname = parsedPageURL?.hostname;
129
+ const trackingEventsTableTTLDays = ttlInDays || 15;
130
+ const expiredAt = DateTime.now().plus({ days: trackingEventsTableTTLDays }).toSeconds();
131
+ const trackingEventRecord = {
132
+ eventId: trackingEventCopy.id,
133
+ eventName: trackingEventCopy.name,
134
+ pixelId: trackingEventCopy?.pixelId,
135
+ pixelIdEventName: `${trackingEventCopy.pixelId}_${trackingEventCopy.name}`,
136
+ ipAddressUserAgent: `${trackingEventCopy.context?.properties?.ipAddress}_${trackingEventCopy.context?.properties?.userAgent}`,
137
+ hostname,
138
+ identityId: trackingEventCopy?.context?.identity?.identityId,
139
+ sessionId: trackingEventCopy?.context?.properties?.sessionId,
140
+ collectedAt: trackingEventCopy.collectedAt,
141
+ expiredAt,
142
+ };
143
+ const trackingEventCompressed = compressJSON(trackingEventCopy);
144
+ if (trackingEventCompressed) {
145
+ trackingEventRecord.trackingEventCompressed = trackingEventCompressed;
146
+ }
147
+ else {
148
+ trackingEventRecord.trackingEvent = trackingEventCopy;
149
+ }
150
+ return trackingEventRecord;
151
+ };
152
+ putTrackingEvent = async (trackingEvent, ttlInDays) => {
153
+ if (!trackingEvent.context?.properties?.ipAddress || !trackingEvent.context?.properties?.userAgent)
154
+ return;
155
+ const trackingEventRecord = this.buildTrackingEventRecord(trackingEvent, ttlInDays);
156
+ return await DynamoDbClient.safePut(this.TABLE_NAME, trackingEventRecord);
157
+ };
158
+ }
159
159
  //# sourceMappingURL=tracking-events-db-service.js.map
@@ -1,9 +1,9 @@
1
- import { EventBridgeClient } from '../clients/generic/eventbridge-client.js';
2
- import { Message, TemplatedMessage } from 'postmark';
3
- export declare class EventBridgeIntegrationService {
4
- eventBridgeClient: EventBridgeClient;
5
- EVENT_BUS_NAME: string;
6
- constructor(eventBusName: string);
7
- sendPostmarkEmailEvent: (eventSource: string, postmarkMessage: Message, postmarkServerToken: string) => Promise<import("@aws-sdk/client-eventbridge").PutEventsCommandOutput>;
8
- sendPostmarkTemplatedEmailEvent: (eventSource: string, postmarkMessage: TemplatedMessage, postmarkServerToken: string) => Promise<import("@aws-sdk/client-eventbridge").PutEventsCommandOutput>;
9
- }
1
+ import { EventBridgeClient } from '../clients/generic/eventbridge-client.js';
2
+ import { Message, TemplatedMessage } from 'postmark';
3
+ export declare class EventBridgeIntegrationService {
4
+ eventBridgeClient: EventBridgeClient;
5
+ EVENT_BUS_NAME: string;
6
+ constructor(eventBusName: string);
7
+ sendPostmarkEmailEvent: (eventSource: string, postmarkMessage: Message, postmarkServerToken: string) => Promise<import("@aws-sdk/client-eventbridge").PutEventsCommandOutput>;
8
+ sendPostmarkTemplatedEmailEvent: (eventSource: string, postmarkMessage: TemplatedMessage, postmarkServerToken: string) => Promise<import("@aws-sdk/client-eventbridge").PutEventsCommandOutput>;
9
+ }
@@ -1,25 +1,25 @@
1
- import { EventBridgeClient } from '../clients/generic/eventbridge-client.js';
2
- import { ADTRACKIFY_EVENT_BRIDGE_EVENTS, PostmarkRequestType } from '../types/internal-events/event-detail-types.js';
3
- export class EventBridgeIntegrationService {
4
- eventBridgeClient;
5
- EVENT_BUS_NAME;
6
- constructor(eventBusName) {
7
- this.eventBridgeClient = new EventBridgeClient(eventBusName);
8
- this.EVENT_BUS_NAME = eventBusName;
9
- }
10
- sendPostmarkEmailEvent = async (eventSource, postmarkMessage, postmarkServerToken) => {
11
- return await this.eventBridgeClient.buildAndSendEvent(eventSource, ADTRACKIFY_EVENT_BRIDGE_EVENTS.SEND_POSTMARK_EMAIL, {
12
- postmarkMessage,
13
- postmarkRequestType: PostmarkRequestType.SINGLE_EMAIL,
14
- postmarkServerToken
15
- });
16
- };
17
- sendPostmarkTemplatedEmailEvent = async (eventSource, postmarkMessage, postmarkServerToken) => {
18
- return await this.eventBridgeClient.buildAndSendEvent(eventSource, ADTRACKIFY_EVENT_BRIDGE_EVENTS.SEND_POSTMARK_EMAIL, {
19
- postmarkMessage,
20
- postmarkRequestType: PostmarkRequestType.TEMPLATE_EMAIL,
21
- postmarkServerToken
22
- });
23
- };
24
- }
1
+ import { EventBridgeClient } from '../clients/generic/eventbridge-client.js';
2
+ import { ADTRACKIFY_EVENT_BRIDGE_EVENTS, PostmarkRequestType } from '../types/internal-events/event-detail-types.js';
3
+ export class EventBridgeIntegrationService {
4
+ eventBridgeClient;
5
+ EVENT_BUS_NAME;
6
+ constructor(eventBusName) {
7
+ this.eventBridgeClient = new EventBridgeClient(eventBusName);
8
+ this.EVENT_BUS_NAME = eventBusName;
9
+ }
10
+ sendPostmarkEmailEvent = async (eventSource, postmarkMessage, postmarkServerToken) => {
11
+ return await this.eventBridgeClient.buildAndSendEvent(eventSource, ADTRACKIFY_EVENT_BRIDGE_EVENTS.SEND_POSTMARK_EMAIL, {
12
+ postmarkMessage,
13
+ postmarkRequestType: PostmarkRequestType.SINGLE_EMAIL,
14
+ postmarkServerToken
15
+ });
16
+ };
17
+ sendPostmarkTemplatedEmailEvent = async (eventSource, postmarkMessage, postmarkServerToken) => {
18
+ return await this.eventBridgeClient.buildAndSendEvent(eventSource, ADTRACKIFY_EVENT_BRIDGE_EVENTS.SEND_POSTMARK_EMAIL, {
19
+ postmarkMessage,
20
+ postmarkRequestType: PostmarkRequestType.TEMPLATE_EMAIL,
21
+ postmarkServerToken
22
+ });
23
+ };
24
+ }
25
25
  //# sourceMappingURL=eventbridge-integration-service.js.map
@@ -1,8 +1,8 @@
1
- export declare class GenericCacheService {
2
- private cacheLambdaClient;
3
- private lambdaInvokeClient;
4
- constructor(cacheLambdaFunctionArn: string);
5
- getCachedData: <T>(cacheKey: string) => Promise<T | undefined>;
6
- putCachedData: <T>(cacheKey: string, data: T) => Promise<void>;
7
- deleteCachedData: (cacheKey: string) => Promise<void>;
8
- }
1
+ export declare class GenericCacheService {
2
+ private cacheLambdaClient;
3
+ private lambdaInvokeClient;
4
+ constructor(cacheLambdaFunctionArn: string);
5
+ getCachedData: <T>(cacheKey: string) => Promise<T | undefined>;
6
+ putCachedData: <T>(cacheKey: string, data: T, ttlInSeconds?: number) => Promise<void>;
7
+ deleteCachedData: (cacheKey: string) => Promise<void>;
8
+ }
@@ -1,27 +1,32 @@
1
- import { CacheLambdaClient, LambdaInvokeClient } from '../clients';
2
- import { Logger } from '../helpers';
3
- export class GenericCacheService {
4
- cacheLambdaClient;
5
- lambdaInvokeClient;
6
- constructor(cacheLambdaFunctionArn) {
7
- this.cacheLambdaClient = new CacheLambdaClient(cacheLambdaFunctionArn);
8
- this.lambdaInvokeClient = new LambdaInvokeClient();
9
- }
10
- getCachedData = async (cacheKey) => {
11
- const start = performance.now();
12
- const cacheResponse = await this.cacheLambdaClient.invokeGet(cacheKey);
13
- const end = performance.now();
14
- Logger.debug('getCachedData', { cacheKey, cacheResponse, duration: end - start });
15
- if (cacheResponse && cacheResponse.responseData) {
16
- return cacheResponse.responseData;
17
- }
18
- return undefined;
19
- };
20
- putCachedData = async (cacheKey, data) => {
21
- await this.cacheLambdaClient.invokeSet(cacheKey, JSON.stringify(data));
22
- };
23
- deleteCachedData = async (cacheKey) => {
24
- await this.cacheLambdaClient.invokeDelete(cacheKey);
25
- };
26
- }
1
+ import { CacheLambdaClient, LambdaInvokeClient } from '../clients';
2
+ import { Logger } from '../helpers';
3
+ export class GenericCacheService {
4
+ cacheLambdaClient;
5
+ lambdaInvokeClient;
6
+ constructor(cacheLambdaFunctionArn) {
7
+ this.cacheLambdaClient = new CacheLambdaClient(cacheLambdaFunctionArn);
8
+ this.lambdaInvokeClient = new LambdaInvokeClient();
9
+ }
10
+ getCachedData = async (cacheKey) => {
11
+ const start = performance.now();
12
+ const cacheResponse = await this.cacheLambdaClient.invokeGet(cacheKey);
13
+ const end = performance.now();
14
+ Logger.debug('getCachedData', { cacheKey, cacheResponse, duration: end - start });
15
+ if (cacheResponse && cacheResponse.responseData) {
16
+ return cacheResponse.responseData;
17
+ }
18
+ return undefined;
19
+ };
20
+ putCachedData = async (cacheKey, data, ttlInSeconds) => {
21
+ if (ttlInSeconds) {
22
+ await this.cacheLambdaClient.invokeSet(cacheKey, JSON.stringify(data), ttlInSeconds);
23
+ }
24
+ else {
25
+ await this.cacheLambdaClient.invokeSet(cacheKey, JSON.stringify(data));
26
+ }
27
+ };
28
+ deleteCachedData = async (cacheKey) => {
29
+ await this.cacheLambdaClient.invokeDelete(cacheKey);
30
+ };
31
+ }
27
32
  //# sourceMappingURL=generic-cache-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generic-cache-service.js","sourceRoot":"","sources":["../../../src/services/generic-cache-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,MAAM,OAAO,mBAAmB;IAEtB,iBAAiB,CAAoB;IACrC,kBAAkB,CAAqB;IAE/C,YAAY,sBAA8B;QACxC,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;QACvE,IAAI,CAAC,kBAAkB,GAAG,IAAI,kBAAkB,EAAE,CAAC;IACrD,CAAC;IAEM,aAAa,GAAG,KAAK,EAAK,QAAgB,EAA0B,EAAE;QAC3E,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAChC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACvE,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC;QAClF,IAAI,aAAa,IAAI,aAAa,CAAC,YAAY,EAAE;YAC/C,OAAO,aAAa,CAAC,YAAiB,CAAC;SACxC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAA;IACM,aAAa,GAAG,KAAK,EAAK,QAAgB,EAAE,IAAO,EAAE,EAAE;QAC5D,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,CAAC,CAAA;IACM,gBAAgB,GAAG,KAAK,EAAE,QAAgB,EAAE,EAAE;QACnD,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC,CAAA;CACF"}
1
+ {"version":3,"file":"generic-cache-service.js","sourceRoot":"","sources":["../../../src/services/generic-cache-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,MAAM,OAAO,mBAAmB;IAEtB,iBAAiB,CAAoB;IACrC,kBAAkB,CAAqB;IAE/C,YAAY,sBAA8B;QACxC,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;QACvE,IAAI,CAAC,kBAAkB,GAAG,IAAI,kBAAkB,EAAE,CAAC;IACrD,CAAC;IAEM,aAAa,GAAG,KAAK,EAAK,QAAgB,EAA0B,EAAE;QAC3E,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAChC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACvE,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC;QAClF,IAAI,aAAa,IAAI,aAAa,CAAC,YAAY,EAAE;YAC/C,OAAO,aAAa,CAAC,YAAiB,CAAC;SACxC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAA;IACM,aAAa,GAAG,KAAK,EAAK,QAAgB,EAAE,IAAO,EAAE,YAAqB,EAAE,EAAE;QACnF,IAAI,YAAY,EAAE;YAChB,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;SACtF;aAAM;YACL,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;SACxE;IACH,CAAC,CAAA;IACM,gBAAgB,GAAG,KAAK,EAAE,QAAgB,EAAE,EAAE;QACnD,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC,CAAA;CACF"}