@adtrackify/at-service-common 3.1.22 → 3.1.24

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 (307) hide show
  1. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  2. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.js +527 -527
  3. package/dist/cjs/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  4. package/dist/cjs/__tests__/libs/compress-decompress.spec.js +16 -16
  5. package/dist/cjs/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  6. package/dist/cjs/__tests__/s3-client/s3-client.spec.js +26 -26
  7. package/dist/cjs/clients/generic/cognito-client.d.ts +20 -20
  8. package/dist/cjs/clients/generic/cognito-client.js +164 -164
  9. package/dist/cjs/clients/generic/dynamodb-client.d.ts +17 -17
  10. package/dist/cjs/clients/generic/dynamodb-client.js +167 -167
  11. package/dist/cjs/clients/generic/eventbridge-client.d.ts +14 -14
  12. package/dist/cjs/clients/generic/eventbridge-client.js +49 -49
  13. package/dist/cjs/clients/generic/http-client.d.ts +88 -88
  14. package/dist/cjs/clients/generic/http-client.js +60 -60
  15. package/dist/cjs/clients/generic/index.d.ts +10 -10
  16. package/dist/cjs/clients/generic/index.js +26 -26
  17. package/dist/cjs/clients/generic/lambda-invoke-client.d.ts +10 -10
  18. package/dist/cjs/clients/generic/lambda-invoke-client.js +35 -35
  19. package/dist/cjs/clients/generic/location-client.d.ts +8 -8
  20. package/dist/cjs/clients/generic/location-client.js +31 -31
  21. package/dist/cjs/clients/generic/redis-client.d.ts +18 -17
  22. package/dist/cjs/clients/generic/redis-client.js +128 -117
  23. package/dist/cjs/clients/generic/redis-client.js.map +1 -1
  24. package/dist/cjs/clients/generic/s3-client.d.ts +16 -16
  25. package/dist/cjs/clients/generic/s3-client.js +110 -110
  26. package/dist/cjs/clients/generic/singlestore-db-client.d.ts +14 -14
  27. package/dist/cjs/clients/generic/singlestore-db-client.js +67 -67
  28. package/dist/cjs/clients/generic/sqs-client.d.ts +20 -20
  29. package/dist/cjs/clients/generic/sqs-client.js +36 -36
  30. package/dist/cjs/clients/index.d.ts +3 -3
  31. package/dist/cjs/clients/index.js +19 -19
  32. package/dist/cjs/clients/internal-api/accounts-client.d.ts +112 -112
  33. package/dist/cjs/clients/internal-api/accounts-client.js +117 -117
  34. package/dist/cjs/clients/internal-api/cache-lambda-client.d.ts +23 -23
  35. package/dist/cjs/clients/internal-api/cache-lambda-client.js +59 -59
  36. package/dist/cjs/clients/internal-api/db-management-client.d.ts +18 -18
  37. package/dist/cjs/clients/internal-api/db-management-client.js +39 -39
  38. package/dist/cjs/clients/internal-api/destinations-client.d.ts +29 -29
  39. package/dist/cjs/clients/internal-api/destinations-client.js +54 -54
  40. package/dist/cjs/clients/internal-api/event-collector-client.d.ts +20 -20
  41. package/dist/cjs/clients/internal-api/event-collector-client.js +39 -39
  42. package/dist/cjs/clients/internal-api/identity-client.d.ts +25 -25
  43. package/dist/cjs/clients/internal-api/identity-client.js +92 -92
  44. package/dist/cjs/clients/internal-api/index.d.ts +8 -8
  45. package/dist/cjs/clients/internal-api/index.js +24 -24
  46. package/dist/cjs/clients/internal-api/shopify-app-install-client.d.ts +34 -34
  47. package/dist/cjs/clients/internal-api/shopify-app-install-client.js +63 -63
  48. package/dist/cjs/clients/internal-api/users-auth-client.d.ts +31 -31
  49. package/dist/cjs/clients/internal-api/users-auth-client.js +92 -92
  50. package/dist/cjs/clients/third-party/index.d.ts +1 -1
  51. package/dist/cjs/clients/third-party/index.js +17 -17
  52. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  53. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.js +5 -9
  54. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.js.map +1 -1
  55. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -9
  56. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.js +95 -95
  57. package/dist/cjs/clients/third-party/shopify-client.d.ts +198 -198
  58. package/dist/cjs/clients/third-party/shopify-client.js +150 -150
  59. package/dist/cjs/helpers/identity-cache-helper.d.ts +4 -4
  60. package/dist/cjs/helpers/identity-cache-helper.js +150 -150
  61. package/dist/cjs/helpers/index.d.ts +5 -5
  62. package/dist/cjs/helpers/index.js +21 -21
  63. package/dist/cjs/helpers/input-validation-helper.d.ts +3 -3
  64. package/dist/cjs/helpers/input-validation-helper.js +22 -22
  65. package/dist/cjs/helpers/logging-helper.d.ts +16 -16
  66. package/dist/cjs/helpers/logging-helper.js +84 -84
  67. package/dist/cjs/helpers/response-helper.d.ts +15 -15
  68. package/dist/cjs/helpers/response-helper.js +42 -42
  69. package/dist/cjs/helpers/shopify-helper.d.ts +9 -9
  70. package/dist/cjs/helpers/shopify-helper.js +28 -28
  71. package/dist/cjs/index.d.ts +5 -5
  72. package/dist/cjs/index.js +21 -21
  73. package/dist/cjs/libs/clickId-parser.d.ts +23 -23
  74. package/dist/cjs/libs/clickId-parser.js +49 -49
  75. package/dist/cjs/libs/compression.d.ts +2 -2
  76. package/dist/cjs/libs/compression.js +33 -33
  77. package/dist/cjs/libs/crypto.d.ts +1 -1
  78. package/dist/cjs/libs/crypto.js +12 -12
  79. package/dist/cjs/libs/dates.d.ts +6 -6
  80. package/dist/cjs/libs/dates.js +31 -31
  81. package/dist/cjs/libs/http-error.d.ts +21 -21
  82. package/dist/cjs/libs/http-error.js +59 -59
  83. package/dist/cjs/libs/http-status-codes.d.ts +58 -58
  84. package/dist/cjs/libs/http-status-codes.js +62 -62
  85. package/dist/cjs/libs/index.d.ts +9 -9
  86. package/dist/cjs/libs/index.js +25 -25
  87. package/dist/cjs/libs/referrer-parser/index.d.ts +2 -2
  88. package/dist/cjs/libs/referrer-parser/index.js +18 -18
  89. package/dist/cjs/libs/referrer-parser/referrer-data.d.ts +9 -9
  90. package/dist/cjs/libs/referrer-parser/referrer-data.js +4712 -4712
  91. package/dist/cjs/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  92. package/dist/cjs/libs/referrer-parser/referrer-parser-util.js +128 -128
  93. package/dist/cjs/libs/url.d.ts +1 -1
  94. package/dist/cjs/libs/url.js +13 -13
  95. package/dist/cjs/services/cache/index.d.ts +1 -1
  96. package/dist/cjs/services/cache/index.js +17 -17
  97. package/dist/cjs/services/cache/product-cache-service.d.ts +13 -13
  98. package/dist/cjs/services/cache/product-cache-service.js +36 -36
  99. package/dist/cjs/services/db/destinations-db-service.d.ts +9 -9
  100. package/dist/cjs/services/db/destinations-db-service.js +57 -57
  101. package/dist/cjs/services/db/identity-cache-db-service.d.ts +24 -24
  102. package/dist/cjs/services/db/identity-cache-db-service.js +233 -233
  103. package/dist/cjs/services/db/index.d.ts +7 -7
  104. package/dist/cjs/services/db/index.js +23 -23
  105. package/dist/cjs/services/db/log-events-db-service.d.ts +11 -11
  106. package/dist/cjs/services/db/log-events-db-service.js +172 -172
  107. package/dist/cjs/services/db/purchased-contacts-db-service.d.ts +9 -9
  108. package/dist/cjs/services/db/purchased-contacts-db-service.js +38 -38
  109. package/dist/cjs/services/db/shopify-app-installs-db-service.d.ts +7 -7
  110. package/dist/cjs/services/db/shopify-app-installs-db-service.js +47 -47
  111. package/dist/cjs/services/db/shopify-products-cache-db-service.d.ts +9 -9
  112. package/dist/cjs/services/db/shopify-products-cache-db-service.js +64 -64
  113. package/dist/cjs/services/db/tracking-events-db-service.d.ts +20 -20
  114. package/dist/cjs/services/db/tracking-events-db-service.js +162 -162
  115. package/dist/cjs/services/eventbridge-integration-service.d.ts +9 -9
  116. package/dist/cjs/services/eventbridge-integration-service.js +28 -28
  117. package/dist/cjs/services/generic-cache-service.d.ts +8 -8
  118. package/dist/cjs/services/generic-cache-service.js +30 -30
  119. package/dist/cjs/services/index.d.ts +8 -8
  120. package/dist/cjs/services/index.js +24 -24
  121. package/dist/cjs/services/ipdata-lookup-service.d.ts +17 -17
  122. package/dist/cjs/services/ipdata-lookup-service.js +71 -71
  123. package/dist/cjs/services/log-event-service.d.ts +9 -9
  124. package/dist/cjs/services/log-event-service.js +56 -56
  125. package/dist/cjs/services/metric-event-service.d.ts +9 -9
  126. package/dist/cjs/services/metric-event-service.js +49 -49
  127. package/dist/cjs/services/shopify/index.d.ts +3 -3
  128. package/dist/cjs/services/shopify/index.js +19 -19
  129. package/dist/cjs/services/shopify/products/index.d.ts +1 -1
  130. package/dist/cjs/services/shopify/products/index.js +17 -17
  131. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.d.ts +12 -12
  132. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.js +66 -66
  133. package/dist/cjs/services/shopify/shopify-graphql-transformer.d.ts +8 -8
  134. package/dist/cjs/services/shopify/shopify-graphql-transformer.js +114 -115
  135. package/dist/cjs/services/shopify/shopify-graphql-transformer.js.map +1 -1
  136. package/dist/cjs/services/shopify/types/index.d.ts +1 -1
  137. package/dist/cjs/services/shopify/types/index.js +17 -17
  138. package/dist/cjs/services/shopify/types/product.d.ts +114 -115
  139. package/dist/cjs/services/shopify/types/product.js +9 -9
  140. package/dist/cjs/types/api-response.d.ts +6 -6
  141. package/dist/cjs/types/api-response.js +2 -2
  142. package/dist/cjs/types/index.d.ts +2 -2
  143. package/dist/cjs/types/index.js +18 -18
  144. package/dist/cjs/types/internal-events/event-detail-types.d.ts +20 -20
  145. package/dist/cjs/types/internal-events/event-detail-types.js +27 -27
  146. package/dist/cjs/types/internal-events/index.d.ts +1 -1
  147. package/dist/cjs/types/internal-events/index.js +17 -17
  148. package/dist/cjs/types/shopify-graphql-types/admin.generated.d.ts +105 -106
  149. package/dist/cjs/types/shopify-graphql-types/admin.generated.js +2 -2
  150. package/dist/cjs/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  151. package/dist/cjs/types/shopify-graphql-types/admin.types.js +5311 -5311
  152. package/dist/cjs/types/shopify-graphql-types/index.d.ts +2 -2
  153. package/dist/cjs/types/shopify-graphql-types/index.js +18 -18
  154. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  155. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js +525 -525
  156. package/dist/esm/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  157. package/dist/esm/__tests__/libs/compress-decompress.spec.js +14 -14
  158. package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  159. package/dist/esm/__tests__/s3-client/s3-client.spec.js +24 -24
  160. package/dist/esm/clients/generic/cognito-client.d.ts +20 -20
  161. package/dist/esm/clients/generic/cognito-client.js +159 -159
  162. package/dist/esm/clients/generic/dynamodb-client.d.ts +17 -17
  163. package/dist/esm/clients/generic/dynamodb-client.js +163 -163
  164. package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
  165. package/dist/esm/clients/generic/eventbridge-client.js +45 -45
  166. package/dist/esm/clients/generic/http-client.d.ts +88 -88
  167. package/dist/esm/clients/generic/http-client.js +52 -52
  168. package/dist/esm/clients/generic/index.d.ts +10 -10
  169. package/dist/esm/clients/generic/index.js +10 -10
  170. package/dist/esm/clients/generic/lambda-invoke-client.d.ts +10 -10
  171. package/dist/esm/clients/generic/lambda-invoke-client.js +31 -31
  172. package/dist/esm/clients/generic/location-client.d.ts +8 -8
  173. package/dist/esm/clients/generic/location-client.js +27 -27
  174. package/dist/esm/clients/generic/redis-client.d.ts +18 -17
  175. package/dist/esm/clients/generic/redis-client.js +121 -110
  176. package/dist/esm/clients/generic/redis-client.js.map +1 -1
  177. package/dist/esm/clients/generic/s3-client.d.ts +16 -16
  178. package/dist/esm/clients/generic/s3-client.js +106 -106
  179. package/dist/esm/clients/generic/singlestore-db-client.d.ts +14 -14
  180. package/dist/esm/clients/generic/singlestore-db-client.js +40 -40
  181. package/dist/esm/clients/generic/sqs-client.d.ts +20 -20
  182. package/dist/esm/clients/generic/sqs-client.js +32 -32
  183. package/dist/esm/clients/index.d.ts +3 -3
  184. package/dist/esm/clients/index.js +3 -3
  185. package/dist/esm/clients/internal-api/accounts-client.d.ts +112 -112
  186. package/dist/esm/clients/internal-api/accounts-client.js +113 -113
  187. package/dist/esm/clients/internal-api/cache-lambda-client.d.ts +23 -23
  188. package/dist/esm/clients/internal-api/cache-lambda-client.js +55 -55
  189. package/dist/esm/clients/internal-api/db-management-client.d.ts +18 -18
  190. package/dist/esm/clients/internal-api/db-management-client.js +32 -32
  191. package/dist/esm/clients/internal-api/destinations-client.d.ts +29 -29
  192. package/dist/esm/clients/internal-api/destinations-client.js +50 -50
  193. package/dist/esm/clients/internal-api/event-collector-client.d.ts +20 -20
  194. package/dist/esm/clients/internal-api/event-collector-client.js +32 -32
  195. package/dist/esm/clients/internal-api/identity-client.d.ts +25 -25
  196. package/dist/esm/clients/internal-api/identity-client.js +88 -88
  197. package/dist/esm/clients/internal-api/index.d.ts +8 -8
  198. package/dist/esm/clients/internal-api/index.js +8 -8
  199. package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +34 -34
  200. package/dist/esm/clients/internal-api/shopify-app-install-client.js +56 -56
  201. package/dist/esm/clients/internal-api/users-auth-client.d.ts +31 -31
  202. package/dist/esm/clients/internal-api/users-auth-client.js +88 -88
  203. package/dist/esm/clients/third-party/index.d.ts +1 -1
  204. package/dist/esm/clients/third-party/index.js +1 -1
  205. package/dist/esm/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  206. package/dist/esm/clients/third-party/shopify/graphql-product-queries.js +2 -6
  207. package/dist/esm/clients/third-party/shopify/graphql-product-queries.js.map +1 -1
  208. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -9
  209. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js +91 -91
  210. package/dist/esm/clients/third-party/shopify-client.d.ts +198 -198
  211. package/dist/esm/clients/third-party/shopify-client.js +146 -146
  212. package/dist/esm/helpers/identity-cache-helper.d.ts +4 -4
  213. package/dist/esm/helpers/identity-cache-helper.js +145 -145
  214. package/dist/esm/helpers/index.d.ts +5 -5
  215. package/dist/esm/helpers/index.js +5 -5
  216. package/dist/esm/helpers/input-validation-helper.d.ts +3 -3
  217. package/dist/esm/helpers/input-validation-helper.js +18 -18
  218. package/dist/esm/helpers/logging-helper.d.ts +16 -16
  219. package/dist/esm/helpers/logging-helper.js +56 -56
  220. package/dist/esm/helpers/response-helper.d.ts +15 -15
  221. package/dist/esm/helpers/response-helper.js +36 -36
  222. package/dist/esm/helpers/shopify-helper.d.ts +9 -9
  223. package/dist/esm/helpers/shopify-helper.js +23 -23
  224. package/dist/esm/index.d.ts +5 -5
  225. package/dist/esm/index.js +5 -5
  226. package/dist/esm/libs/clickId-parser.d.ts +23 -23
  227. package/dist/esm/libs/clickId-parser.js +45 -45
  228. package/dist/esm/libs/compression.d.ts +2 -2
  229. package/dist/esm/libs/compression.js +25 -25
  230. package/dist/esm/libs/crypto.d.ts +1 -1
  231. package/dist/esm/libs/crypto.js +5 -5
  232. package/dist/esm/libs/dates.d.ts +6 -6
  233. package/dist/esm/libs/dates.js +22 -22
  234. package/dist/esm/libs/http-error.d.ts +21 -21
  235. package/dist/esm/libs/http-error.js +55 -55
  236. package/dist/esm/libs/http-status-codes.d.ts +58 -58
  237. package/dist/esm/libs/http-status-codes.js +59 -59
  238. package/dist/esm/libs/index.d.ts +9 -9
  239. package/dist/esm/libs/index.js +9 -9
  240. package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
  241. package/dist/esm/libs/referrer-parser/index.js +2 -2
  242. package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
  243. package/dist/esm/libs/referrer-parser/referrer-data.js +4709 -4709
  244. package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  245. package/dist/esm/libs/referrer-parser/referrer-parser-util.js +121 -121
  246. package/dist/esm/libs/url.d.ts +1 -1
  247. package/dist/esm/libs/url.js +9 -9
  248. package/dist/esm/services/cache/index.d.ts +1 -1
  249. package/dist/esm/services/cache/index.js +1 -1
  250. package/dist/esm/services/cache/product-cache-service.d.ts +13 -13
  251. package/dist/esm/services/cache/product-cache-service.js +32 -32
  252. package/dist/esm/services/db/destinations-db-service.d.ts +9 -9
  253. package/dist/esm/services/db/destinations-db-service.js +53 -53
  254. package/dist/esm/services/db/identity-cache-db-service.d.ts +24 -24
  255. package/dist/esm/services/db/identity-cache-db-service.js +229 -229
  256. package/dist/esm/services/db/index.d.ts +7 -7
  257. package/dist/esm/services/db/index.js +7 -7
  258. package/dist/esm/services/db/log-events-db-service.d.ts +11 -11
  259. package/dist/esm/services/db/log-events-db-service.js +168 -168
  260. package/dist/esm/services/db/purchased-contacts-db-service.d.ts +9 -9
  261. package/dist/esm/services/db/purchased-contacts-db-service.js +34 -34
  262. package/dist/esm/services/db/shopify-app-installs-db-service.d.ts +7 -7
  263. package/dist/esm/services/db/shopify-app-installs-db-service.js +43 -43
  264. package/dist/esm/services/db/shopify-products-cache-db-service.d.ts +9 -9
  265. package/dist/esm/services/db/shopify-products-cache-db-service.js +60 -60
  266. package/dist/esm/services/db/tracking-events-db-service.d.ts +20 -20
  267. package/dist/esm/services/db/tracking-events-db-service.js +158 -158
  268. package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
  269. package/dist/esm/services/eventbridge-integration-service.js +24 -24
  270. package/dist/esm/services/generic-cache-service.d.ts +8 -8
  271. package/dist/esm/services/generic-cache-service.js +26 -26
  272. package/dist/esm/services/index.d.ts +8 -8
  273. package/dist/esm/services/index.js +8 -8
  274. package/dist/esm/services/ipdata-lookup-service.d.ts +17 -17
  275. package/dist/esm/services/ipdata-lookup-service.js +67 -67
  276. package/dist/esm/services/log-event-service.d.ts +9 -9
  277. package/dist/esm/services/log-event-service.js +52 -52
  278. package/dist/esm/services/metric-event-service.d.ts +9 -9
  279. package/dist/esm/services/metric-event-service.js +45 -45
  280. package/dist/esm/services/shopify/index.d.ts +3 -3
  281. package/dist/esm/services/shopify/index.js +3 -3
  282. package/dist/esm/services/shopify/products/index.d.ts +1 -1
  283. package/dist/esm/services/shopify/products/index.js +1 -1
  284. package/dist/esm/services/shopify/products/shopify-products-serviceV2.d.ts +12 -12
  285. package/dist/esm/services/shopify/products/shopify-products-serviceV2.js +62 -62
  286. package/dist/esm/services/shopify/shopify-graphql-transformer.d.ts +8 -8
  287. package/dist/esm/services/shopify/shopify-graphql-transformer.js +111 -112
  288. package/dist/esm/services/shopify/shopify-graphql-transformer.js.map +1 -1
  289. package/dist/esm/services/shopify/types/index.d.ts +1 -1
  290. package/dist/esm/services/shopify/types/index.js +1 -1
  291. package/dist/esm/services/shopify/types/product.d.ts +114 -115
  292. package/dist/esm/services/shopify/types/product.js +6 -6
  293. package/dist/esm/types/api-response.d.ts +6 -6
  294. package/dist/esm/types/api-response.js +1 -1
  295. package/dist/esm/types/index.d.ts +2 -2
  296. package/dist/esm/types/index.js +2 -2
  297. package/dist/esm/types/internal-events/event-detail-types.d.ts +20 -20
  298. package/dist/esm/types/internal-events/event-detail-types.js +24 -24
  299. package/dist/esm/types/internal-events/index.d.ts +1 -1
  300. package/dist/esm/types/internal-events/index.js +1 -1
  301. package/dist/esm/types/shopify-graphql-types/admin.generated.d.ts +105 -106
  302. package/dist/esm/types/shopify-graphql-types/admin.generated.js +1 -1
  303. package/dist/esm/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  304. package/dist/esm/types/shopify-graphql-types/admin.types.js +5299 -5299
  305. package/dist/esm/types/shopify-graphql-types/index.d.ts +2 -2
  306. package/dist/esm/types/shopify-graphql-types/index.js +2 -2
  307. package/package.json +1 -1
@@ -1,9 +1,9 @@
1
- export * from './eventbridge-integration-service.js';
2
- export * from './ipdata-lookup-service.js';
3
- export * from './log-event-service.js';
4
- export * from './metric-event-service.js';
5
- export * from './generic-cache-service.js';
6
- export * from './db';
7
- export * from './shopify';
8
- export * from './cache';
1
+ export * from './eventbridge-integration-service.js';
2
+ export * from './ipdata-lookup-service.js';
3
+ export * from './log-event-service.js';
4
+ export * from './metric-event-service.js';
5
+ export * from './generic-cache-service.js';
6
+ export * from './db';
7
+ export * from './shopify';
8
+ export * from './cache';
9
9
  //# sourceMappingURL=index.js.map
@@ -1,17 +1,17 @@
1
- import { IPDataResponse } from '@adtrackify/at-tracking-event-types';
2
- import { CacheLambdaClient } from '../clients';
3
- export interface IPLookupTableRecord {
4
- ipAddress: string;
5
- lookupResponse: IPDataResponse | null;
6
- createdAt: string;
7
- updatedAt: string;
8
- expiresAt?: number;
9
- }
10
- export declare class IpDataLookupService {
11
- private cacheLambdaFunctionArn;
12
- cacheLambdaClient: CacheLambdaClient;
13
- constructor(cacheLambdaFunctionArn: string);
14
- getLookupApi: (ipAddress: string) => Promise<IPDataResponse | null>;
15
- getIpCache: (ipAddress: string) => Promise<import("../clients").CacheRequestCommandResponse | undefined>;
16
- lookupIP: (ipAddress: string) => Promise<IPDataResponse | null>;
17
- }
1
+ import { IPDataResponse } from '@adtrackify/at-tracking-event-types';
2
+ import { CacheLambdaClient } from '../clients';
3
+ export interface IPLookupTableRecord {
4
+ ipAddress: string;
5
+ lookupResponse: IPDataResponse | null;
6
+ createdAt: string;
7
+ updatedAt: string;
8
+ expiresAt?: number;
9
+ }
10
+ export declare class IpDataLookupService {
11
+ private cacheLambdaFunctionArn;
12
+ cacheLambdaClient: CacheLambdaClient;
13
+ constructor(cacheLambdaFunctionArn: string);
14
+ getLookupApi: (ipAddress: string) => Promise<IPDataResponse | null>;
15
+ getIpCache: (ipAddress: string) => Promise<import("../clients").CacheRequestCommandResponse | undefined>;
16
+ lookupIP: (ipAddress: string) => Promise<IPDataResponse | null>;
17
+ }
@@ -1,68 +1,68 @@
1
- import { DateTime } from 'luxon';
2
- import { axiosHttpService, CacheLambdaClient } from '../clients';
3
- import { Logger } from '../helpers';
4
- import { getCurrentTimestamp } from '../libs';
5
- import { isIP } from 'net';
6
- const API_KEY = 'aae45f1e1f97ecf79bdc2bef3e96ef71961c4cb977c3085429b421bc';
7
- export class IpDataLookupService {
8
- cacheLambdaFunctionArn;
9
- cacheLambdaClient;
10
- constructor(cacheLambdaFunctionArn) {
11
- this.cacheLambdaFunctionArn = cacheLambdaFunctionArn;
12
- this.cacheLambdaClient = new CacheLambdaClient(cacheLambdaFunctionArn);
13
- }
14
- getLookupApi = async (ipAddress) => {
15
- try {
16
- const client = axiosHttpService();
17
- const url = `https://api.ipdata.co/${ipAddress}?api-key=${API_KEY}`;
18
- const res = await client.get(url);
19
- return res?.data;
20
- }
21
- catch (error) {
22
- Logger.error('IPData Lookup API Failed', { error });
23
- return null;
24
- }
25
- };
26
- getIpCache = async (ipAddress) => {
27
- return this.cacheLambdaClient.invokeGet(`ipdata-${ipAddress}`);
28
- };
29
- lookupIP = async (ipAddress) => {
30
- try {
31
- if (!ipAddress || isIP(ipAddress) === 0) {
32
- Logger.warn('Unable to lookup IP. Invalid Ip Address', { ipAddress });
33
- return null;
34
- }
35
- const cacheResponse = await this.getIpCache(ipAddress);
36
- const cachedResult = cacheResponse?.responseData;
37
- const cacheExpirationDate = DateTime.utc().minus({ days: 6 }).toJSDate().toISOString();
38
- if (cachedResult && cachedResult?.updatedAt > cacheExpirationDate) {
39
- return cachedResult.lookupResponse;
40
- }
41
- const lookupResponse = await this.getLookupApi(ipAddress);
42
- const expires = 60 * 60 * 24 * 15;
43
- let lookupTableRecord;
44
- if (cachedResult) {
45
- lookupTableRecord = {
46
- ...cachedResult,
47
- lookupResponse,
48
- updatedAt: getCurrentTimestamp(),
49
- };
50
- }
51
- else {
52
- lookupTableRecord = {
53
- ipAddress,
54
- lookupResponse,
55
- createdAt: getCurrentTimestamp(),
56
- updatedAt: getCurrentTimestamp()
57
- };
58
- }
59
- await this.cacheLambdaClient.invokeSet(`ipdata-${ipAddress}`, JSON.stringify(lookupTableRecord), expires);
60
- return lookupResponse;
61
- }
62
- catch (e) {
63
- Logger.error('Failed to lookup IP', { error: e });
64
- return null;
65
- }
66
- };
67
- }
1
+ import { DateTime } from 'luxon';
2
+ import { axiosHttpService, CacheLambdaClient } from '../clients';
3
+ import { Logger } from '../helpers';
4
+ import { getCurrentTimestamp } from '../libs';
5
+ import { isIP } from 'net';
6
+ const API_KEY = 'aae45f1e1f97ecf79bdc2bef3e96ef71961c4cb977c3085429b421bc';
7
+ export class IpDataLookupService {
8
+ cacheLambdaFunctionArn;
9
+ cacheLambdaClient;
10
+ constructor(cacheLambdaFunctionArn) {
11
+ this.cacheLambdaFunctionArn = cacheLambdaFunctionArn;
12
+ this.cacheLambdaClient = new CacheLambdaClient(cacheLambdaFunctionArn);
13
+ }
14
+ getLookupApi = async (ipAddress) => {
15
+ try {
16
+ const client = axiosHttpService();
17
+ const url = `https://api.ipdata.co/${ipAddress}?api-key=${API_KEY}`;
18
+ const res = await client.get(url);
19
+ return res?.data;
20
+ }
21
+ catch (error) {
22
+ Logger.error('IPData Lookup API Failed', { error });
23
+ return null;
24
+ }
25
+ };
26
+ getIpCache = async (ipAddress) => {
27
+ return this.cacheLambdaClient.invokeGet(`ipdata-${ipAddress}`);
28
+ };
29
+ lookupIP = async (ipAddress) => {
30
+ try {
31
+ if (!ipAddress || isIP(ipAddress) === 0) {
32
+ Logger.warn('Unable to lookup IP. Invalid Ip Address', { ipAddress });
33
+ return null;
34
+ }
35
+ const cacheResponse = await this.getIpCache(ipAddress);
36
+ const cachedResult = cacheResponse?.responseData;
37
+ const cacheExpirationDate = DateTime.utc().minus({ days: 6 }).toJSDate().toISOString();
38
+ if (cachedResult && cachedResult?.updatedAt > cacheExpirationDate) {
39
+ return cachedResult.lookupResponse;
40
+ }
41
+ const lookupResponse = await this.getLookupApi(ipAddress);
42
+ const expires = 60 * 60 * 24 * 15;
43
+ let lookupTableRecord;
44
+ if (cachedResult) {
45
+ lookupTableRecord = {
46
+ ...cachedResult,
47
+ lookupResponse,
48
+ updatedAt: getCurrentTimestamp(),
49
+ };
50
+ }
51
+ else {
52
+ lookupTableRecord = {
53
+ ipAddress,
54
+ lookupResponse,
55
+ createdAt: getCurrentTimestamp(),
56
+ updatedAt: getCurrentTimestamp()
57
+ };
58
+ }
59
+ await this.cacheLambdaClient.invokeSet(`ipdata-${ipAddress}`, JSON.stringify(lookupTableRecord), expires);
60
+ return lookupResponse;
61
+ }
62
+ catch (e) {
63
+ Logger.error('Failed to lookup IP', { error: e });
64
+ return null;
65
+ }
66
+ };
67
+ }
68
68
  //# sourceMappingURL=ipdata-lookup-service.js.map
@@ -1,9 +1,9 @@
1
- import { EventContext, LOG_EVENT_NAME, LogEvent, LogEventData, LogLevel, LogStorage } from '@adtrackify/at-tracking-event-types';
2
- export declare class LogEventService {
3
- private eventBridgeClient;
4
- private eventDetail;
5
- constructor(eventBusName: string);
6
- log: (source: string, pixelId: string, context: EventContext, logEventName: LOG_EVENT_NAME, logEventData: LogEventData, logId?: string) => Promise<void>;
7
- buildLogEvent: (pixelId: string, context: EventContext, logEventName: LOG_EVENT_NAME, logEventData: LogEventData, logId?: string) => LogEvent;
8
- buildLogEventData: (source: string, service: string, logLevel: LogLevel, message: string, logData?: any, logStorage?: LogStorage) => LogEventData;
9
- }
1
+ import { EventContext, LOG_EVENT_NAME, LogEvent, LogEventData, LogLevel, LogStorage } from '@adtrackify/at-tracking-event-types';
2
+ export declare class LogEventService {
3
+ private eventBridgeClient;
4
+ private eventDetail;
5
+ constructor(eventBusName: string);
6
+ log: (source: string, pixelId: string, context: EventContext, logEventName: LOG_EVENT_NAME, logEventData: LogEventData, logId?: string) => Promise<void>;
7
+ buildLogEvent: (pixelId: string, context: EventContext, logEventName: LOG_EVENT_NAME, logEventData: LogEventData, logId?: string) => LogEvent;
8
+ buildLogEventData: (source: string, service: string, logLevel: LogLevel, message: string, logData?: any, logStorage?: LogStorage) => LogEventData;
9
+ }
@@ -1,53 +1,53 @@
1
- import { INTERNAL_EVENT_TYPE } from '@adtrackify/at-tracking-event-types';
2
- import { EventBridgeClient } from '../clients';
3
- import { v4 as uuidv4 } from 'uuid';
4
- import { getCurrentTimestamp } from '../libs';
5
- const DEFAULT_LOG_STORAGE = {
6
- sendToDatadog: true,
7
- sendToEventDebugger: false,
8
- sendToSingleStore: false,
9
- };
10
- export class LogEventService {
11
- eventBridgeClient;
12
- eventDetail;
13
- constructor(eventBusName) {
14
- this.eventBridgeClient = new EventBridgeClient(eventBusName);
15
- this.eventDetail = 'incomingLogEvent';
16
- }
17
- log = async (source, pixelId, context, logEventName, logEventData, logId = uuidv4()) => {
18
- const logEvent = this.buildLogEvent(pixelId, context, logEventName, logEventData, logId);
19
- const eventData = {
20
- pixelId,
21
- logEvent
22
- };
23
- await this.eventBridgeClient.buildAndSendEvent(source, this.eventDetail, eventData);
24
- };
25
- buildLogEvent = (pixelId, context, logEventName, logEventData, logId = uuidv4()) => {
26
- const unixMsUtcTime = Date.now();
27
- const logEvent = {
28
- id: logId,
29
- pixelId,
30
- type: INTERNAL_EVENT_TYPE.LOG,
31
- name: logEventName,
32
- data: logEventData,
33
- version: '1.1.6',
34
- sentAtEpoch: unixMsUtcTime,
35
- collectedAt: getCurrentTimestamp(),
36
- source: 'server'
37
- };
38
- if (context)
39
- logEvent.context = context;
40
- return logEvent;
41
- };
42
- buildLogEventData = (source, service, logLevel, message, logData, logStorage = DEFAULT_LOG_STORAGE) => {
43
- return {
44
- source,
45
- service,
46
- logLevel,
47
- logMessage: message,
48
- ...logData,
49
- logStorage
50
- };
51
- };
52
- }
1
+ import { INTERNAL_EVENT_TYPE } from '@adtrackify/at-tracking-event-types';
2
+ import { EventBridgeClient } from '../clients';
3
+ import { v4 as uuidv4 } from 'uuid';
4
+ import { getCurrentTimestamp } from '../libs';
5
+ const DEFAULT_LOG_STORAGE = {
6
+ sendToDatadog: true,
7
+ sendToEventDebugger: false,
8
+ sendToSingleStore: false,
9
+ };
10
+ export class LogEventService {
11
+ eventBridgeClient;
12
+ eventDetail;
13
+ constructor(eventBusName) {
14
+ this.eventBridgeClient = new EventBridgeClient(eventBusName);
15
+ this.eventDetail = 'incomingLogEvent';
16
+ }
17
+ log = async (source, pixelId, context, logEventName, logEventData, logId = uuidv4()) => {
18
+ const logEvent = this.buildLogEvent(pixelId, context, logEventName, logEventData, logId);
19
+ const eventData = {
20
+ pixelId,
21
+ logEvent
22
+ };
23
+ await this.eventBridgeClient.buildAndSendEvent(source, this.eventDetail, eventData);
24
+ };
25
+ buildLogEvent = (pixelId, context, logEventName, logEventData, logId = uuidv4()) => {
26
+ const unixMsUtcTime = Date.now();
27
+ const logEvent = {
28
+ id: logId,
29
+ pixelId,
30
+ type: INTERNAL_EVENT_TYPE.LOG,
31
+ name: logEventName,
32
+ data: logEventData,
33
+ version: '1.1.6',
34
+ sentAtEpoch: unixMsUtcTime,
35
+ collectedAt: getCurrentTimestamp(),
36
+ source: 'server'
37
+ };
38
+ if (context)
39
+ logEvent.context = context;
40
+ return logEvent;
41
+ };
42
+ buildLogEventData = (source, service, logLevel, message, logData, logStorage = DEFAULT_LOG_STORAGE) => {
43
+ return {
44
+ source,
45
+ service,
46
+ logLevel,
47
+ logMessage: message,
48
+ ...logData,
49
+ logStorage
50
+ };
51
+ };
52
+ }
53
53
  //# sourceMappingURL=log-event-service.js.map
@@ -1,9 +1,9 @@
1
- import { EventContext, METRIC_EVENT_NAME, MetricEvent, MetricEventData } from '@adtrackify/at-tracking-event-types';
2
- export declare class MetricEventService {
3
- private eventBridgeClient;
4
- private eventDetail;
5
- constructor(eventBusName: string);
6
- metric: (source: string, pixelId: string, context: EventContext, metricName: METRIC_EVENT_NAME, metricData: MetricEventData[], metricId?: string) => Promise<void>;
7
- buildMetricEvent: (pixelId: string, context: EventContext, metricName: METRIC_EVENT_NAME, metricData: MetricEventData[], metricId?: string) => MetricEvent;
8
- buildMetricEventData: (recordName: string, recordValue: number, displayName: string, additionalMetricData?: {}) => MetricEventData;
9
- }
1
+ import { EventContext, METRIC_EVENT_NAME, MetricEvent, MetricEventData } from '@adtrackify/at-tracking-event-types';
2
+ export declare class MetricEventService {
3
+ private eventBridgeClient;
4
+ private eventDetail;
5
+ constructor(eventBusName: string);
6
+ metric: (source: string, pixelId: string, context: EventContext, metricName: METRIC_EVENT_NAME, metricData: MetricEventData[], metricId?: string) => Promise<void>;
7
+ buildMetricEvent: (pixelId: string, context: EventContext, metricName: METRIC_EVENT_NAME, metricData: MetricEventData[], metricId?: string) => MetricEvent;
8
+ buildMetricEventData: (recordName: string, recordValue: number, displayName: string, additionalMetricData?: {}) => MetricEventData;
9
+ }
@@ -1,46 +1,46 @@
1
- import { INTERNAL_EVENT_TYPE } from '@adtrackify/at-tracking-event-types';
2
- import { EventBridgeClient } from '../clients';
3
- import { v4 as uuidv4 } from 'uuid';
4
- import { getCurrentTimestamp } from '../libs';
5
- export class MetricEventService {
6
- eventBridgeClient;
7
- eventDetail;
8
- constructor(eventBusName) {
9
- this.eventBridgeClient = new EventBridgeClient(eventBusName);
10
- this.eventDetail = 'incomingMetricEvent';
11
- }
12
- metric = async (source, pixelId, context, metricName, metricData, metricId = uuidv4()) => {
13
- const metricEvent = this.buildMetricEvent(pixelId, context, metricName, metricData, metricId);
14
- const eventData = {
15
- pixelId,
16
- metricEvent
17
- };
18
- await this.eventBridgeClient.buildAndSendEvent(source, this.eventDetail, eventData);
19
- };
20
- buildMetricEvent = (pixelId, context, metricName, metricData, metricId = uuidv4()) => {
21
- const unixMsUtcTime = Date.now();
22
- const metricEvent = {
23
- id: metricId,
24
- type: INTERNAL_EVENT_TYPE.METRIC,
25
- name: metricName,
26
- pixelId,
27
- data: metricData,
28
- version: '1.1.6',
29
- sentAtEpoch: unixMsUtcTime,
30
- collectedAt: getCurrentTimestamp()
31
- };
32
- if (context)
33
- metricEvent.context = context;
34
- return metricEvent;
35
- };
36
- buildMetricEventData = (recordName, recordValue, displayName, additionalMetricData = {}) => {
37
- return {
38
- recordId: uuidv4(),
39
- recordName,
40
- recordValue,
41
- displayName,
42
- ...additionalMetricData,
43
- };
44
- };
45
- }
1
+ import { INTERNAL_EVENT_TYPE } from '@adtrackify/at-tracking-event-types';
2
+ import { EventBridgeClient } from '../clients';
3
+ import { v4 as uuidv4 } from 'uuid';
4
+ import { getCurrentTimestamp } from '../libs';
5
+ export class MetricEventService {
6
+ eventBridgeClient;
7
+ eventDetail;
8
+ constructor(eventBusName) {
9
+ this.eventBridgeClient = new EventBridgeClient(eventBusName);
10
+ this.eventDetail = 'incomingMetricEvent';
11
+ }
12
+ metric = async (source, pixelId, context, metricName, metricData, metricId = uuidv4()) => {
13
+ const metricEvent = this.buildMetricEvent(pixelId, context, metricName, metricData, metricId);
14
+ const eventData = {
15
+ pixelId,
16
+ metricEvent
17
+ };
18
+ await this.eventBridgeClient.buildAndSendEvent(source, this.eventDetail, eventData);
19
+ };
20
+ buildMetricEvent = (pixelId, context, metricName, metricData, metricId = uuidv4()) => {
21
+ const unixMsUtcTime = Date.now();
22
+ const metricEvent = {
23
+ id: metricId,
24
+ type: INTERNAL_EVENT_TYPE.METRIC,
25
+ name: metricName,
26
+ pixelId,
27
+ data: metricData,
28
+ version: '1.1.6',
29
+ sentAtEpoch: unixMsUtcTime,
30
+ collectedAt: getCurrentTimestamp()
31
+ };
32
+ if (context)
33
+ metricEvent.context = context;
34
+ return metricEvent;
35
+ };
36
+ buildMetricEventData = (recordName, recordValue, displayName, additionalMetricData = {}) => {
37
+ return {
38
+ recordId: uuidv4(),
39
+ recordName,
40
+ recordValue,
41
+ displayName,
42
+ ...additionalMetricData,
43
+ };
44
+ };
45
+ }
46
46
  //# sourceMappingURL=metric-event-service.js.map
@@ -1,3 +1,3 @@
1
- export * from './products';
2
- export * from './types';
3
- export * from './shopify-graphql-transformer.js';
1
+ export * from './products';
2
+ export * from './types';
3
+ export * from './shopify-graphql-transformer.js';
@@ -1,4 +1,4 @@
1
- export * from './products';
2
- export * from './types';
3
- export * from './shopify-graphql-transformer.js';
1
+ export * from './products';
2
+ export * from './types';
3
+ export * from './shopify-graphql-transformer.js';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- export * from './shopify-products-serviceV2.js';
1
+ export * from './shopify-products-serviceV2.js';
@@ -1,2 +1,2 @@
1
- export * from './shopify-products-serviceV2.js';
1
+ export * from './shopify-products-serviceV2.js';
2
2
  //# sourceMappingURL=index.js.map
@@ -1,12 +1,12 @@
1
- import { InternalProduct } from '../types/product';
2
- import { GetProductQuery } from '../../../types';
3
- import { ClientResponse } from '@shopify/admin-api-client';
4
- export interface GetShopifyProductResponse extends ClientResponse<GetProductQuery> {
5
- transformedProduct?: InternalProduct;
6
- }
7
- export declare class ShopifyProductsServiceV2 {
8
- private productCacheService;
9
- constructor(cacheLambdaFunctionArn: string);
10
- getShopifyProduct: (pixelId: string, shop: string, accessToken: string, productId: string, useCache?: boolean, updateCache?: boolean) => Promise<GetShopifyProductResponse | null>;
11
- private getShopifyProductFromAPI;
12
- }
1
+ import { InternalProduct } from '../types/product';
2
+ import { GetProductQuery } from '../../../types';
3
+ import { ClientResponse } from '@shopify/admin-api-client';
4
+ export interface GetShopifyProductResponse extends ClientResponse<GetProductQuery> {
5
+ transformedProduct?: InternalProduct;
6
+ }
7
+ export declare class ShopifyProductsServiceV2 {
8
+ private productCacheService;
9
+ constructor(cacheLambdaFunctionArn: string);
10
+ getShopifyProduct: (pixelId: string, shop: string, accessToken: string, productId: string, useCache?: boolean, updateCache?: boolean) => Promise<GetShopifyProductResponse | null>;
11
+ private getShopifyProductFromAPI;
12
+ }
@@ -1,63 +1,63 @@
1
- import { Logger } from '../../../helpers';
2
- import { ProductCacheService } from '../../cache/product-cache-service';
3
- import { ShopifyGraphQLTransformer } from '../shopify-graphql-transformer';
4
- import { ShopifyGraphQLClient } from '../../../clients/third-party/shopify/shopify-graphql-client';
5
- export class ShopifyProductsServiceV2 {
6
- productCacheService;
7
- constructor(cacheLambdaFunctionArn) {
8
- this.productCacheService = new ProductCacheService(cacheLambdaFunctionArn);
9
- }
10
- getShopifyProduct = async (pixelId, shop, accessToken, productId, useCache = true, updateCache = true) => {
11
- try {
12
- let getShopifyProductResponse = {};
13
- if (useCache) {
14
- const product = await this.productCacheService.getProductFromCache(pixelId, productId);
15
- if (product) {
16
- Logger.debug('getShopifyProduct: Product found in cache', { pixelId, shop, productId, product });
17
- getShopifyProductResponse.transformedProduct = product;
18
- return getShopifyProductResponse;
19
- }
20
- }
21
- getShopifyProductResponse = await this.getShopifyProductFromAPI(pixelId, shop, accessToken, productId, true);
22
- if (getShopifyProductResponse?.transformedProduct && updateCache) {
23
- const product = getShopifyProductResponse.transformedProduct;
24
- Logger.debug('getShopifyProduct: Product found in ShopifyAPI, putting in cache', { pixelId, productId, product });
25
- await this.productCacheService.putProductInCache(pixelId, productId, product);
26
- }
27
- if (!getShopifyProductResponse?.transformedProduct) {
28
- Logger.error('getShopifyProduct: Product not found in ShopifyAPI or cache', { pixelId, shop, productId });
29
- }
30
- Logger.debug('getShopifyProduct: Returning product', { pixelId, shop, productId, product: getShopifyProductResponse?.transformedProduct });
31
- return getShopifyProductResponse;
32
- }
33
- catch (error) {
34
- Logger.error('getShopifyProduct: Failed getShopifyProductWithCachingGraphQL', { error });
35
- return null;
36
- }
37
- };
38
- getShopifyProductFromAPI = async (pixelId, shop, accessToken, productId, useTransformer = true) => {
39
- try {
40
- const response = await ShopifyGraphQLClient.getProductWithVariantsGraphQL(shop, accessToken, productId, 100);
41
- const getShopifyProductResponse = response;
42
- if (response?.data?.product) {
43
- const product = response.data.product;
44
- Logger.debug('getShopifyProductFromAPI: Product found in ShopifyAPI', { pixelId, shop, productId, product });
45
- if (useTransformer) {
46
- const transformedProduct = ShopifyGraphQLTransformer.transformToInternalProduct(product);
47
- getShopifyProductResponse.transformedProduct = transformedProduct;
48
- Logger.info('getShopifyProductFromAPI: Product transformed', { pixelId, shop, productId, transformedProduct: getShopifyProductResponse.transformedProduct });
49
- }
50
- return getShopifyProductResponse;
51
- }
52
- else {
53
- Logger.error('getShopifyProductFromAPI: Product not found in ShopifyAPI', { pixelId, shop, productId });
54
- return getShopifyProductResponse;
55
- }
56
- }
57
- catch (error) {
58
- Logger.error('getShopifyProductFromAPI: Failed getShopifyProductFromAPI', { e: error, pixelId, shop, accessToken, productId, useTransformer, error });
59
- return null;
60
- }
61
- };
62
- }
1
+ import { Logger } from '../../../helpers';
2
+ import { ProductCacheService } from '../../cache/product-cache-service';
3
+ import { ShopifyGraphQLTransformer } from '../shopify-graphql-transformer';
4
+ import { ShopifyGraphQLClient } from '../../../clients/third-party/shopify/shopify-graphql-client';
5
+ export class ShopifyProductsServiceV2 {
6
+ productCacheService;
7
+ constructor(cacheLambdaFunctionArn) {
8
+ this.productCacheService = new ProductCacheService(cacheLambdaFunctionArn);
9
+ }
10
+ getShopifyProduct = async (pixelId, shop, accessToken, productId, useCache = true, updateCache = true) => {
11
+ try {
12
+ let getShopifyProductResponse = {};
13
+ if (useCache) {
14
+ const product = await this.productCacheService.getProductFromCache(pixelId, productId);
15
+ if (product) {
16
+ Logger.debug('getShopifyProduct: Product found in cache', { pixelId, shop, productId, product });
17
+ getShopifyProductResponse.transformedProduct = product;
18
+ return getShopifyProductResponse;
19
+ }
20
+ }
21
+ getShopifyProductResponse = await this.getShopifyProductFromAPI(pixelId, shop, accessToken, productId, true);
22
+ if (getShopifyProductResponse?.transformedProduct && updateCache) {
23
+ const product = getShopifyProductResponse.transformedProduct;
24
+ Logger.debug('getShopifyProduct: Product found in ShopifyAPI, putting in cache', { pixelId, productId, product });
25
+ await this.productCacheService.putProductInCache(pixelId, productId, product);
26
+ }
27
+ if (!getShopifyProductResponse?.transformedProduct) {
28
+ Logger.error('getShopifyProduct: Product not found in ShopifyAPI or cache', { pixelId, shop, productId });
29
+ }
30
+ Logger.debug('getShopifyProduct: Returning product', { pixelId, shop, productId, product: getShopifyProductResponse?.transformedProduct });
31
+ return getShopifyProductResponse;
32
+ }
33
+ catch (error) {
34
+ Logger.error('getShopifyProduct: Failed getShopifyProductWithCachingGraphQL', { error });
35
+ return null;
36
+ }
37
+ };
38
+ getShopifyProductFromAPI = async (pixelId, shop, accessToken, productId, useTransformer = true) => {
39
+ try {
40
+ const response = await ShopifyGraphQLClient.getProductWithVariantsGraphQL(shop, accessToken, productId, 100);
41
+ const getShopifyProductResponse = response;
42
+ if (response?.data?.product) {
43
+ const product = response.data.product;
44
+ Logger.debug('getShopifyProductFromAPI: Product found in ShopifyAPI', { pixelId, shop, productId, product });
45
+ if (useTransformer) {
46
+ const transformedProduct = ShopifyGraphQLTransformer.transformToInternalProduct(product);
47
+ getShopifyProductResponse.transformedProduct = transformedProduct;
48
+ Logger.info('getShopifyProductFromAPI: Product transformed', { pixelId, shop, productId, transformedProduct: getShopifyProductResponse.transformedProduct });
49
+ }
50
+ return getShopifyProductResponse;
51
+ }
52
+ else {
53
+ Logger.error('getShopifyProductFromAPI: Product not found in ShopifyAPI', { pixelId, shop, productId });
54
+ return getShopifyProductResponse;
55
+ }
56
+ }
57
+ catch (error) {
58
+ Logger.error('getShopifyProductFromAPI: Failed getShopifyProductFromAPI', { e: error, pixelId, shop, accessToken, productId, useTransformer, error });
59
+ return null;
60
+ }
61
+ };
62
+ }
63
63
  //# sourceMappingURL=shopify-products-serviceV2.js.map
@@ -1,8 +1,8 @@
1
- import { InventoryItem, Product, ProductVariant } from '../../types/shopify-graphql-types/admin.types';
2
- import { InternalInventoryItem } from './types/product';
3
- import { InternalProduct, InternalProductVariant } from './types/product';
4
- export declare const ShopifyGraphQLTransformer: {
5
- transformToInternalProduct: (product: Partial<Product>) => InternalProduct | undefined;
6
- transformToInternalProductVariant: (variant: Partial<ProductVariant>) => InternalProductVariant | undefined;
7
- transformToInternalInventoryItem: (inventoryItem: Partial<InventoryItem>) => InternalInventoryItem | undefined;
8
- };
1
+ import { InventoryItem, Product, ProductVariant } from '../../types/shopify-graphql-types/admin.types';
2
+ import { InternalInventoryItem } from './types/product';
3
+ import { InternalProduct, InternalProductVariant } from './types/product';
4
+ export declare const ShopifyGraphQLTransformer: {
5
+ transformToInternalProduct: (product: Partial<Product>) => InternalProduct | undefined;
6
+ transformToInternalProductVariant: (variant: Partial<ProductVariant>) => InternalProductVariant | undefined;
7
+ transformToInternalInventoryItem: (inventoryItem: Partial<InventoryItem>) => InternalInventoryItem | undefined;
8
+ };