@adtrackify/at-service-common 3.8.1 → 3.8.3

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 (415) hide show
  1. package/dist/cjs/__tests__/helpers/account-users-helper.spec.d.ts +1 -1
  2. package/dist/cjs/__tests__/helpers/account-users-helper.spec.js +220 -220
  3. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  4. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.js +674 -674
  5. package/dist/cjs/__tests__/identity-cache/trait-merging-and-staleness.spec.d.ts +1 -1
  6. package/dist/cjs/__tests__/identity-cache/trait-merging-and-staleness.spec.js +588 -588
  7. package/dist/cjs/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  8. package/dist/cjs/__tests__/libs/compress-decompress.spec.js +16 -16
  9. package/dist/cjs/__tests__/libs/currency.spec.d.ts +1 -1
  10. package/dist/cjs/__tests__/libs/currency.spec.js +220 -220
  11. package/dist/cjs/__tests__/libs/dates.spec.d.ts +1 -1
  12. package/dist/cjs/__tests__/libs/dates.spec.js +130 -130
  13. package/dist/cjs/__tests__/libs/domain.spec.d.ts +1 -1
  14. package/dist/cjs/__tests__/libs/domain.spec.js +107 -107
  15. package/dist/cjs/__tests__/libs/numbers.spec.d.ts +1 -1
  16. package/dist/cjs/__tests__/libs/numbers.spec.js +261 -261
  17. package/dist/cjs/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  18. package/dist/cjs/__tests__/s3-client/s3-client.spec.js +33 -33
  19. package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
  20. package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.js +35 -35
  21. package/dist/cjs/clients/generic/cognito-client.d.ts +23 -23
  22. package/dist/cjs/clients/generic/cognito-client.js +209 -209
  23. package/dist/cjs/clients/generic/dynamodb-client.d.ts +17 -17
  24. package/dist/cjs/clients/generic/dynamodb-client.js +170 -170
  25. package/dist/cjs/clients/generic/eventbridge-client.d.ts +14 -14
  26. package/dist/cjs/clients/generic/eventbridge-client.js +51 -51
  27. package/dist/cjs/clients/generic/http-client.d.ts +14 -14
  28. package/dist/cjs/clients/generic/http-client.js +61 -61
  29. package/dist/cjs/clients/generic/index.d.ts +10 -10
  30. package/dist/cjs/clients/generic/index.js +26 -26
  31. package/dist/cjs/clients/generic/lambda-invoke-client.d.ts +10 -10
  32. package/dist/cjs/clients/generic/lambda-invoke-client.js +35 -35
  33. package/dist/cjs/clients/generic/location-client.d.ts +8 -8
  34. package/dist/cjs/clients/generic/location-client.js +31 -31
  35. package/dist/cjs/clients/generic/redis-client.d.ts +18 -18
  36. package/dist/cjs/clients/generic/redis-client.js +128 -128
  37. package/dist/cjs/clients/generic/s3-client.d.ts +23 -23
  38. package/dist/cjs/clients/generic/s3-client.js +216 -216
  39. package/dist/cjs/clients/generic/singlestore-db-client.d.ts +14 -14
  40. package/dist/cjs/clients/generic/singlestore-db-client.js +67 -67
  41. package/dist/cjs/clients/generic/sqs-client.d.ts +27 -27
  42. package/dist/cjs/clients/generic/sqs-client.js +71 -71
  43. package/dist/cjs/clients/index.d.ts +3 -3
  44. package/dist/cjs/clients/index.js +19 -19
  45. package/dist/cjs/clients/internal-api/accounts-client.d.ts +85 -85
  46. package/dist/cjs/clients/internal-api/accounts-client.js +129 -129
  47. package/dist/cjs/clients/internal-api/cache-lambda-client.d.ts +25 -25
  48. package/dist/cjs/clients/internal-api/cache-lambda-client.js +87 -87
  49. package/dist/cjs/clients/internal-api/db-management-client.d.ts +18 -18
  50. package/dist/cjs/clients/internal-api/db-management-client.js +36 -36
  51. package/dist/cjs/clients/internal-api/destinations-client.d.ts +34 -34
  52. package/dist/cjs/clients/internal-api/destinations-client.js +79 -79
  53. package/dist/cjs/clients/internal-api/event-collector-client.d.ts +20 -20
  54. package/dist/cjs/clients/internal-api/event-collector-client.js +36 -36
  55. package/dist/cjs/clients/internal-api/identity-client.d.ts +31 -31
  56. package/dist/cjs/clients/internal-api/identity-client.js +91 -91
  57. package/dist/cjs/clients/internal-api/index.d.ts +9 -9
  58. package/dist/cjs/clients/internal-api/index.js +25 -25
  59. package/dist/cjs/clients/internal-api/shopify-app-install-client.d.ts +37 -37
  60. package/dist/cjs/clients/internal-api/shopify-app-install-client.js +81 -81
  61. package/dist/cjs/clients/internal-api/subscriptions-client.d.ts +26 -26
  62. package/dist/cjs/clients/internal-api/subscriptions-client.js +77 -77
  63. package/dist/cjs/clients/internal-api/users-auth-client.d.ts +35 -35
  64. package/dist/cjs/clients/internal-api/users-auth-client.js +110 -110
  65. package/dist/cjs/clients/third-party/emailable-client.d.ts +7 -7
  66. package/dist/cjs/clients/third-party/emailable-client.js +25 -25
  67. package/dist/cjs/clients/third-party/exchange-rate-api-client.d.ts +17 -17
  68. package/dist/cjs/clients/third-party/exchange-rate-api-client.js +19 -19
  69. package/dist/cjs/clients/third-party/index.d.ts +3 -3
  70. package/dist/cjs/clients/third-party/index.js +19 -19
  71. package/dist/cjs/clients/third-party/loops-client.d.ts +10 -10
  72. package/dist/cjs/clients/third-party/loops-client.js +30 -30
  73. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  74. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.js +180 -180
  75. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -9
  76. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.js +115 -115
  77. package/dist/cjs/clients/third-party/shopify-client.d.ts +29 -29
  78. package/dist/cjs/clients/third-party/shopify-client.js +146 -146
  79. package/dist/cjs/helpers/account-users-helper.d.ts +2 -2
  80. package/dist/cjs/helpers/account-users-helper.js +22 -22
  81. package/dist/cjs/helpers/identity-cache-helper.d.ts +21 -21
  82. package/dist/cjs/helpers/identity-cache-helper.js +156 -156
  83. package/dist/cjs/helpers/index.d.ts +7 -7
  84. package/dist/cjs/helpers/index.js +23 -23
  85. package/dist/cjs/helpers/input-validation-helper.d.ts +3 -3
  86. package/dist/cjs/helpers/input-validation-helper.js +22 -22
  87. package/dist/cjs/helpers/logging-helper.d.ts +16 -16
  88. package/dist/cjs/helpers/logging-helper.js +84 -84
  89. package/dist/cjs/helpers/response-helper.d.ts +18 -18
  90. package/dist/cjs/helpers/response-helper.js +43 -43
  91. package/dist/cjs/helpers/shopify-helper.d.ts +9 -9
  92. package/dist/cjs/helpers/shopify-helper.js +26 -26
  93. package/dist/cjs/helpers/sqs-utils.d.ts +6 -6
  94. package/dist/cjs/helpers/sqs-utils.js +14 -14
  95. package/dist/cjs/index.d.ts +5 -5
  96. package/dist/cjs/index.js +21 -21
  97. package/dist/cjs/libs/click-id-parser.d.ts +23 -23
  98. package/dist/cjs/libs/click-id-parser.js +49 -49
  99. package/dist/cjs/libs/compression.d.ts +2 -2
  100. package/dist/cjs/libs/compression.js +33 -33
  101. package/dist/cjs/libs/cookie.d.ts +17 -17
  102. package/dist/cjs/libs/cookie.js +76 -76
  103. package/dist/cjs/libs/crypto.d.ts +3 -3
  104. package/dist/cjs/libs/crypto.js +20 -20
  105. package/dist/cjs/libs/csv.d.ts +2 -2
  106. package/dist/cjs/libs/csv.js +35 -35
  107. package/dist/cjs/libs/currency.d.ts +1 -1
  108. package/dist/cjs/libs/currency.js +29 -29
  109. package/dist/cjs/libs/dates.d.ts +12 -12
  110. package/dist/cjs/libs/dates.js +96 -96
  111. package/dist/cjs/libs/domain.d.ts +2 -2
  112. package/dist/cjs/libs/domain.js +38 -38
  113. package/dist/cjs/libs/emails.d.ts +6 -6
  114. package/dist/cjs/libs/emails.js +122 -122
  115. package/dist/cjs/libs/http-error.d.ts +21 -21
  116. package/dist/cjs/libs/http-error.js +63 -63
  117. package/dist/cjs/libs/http-status-codes.d.ts +58 -58
  118. package/dist/cjs/libs/http-status-codes.js +62 -62
  119. package/dist/cjs/libs/index.d.ts +17 -17
  120. package/dist/cjs/libs/index.js +33 -33
  121. package/dist/cjs/libs/numbers.d.ts +1 -1
  122. package/dist/cjs/libs/numbers.js +15 -15
  123. package/dist/cjs/libs/referrer-parser/index.d.ts +2 -2
  124. package/dist/cjs/libs/referrer-parser/index.js +18 -18
  125. package/dist/cjs/libs/referrer-parser/referrer-data.d.ts +9 -9
  126. package/dist/cjs/libs/referrer-parser/referrer-data.js +3307 -3307
  127. package/dist/cjs/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  128. package/dist/cjs/libs/referrer-parser/referrer-parser-util.js +131 -131
  129. package/dist/cjs/libs/strings.d.ts +3 -3
  130. package/dist/cjs/libs/strings.js +46 -46
  131. package/dist/cjs/libs/traits.d.ts +6 -6
  132. package/dist/cjs/libs/traits.js +65 -65
  133. package/dist/cjs/libs/url.d.ts +1 -1
  134. package/dist/cjs/libs/url.js +13 -13
  135. package/dist/cjs/services/cache/generic-cached-object.d.ts +5 -5
  136. package/dist/cjs/services/cache/generic-cached-object.js +2 -2
  137. package/dist/cjs/services/cache/index.d.ts +1 -1
  138. package/dist/cjs/services/cache/index.js +17 -17
  139. package/dist/cjs/services/cache/product-cache-service.d.ts +21 -21
  140. package/dist/cjs/services/cache/product-cache-service.js +76 -76
  141. package/dist/cjs/services/currency-exchange-rate-lookup-service.d.ts +11 -11
  142. package/dist/cjs/services/currency-exchange-rate-lookup-service.js +66 -66
  143. package/dist/cjs/services/db/currency-exchange-rates-db-service.d.ts +21 -21
  144. package/dist/cjs/services/db/currency-exchange-rates-db-service.js +39 -39
  145. package/dist/cjs/services/db/destinations-db-service.d.ts +12 -12
  146. package/dist/cjs/services/db/destinations-db-service.js +76 -76
  147. package/dist/cjs/services/db/identity-cache-db-service.d.ts +28 -28
  148. package/dist/cjs/services/db/identity-cache-db-service.js +320 -320
  149. package/dist/cjs/services/db/index.d.ts +10 -10
  150. package/dist/cjs/services/db/index.js +26 -26
  151. package/dist/cjs/services/db/log-events-db-service.d.ts +11 -11
  152. package/dist/cjs/services/db/log-events-db-service.js +181 -181
  153. package/dist/cjs/services/db/pixels-db-service.d.ts +8 -8
  154. package/dist/cjs/services/db/pixels-db-service.js +35 -35
  155. package/dist/cjs/services/db/purchasable-contacts-db-service.d.ts +9 -9
  156. package/dist/cjs/services/db/purchasable-contacts-db-service.js +43 -43
  157. package/dist/cjs/services/db/purchased-contacts-db-service.d.ts +17 -17
  158. package/dist/cjs/services/db/purchased-contacts-db-service.js +143 -143
  159. package/dist/cjs/services/db/shopify-app-installs-db-service.d.ts +7 -7
  160. package/dist/cjs/services/db/shopify-app-installs-db-service.js +47 -47
  161. package/dist/cjs/services/db/shopify-products-cache-db-service.d.ts +16 -16
  162. package/dist/cjs/services/db/shopify-products-cache-db-service.js +73 -73
  163. package/dist/cjs/services/db/tracking-events-db-service.d.ts +20 -20
  164. package/dist/cjs/services/db/tracking-events-db-service.js +165 -165
  165. package/dist/cjs/services/eventbridge-integration-service.d.ts +9 -9
  166. package/dist/cjs/services/eventbridge-integration-service.js +28 -28
  167. package/dist/cjs/services/events/index.d.ts +3 -3
  168. package/dist/cjs/services/events/index.js +19 -19
  169. package/dist/cjs/services/events/log-event-service.d.ts +9 -9
  170. package/dist/cjs/services/events/log-event-service.js +56 -56
  171. package/dist/cjs/services/events/metric-event-service.d.ts +9 -9
  172. package/dist/cjs/services/events/metric-event-service.js +49 -49
  173. package/dist/cjs/services/events/tracking-event-sqs-service.d.ts +8 -8
  174. package/dist/cjs/services/events/tracking-event-sqs-service.js +34 -34
  175. package/dist/cjs/services/generic-cache-service.d.ts +7 -7
  176. package/dist/cjs/services/generic-cache-service.js +33 -33
  177. package/dist/cjs/services/index.d.ts +8 -8
  178. package/dist/cjs/services/index.js +24 -24
  179. package/dist/cjs/services/ipdata-lookup-service.d.ts +20 -19
  180. package/dist/cjs/services/ipdata-lookup-service.js +112 -77
  181. package/dist/cjs/services/ipdata-lookup-service.js.map +1 -1
  182. package/dist/cjs/services/shopify/index.d.ts +3 -3
  183. package/dist/cjs/services/shopify/index.js +19 -19
  184. package/dist/cjs/services/shopify/products/index.d.ts +1 -1
  185. package/dist/cjs/services/shopify/products/index.js +17 -17
  186. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  187. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.js +114 -114
  188. package/dist/cjs/services/shopify/shopify-graphql-transformer.d.ts +9 -9
  189. package/dist/cjs/services/shopify/shopify-graphql-transformer.js +141 -141
  190. package/dist/cjs/services/shopify/types/index.d.ts +1 -1
  191. package/dist/cjs/services/shopify/types/index.js +17 -17
  192. package/dist/cjs/services/shopify/types/product.d.ts +115 -115
  193. package/dist/cjs/services/shopify/types/product.js +9 -9
  194. package/dist/cjs/types/api-response.d.ts +6 -6
  195. package/dist/cjs/types/api-response.js +2 -2
  196. package/dist/cjs/types/index.d.ts +1 -1
  197. package/dist/cjs/types/index.js +17 -17
  198. package/dist/cjs/types/internal-events/event-detail-types.d.ts +20 -20
  199. package/dist/cjs/types/internal-events/event-detail-types.js +27 -27
  200. package/dist/cjs/types/internal-events/index.d.ts +1 -1
  201. package/dist/cjs/types/internal-events/index.js +17 -17
  202. package/dist/cjs/types/shopify-graphql-types/admin.generated.d.ts +105 -105
  203. package/dist/cjs/types/shopify-graphql-types/admin.generated.js +2 -2
  204. package/dist/cjs/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  205. package/dist/cjs/types/shopify-graphql-types/admin.types.js +5311 -5311
  206. package/dist/cjs/types/shopify-graphql-types/index.d.ts +2 -2
  207. package/dist/cjs/types/shopify-graphql-types/index.js +18 -18
  208. package/dist/esm/__tests__/helpers/account-users-helper.spec.d.ts +1 -1
  209. package/dist/esm/__tests__/helpers/account-users-helper.spec.js +218 -218
  210. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  211. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js +672 -672
  212. package/dist/esm/__tests__/identity-cache/trait-merging-and-staleness.spec.d.ts +1 -1
  213. package/dist/esm/__tests__/identity-cache/trait-merging-and-staleness.spec.js +586 -586
  214. package/dist/esm/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  215. package/dist/esm/__tests__/libs/compress-decompress.spec.js +14 -14
  216. package/dist/esm/__tests__/libs/currency.spec.d.ts +1 -1
  217. package/dist/esm/__tests__/libs/currency.spec.js +218 -218
  218. package/dist/esm/__tests__/libs/dates.spec.d.ts +1 -1
  219. package/dist/esm/__tests__/libs/dates.spec.js +128 -128
  220. package/dist/esm/__tests__/libs/domain.spec.d.ts +1 -1
  221. package/dist/esm/__tests__/libs/domain.spec.js +105 -105
  222. package/dist/esm/__tests__/libs/numbers.spec.d.ts +1 -1
  223. package/dist/esm/__tests__/libs/numbers.spec.js +259 -259
  224. package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  225. package/dist/esm/__tests__/s3-client/s3-client.spec.js +31 -31
  226. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
  227. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.js +33 -33
  228. package/dist/esm/clients/generic/cognito-client.d.ts +23 -23
  229. package/dist/esm/clients/generic/cognito-client.js +204 -204
  230. package/dist/esm/clients/generic/dynamodb-client.d.ts +17 -17
  231. package/dist/esm/clients/generic/dynamodb-client.js +166 -166
  232. package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
  233. package/dist/esm/clients/generic/eventbridge-client.js +47 -47
  234. package/dist/esm/clients/generic/http-client.d.ts +14 -14
  235. package/dist/esm/clients/generic/http-client.js +53 -53
  236. package/dist/esm/clients/generic/index.d.ts +10 -10
  237. package/dist/esm/clients/generic/index.js +10 -10
  238. package/dist/esm/clients/generic/lambda-invoke-client.d.ts +10 -10
  239. package/dist/esm/clients/generic/lambda-invoke-client.js +31 -31
  240. package/dist/esm/clients/generic/location-client.d.ts +8 -8
  241. package/dist/esm/clients/generic/location-client.js +27 -27
  242. package/dist/esm/clients/generic/redis-client.d.ts +18 -18
  243. package/dist/esm/clients/generic/redis-client.js +121 -121
  244. package/dist/esm/clients/generic/s3-client.d.ts +23 -23
  245. package/dist/esm/clients/generic/s3-client.js +209 -209
  246. package/dist/esm/clients/generic/singlestore-db-client.d.ts +14 -14
  247. package/dist/esm/clients/generic/singlestore-db-client.js +40 -40
  248. package/dist/esm/clients/generic/sqs-client.d.ts +27 -27
  249. package/dist/esm/clients/generic/sqs-client.js +67 -67
  250. package/dist/esm/clients/index.d.ts +3 -3
  251. package/dist/esm/clients/index.js +3 -3
  252. package/dist/esm/clients/internal-api/accounts-client.d.ts +85 -85
  253. package/dist/esm/clients/internal-api/accounts-client.js +125 -125
  254. package/dist/esm/clients/internal-api/cache-lambda-client.d.ts +25 -25
  255. package/dist/esm/clients/internal-api/cache-lambda-client.js +83 -83
  256. package/dist/esm/clients/internal-api/db-management-client.d.ts +18 -18
  257. package/dist/esm/clients/internal-api/db-management-client.js +32 -32
  258. package/dist/esm/clients/internal-api/destinations-client.d.ts +34 -34
  259. package/dist/esm/clients/internal-api/destinations-client.js +75 -75
  260. package/dist/esm/clients/internal-api/event-collector-client.d.ts +20 -20
  261. package/dist/esm/clients/internal-api/event-collector-client.js +32 -32
  262. package/dist/esm/clients/internal-api/identity-client.d.ts +31 -31
  263. package/dist/esm/clients/internal-api/identity-client.js +87 -87
  264. package/dist/esm/clients/internal-api/index.d.ts +9 -9
  265. package/dist/esm/clients/internal-api/index.js +9 -9
  266. package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +37 -37
  267. package/dist/esm/clients/internal-api/shopify-app-install-client.js +77 -77
  268. package/dist/esm/clients/internal-api/subscriptions-client.d.ts +26 -26
  269. package/dist/esm/clients/internal-api/subscriptions-client.js +73 -73
  270. package/dist/esm/clients/internal-api/users-auth-client.d.ts +35 -35
  271. package/dist/esm/clients/internal-api/users-auth-client.js +106 -106
  272. package/dist/esm/clients/third-party/emailable-client.d.ts +7 -7
  273. package/dist/esm/clients/third-party/emailable-client.js +21 -21
  274. package/dist/esm/clients/third-party/exchange-rate-api-client.d.ts +17 -17
  275. package/dist/esm/clients/third-party/exchange-rate-api-client.js +15 -15
  276. package/dist/esm/clients/third-party/index.d.ts +3 -3
  277. package/dist/esm/clients/third-party/index.js +3 -3
  278. package/dist/esm/clients/third-party/loops-client.d.ts +10 -10
  279. package/dist/esm/clients/third-party/loops-client.js +26 -26
  280. package/dist/esm/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  281. package/dist/esm/clients/third-party/shopify/graphql-product-queries.js +177 -177
  282. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -9
  283. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js +111 -111
  284. package/dist/esm/clients/third-party/shopify-client.d.ts +29 -29
  285. package/dist/esm/clients/third-party/shopify-client.js +142 -142
  286. package/dist/esm/helpers/account-users-helper.d.ts +2 -2
  287. package/dist/esm/helpers/account-users-helper.js +18 -18
  288. package/dist/esm/helpers/identity-cache-helper.d.ts +21 -21
  289. package/dist/esm/helpers/identity-cache-helper.js +151 -151
  290. package/dist/esm/helpers/index.d.ts +7 -7
  291. package/dist/esm/helpers/index.js +7 -7
  292. package/dist/esm/helpers/input-validation-helper.d.ts +3 -3
  293. package/dist/esm/helpers/input-validation-helper.js +18 -18
  294. package/dist/esm/helpers/logging-helper.d.ts +16 -16
  295. package/dist/esm/helpers/logging-helper.js +56 -56
  296. package/dist/esm/helpers/response-helper.d.ts +18 -18
  297. package/dist/esm/helpers/response-helper.js +37 -37
  298. package/dist/esm/helpers/shopify-helper.d.ts +9 -9
  299. package/dist/esm/helpers/shopify-helper.js +21 -21
  300. package/dist/esm/helpers/sqs-utils.d.ts +6 -6
  301. package/dist/esm/helpers/sqs-utils.js +9 -9
  302. package/dist/esm/index.d.ts +5 -5
  303. package/dist/esm/index.js +5 -5
  304. package/dist/esm/libs/click-id-parser.d.ts +23 -23
  305. package/dist/esm/libs/click-id-parser.js +45 -45
  306. package/dist/esm/libs/compression.d.ts +2 -2
  307. package/dist/esm/libs/compression.js +25 -25
  308. package/dist/esm/libs/cookie.d.ts +17 -17
  309. package/dist/esm/libs/cookie.js +70 -70
  310. package/dist/esm/libs/crypto.d.ts +3 -3
  311. package/dist/esm/libs/crypto.js +11 -11
  312. package/dist/esm/libs/csv.d.ts +2 -2
  313. package/dist/esm/libs/csv.js +30 -30
  314. package/dist/esm/libs/currency.d.ts +1 -1
  315. package/dist/esm/libs/currency.js +22 -22
  316. package/dist/esm/libs/dates.d.ts +12 -12
  317. package/dist/esm/libs/dates.js +83 -83
  318. package/dist/esm/libs/domain.d.ts +2 -2
  319. package/dist/esm/libs/domain.js +33 -33
  320. package/dist/esm/libs/emails.d.ts +6 -6
  321. package/dist/esm/libs/emails.js +115 -115
  322. package/dist/esm/libs/http-error.d.ts +21 -21
  323. package/dist/esm/libs/http-error.js +59 -59
  324. package/dist/esm/libs/http-status-codes.d.ts +58 -58
  325. package/dist/esm/libs/http-status-codes.js +59 -59
  326. package/dist/esm/libs/index.d.ts +17 -17
  327. package/dist/esm/libs/index.js +17 -17
  328. package/dist/esm/libs/numbers.d.ts +1 -1
  329. package/dist/esm/libs/numbers.js +11 -11
  330. package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
  331. package/dist/esm/libs/referrer-parser/index.js +2 -2
  332. package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
  333. package/dist/esm/libs/referrer-parser/referrer-data.js +3304 -3304
  334. package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  335. package/dist/esm/libs/referrer-parser/referrer-parser-util.js +124 -124
  336. package/dist/esm/libs/strings.d.ts +3 -3
  337. package/dist/esm/libs/strings.js +40 -40
  338. package/dist/esm/libs/traits.d.ts +6 -6
  339. package/dist/esm/libs/traits.js +54 -54
  340. package/dist/esm/libs/url.d.ts +1 -1
  341. package/dist/esm/libs/url.js +9 -9
  342. package/dist/esm/services/cache/generic-cached-object.d.ts +5 -5
  343. package/dist/esm/services/cache/generic-cached-object.js +1 -1
  344. package/dist/esm/services/cache/index.d.ts +1 -1
  345. package/dist/esm/services/cache/index.js +1 -1
  346. package/dist/esm/services/cache/product-cache-service.d.ts +21 -21
  347. package/dist/esm/services/cache/product-cache-service.js +68 -68
  348. package/dist/esm/services/currency-exchange-rate-lookup-service.d.ts +11 -11
  349. package/dist/esm/services/currency-exchange-rate-lookup-service.js +62 -62
  350. package/dist/esm/services/db/currency-exchange-rates-db-service.d.ts +21 -21
  351. package/dist/esm/services/db/currency-exchange-rates-db-service.js +35 -35
  352. package/dist/esm/services/db/destinations-db-service.d.ts +12 -12
  353. package/dist/esm/services/db/destinations-db-service.js +72 -72
  354. package/dist/esm/services/db/identity-cache-db-service.d.ts +28 -28
  355. package/dist/esm/services/db/identity-cache-db-service.js +313 -313
  356. package/dist/esm/services/db/index.d.ts +10 -10
  357. package/dist/esm/services/db/index.js +10 -10
  358. package/dist/esm/services/db/log-events-db-service.d.ts +11 -11
  359. package/dist/esm/services/db/log-events-db-service.js +177 -177
  360. package/dist/esm/services/db/pixels-db-service.d.ts +8 -8
  361. package/dist/esm/services/db/pixels-db-service.js +31 -31
  362. package/dist/esm/services/db/purchasable-contacts-db-service.d.ts +9 -9
  363. package/dist/esm/services/db/purchasable-contacts-db-service.js +39 -39
  364. package/dist/esm/services/db/purchased-contacts-db-service.d.ts +17 -17
  365. package/dist/esm/services/db/purchased-contacts-db-service.js +139 -139
  366. package/dist/esm/services/db/shopify-app-installs-db-service.d.ts +7 -7
  367. package/dist/esm/services/db/shopify-app-installs-db-service.js +43 -43
  368. package/dist/esm/services/db/shopify-products-cache-db-service.d.ts +16 -16
  369. package/dist/esm/services/db/shopify-products-cache-db-service.js +66 -66
  370. package/dist/esm/services/db/tracking-events-db-service.d.ts +20 -20
  371. package/dist/esm/services/db/tracking-events-db-service.js +161 -161
  372. package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
  373. package/dist/esm/services/eventbridge-integration-service.js +24 -24
  374. package/dist/esm/services/events/index.d.ts +3 -3
  375. package/dist/esm/services/events/index.js +3 -3
  376. package/dist/esm/services/events/log-event-service.d.ts +9 -9
  377. package/dist/esm/services/events/log-event-service.js +52 -52
  378. package/dist/esm/services/events/metric-event-service.d.ts +9 -9
  379. package/dist/esm/services/events/metric-event-service.js +45 -45
  380. package/dist/esm/services/events/tracking-event-sqs-service.d.ts +8 -8
  381. package/dist/esm/services/events/tracking-event-sqs-service.js +30 -30
  382. package/dist/esm/services/generic-cache-service.d.ts +7 -7
  383. package/dist/esm/services/generic-cache-service.js +29 -29
  384. package/dist/esm/services/index.d.ts +8 -8
  385. package/dist/esm/services/index.js +8 -8
  386. package/dist/esm/services/ipdata-lookup-service.d.ts +20 -19
  387. package/dist/esm/services/ipdata-lookup-service.js +108 -73
  388. package/dist/esm/services/ipdata-lookup-service.js.map +1 -1
  389. package/dist/esm/services/shopify/index.d.ts +3 -3
  390. package/dist/esm/services/shopify/index.js +3 -3
  391. package/dist/esm/services/shopify/products/index.d.ts +1 -1
  392. package/dist/esm/services/shopify/products/index.js +1 -1
  393. package/dist/esm/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  394. package/dist/esm/services/shopify/products/shopify-products-serviceV2.js +110 -110
  395. package/dist/esm/services/shopify/shopify-graphql-transformer.d.ts +9 -9
  396. package/dist/esm/services/shopify/shopify-graphql-transformer.js +138 -138
  397. package/dist/esm/services/shopify/types/index.d.ts +1 -1
  398. package/dist/esm/services/shopify/types/index.js +1 -1
  399. package/dist/esm/services/shopify/types/product.d.ts +115 -115
  400. package/dist/esm/services/shopify/types/product.js +6 -6
  401. package/dist/esm/types/api-response.d.ts +6 -6
  402. package/dist/esm/types/api-response.js +1 -1
  403. package/dist/esm/types/index.d.ts +1 -1
  404. package/dist/esm/types/index.js +1 -1
  405. package/dist/esm/types/internal-events/event-detail-types.d.ts +20 -20
  406. package/dist/esm/types/internal-events/event-detail-types.js +24 -24
  407. package/dist/esm/types/internal-events/index.d.ts +1 -1
  408. package/dist/esm/types/internal-events/index.js +1 -1
  409. package/dist/esm/types/shopify-graphql-types/admin.generated.d.ts +105 -105
  410. package/dist/esm/types/shopify-graphql-types/admin.generated.js +1 -1
  411. package/dist/esm/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  412. package/dist/esm/types/shopify-graphql-types/admin.types.js +5299 -5299
  413. package/dist/esm/types/shopify-graphql-types/index.d.ts +2 -2
  414. package/dist/esm/types/shopify-graphql-types/index.js +2 -2
  415. package/package.json +134 -134
@@ -1,140 +1,140 @@
1
- import { PURCHASED_CONTACT_STATUS, } from '@adtrackify/at-tracking-event-types';
2
- import { DynamoDbClient } from '../../clients';
3
- import { HttpError, getCurrentTimestamp } from '../../libs';
4
- import { Logger } from '../../helpers';
5
- import { ulid } from 'ulid';
6
- export class PurchasedContactsDbService {
7
- TABLE_NAME;
8
- TABLE_KEY;
9
- IDENTITY_ID_PIXEL_ID_INDEX_NAME;
10
- IP_ADDRESS_PIXEL_ID_INDEX_NAME;
11
- EMAIL_PIXEL_ID_INDEX_NAME;
12
- constructor(tableName, purchasedContactsKey, STAGE) {
13
- this.TABLE_NAME = tableName;
14
- this.TABLE_KEY = purchasedContactsKey;
15
- this.IDENTITY_ID_PIXEL_ID_INDEX_NAME = `${STAGE}-purchased-contacts-gsi-identity-id-pixel-id`;
16
- this.IP_ADDRESS_PIXEL_ID_INDEX_NAME = `${STAGE}-purchased-contacts-gsi-ip-address-pixel-id`;
17
- this.EMAIL_PIXEL_ID_INDEX_NAME = `${STAGE}-purchased-contacts-gsi-email-pixel-id`;
18
- }
19
- buildPurchasedContact = (accountId, primaryContact, contacts, deliverableContacts) => {
20
- const currentTimestamp = getCurrentTimestamp();
21
- const purchasedContact = {
22
- ...primaryContact,
23
- primaryIdentityId: primaryContact.identityId,
24
- matchedIdentityId: primaryContact.matchedIdentityId,
25
- isIdentityMerged: primaryContact.isIdentityMerged,
26
- id: ulid(),
27
- contacts,
28
- deliverableContacts: deliverableContacts,
29
- contactId: primaryContact.id,
30
- accountId,
31
- emailStatus: primaryContact?.emailVerification?.state,
32
- purchasedStatus: PURCHASED_CONTACT_STATUS.ACTIVE,
33
- purchasedAt: currentTimestamp,
34
- createdAt: currentTimestamp,
35
- updatedAt: currentTimestamp,
36
- };
37
- return purchasedContact;
38
- };
39
- getPurchasedContact = async (id) => {
40
- const purchasedContact = await DynamoDbClient.safeGet(this.TABLE_NAME, this.TABLE_KEY, id);
41
- if (!purchasedContact) {
42
- throw HttpError.notFound();
43
- }
44
- return purchasedContact;
45
- };
46
- getPurchasedContactByIdentityIdPixelId = async (identityId, pixelId) => {
47
- try {
48
- const values = {
49
- ':identityId': identityId,
50
- ':pixelId': pixelId,
51
- };
52
- const query = {
53
- TableName: this.TABLE_NAME,
54
- IndexName: this.IDENTITY_ID_PIXEL_ID_INDEX_NAME,
55
- KeyConditionExpression: 'identityId = :identityId and pixelId = :pixelId',
56
- ExpressionAttributeValues: values,
57
- };
58
- const purchasedContacts = await DynamoDbClient.queryAll(query);
59
- if (purchasedContacts && purchasedContacts.length > 0) {
60
- return purchasedContacts;
61
- }
62
- return [];
63
- }
64
- catch (error) {
65
- Logger.error('failed to getPurchasedContactByIdentityIdPixelId', { error, identityId, pixelId });
66
- return [];
67
- }
68
- };
69
- getPurchasedContactByEmailPixelId = async (email, pixelId) => {
70
- try {
71
- const values = {
72
- ':email': email,
73
- ':pixelId': pixelId,
74
- };
75
- const query = {
76
- TableName: this.TABLE_NAME,
77
- IndexName: this.EMAIL_PIXEL_ID_INDEX_NAME,
78
- KeyConditionExpression: 'email = :email and pixelId = :pixelId',
79
- ExpressionAttributeValues: values,
80
- };
81
- const purchasedContacts = await DynamoDbClient.queryAll(query);
82
- if (purchasedContacts && purchasedContacts.length > 0) {
83
- return purchasedContacts;
84
- }
85
- return [];
86
- }
87
- catch (error) {
88
- Logger.error('failed to getPurchasedContactByEmailPixelId', { error, email, pixelId });
89
- return [];
90
- }
91
- };
92
- getPurchasedContactByIpAddressPixelId = async (ipAddress, pixelId) => {
93
- try {
94
- const values = {
95
- ':ipAddress': ipAddress,
96
- ':pixelId': pixelId,
97
- };
98
- const query = {
99
- TableName: this.TABLE_NAME,
100
- IndexName: this.IP_ADDRESS_PIXEL_ID_INDEX_NAME,
101
- KeyConditionExpression: 'ipAddress = :ipAddress and pixelId = :pixelId',
102
- ExpressionAttributeValues: values,
103
- };
104
- const purchasedContacts = await DynamoDbClient.queryAll(query);
105
- if (purchasedContacts && purchasedContacts.length > 0) {
106
- return purchasedContacts;
107
- }
108
- return [];
109
- }
110
- catch (error) {
111
- Logger.error('failed to getPurchasedContactByIpAddressPixelId', { error, ipAddress, pixelId });
112
- return [];
113
- }
114
- };
115
- batchGetPurchasedContacts = async (ids) => {
116
- if (ids.length === 0) {
117
- return [];
118
- }
119
- const keys = ids.map((id) => ({ [this.TABLE_KEY]: id }));
120
- const purchasedContacts = await DynamoDbClient.safeBatchGet(this.TABLE_NAME, keys);
121
- return purchasedContacts;
122
- };
123
- putPurchasedContact = async (purchasedContact) => {
124
- await DynamoDbClient.safePut(this.TABLE_NAME, purchasedContact);
125
- return purchasedContact;
126
- };
127
- updatePurchasedContact = async (id, data) => {
128
- const purchasedContact = await this.getPurchasedContact(id);
129
- Object.assign(purchasedContact, data);
130
- const currentTimestamp = getCurrentTimestamp();
131
- purchasedContact.updatedAt = currentTimestamp;
132
- const res = await DynamoDbClient.safePut(this.TABLE_NAME, purchasedContact);
133
- if (!res) {
134
- Logger.error('purchased contact update failed', { purchasedContact });
135
- throw HttpError.internal();
136
- }
137
- return purchasedContact;
138
- };
139
- }
1
+ import { PURCHASED_CONTACT_STATUS, } from '@adtrackify/at-tracking-event-types';
2
+ import { DynamoDbClient } from '../../clients';
3
+ import { HttpError, getCurrentTimestamp } from '../../libs';
4
+ import { Logger } from '../../helpers';
5
+ import { ulid } from 'ulid';
6
+ export class PurchasedContactsDbService {
7
+ TABLE_NAME;
8
+ TABLE_KEY;
9
+ IDENTITY_ID_PIXEL_ID_INDEX_NAME;
10
+ IP_ADDRESS_PIXEL_ID_INDEX_NAME;
11
+ EMAIL_PIXEL_ID_INDEX_NAME;
12
+ constructor(tableName, purchasedContactsKey, STAGE) {
13
+ this.TABLE_NAME = tableName;
14
+ this.TABLE_KEY = purchasedContactsKey;
15
+ this.IDENTITY_ID_PIXEL_ID_INDEX_NAME = `${STAGE}-purchased-contacts-gsi-identity-id-pixel-id`;
16
+ this.IP_ADDRESS_PIXEL_ID_INDEX_NAME = `${STAGE}-purchased-contacts-gsi-ip-address-pixel-id`;
17
+ this.EMAIL_PIXEL_ID_INDEX_NAME = `${STAGE}-purchased-contacts-gsi-email-pixel-id`;
18
+ }
19
+ buildPurchasedContact = (accountId, primaryContact, contacts, deliverableContacts) => {
20
+ const currentTimestamp = getCurrentTimestamp();
21
+ const purchasedContact = {
22
+ ...primaryContact,
23
+ primaryIdentityId: primaryContact.identityId,
24
+ matchedIdentityId: primaryContact.matchedIdentityId,
25
+ isIdentityMerged: primaryContact.isIdentityMerged,
26
+ id: ulid(),
27
+ contacts,
28
+ deliverableContacts: deliverableContacts,
29
+ contactId: primaryContact.id,
30
+ accountId,
31
+ emailStatus: primaryContact?.emailVerification?.state,
32
+ purchasedStatus: PURCHASED_CONTACT_STATUS.ACTIVE,
33
+ purchasedAt: currentTimestamp,
34
+ createdAt: currentTimestamp,
35
+ updatedAt: currentTimestamp,
36
+ };
37
+ return purchasedContact;
38
+ };
39
+ getPurchasedContact = async (id) => {
40
+ const purchasedContact = await DynamoDbClient.safeGet(this.TABLE_NAME, this.TABLE_KEY, id);
41
+ if (!purchasedContact) {
42
+ throw HttpError.notFound();
43
+ }
44
+ return purchasedContact;
45
+ };
46
+ getPurchasedContactByIdentityIdPixelId = async (identityId, pixelId) => {
47
+ try {
48
+ const values = {
49
+ ':identityId': identityId,
50
+ ':pixelId': pixelId,
51
+ };
52
+ const query = {
53
+ TableName: this.TABLE_NAME,
54
+ IndexName: this.IDENTITY_ID_PIXEL_ID_INDEX_NAME,
55
+ KeyConditionExpression: 'identityId = :identityId and pixelId = :pixelId',
56
+ ExpressionAttributeValues: values,
57
+ };
58
+ const purchasedContacts = await DynamoDbClient.queryAll(query);
59
+ if (purchasedContacts && purchasedContacts.length > 0) {
60
+ return purchasedContacts;
61
+ }
62
+ return [];
63
+ }
64
+ catch (error) {
65
+ Logger.error('failed to getPurchasedContactByIdentityIdPixelId', { error, identityId, pixelId });
66
+ return [];
67
+ }
68
+ };
69
+ getPurchasedContactByEmailPixelId = async (email, pixelId) => {
70
+ try {
71
+ const values = {
72
+ ':email': email,
73
+ ':pixelId': pixelId,
74
+ };
75
+ const query = {
76
+ TableName: this.TABLE_NAME,
77
+ IndexName: this.EMAIL_PIXEL_ID_INDEX_NAME,
78
+ KeyConditionExpression: 'email = :email and pixelId = :pixelId',
79
+ ExpressionAttributeValues: values,
80
+ };
81
+ const purchasedContacts = await DynamoDbClient.queryAll(query);
82
+ if (purchasedContacts && purchasedContacts.length > 0) {
83
+ return purchasedContacts;
84
+ }
85
+ return [];
86
+ }
87
+ catch (error) {
88
+ Logger.error('failed to getPurchasedContactByEmailPixelId', { error, email, pixelId });
89
+ return [];
90
+ }
91
+ };
92
+ getPurchasedContactByIpAddressPixelId = async (ipAddress, pixelId) => {
93
+ try {
94
+ const values = {
95
+ ':ipAddress': ipAddress,
96
+ ':pixelId': pixelId,
97
+ };
98
+ const query = {
99
+ TableName: this.TABLE_NAME,
100
+ IndexName: this.IP_ADDRESS_PIXEL_ID_INDEX_NAME,
101
+ KeyConditionExpression: 'ipAddress = :ipAddress and pixelId = :pixelId',
102
+ ExpressionAttributeValues: values,
103
+ };
104
+ const purchasedContacts = await DynamoDbClient.queryAll(query);
105
+ if (purchasedContacts && purchasedContacts.length > 0) {
106
+ return purchasedContacts;
107
+ }
108
+ return [];
109
+ }
110
+ catch (error) {
111
+ Logger.error('failed to getPurchasedContactByIpAddressPixelId', { error, ipAddress, pixelId });
112
+ return [];
113
+ }
114
+ };
115
+ batchGetPurchasedContacts = async (ids) => {
116
+ if (ids.length === 0) {
117
+ return [];
118
+ }
119
+ const keys = ids.map((id) => ({ [this.TABLE_KEY]: id }));
120
+ const purchasedContacts = await DynamoDbClient.safeBatchGet(this.TABLE_NAME, keys);
121
+ return purchasedContacts;
122
+ };
123
+ putPurchasedContact = async (purchasedContact) => {
124
+ await DynamoDbClient.safePut(this.TABLE_NAME, purchasedContact);
125
+ return purchasedContact;
126
+ };
127
+ updatePurchasedContact = async (id, data) => {
128
+ const purchasedContact = await this.getPurchasedContact(id);
129
+ Object.assign(purchasedContact, data);
130
+ const currentTimestamp = getCurrentTimestamp();
131
+ purchasedContact.updatedAt = currentTimestamp;
132
+ const res = await DynamoDbClient.safePut(this.TABLE_NAME, purchasedContact);
133
+ if (!res) {
134
+ Logger.error('purchased contact update failed', { purchasedContact });
135
+ throw HttpError.internal();
136
+ }
137
+ return purchasedContact;
138
+ };
139
+ }
140
140
  //# sourceMappingURL=purchased-contacts-db-service.js.map
@@ -1,7 +1,7 @@
1
- import { ShopifyAppInstall } from '@adtrackify/at-tracking-event-types';
2
- export declare class ShopifyAppInstallsDbService {
3
- TABLE_NAME: string;
4
- constructor(tableName: string);
5
- getShopifyAppInstallByShop: (indexName: string, shop: string) => Promise<ShopifyAppInstall | null>;
6
- getShopifyAppInstallByPixelId: (indexName: string, pixelId: string) => Promise<ShopifyAppInstall | null>;
7
- }
1
+ import { ShopifyAppInstall } from '@adtrackify/at-tracking-event-types';
2
+ export declare class ShopifyAppInstallsDbService {
3
+ TABLE_NAME: string;
4
+ constructor(tableName: string);
5
+ getShopifyAppInstallByShop: (indexName: string, shop: string) => Promise<ShopifyAppInstall | null>;
6
+ getShopifyAppInstallByPixelId: (indexName: string, pixelId: string) => Promise<ShopifyAppInstall | null>;
7
+ }
@@ -1,44 +1,44 @@
1
- import { DynamoDbClient } from '../../clients';
2
- import { Logger } from '../../helpers';
3
- export class ShopifyAppInstallsDbService {
4
- TABLE_NAME;
5
- constructor(tableName) {
6
- this.TABLE_NAME = tableName;
7
- }
8
- getShopifyAppInstallByShop = async (indexName, shop) => {
9
- try {
10
- const values = {
11
- ':shop': shop,
12
- };
13
- const query = {
14
- TableName: this.TABLE_NAME,
15
- IndexName: indexName,
16
- KeyConditionExpression: 'shop = :shop',
17
- ExpressionAttributeValues: values,
18
- };
19
- const shopifyAppInstalls = await DynamoDbClient.queryAll(query);
20
- if (shopifyAppInstalls && shopifyAppInstalls.length > 0) {
21
- return shopifyAppInstalls[0];
22
- }
23
- return null;
24
- }
25
- catch (error) {
26
- Logger.error('failed to shopifyAppInstall by shop', { error, indexName, shop });
27
- return null;
28
- }
29
- };
30
- getShopifyAppInstallByPixelId = async (indexName, pixelId) => {
31
- try {
32
- const shopifyAppInstalls = await DynamoDbClient.safeQueryByGSI(this.TABLE_NAME, indexName, 'pixelId', pixelId);
33
- if (shopifyAppInstalls && shopifyAppInstalls?.length > 0) {
34
- return shopifyAppInstalls[0];
35
- }
36
- return null;
37
- }
38
- catch (error) {
39
- Logger.error('failed to fetch shopifyAppInstall by pixelId', { error, indexName, pixelId });
40
- return null;
41
- }
42
- };
43
- }
1
+ import { DynamoDbClient } from '../../clients';
2
+ import { Logger } from '../../helpers';
3
+ export class ShopifyAppInstallsDbService {
4
+ TABLE_NAME;
5
+ constructor(tableName) {
6
+ this.TABLE_NAME = tableName;
7
+ }
8
+ getShopifyAppInstallByShop = async (indexName, shop) => {
9
+ try {
10
+ const values = {
11
+ ':shop': shop,
12
+ };
13
+ const query = {
14
+ TableName: this.TABLE_NAME,
15
+ IndexName: indexName,
16
+ KeyConditionExpression: 'shop = :shop',
17
+ ExpressionAttributeValues: values,
18
+ };
19
+ const shopifyAppInstalls = await DynamoDbClient.queryAll(query);
20
+ if (shopifyAppInstalls && shopifyAppInstalls.length > 0) {
21
+ return shopifyAppInstalls[0];
22
+ }
23
+ return null;
24
+ }
25
+ catch (error) {
26
+ Logger.error('failed to shopifyAppInstall by shop', { error, indexName, shop });
27
+ return null;
28
+ }
29
+ };
30
+ getShopifyAppInstallByPixelId = async (indexName, pixelId) => {
31
+ try {
32
+ const shopifyAppInstalls = await DynamoDbClient.safeQueryByGSI(this.TABLE_NAME, indexName, 'pixelId', pixelId);
33
+ if (shopifyAppInstalls && shopifyAppInstalls?.length > 0) {
34
+ return shopifyAppInstalls[0];
35
+ }
36
+ return null;
37
+ }
38
+ catch (error) {
39
+ Logger.error('failed to fetch shopifyAppInstall by pixelId', { error, indexName, pixelId });
40
+ return null;
41
+ }
42
+ };
43
+ }
44
44
  //# sourceMappingURL=shopify-app-installs-db-service.js.map
@@ -1,16 +1,16 @@
1
- import { InternalProduct } from '../shopify/types/product';
2
- import { ProductCache } from '../cache';
3
- export interface ShopifyProductDynamoDbCache extends ProductCache {
4
- pixelId_productId: string;
5
- pixelId: string;
6
- productId: string;
7
- }
8
- export declare class ShopifyProductsCacheDbService {
9
- TABLE_NAME: string;
10
- KEY_NAME: string;
11
- private dynamoDbCacheTtlInSeconds;
12
- constructor(tableName: string, keyName: string, dynamoDbCacheTtlInSeconds: number);
13
- getProductFromDynamoDBCache: (pixelId: string, productId: string) => Promise<InternalProduct | undefined>;
14
- putProductInDynamoDBCache: (pixelId: string, productId: string, product: InternalProduct, ttlInSeconds?: number) => Promise<import("@aws-sdk/lib-dynamodb").PutCommandOutput | null>;
15
- private isProductCacheStale;
16
- }
1
+ import { InternalProduct } from '../shopify/types/product';
2
+ import { ProductCache } from '../cache';
3
+ export interface ShopifyProductDynamoDbCache extends ProductCache {
4
+ pixelId_productId: string;
5
+ pixelId: string;
6
+ productId: string;
7
+ }
8
+ export declare class ShopifyProductsCacheDbService {
9
+ TABLE_NAME: string;
10
+ KEY_NAME: string;
11
+ private dynamoDbCacheTtlInSeconds;
12
+ constructor(tableName: string, keyName: string, dynamoDbCacheTtlInSeconds: number);
13
+ getProductFromDynamoDBCache: (pixelId: string, productId: string) => Promise<InternalProduct | undefined>;
14
+ putProductInDynamoDBCache: (pixelId: string, productId: string, product: InternalProduct, ttlInSeconds?: number) => Promise<import("@aws-sdk/lib-dynamodb").PutCommandOutput | null>;
15
+ private isProductCacheStale;
16
+ }
@@ -1,67 +1,67 @@
1
- import { DynamoDbClient } from '../../clients';
2
- import { compressJSON, decompressJSON, getCurrentTimestamp } from '../../libs';
3
- import { DateTime } from 'luxon';
4
- import { Logger } from '../../helpers';
5
- import crypto from 'crypto';
6
- const DEFAULT_TTL_IN_SECONDS = 7 * 24 * 3600;
7
- export class ShopifyProductsCacheDbService {
8
- TABLE_NAME;
9
- KEY_NAME;
10
- dynamoDbCacheTtlInSeconds;
11
- constructor(tableName, keyName, dynamoDbCacheTtlInSeconds) {
12
- this.TABLE_NAME = tableName;
13
- this.KEY_NAME = keyName;
14
- this.dynamoDbCacheTtlInSeconds = dynamoDbCacheTtlInSeconds || DEFAULT_TTL_IN_SECONDS;
15
- }
16
- getProductFromDynamoDBCache = async (pixelId, productId) => {
17
- try {
18
- const cachedProduct = (await DynamoDbClient.safeGet(this.TABLE_NAME, this.KEY_NAME, `${pixelId}_${productId}`));
19
- if (cachedProduct && !this.isProductCacheStale(cachedProduct)) {
20
- const product = decompressJSON(cachedProduct.productCompressed);
21
- return product;
22
- }
23
- return undefined;
24
- }
25
- catch (error) {
26
- Logger.error('Failed getShopifyProductCacheREST', { keyName: this.KEY_NAME, pixelId, productId, error });
27
- return undefined;
28
- }
29
- };
30
- putProductInDynamoDBCache = async (pixelId, productId, product, ttlInSeconds) => {
31
- const ttl = ttlInSeconds || this.dynamoDbCacheTtlInSeconds;
32
- const expiresAt = DateTime.utc().plus({ seconds: ttl }).toSeconds();
33
- const cachedAt = getCurrentTimestamp();
34
- const cachedAtEpoch = DateTime.utc().toSeconds();
35
- const fullSha256 = crypto.createHash('sha256').update(JSON.stringify(product)).digest('hex');
36
- const noInventoryProduct = {
37
- ...product,
38
- totalInventory: undefined,
39
- variants: product?.variants?.map((variant) => ({
40
- ...variant,
41
- inventoryQuantity: undefined,
42
- inventoryItem: undefined,
43
- })),
44
- };
45
- const noInventorySha256 = crypto.createHash('sha256').update(JSON.stringify(noInventoryProduct)).digest('hex');
46
- const productCompressed = compressJSON(product);
47
- const shopifyProductCache = {
48
- pixelId_productId: `${pixelId}_${productId}`,
49
- pixelId,
50
- productId,
51
- productCompressed,
52
- fullSha256,
53
- noInventorySha256,
54
- cachedAt,
55
- cachedAtEpoch,
56
- expiresAt,
57
- };
58
- return await DynamoDbClient.safePut(this.TABLE_NAME, shopifyProductCache);
59
- };
60
- isProductCacheStale = (cachedData) => {
61
- if (cachedData?.expiresAt && cachedData.expiresAt < DateTime.utc().toSeconds()) {
62
- return true;
63
- }
64
- return false;
65
- };
66
- }
1
+ import { DynamoDbClient } from '../../clients';
2
+ import { compressJSON, decompressJSON, getCurrentTimestamp } from '../../libs';
3
+ import { DateTime } from 'luxon';
4
+ import { Logger } from '../../helpers';
5
+ import crypto from 'crypto';
6
+ const DEFAULT_TTL_IN_SECONDS = 7 * 24 * 3600;
7
+ export class ShopifyProductsCacheDbService {
8
+ TABLE_NAME;
9
+ KEY_NAME;
10
+ dynamoDbCacheTtlInSeconds;
11
+ constructor(tableName, keyName, dynamoDbCacheTtlInSeconds) {
12
+ this.TABLE_NAME = tableName;
13
+ this.KEY_NAME = keyName;
14
+ this.dynamoDbCacheTtlInSeconds = dynamoDbCacheTtlInSeconds || DEFAULT_TTL_IN_SECONDS;
15
+ }
16
+ getProductFromDynamoDBCache = async (pixelId, productId) => {
17
+ try {
18
+ const cachedProduct = (await DynamoDbClient.safeGet(this.TABLE_NAME, this.KEY_NAME, `${pixelId}_${productId}`));
19
+ if (cachedProduct && !this.isProductCacheStale(cachedProduct)) {
20
+ const product = decompressJSON(cachedProduct.productCompressed);
21
+ return product;
22
+ }
23
+ return undefined;
24
+ }
25
+ catch (error) {
26
+ Logger.error('Failed getShopifyProductCacheREST', { keyName: this.KEY_NAME, pixelId, productId, error });
27
+ return undefined;
28
+ }
29
+ };
30
+ putProductInDynamoDBCache = async (pixelId, productId, product, ttlInSeconds) => {
31
+ const ttl = ttlInSeconds || this.dynamoDbCacheTtlInSeconds;
32
+ const expiresAt = DateTime.utc().plus({ seconds: ttl }).toSeconds();
33
+ const cachedAt = getCurrentTimestamp();
34
+ const cachedAtEpoch = DateTime.utc().toSeconds();
35
+ const fullSha256 = crypto.createHash('sha256').update(JSON.stringify(product)).digest('hex');
36
+ const noInventoryProduct = {
37
+ ...product,
38
+ totalInventory: undefined,
39
+ variants: product?.variants?.map((variant) => ({
40
+ ...variant,
41
+ inventoryQuantity: undefined,
42
+ inventoryItem: undefined,
43
+ })),
44
+ };
45
+ const noInventorySha256 = crypto.createHash('sha256').update(JSON.stringify(noInventoryProduct)).digest('hex');
46
+ const productCompressed = compressJSON(product);
47
+ const shopifyProductCache = {
48
+ pixelId_productId: `${pixelId}_${productId}`,
49
+ pixelId,
50
+ productId,
51
+ productCompressed,
52
+ fullSha256,
53
+ noInventorySha256,
54
+ cachedAt,
55
+ cachedAtEpoch,
56
+ expiresAt,
57
+ };
58
+ return await DynamoDbClient.safePut(this.TABLE_NAME, shopifyProductCache);
59
+ };
60
+ isProductCacheStale = (cachedData) => {
61
+ if (cachedData?.expiresAt && cachedData.expiresAt < DateTime.utc().toSeconds()) {
62
+ return true;
63
+ }
64
+ return false;
65
+ };
66
+ }
67
67
  //# 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
+ }