@adtrackify/at-service-common 3.1.24 → 3.1.25

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 (303) 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 -18
  22. package/dist/cjs/clients/generic/redis-client.js +128 -128
  23. package/dist/cjs/clients/generic/s3-client.d.ts +16 -16
  24. package/dist/cjs/clients/generic/s3-client.js +110 -110
  25. package/dist/cjs/clients/generic/singlestore-db-client.d.ts +14 -14
  26. package/dist/cjs/clients/generic/singlestore-db-client.js +67 -67
  27. package/dist/cjs/clients/generic/sqs-client.d.ts +20 -20
  28. package/dist/cjs/clients/generic/sqs-client.js +36 -36
  29. package/dist/cjs/clients/index.d.ts +3 -3
  30. package/dist/cjs/clients/index.js +19 -19
  31. package/dist/cjs/clients/internal-api/accounts-client.d.ts +112 -112
  32. package/dist/cjs/clients/internal-api/accounts-client.js +117 -117
  33. package/dist/cjs/clients/internal-api/cache-lambda-client.d.ts +23 -23
  34. package/dist/cjs/clients/internal-api/cache-lambda-client.js +59 -59
  35. package/dist/cjs/clients/internal-api/db-management-client.d.ts +18 -18
  36. package/dist/cjs/clients/internal-api/db-management-client.js +39 -39
  37. package/dist/cjs/clients/internal-api/destinations-client.d.ts +29 -29
  38. package/dist/cjs/clients/internal-api/destinations-client.js +54 -54
  39. package/dist/cjs/clients/internal-api/event-collector-client.d.ts +20 -20
  40. package/dist/cjs/clients/internal-api/event-collector-client.js +39 -39
  41. package/dist/cjs/clients/internal-api/identity-client.d.ts +25 -25
  42. package/dist/cjs/clients/internal-api/identity-client.js +92 -92
  43. package/dist/cjs/clients/internal-api/index.d.ts +8 -8
  44. package/dist/cjs/clients/internal-api/index.js +24 -24
  45. package/dist/cjs/clients/internal-api/shopify-app-install-client.d.ts +34 -34
  46. package/dist/cjs/clients/internal-api/shopify-app-install-client.js +63 -63
  47. package/dist/cjs/clients/internal-api/users-auth-client.d.ts +31 -31
  48. package/dist/cjs/clients/internal-api/users-auth-client.js +92 -92
  49. package/dist/cjs/clients/third-party/index.d.ts +1 -1
  50. package/dist/cjs/clients/third-party/index.js +17 -17
  51. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  52. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.js +5 -5
  53. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -9
  54. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.js +95 -95
  55. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.js.map +1 -1
  56. package/dist/cjs/clients/third-party/shopify-client.d.ts +198 -198
  57. package/dist/cjs/clients/third-party/shopify-client.js +150 -150
  58. package/dist/cjs/helpers/identity-cache-helper.d.ts +4 -4
  59. package/dist/cjs/helpers/identity-cache-helper.js +150 -150
  60. package/dist/cjs/helpers/index.d.ts +5 -5
  61. package/dist/cjs/helpers/index.js +21 -21
  62. package/dist/cjs/helpers/input-validation-helper.d.ts +3 -3
  63. package/dist/cjs/helpers/input-validation-helper.js +22 -22
  64. package/dist/cjs/helpers/logging-helper.d.ts +16 -16
  65. package/dist/cjs/helpers/logging-helper.js +84 -84
  66. package/dist/cjs/helpers/response-helper.d.ts +15 -15
  67. package/dist/cjs/helpers/response-helper.js +42 -42
  68. package/dist/cjs/helpers/shopify-helper.d.ts +9 -9
  69. package/dist/cjs/helpers/shopify-helper.js +28 -28
  70. package/dist/cjs/index.d.ts +5 -5
  71. package/dist/cjs/index.js +21 -21
  72. package/dist/cjs/libs/clickId-parser.d.ts +23 -23
  73. package/dist/cjs/libs/clickId-parser.js +49 -49
  74. package/dist/cjs/libs/compression.d.ts +2 -2
  75. package/dist/cjs/libs/compression.js +33 -33
  76. package/dist/cjs/libs/crypto.d.ts +1 -1
  77. package/dist/cjs/libs/crypto.js +12 -12
  78. package/dist/cjs/libs/dates.d.ts +6 -6
  79. package/dist/cjs/libs/dates.js +31 -31
  80. package/dist/cjs/libs/http-error.d.ts +21 -21
  81. package/dist/cjs/libs/http-error.js +59 -59
  82. package/dist/cjs/libs/http-status-codes.d.ts +58 -58
  83. package/dist/cjs/libs/http-status-codes.js +62 -62
  84. package/dist/cjs/libs/index.d.ts +9 -9
  85. package/dist/cjs/libs/index.js +25 -25
  86. package/dist/cjs/libs/referrer-parser/index.d.ts +2 -2
  87. package/dist/cjs/libs/referrer-parser/index.js +18 -18
  88. package/dist/cjs/libs/referrer-parser/referrer-data.d.ts +9 -9
  89. package/dist/cjs/libs/referrer-parser/referrer-data.js +4712 -4712
  90. package/dist/cjs/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  91. package/dist/cjs/libs/referrer-parser/referrer-parser-util.js +128 -128
  92. package/dist/cjs/libs/url.d.ts +1 -1
  93. package/dist/cjs/libs/url.js +13 -13
  94. package/dist/cjs/services/cache/index.d.ts +1 -1
  95. package/dist/cjs/services/cache/index.js +17 -17
  96. package/dist/cjs/services/cache/product-cache-service.d.ts +13 -13
  97. package/dist/cjs/services/cache/product-cache-service.js +36 -36
  98. package/dist/cjs/services/db/destinations-db-service.d.ts +9 -9
  99. package/dist/cjs/services/db/destinations-db-service.js +57 -57
  100. package/dist/cjs/services/db/identity-cache-db-service.d.ts +24 -24
  101. package/dist/cjs/services/db/identity-cache-db-service.js +233 -233
  102. package/dist/cjs/services/db/index.d.ts +7 -7
  103. package/dist/cjs/services/db/index.js +23 -23
  104. package/dist/cjs/services/db/log-events-db-service.d.ts +11 -11
  105. package/dist/cjs/services/db/log-events-db-service.js +172 -172
  106. package/dist/cjs/services/db/purchased-contacts-db-service.d.ts +9 -9
  107. package/dist/cjs/services/db/purchased-contacts-db-service.js +38 -38
  108. package/dist/cjs/services/db/shopify-app-installs-db-service.d.ts +7 -7
  109. package/dist/cjs/services/db/shopify-app-installs-db-service.js +47 -47
  110. package/dist/cjs/services/db/shopify-products-cache-db-service.d.ts +9 -9
  111. package/dist/cjs/services/db/shopify-products-cache-db-service.js +64 -64
  112. package/dist/cjs/services/db/tracking-events-db-service.d.ts +20 -20
  113. package/dist/cjs/services/db/tracking-events-db-service.js +162 -162
  114. package/dist/cjs/services/eventbridge-integration-service.d.ts +9 -9
  115. package/dist/cjs/services/eventbridge-integration-service.js +28 -28
  116. package/dist/cjs/services/generic-cache-service.d.ts +8 -8
  117. package/dist/cjs/services/generic-cache-service.js +30 -30
  118. package/dist/cjs/services/index.d.ts +8 -8
  119. package/dist/cjs/services/index.js +24 -24
  120. package/dist/cjs/services/ipdata-lookup-service.d.ts +17 -17
  121. package/dist/cjs/services/ipdata-lookup-service.js +71 -71
  122. package/dist/cjs/services/log-event-service.d.ts +9 -9
  123. package/dist/cjs/services/log-event-service.js +56 -56
  124. package/dist/cjs/services/metric-event-service.d.ts +9 -9
  125. package/dist/cjs/services/metric-event-service.js +49 -49
  126. package/dist/cjs/services/shopify/index.d.ts +3 -3
  127. package/dist/cjs/services/shopify/index.js +19 -19
  128. package/dist/cjs/services/shopify/products/index.d.ts +1 -1
  129. package/dist/cjs/services/shopify/products/index.js +17 -17
  130. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.d.ts +12 -12
  131. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.js +66 -66
  132. package/dist/cjs/services/shopify/shopify-graphql-transformer.d.ts +8 -8
  133. package/dist/cjs/services/shopify/shopify-graphql-transformer.js +114 -114
  134. package/dist/cjs/services/shopify/types/index.d.ts +1 -1
  135. package/dist/cjs/services/shopify/types/index.js +17 -17
  136. package/dist/cjs/services/shopify/types/product.d.ts +114 -114
  137. package/dist/cjs/services/shopify/types/product.js +9 -9
  138. package/dist/cjs/types/api-response.d.ts +6 -6
  139. package/dist/cjs/types/api-response.js +2 -2
  140. package/dist/cjs/types/index.d.ts +2 -2
  141. package/dist/cjs/types/index.js +18 -18
  142. package/dist/cjs/types/internal-events/event-detail-types.d.ts +20 -20
  143. package/dist/cjs/types/internal-events/event-detail-types.js +27 -27
  144. package/dist/cjs/types/internal-events/index.d.ts +1 -1
  145. package/dist/cjs/types/internal-events/index.js +17 -17
  146. package/dist/cjs/types/shopify-graphql-types/admin.generated.d.ts +105 -105
  147. package/dist/cjs/types/shopify-graphql-types/admin.generated.js +2 -2
  148. package/dist/cjs/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  149. package/dist/cjs/types/shopify-graphql-types/admin.types.js +5311 -5311
  150. package/dist/cjs/types/shopify-graphql-types/index.d.ts +2 -2
  151. package/dist/cjs/types/shopify-graphql-types/index.js +18 -18
  152. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  153. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js +525 -525
  154. package/dist/esm/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  155. package/dist/esm/__tests__/libs/compress-decompress.spec.js +14 -14
  156. package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  157. package/dist/esm/__tests__/s3-client/s3-client.spec.js +24 -24
  158. package/dist/esm/clients/generic/cognito-client.d.ts +20 -20
  159. package/dist/esm/clients/generic/cognito-client.js +159 -159
  160. package/dist/esm/clients/generic/dynamodb-client.d.ts +17 -17
  161. package/dist/esm/clients/generic/dynamodb-client.js +163 -163
  162. package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
  163. package/dist/esm/clients/generic/eventbridge-client.js +45 -45
  164. package/dist/esm/clients/generic/http-client.d.ts +88 -88
  165. package/dist/esm/clients/generic/http-client.js +52 -52
  166. package/dist/esm/clients/generic/index.d.ts +10 -10
  167. package/dist/esm/clients/generic/index.js +10 -10
  168. package/dist/esm/clients/generic/lambda-invoke-client.d.ts +10 -10
  169. package/dist/esm/clients/generic/lambda-invoke-client.js +31 -31
  170. package/dist/esm/clients/generic/location-client.d.ts +8 -8
  171. package/dist/esm/clients/generic/location-client.js +27 -27
  172. package/dist/esm/clients/generic/redis-client.d.ts +18 -18
  173. package/dist/esm/clients/generic/redis-client.js +121 -121
  174. package/dist/esm/clients/generic/s3-client.d.ts +16 -16
  175. package/dist/esm/clients/generic/s3-client.js +106 -106
  176. package/dist/esm/clients/generic/singlestore-db-client.d.ts +14 -14
  177. package/dist/esm/clients/generic/singlestore-db-client.js +40 -40
  178. package/dist/esm/clients/generic/sqs-client.d.ts +20 -20
  179. package/dist/esm/clients/generic/sqs-client.js +32 -32
  180. package/dist/esm/clients/index.d.ts +3 -3
  181. package/dist/esm/clients/index.js +3 -3
  182. package/dist/esm/clients/internal-api/accounts-client.d.ts +112 -112
  183. package/dist/esm/clients/internal-api/accounts-client.js +113 -113
  184. package/dist/esm/clients/internal-api/cache-lambda-client.d.ts +23 -23
  185. package/dist/esm/clients/internal-api/cache-lambda-client.js +55 -55
  186. package/dist/esm/clients/internal-api/db-management-client.d.ts +18 -18
  187. package/dist/esm/clients/internal-api/db-management-client.js +32 -32
  188. package/dist/esm/clients/internal-api/destinations-client.d.ts +29 -29
  189. package/dist/esm/clients/internal-api/destinations-client.js +50 -50
  190. package/dist/esm/clients/internal-api/event-collector-client.d.ts +20 -20
  191. package/dist/esm/clients/internal-api/event-collector-client.js +32 -32
  192. package/dist/esm/clients/internal-api/identity-client.d.ts +25 -25
  193. package/dist/esm/clients/internal-api/identity-client.js +88 -88
  194. package/dist/esm/clients/internal-api/index.d.ts +8 -8
  195. package/dist/esm/clients/internal-api/index.js +8 -8
  196. package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +34 -34
  197. package/dist/esm/clients/internal-api/shopify-app-install-client.js +56 -56
  198. package/dist/esm/clients/internal-api/users-auth-client.d.ts +31 -31
  199. package/dist/esm/clients/internal-api/users-auth-client.js +88 -88
  200. package/dist/esm/clients/third-party/index.d.ts +1 -1
  201. package/dist/esm/clients/third-party/index.js +1 -1
  202. package/dist/esm/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  203. package/dist/esm/clients/third-party/shopify/graphql-product-queries.js +2 -2
  204. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -9
  205. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js +91 -91
  206. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js.map +1 -1
  207. package/dist/esm/clients/third-party/shopify-client.d.ts +198 -198
  208. package/dist/esm/clients/third-party/shopify-client.js +146 -146
  209. package/dist/esm/helpers/identity-cache-helper.d.ts +4 -4
  210. package/dist/esm/helpers/identity-cache-helper.js +145 -145
  211. package/dist/esm/helpers/index.d.ts +5 -5
  212. package/dist/esm/helpers/index.js +5 -5
  213. package/dist/esm/helpers/input-validation-helper.d.ts +3 -3
  214. package/dist/esm/helpers/input-validation-helper.js +18 -18
  215. package/dist/esm/helpers/logging-helper.d.ts +16 -16
  216. package/dist/esm/helpers/logging-helper.js +56 -56
  217. package/dist/esm/helpers/response-helper.d.ts +15 -15
  218. package/dist/esm/helpers/response-helper.js +36 -36
  219. package/dist/esm/helpers/shopify-helper.d.ts +9 -9
  220. package/dist/esm/helpers/shopify-helper.js +23 -23
  221. package/dist/esm/index.d.ts +5 -5
  222. package/dist/esm/index.js +5 -5
  223. package/dist/esm/libs/clickId-parser.d.ts +23 -23
  224. package/dist/esm/libs/clickId-parser.js +45 -45
  225. package/dist/esm/libs/compression.d.ts +2 -2
  226. package/dist/esm/libs/compression.js +25 -25
  227. package/dist/esm/libs/crypto.d.ts +1 -1
  228. package/dist/esm/libs/crypto.js +5 -5
  229. package/dist/esm/libs/dates.d.ts +6 -6
  230. package/dist/esm/libs/dates.js +22 -22
  231. package/dist/esm/libs/http-error.d.ts +21 -21
  232. package/dist/esm/libs/http-error.js +55 -55
  233. package/dist/esm/libs/http-status-codes.d.ts +58 -58
  234. package/dist/esm/libs/http-status-codes.js +59 -59
  235. package/dist/esm/libs/index.d.ts +9 -9
  236. package/dist/esm/libs/index.js +9 -9
  237. package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
  238. package/dist/esm/libs/referrer-parser/index.js +2 -2
  239. package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
  240. package/dist/esm/libs/referrer-parser/referrer-data.js +4709 -4709
  241. package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  242. package/dist/esm/libs/referrer-parser/referrer-parser-util.js +121 -121
  243. package/dist/esm/libs/url.d.ts +1 -1
  244. package/dist/esm/libs/url.js +9 -9
  245. package/dist/esm/services/cache/index.d.ts +1 -1
  246. package/dist/esm/services/cache/index.js +1 -1
  247. package/dist/esm/services/cache/product-cache-service.d.ts +13 -13
  248. package/dist/esm/services/cache/product-cache-service.js +32 -32
  249. package/dist/esm/services/db/destinations-db-service.d.ts +9 -9
  250. package/dist/esm/services/db/destinations-db-service.js +53 -53
  251. package/dist/esm/services/db/identity-cache-db-service.d.ts +24 -24
  252. package/dist/esm/services/db/identity-cache-db-service.js +229 -229
  253. package/dist/esm/services/db/index.d.ts +7 -7
  254. package/dist/esm/services/db/index.js +7 -7
  255. package/dist/esm/services/db/log-events-db-service.d.ts +11 -11
  256. package/dist/esm/services/db/log-events-db-service.js +168 -168
  257. package/dist/esm/services/db/purchased-contacts-db-service.d.ts +9 -9
  258. package/dist/esm/services/db/purchased-contacts-db-service.js +34 -34
  259. package/dist/esm/services/db/shopify-app-installs-db-service.d.ts +7 -7
  260. package/dist/esm/services/db/shopify-app-installs-db-service.js +43 -43
  261. package/dist/esm/services/db/shopify-products-cache-db-service.d.ts +9 -9
  262. package/dist/esm/services/db/shopify-products-cache-db-service.js +60 -60
  263. package/dist/esm/services/db/tracking-events-db-service.d.ts +20 -20
  264. package/dist/esm/services/db/tracking-events-db-service.js +158 -158
  265. package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
  266. package/dist/esm/services/eventbridge-integration-service.js +24 -24
  267. package/dist/esm/services/generic-cache-service.d.ts +8 -8
  268. package/dist/esm/services/generic-cache-service.js +26 -26
  269. package/dist/esm/services/index.d.ts +8 -8
  270. package/dist/esm/services/index.js +8 -8
  271. package/dist/esm/services/ipdata-lookup-service.d.ts +17 -17
  272. package/dist/esm/services/ipdata-lookup-service.js +67 -67
  273. package/dist/esm/services/log-event-service.d.ts +9 -9
  274. package/dist/esm/services/log-event-service.js +52 -52
  275. package/dist/esm/services/metric-event-service.d.ts +9 -9
  276. package/dist/esm/services/metric-event-service.js +45 -45
  277. package/dist/esm/services/shopify/index.d.ts +3 -3
  278. package/dist/esm/services/shopify/index.js +3 -3
  279. package/dist/esm/services/shopify/products/index.d.ts +1 -1
  280. package/dist/esm/services/shopify/products/index.js +1 -1
  281. package/dist/esm/services/shopify/products/shopify-products-serviceV2.d.ts +12 -12
  282. package/dist/esm/services/shopify/products/shopify-products-serviceV2.js +62 -62
  283. package/dist/esm/services/shopify/shopify-graphql-transformer.d.ts +8 -8
  284. package/dist/esm/services/shopify/shopify-graphql-transformer.js +111 -111
  285. package/dist/esm/services/shopify/types/index.d.ts +1 -1
  286. package/dist/esm/services/shopify/types/index.js +1 -1
  287. package/dist/esm/services/shopify/types/product.d.ts +114 -114
  288. package/dist/esm/services/shopify/types/product.js +6 -6
  289. package/dist/esm/types/api-response.d.ts +6 -6
  290. package/dist/esm/types/api-response.js +1 -1
  291. package/dist/esm/types/index.d.ts +2 -2
  292. package/dist/esm/types/index.js +2 -2
  293. package/dist/esm/types/internal-events/event-detail-types.d.ts +20 -20
  294. package/dist/esm/types/internal-events/event-detail-types.js +24 -24
  295. package/dist/esm/types/internal-events/index.d.ts +1 -1
  296. package/dist/esm/types/internal-events/index.js +1 -1
  297. package/dist/esm/types/shopify-graphql-types/admin.generated.d.ts +105 -105
  298. package/dist/esm/types/shopify-graphql-types/admin.generated.js +1 -1
  299. package/dist/esm/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  300. package/dist/esm/types/shopify-graphql-types/admin.types.js +5299 -5299
  301. package/dist/esm/types/shopify-graphql-types/index.d.ts +2 -2
  302. package/dist/esm/types/shopify-graphql-types/index.js +2 -2
  303. 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
+ };