@adtrackify/at-service-common 3.6.5 → 3.6.6

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