@adtrackify/at-service-common 3.17.3 → 3.17.5

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 (455) hide show
  1. package/dist/cjs/__tests__/clients/sqs-client.spec.d.ts +1 -1
  2. package/dist/cjs/__tests__/clients/sqs-client.spec.js +121 -121
  3. package/dist/cjs/__tests__/db/shared-read-db-services.spec.d.ts +1 -1
  4. package/dist/cjs/__tests__/db/shared-read-db-services.spec.js +89 -89
  5. package/dist/cjs/__tests__/helpers/account-users-helper.spec.d.ts +1 -1
  6. package/dist/cjs/__tests__/helpers/account-users-helper.spec.js +220 -220
  7. package/dist/cjs/__tests__/helpers/api-key-auth-helper.spec.d.ts +1 -0
  8. package/dist/cjs/__tests__/helpers/api-key-auth-helper.spec.js +75 -0
  9. package/dist/cjs/__tests__/helpers/api-key-auth-helper.spec.js.map +1 -0
  10. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  11. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.js +674 -674
  12. package/dist/cjs/__tests__/identity-cache/trait-merging-and-staleness.spec.d.ts +1 -1
  13. package/dist/cjs/__tests__/identity-cache/trait-merging-and-staleness.spec.js +588 -588
  14. package/dist/cjs/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  15. package/dist/cjs/__tests__/libs/compress-decompress.spec.js +16 -16
  16. package/dist/cjs/__tests__/libs/currency.spec.d.ts +1 -1
  17. package/dist/cjs/__tests__/libs/currency.spec.js +220 -220
  18. package/dist/cjs/__tests__/libs/dates.spec.d.ts +1 -1
  19. package/dist/cjs/__tests__/libs/dates.spec.js +130 -130
  20. package/dist/cjs/__tests__/libs/domain.spec.d.ts +1 -1
  21. package/dist/cjs/__tests__/libs/domain.spec.js +107 -107
  22. package/dist/cjs/__tests__/libs/numbers.spec.d.ts +1 -1
  23. package/dist/cjs/__tests__/libs/numbers.spec.js +261 -261
  24. package/dist/cjs/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  25. package/dist/cjs/__tests__/s3-client/s3-client.spec.js +33 -33
  26. package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
  27. package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.js +35 -35
  28. package/dist/cjs/clients/generic/cognito-client.d.ts +23 -23
  29. package/dist/cjs/clients/generic/cognito-client.js +209 -209
  30. package/dist/cjs/clients/generic/dynamodb-client.d.ts +18 -18
  31. package/dist/cjs/clients/generic/dynamodb-client.js +172 -172
  32. package/dist/cjs/clients/generic/eventbridge-client.d.ts +14 -14
  33. package/dist/cjs/clients/generic/eventbridge-client.js +51 -51
  34. package/dist/cjs/clients/generic/http-client.d.ts +14 -14
  35. package/dist/cjs/clients/generic/http-client.js +61 -61
  36. package/dist/cjs/clients/generic/index.d.ts +10 -10
  37. package/dist/cjs/clients/generic/index.js +26 -26
  38. package/dist/cjs/clients/generic/lambda-invoke-client.d.ts +10 -10
  39. package/dist/cjs/clients/generic/lambda-invoke-client.js +39 -39
  40. package/dist/cjs/clients/generic/location-client.d.ts +8 -8
  41. package/dist/cjs/clients/generic/location-client.js +31 -31
  42. package/dist/cjs/clients/generic/redis-client.d.ts +33 -33
  43. package/dist/cjs/clients/generic/redis-client.js +191 -191
  44. package/dist/cjs/clients/generic/s3-client.d.ts +23 -23
  45. package/dist/cjs/clients/generic/s3-client.js +216 -216
  46. package/dist/cjs/clients/generic/singlestore-db-client.d.ts +14 -14
  47. package/dist/cjs/clients/generic/singlestore-db-client.js +67 -67
  48. package/dist/cjs/clients/generic/sqs-client.d.ts +33 -33
  49. package/dist/cjs/clients/generic/sqs-client.js +111 -111
  50. package/dist/cjs/clients/index.d.ts +3 -3
  51. package/dist/cjs/clients/index.js +19 -19
  52. package/dist/cjs/clients/internal-api/accounts-client.d.ts +91 -91
  53. package/dist/cjs/clients/internal-api/accounts-client.js +129 -129
  54. package/dist/cjs/clients/internal-api/cache-lambda-client.d.ts +26 -26
  55. package/dist/cjs/clients/internal-api/cache-lambda-client.js +89 -89
  56. package/dist/cjs/clients/internal-api/db-management-client.d.ts +18 -18
  57. package/dist/cjs/clients/internal-api/db-management-client.js +36 -36
  58. package/dist/cjs/clients/internal-api/destinations-client.d.ts +34 -34
  59. package/dist/cjs/clients/internal-api/destinations-client.js +79 -79
  60. package/dist/cjs/clients/internal-api/event-collector-client.d.ts +20 -20
  61. package/dist/cjs/clients/internal-api/event-collector-client.js +36 -36
  62. package/dist/cjs/clients/internal-api/identity-client.d.ts +31 -31
  63. package/dist/cjs/clients/internal-api/identity-client.js +91 -91
  64. package/dist/cjs/clients/internal-api/index.d.ts +9 -9
  65. package/dist/cjs/clients/internal-api/index.js +25 -25
  66. package/dist/cjs/clients/internal-api/shopify-app-install-client.d.ts +37 -37
  67. package/dist/cjs/clients/internal-api/shopify-app-install-client.js +81 -81
  68. package/dist/cjs/clients/internal-api/subscriptions-client.d.ts +26 -26
  69. package/dist/cjs/clients/internal-api/subscriptions-client.js +77 -77
  70. package/dist/cjs/clients/internal-api/users-auth-client.d.ts +35 -35
  71. package/dist/cjs/clients/internal-api/users-auth-client.js +110 -110
  72. package/dist/cjs/clients/third-party/emailable-client.d.ts +7 -7
  73. package/dist/cjs/clients/third-party/emailable-client.js +25 -25
  74. package/dist/cjs/clients/third-party/exchange-rate-api-client.d.ts +17 -17
  75. package/dist/cjs/clients/third-party/exchange-rate-api-client.js +19 -19
  76. package/dist/cjs/clients/third-party/index.d.ts +4 -4
  77. package/dist/cjs/clients/third-party/index.js +20 -20
  78. package/dist/cjs/clients/third-party/loops-client.d.ts +10 -10
  79. package/dist/cjs/clients/third-party/loops-client.js +30 -30
  80. package/dist/cjs/clients/third-party/shopify/graphql-order-queries.d.ts +25 -25
  81. package/dist/cjs/clients/third-party/shopify/graphql-order-queries.js +30 -30
  82. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  83. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.js +180 -180
  84. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.d.ts +10 -10
  85. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.js +161 -161
  86. package/dist/cjs/clients/third-party/shopify-client.d.ts +29 -29
  87. package/dist/cjs/clients/third-party/shopify-client.js +146 -146
  88. package/dist/cjs/helpers/account-users-helper.d.ts +2 -2
  89. package/dist/cjs/helpers/account-users-helper.js +22 -22
  90. package/dist/cjs/helpers/api-key-auth-helper.d.ts +9 -0
  91. package/dist/cjs/helpers/api-key-auth-helper.js +41 -0
  92. package/dist/cjs/helpers/api-key-auth-helper.js.map +1 -0
  93. package/dist/cjs/helpers/api-key-authorizer-helper.d.ts +36 -0
  94. package/dist/cjs/helpers/api-key-authorizer-helper.js +86 -0
  95. package/dist/cjs/helpers/api-key-authorizer-helper.js.map +1 -0
  96. package/dist/cjs/helpers/identity-cache-helper.d.ts +21 -21
  97. package/dist/cjs/helpers/identity-cache-helper.js +156 -156
  98. package/dist/cjs/helpers/index.d.ts +9 -7
  99. package/dist/cjs/helpers/index.js +25 -23
  100. package/dist/cjs/helpers/index.js.map +1 -1
  101. package/dist/cjs/helpers/input-validation-helper.d.ts +3 -3
  102. package/dist/cjs/helpers/input-validation-helper.js +22 -22
  103. package/dist/cjs/helpers/logging-helper.d.ts +16 -16
  104. package/dist/cjs/helpers/logging-helper.js +84 -84
  105. package/dist/cjs/helpers/response-helper.d.ts +18 -18
  106. package/dist/cjs/helpers/response-helper.js +43 -43
  107. package/dist/cjs/helpers/shopify-helper.d.ts +9 -9
  108. package/dist/cjs/helpers/shopify-helper.js +26 -26
  109. package/dist/cjs/helpers/sqs-utils.d.ts +6 -6
  110. package/dist/cjs/helpers/sqs-utils.js +14 -14
  111. package/dist/cjs/index.d.ts +5 -5
  112. package/dist/cjs/index.js +21 -21
  113. package/dist/cjs/libs/click-id-parser.d.ts +23 -23
  114. package/dist/cjs/libs/click-id-parser.js +49 -49
  115. package/dist/cjs/libs/compression.d.ts +2 -2
  116. package/dist/cjs/libs/compression.js +33 -33
  117. package/dist/cjs/libs/cookie.d.ts +17 -17
  118. package/dist/cjs/libs/cookie.js +76 -76
  119. package/dist/cjs/libs/crypto.d.ts +4 -4
  120. package/dist/cjs/libs/crypto.js +25 -25
  121. package/dist/cjs/libs/csv.d.ts +2 -2
  122. package/dist/cjs/libs/csv.js +35 -35
  123. package/dist/cjs/libs/currency.d.ts +1 -1
  124. package/dist/cjs/libs/currency.js +29 -29
  125. package/dist/cjs/libs/dates.d.ts +12 -12
  126. package/dist/cjs/libs/dates.js +96 -96
  127. package/dist/cjs/libs/domain.d.ts +2 -2
  128. package/dist/cjs/libs/domain.js +38 -38
  129. package/dist/cjs/libs/emails.d.ts +6 -6
  130. package/dist/cjs/libs/emails.js +122 -122
  131. package/dist/cjs/libs/http-error.d.ts +21 -21
  132. package/dist/cjs/libs/http-error.js +63 -63
  133. package/dist/cjs/libs/http-status-codes.d.ts +58 -58
  134. package/dist/cjs/libs/http-status-codes.js +62 -62
  135. package/dist/cjs/libs/index.d.ts +17 -17
  136. package/dist/cjs/libs/index.js +33 -33
  137. package/dist/cjs/libs/numbers.d.ts +1 -1
  138. package/dist/cjs/libs/numbers.js +15 -15
  139. package/dist/cjs/libs/referrer-parser/index.d.ts +2 -2
  140. package/dist/cjs/libs/referrer-parser/index.js +18 -18
  141. package/dist/cjs/libs/referrer-parser/referrer-data.d.ts +9 -9
  142. package/dist/cjs/libs/referrer-parser/referrer-data.js +3307 -3307
  143. package/dist/cjs/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  144. package/dist/cjs/libs/referrer-parser/referrer-parser-util.js +131 -131
  145. package/dist/cjs/libs/strings.d.ts +3 -3
  146. package/dist/cjs/libs/strings.js +46 -46
  147. package/dist/cjs/libs/traits.d.ts +6 -6
  148. package/dist/cjs/libs/traits.js +65 -65
  149. package/dist/cjs/libs/url.d.ts +1 -1
  150. package/dist/cjs/libs/url.js +13 -13
  151. package/dist/cjs/services/cache/generic-cached-object.d.ts +5 -5
  152. package/dist/cjs/services/cache/generic-cached-object.js +2 -2
  153. package/dist/cjs/services/cache/index.d.ts +1 -1
  154. package/dist/cjs/services/cache/index.js +17 -17
  155. package/dist/cjs/services/cache/product-cache-service.d.ts +21 -21
  156. package/dist/cjs/services/cache/product-cache-service.js +76 -76
  157. package/dist/cjs/services/currency-exchange-rate-lookup-service.d.ts +11 -11
  158. package/dist/cjs/services/currency-exchange-rate-lookup-service.js +66 -66
  159. package/dist/cjs/services/db/accounts-db-service.d.ts +9 -9
  160. package/dist/cjs/services/db/accounts-db-service.js +33 -33
  161. package/dist/cjs/services/db/api-keys-db-service.d.ts +10 -0
  162. package/dist/cjs/services/db/api-keys-db-service.js +36 -0
  163. package/dist/cjs/services/db/api-keys-db-service.js.map +1 -0
  164. package/dist/cjs/services/db/currency-exchange-rates-db-service.d.ts +21 -21
  165. package/dist/cjs/services/db/currency-exchange-rates-db-service.js +39 -39
  166. package/dist/cjs/services/db/destinations-db-service.d.ts +12 -12
  167. package/dist/cjs/services/db/destinations-db-service.js +76 -76
  168. package/dist/cjs/services/db/identity-cache-db-service.d.ts +28 -28
  169. package/dist/cjs/services/db/identity-cache-db-service.js +320 -320
  170. package/dist/cjs/services/db/index.d.ts +13 -12
  171. package/dist/cjs/services/db/index.js +29 -28
  172. package/dist/cjs/services/db/index.js.map +1 -1
  173. package/dist/cjs/services/db/log-events-db-service.d.ts +11 -11
  174. package/dist/cjs/services/db/log-events-db-service.js +181 -181
  175. package/dist/cjs/services/db/pixels-db-service.d.ts +8 -8
  176. package/dist/cjs/services/db/pixels-db-service.js +35 -35
  177. package/dist/cjs/services/db/pixels-db-service.js.map +1 -1
  178. package/dist/cjs/services/db/purchasable-contacts-db-service.d.ts +9 -9
  179. package/dist/cjs/services/db/purchasable-contacts-db-service.js +43 -43
  180. package/dist/cjs/services/db/purchased-contacts-db-service.d.ts +17 -17
  181. package/dist/cjs/services/db/purchased-contacts-db-service.js +143 -143
  182. package/dist/cjs/services/db/shopify-app-installs-db-service.d.ts +8 -8
  183. package/dist/cjs/services/db/shopify-app-installs-db-service.js +51 -51
  184. package/dist/cjs/services/db/shopify-products-cache-db-service.d.ts +16 -16
  185. package/dist/cjs/services/db/shopify-products-cache-db-service.js +73 -73
  186. package/dist/cjs/services/db/subscriptions-db-service.d.ts +10 -10
  187. package/dist/cjs/services/db/subscriptions-db-service.js +34 -34
  188. package/dist/cjs/services/db/tracking-events-db-service.d.ts +20 -20
  189. package/dist/cjs/services/db/tracking-events-db-service.js +165 -165
  190. package/dist/cjs/services/eventbridge-integration-service.d.ts +9 -9
  191. package/dist/cjs/services/eventbridge-integration-service.js +28 -28
  192. package/dist/cjs/services/events/index.d.ts +3 -3
  193. package/dist/cjs/services/events/index.js +19 -19
  194. package/dist/cjs/services/events/log-event-service.d.ts +9 -9
  195. package/dist/cjs/services/events/log-event-service.js +56 -56
  196. package/dist/cjs/services/events/metric-event-service.d.ts +9 -9
  197. package/dist/cjs/services/events/metric-event-service.js +49 -49
  198. package/dist/cjs/services/events/tracking-event-sqs-service.d.ts +8 -8
  199. package/dist/cjs/services/events/tracking-event-sqs-service.js +34 -34
  200. package/dist/cjs/services/generic-cache-service.d.ts +7 -7
  201. package/dist/cjs/services/generic-cache-service.js +33 -33
  202. package/dist/cjs/services/index.d.ts +8 -8
  203. package/dist/cjs/services/index.js +24 -24
  204. package/dist/cjs/services/ipdata-lookup-service.d.ts +20 -20
  205. package/dist/cjs/services/ipdata-lookup-service.js +112 -112
  206. package/dist/cjs/services/shopify/index.d.ts +2 -2
  207. package/dist/cjs/services/shopify/index.js +18 -18
  208. package/dist/cjs/services/shopify/products/index.d.ts +1 -1
  209. package/dist/cjs/services/shopify/products/index.js +17 -17
  210. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  211. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.js +112 -112
  212. package/dist/cjs/services/shopify/shopify-graphql-transformer.d.ts +8 -8
  213. package/dist/cjs/services/shopify/shopify-graphql-transformer.js +141 -141
  214. package/dist/cjs/types/api-response.d.ts +6 -6
  215. package/dist/cjs/types/api-response.js +2 -2
  216. package/dist/cjs/types/index.d.ts +1 -1
  217. package/dist/cjs/types/index.js +17 -17
  218. package/dist/cjs/types/internal-events/event-detail-types.d.ts +20 -20
  219. package/dist/cjs/types/internal-events/event-detail-types.js +27 -27
  220. package/dist/cjs/types/internal-events/index.d.ts +1 -1
  221. package/dist/cjs/types/internal-events/index.js +17 -17
  222. package/dist/cjs/types/shopify-graphql-types/admin.generated.d.ts +123 -123
  223. package/dist/cjs/types/shopify-graphql-types/admin.generated.js +2 -2
  224. package/dist/cjs/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  225. package/dist/cjs/types/shopify-graphql-types/admin.types.js +5311 -5311
  226. package/dist/cjs/types/shopify-graphql-types/index.d.ts +2 -2
  227. package/dist/cjs/types/shopify-graphql-types/index.js +18 -18
  228. package/dist/esm/__tests__/clients/sqs-client.spec.d.ts +1 -1
  229. package/dist/esm/__tests__/clients/sqs-client.spec.js +119 -119
  230. package/dist/esm/__tests__/db/shared-read-db-services.spec.d.ts +1 -1
  231. package/dist/esm/__tests__/db/shared-read-db-services.spec.js +87 -87
  232. package/dist/esm/__tests__/helpers/account-users-helper.spec.d.ts +1 -1
  233. package/dist/esm/__tests__/helpers/account-users-helper.spec.js +218 -218
  234. package/dist/esm/__tests__/helpers/api-key-auth-helper.spec.d.ts +1 -0
  235. package/dist/esm/__tests__/helpers/api-key-auth-helper.spec.js +73 -0
  236. package/dist/esm/__tests__/helpers/api-key-auth-helper.spec.js.map +1 -0
  237. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  238. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js +672 -672
  239. package/dist/esm/__tests__/identity-cache/trait-merging-and-staleness.spec.d.ts +1 -1
  240. package/dist/esm/__tests__/identity-cache/trait-merging-and-staleness.spec.js +586 -586
  241. package/dist/esm/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  242. package/dist/esm/__tests__/libs/compress-decompress.spec.js +14 -14
  243. package/dist/esm/__tests__/libs/currency.spec.d.ts +1 -1
  244. package/dist/esm/__tests__/libs/currency.spec.js +218 -218
  245. package/dist/esm/__tests__/libs/dates.spec.d.ts +1 -1
  246. package/dist/esm/__tests__/libs/dates.spec.js +128 -128
  247. package/dist/esm/__tests__/libs/domain.spec.d.ts +1 -1
  248. package/dist/esm/__tests__/libs/domain.spec.js +105 -105
  249. package/dist/esm/__tests__/libs/numbers.spec.d.ts +1 -1
  250. package/dist/esm/__tests__/libs/numbers.spec.js +259 -259
  251. package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  252. package/dist/esm/__tests__/s3-client/s3-client.spec.js +31 -31
  253. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
  254. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.js +33 -33
  255. package/dist/esm/clients/generic/cognito-client.d.ts +23 -23
  256. package/dist/esm/clients/generic/cognito-client.js +204 -204
  257. package/dist/esm/clients/generic/dynamodb-client.d.ts +18 -18
  258. package/dist/esm/clients/generic/dynamodb-client.js +168 -168
  259. package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
  260. package/dist/esm/clients/generic/eventbridge-client.js +47 -47
  261. package/dist/esm/clients/generic/http-client.d.ts +14 -14
  262. package/dist/esm/clients/generic/http-client.js +53 -53
  263. package/dist/esm/clients/generic/index.d.ts +10 -10
  264. package/dist/esm/clients/generic/index.js +10 -10
  265. package/dist/esm/clients/generic/lambda-invoke-client.d.ts +10 -10
  266. package/dist/esm/clients/generic/lambda-invoke-client.js +35 -35
  267. package/dist/esm/clients/generic/location-client.d.ts +8 -8
  268. package/dist/esm/clients/generic/location-client.js +27 -27
  269. package/dist/esm/clients/generic/redis-client.d.ts +33 -33
  270. package/dist/esm/clients/generic/redis-client.js +184 -184
  271. package/dist/esm/clients/generic/s3-client.d.ts +23 -23
  272. package/dist/esm/clients/generic/s3-client.js +209 -209
  273. package/dist/esm/clients/generic/singlestore-db-client.d.ts +14 -14
  274. package/dist/esm/clients/generic/singlestore-db-client.js +40 -40
  275. package/dist/esm/clients/generic/sqs-client.d.ts +33 -33
  276. package/dist/esm/clients/generic/sqs-client.js +107 -107
  277. package/dist/esm/clients/index.d.ts +3 -3
  278. package/dist/esm/clients/index.js +3 -3
  279. package/dist/esm/clients/internal-api/accounts-client.d.ts +91 -91
  280. package/dist/esm/clients/internal-api/accounts-client.js +125 -125
  281. package/dist/esm/clients/internal-api/cache-lambda-client.d.ts +26 -26
  282. package/dist/esm/clients/internal-api/cache-lambda-client.js +85 -85
  283. package/dist/esm/clients/internal-api/db-management-client.d.ts +18 -18
  284. package/dist/esm/clients/internal-api/db-management-client.js +32 -32
  285. package/dist/esm/clients/internal-api/destinations-client.d.ts +34 -34
  286. package/dist/esm/clients/internal-api/destinations-client.js +75 -75
  287. package/dist/esm/clients/internal-api/event-collector-client.d.ts +20 -20
  288. package/dist/esm/clients/internal-api/event-collector-client.js +32 -32
  289. package/dist/esm/clients/internal-api/identity-client.d.ts +31 -31
  290. package/dist/esm/clients/internal-api/identity-client.js +87 -87
  291. package/dist/esm/clients/internal-api/index.d.ts +9 -9
  292. package/dist/esm/clients/internal-api/index.js +9 -9
  293. package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +37 -37
  294. package/dist/esm/clients/internal-api/shopify-app-install-client.js +77 -77
  295. package/dist/esm/clients/internal-api/subscriptions-client.d.ts +26 -26
  296. package/dist/esm/clients/internal-api/subscriptions-client.js +73 -73
  297. package/dist/esm/clients/internal-api/users-auth-client.d.ts +35 -35
  298. package/dist/esm/clients/internal-api/users-auth-client.js +106 -106
  299. package/dist/esm/clients/third-party/emailable-client.d.ts +7 -7
  300. package/dist/esm/clients/third-party/emailable-client.js +21 -21
  301. package/dist/esm/clients/third-party/exchange-rate-api-client.d.ts +17 -17
  302. package/dist/esm/clients/third-party/exchange-rate-api-client.js +15 -15
  303. package/dist/esm/clients/third-party/index.d.ts +4 -4
  304. package/dist/esm/clients/third-party/index.js +4 -4
  305. package/dist/esm/clients/third-party/loops-client.d.ts +10 -10
  306. package/dist/esm/clients/third-party/loops-client.js +26 -26
  307. package/dist/esm/clients/third-party/shopify/graphql-order-queries.d.ts +25 -25
  308. package/dist/esm/clients/third-party/shopify/graphql-order-queries.js +27 -27
  309. package/dist/esm/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  310. package/dist/esm/clients/third-party/shopify/graphql-product-queries.js +177 -177
  311. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.d.ts +10 -10
  312. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js +157 -157
  313. package/dist/esm/clients/third-party/shopify-client.d.ts +29 -29
  314. package/dist/esm/clients/third-party/shopify-client.js +142 -142
  315. package/dist/esm/helpers/account-users-helper.d.ts +2 -2
  316. package/dist/esm/helpers/account-users-helper.js +18 -18
  317. package/dist/esm/helpers/api-key-auth-helper.d.ts +9 -0
  318. package/dist/esm/helpers/api-key-auth-helper.js +36 -0
  319. package/dist/esm/helpers/api-key-auth-helper.js.map +1 -0
  320. package/dist/esm/helpers/api-key-authorizer-helper.d.ts +36 -0
  321. package/dist/esm/helpers/api-key-authorizer-helper.js +82 -0
  322. package/dist/esm/helpers/api-key-authorizer-helper.js.map +1 -0
  323. package/dist/esm/helpers/identity-cache-helper.d.ts +21 -21
  324. package/dist/esm/helpers/identity-cache-helper.js +151 -151
  325. package/dist/esm/helpers/index.d.ts +9 -7
  326. package/dist/esm/helpers/index.js +9 -7
  327. package/dist/esm/helpers/index.js.map +1 -1
  328. package/dist/esm/helpers/input-validation-helper.d.ts +3 -3
  329. package/dist/esm/helpers/input-validation-helper.js +18 -18
  330. package/dist/esm/helpers/logging-helper.d.ts +16 -16
  331. package/dist/esm/helpers/logging-helper.js +56 -56
  332. package/dist/esm/helpers/response-helper.d.ts +18 -18
  333. package/dist/esm/helpers/response-helper.js +37 -37
  334. package/dist/esm/helpers/shopify-helper.d.ts +9 -9
  335. package/dist/esm/helpers/shopify-helper.js +21 -21
  336. package/dist/esm/helpers/sqs-utils.d.ts +6 -6
  337. package/dist/esm/helpers/sqs-utils.js +9 -9
  338. package/dist/esm/index.d.ts +5 -5
  339. package/dist/esm/index.js +5 -5
  340. package/dist/esm/libs/click-id-parser.d.ts +23 -23
  341. package/dist/esm/libs/click-id-parser.js +45 -45
  342. package/dist/esm/libs/compression.d.ts +2 -2
  343. package/dist/esm/libs/compression.js +25 -25
  344. package/dist/esm/libs/cookie.d.ts +17 -17
  345. package/dist/esm/libs/cookie.js +70 -70
  346. package/dist/esm/libs/crypto.d.ts +4 -4
  347. package/dist/esm/libs/crypto.js +15 -15
  348. package/dist/esm/libs/csv.d.ts +2 -2
  349. package/dist/esm/libs/csv.js +30 -30
  350. package/dist/esm/libs/currency.d.ts +1 -1
  351. package/dist/esm/libs/currency.js +22 -22
  352. package/dist/esm/libs/dates.d.ts +12 -12
  353. package/dist/esm/libs/dates.js +83 -83
  354. package/dist/esm/libs/domain.d.ts +2 -2
  355. package/dist/esm/libs/domain.js +33 -33
  356. package/dist/esm/libs/emails.d.ts +6 -6
  357. package/dist/esm/libs/emails.js +115 -115
  358. package/dist/esm/libs/http-error.d.ts +21 -21
  359. package/dist/esm/libs/http-error.js +59 -59
  360. package/dist/esm/libs/http-status-codes.d.ts +58 -58
  361. package/dist/esm/libs/http-status-codes.js +59 -59
  362. package/dist/esm/libs/index.d.ts +17 -17
  363. package/dist/esm/libs/index.js +17 -17
  364. package/dist/esm/libs/numbers.d.ts +1 -1
  365. package/dist/esm/libs/numbers.js +11 -11
  366. package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
  367. package/dist/esm/libs/referrer-parser/index.js +2 -2
  368. package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
  369. package/dist/esm/libs/referrer-parser/referrer-data.js +3304 -3304
  370. package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  371. package/dist/esm/libs/referrer-parser/referrer-parser-util.js +124 -124
  372. package/dist/esm/libs/strings.d.ts +3 -3
  373. package/dist/esm/libs/strings.js +40 -40
  374. package/dist/esm/libs/traits.d.ts +6 -6
  375. package/dist/esm/libs/traits.js +54 -54
  376. package/dist/esm/libs/url.d.ts +1 -1
  377. package/dist/esm/libs/url.js +9 -9
  378. package/dist/esm/services/cache/generic-cached-object.d.ts +5 -5
  379. package/dist/esm/services/cache/generic-cached-object.js +1 -1
  380. package/dist/esm/services/cache/index.d.ts +1 -1
  381. package/dist/esm/services/cache/index.js +1 -1
  382. package/dist/esm/services/cache/product-cache-service.d.ts +21 -21
  383. package/dist/esm/services/cache/product-cache-service.js +68 -68
  384. package/dist/esm/services/currency-exchange-rate-lookup-service.d.ts +11 -11
  385. package/dist/esm/services/currency-exchange-rate-lookup-service.js +62 -62
  386. package/dist/esm/services/db/accounts-db-service.d.ts +9 -9
  387. package/dist/esm/services/db/accounts-db-service.js +29 -29
  388. package/dist/esm/services/db/api-keys-db-service.d.ts +10 -0
  389. package/dist/esm/services/db/api-keys-db-service.js +32 -0
  390. package/dist/esm/services/db/api-keys-db-service.js.map +1 -0
  391. package/dist/esm/services/db/currency-exchange-rates-db-service.d.ts +21 -21
  392. package/dist/esm/services/db/currency-exchange-rates-db-service.js +35 -35
  393. package/dist/esm/services/db/destinations-db-service.d.ts +12 -12
  394. package/dist/esm/services/db/destinations-db-service.js +72 -72
  395. package/dist/esm/services/db/identity-cache-db-service.d.ts +28 -28
  396. package/dist/esm/services/db/identity-cache-db-service.js +313 -313
  397. package/dist/esm/services/db/index.d.ts +13 -12
  398. package/dist/esm/services/db/index.js +13 -12
  399. package/dist/esm/services/db/index.js.map +1 -1
  400. package/dist/esm/services/db/log-events-db-service.d.ts +11 -11
  401. package/dist/esm/services/db/log-events-db-service.js +177 -177
  402. package/dist/esm/services/db/pixels-db-service.d.ts +8 -8
  403. package/dist/esm/services/db/pixels-db-service.js +31 -31
  404. package/dist/esm/services/db/pixels-db-service.js.map +1 -1
  405. package/dist/esm/services/db/purchasable-contacts-db-service.d.ts +9 -9
  406. package/dist/esm/services/db/purchasable-contacts-db-service.js +39 -39
  407. package/dist/esm/services/db/purchased-contacts-db-service.d.ts +17 -17
  408. package/dist/esm/services/db/purchased-contacts-db-service.js +139 -139
  409. package/dist/esm/services/db/shopify-app-installs-db-service.d.ts +8 -8
  410. package/dist/esm/services/db/shopify-app-installs-db-service.js +47 -47
  411. package/dist/esm/services/db/shopify-products-cache-db-service.d.ts +16 -16
  412. package/dist/esm/services/db/shopify-products-cache-db-service.js +66 -66
  413. package/dist/esm/services/db/subscriptions-db-service.d.ts +10 -10
  414. package/dist/esm/services/db/subscriptions-db-service.js +30 -30
  415. package/dist/esm/services/db/tracking-events-db-service.d.ts +20 -20
  416. package/dist/esm/services/db/tracking-events-db-service.js +161 -161
  417. package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
  418. package/dist/esm/services/eventbridge-integration-service.js +24 -24
  419. package/dist/esm/services/events/index.d.ts +3 -3
  420. package/dist/esm/services/events/index.js +3 -3
  421. package/dist/esm/services/events/log-event-service.d.ts +9 -9
  422. package/dist/esm/services/events/log-event-service.js +52 -52
  423. package/dist/esm/services/events/metric-event-service.d.ts +9 -9
  424. package/dist/esm/services/events/metric-event-service.js +45 -45
  425. package/dist/esm/services/events/tracking-event-sqs-service.d.ts +8 -8
  426. package/dist/esm/services/events/tracking-event-sqs-service.js +30 -30
  427. package/dist/esm/services/generic-cache-service.d.ts +7 -7
  428. package/dist/esm/services/generic-cache-service.js +29 -29
  429. package/dist/esm/services/index.d.ts +8 -8
  430. package/dist/esm/services/index.js +8 -8
  431. package/dist/esm/services/ipdata-lookup-service.d.ts +20 -20
  432. package/dist/esm/services/ipdata-lookup-service.js +108 -108
  433. package/dist/esm/services/shopify/index.d.ts +2 -2
  434. package/dist/esm/services/shopify/index.js +2 -2
  435. package/dist/esm/services/shopify/products/index.d.ts +1 -1
  436. package/dist/esm/services/shopify/products/index.js +1 -1
  437. package/dist/esm/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  438. package/dist/esm/services/shopify/products/shopify-products-serviceV2.js +108 -108
  439. package/dist/esm/services/shopify/shopify-graphql-transformer.d.ts +8 -8
  440. package/dist/esm/services/shopify/shopify-graphql-transformer.js +138 -138
  441. package/dist/esm/types/api-response.d.ts +6 -6
  442. package/dist/esm/types/api-response.js +1 -1
  443. package/dist/esm/types/index.d.ts +1 -1
  444. package/dist/esm/types/index.js +1 -1
  445. package/dist/esm/types/internal-events/event-detail-types.d.ts +20 -20
  446. package/dist/esm/types/internal-events/event-detail-types.js +24 -24
  447. package/dist/esm/types/internal-events/index.d.ts +1 -1
  448. package/dist/esm/types/internal-events/index.js +1 -1
  449. package/dist/esm/types/shopify-graphql-types/admin.generated.d.ts +123 -123
  450. package/dist/esm/types/shopify-graphql-types/admin.generated.js +1 -1
  451. package/dist/esm/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  452. package/dist/esm/types/shopify-graphql-types/admin.types.js +5299 -5299
  453. package/dist/esm/types/shopify-graphql-types/index.d.ts +2 -2
  454. package/dist/esm/types/shopify-graphql-types/index.js +2 -2
  455. package/package.json +2 -2
@@ -1,147 +1,147 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ShopifyClient = void 0;
4
- const http_client_js_1 = require("../generic/http-client.js");
5
- const index_js_1 = require("../../index.js");
6
- class ShopifyClient {
7
- static _shopify_api_version = process.env.SHOPIFY_API_VERSION;
8
- static client;
9
- static getClient = () => {
10
- this.client = this.client ?? (0, http_client_js_1.axiosHttpService)();
11
- return this.client;
12
- };
13
- static registerApp = async (shop, code, appKey, appSecret) => {
14
- const client = this.getClient();
15
- const url = 'https://' + shop + '/admin/oauth/access_token';
16
- const payload = {
17
- client_id: appKey,
18
- client_secret: appSecret,
19
- code,
20
- };
21
- const res = await client.post(url, payload);
22
- return res;
23
- };
24
- static registerWebhookTopic = async (shop, accessToken, eventBridgeArn, topic) => {
25
- const client = this.getClient();
26
- const url = `https://${shop}/admin/api/${this._shopify_api_version}/webhooks.json`;
27
- const payload = {
28
- webhook: {
29
- topic,
30
- address: eventBridgeArn,
31
- format: 'json',
32
- },
33
- };
34
- const res = await client.post(url, payload, { headers: { 'X-Shopify-Access-Token': accessToken } });
35
- if (res.status >= 400) {
36
- index_js_1.Logger.error('Failed to register Webhook Topic', { res, shop, accessToken, eventBridgeArn, topic, url, payload });
37
- }
38
- index_js_1.Logger.debug('Shopify Client Webhook Registration Response', { registrationResponse: res });
39
- return res;
40
- };
41
- static updateShopifyAppMetafield = async (shop, accessToken, pixelId) => {
42
- const url = `https://${shop}/admin/api/${this._shopify_api_version}/metafields.json`;
43
- const payload = {
44
- metafield: {
45
- namespace: 'adtr',
46
- key: 'adtr.config',
47
- value: pixelId,
48
- type: 'single_line_text_field',
49
- },
50
- };
51
- const res = await this.genericShopifyPost(url, accessToken, payload);
52
- if (res.status >= 400) {
53
- index_js_1.Logger.error('Failed to update Shopify app Metafield ', { shop, accessToken, url, payload });
54
- }
55
- return res;
56
- };
57
- static getShopifyStoreProperties = async (shop, accessToken) => {
58
- const url = `https://${shop}/admin/api/${this._shopify_api_version}/shop.json`;
59
- const res = await this.genericShopifyGet(url, accessToken);
60
- if (res.status >= 400) {
61
- index_js_1.Logger.error('Failed to get Shopify Store Properties', { shop, accessToken, url });
62
- }
63
- return res;
64
- };
65
- static createAppSubscription = async (shop, accessToken, planName, price, returnUrl, trialDays, test) => {
66
- const url = `https://${shop}/admin/api/${this._shopify_api_version}/recurring_application_charges.json`;
67
- const recurring_application_charge = {
68
- name: planName,
69
- price,
70
- return_url: returnUrl,
71
- trial_days: trialDays,
72
- test,
73
- };
74
- const res = await this.genericShopifyPost(url, accessToken, { recurring_application_charge });
75
- if (res.status >= 400) {
76
- index_js_1.Logger.error('Failed to create App Subscription', { shop, accessToken, url });
77
- }
78
- return res;
79
- };
80
- static cancelAppSubscription = async (shop, accessToken, chargeId) => {
81
- const url = `https://${shop}/admin/api/${this._shopify_api_version}/recurring_application_charges/${chargeId}.json`;
82
- const client = this.getClient();
83
- const res = await client.delete(url, { headers: { 'X-Shopify-Access-Token': accessToken } });
84
- if (res.status !== 200) {
85
- index_js_1.Logger.error('Failed to cancel recurring App billing', { shop, accessToken, url });
86
- }
87
- return res;
88
- };
89
- static listAppSubscriptions = async (shop, accessToken) => {
90
- const url = `https://${shop}/admin/api/${this._shopify_api_version}/recurring_application_charges.json`;
91
- const res = await this.genericShopifyGet(url, accessToken);
92
- if (res.status >= 400) {
93
- index_js_1.Logger.error('Failed to get App Subscriptions', { shop, accessToken, url });
94
- }
95
- return res;
96
- };
97
- static getOrder = async (shop, accessToken, orderId, retries = 0, maxRetries = 0, retryDelay = 5000) => {
98
- const url = `https://${shop}/admin/api/${this._shopify_api_version}/orders/${orderId}.json`;
99
- const res = await this.genericShopifyGet(url, accessToken);
100
- if (res.status >= 400) {
101
- index_js_1.Logger.error('Failed to get Order', { res, shop, accessToken, url, orderId });
102
- if (retries < maxRetries) {
103
- await new Promise((resolve) => setTimeout(resolve, retryDelay));
104
- index_js_1.Logger.info('Retrying to get Order', { shop, accessToken, url, orderId, retries, maxRetries, retryDelay });
105
- return await this.getOrder(shop, accessToken, orderId, retries + 1, maxRetries, retryDelay);
106
- }
107
- }
108
- return res;
109
- };
110
- static getProductREST = async (shop, accessToken, productId) => {
111
- const url = `https://${shop}/admin/api/${this._shopify_api_version}/products/${productId}.json`;
112
- const res = await this.genericShopifyGet(url, accessToken);
113
- if (res.status >= 400) {
114
- index_js_1.Logger.error('Failed to get Product', { res, shop, accessToken, url, productId });
115
- }
116
- return res;
117
- };
118
- static genericShopifyPost = async (url, accessToken, payload) => {
119
- const client = this.getClient();
120
- const res = await client.post(url, payload, {
121
- headers: { 'X-Shopify-Access-Token': accessToken, 'Content-Type': 'application/json' },
122
- });
123
- index_js_1.Logger.debug('Shopify Client Response', { res });
124
- return res;
125
- };
126
- static genericShopifyGet = async (url, accessToken) => {
127
- const client = this.getClient();
128
- const res = await client.get(url, { headers: { 'X-Shopify-Access-Token': accessToken } });
129
- index_js_1.Logger.debug('Shopify Client Response', { res });
130
- return res;
131
- };
132
- static genericShopifyPut = async (url, accessToken, payload) => {
133
- const client = this.getClient();
134
- const res = await client.put(url, payload, { headers: { 'X-Shopify-Access-Token': accessToken } });
135
- index_js_1.Logger.debug('Shopify Client Response', { res });
136
- return res;
137
- };
138
- static unregisterWebhook = async (shop, webhookId, accessToken) => {
139
- const client = this.getClient();
140
- const url = `https://${shop}/admin/api/${this._shopify_api_version}/webhooks/${webhookId}.json`;
141
- const res = await client.delete(url, { headers: { 'X-Shopify-Access-Token': accessToken } });
142
- index_js_1.Logger.debug('Shopify Client Response', { res });
143
- return res;
144
- };
145
- }
146
- exports.ShopifyClient = ShopifyClient;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ShopifyClient = void 0;
4
+ const http_client_js_1 = require("../generic/http-client.js");
5
+ const index_js_1 = require("../../index.js");
6
+ class ShopifyClient {
7
+ static _shopify_api_version = process.env.SHOPIFY_API_VERSION;
8
+ static client;
9
+ static getClient = () => {
10
+ this.client = this.client ?? (0, http_client_js_1.axiosHttpService)();
11
+ return this.client;
12
+ };
13
+ static registerApp = async (shop, code, appKey, appSecret) => {
14
+ const client = this.getClient();
15
+ const url = 'https://' + shop + '/admin/oauth/access_token';
16
+ const payload = {
17
+ client_id: appKey,
18
+ client_secret: appSecret,
19
+ code,
20
+ };
21
+ const res = await client.post(url, payload);
22
+ return res;
23
+ };
24
+ static registerWebhookTopic = async (shop, accessToken, eventBridgeArn, topic) => {
25
+ const client = this.getClient();
26
+ const url = `https://${shop}/admin/api/${this._shopify_api_version}/webhooks.json`;
27
+ const payload = {
28
+ webhook: {
29
+ topic,
30
+ address: eventBridgeArn,
31
+ format: 'json',
32
+ },
33
+ };
34
+ const res = await client.post(url, payload, { headers: { 'X-Shopify-Access-Token': accessToken } });
35
+ if (res.status >= 400) {
36
+ index_js_1.Logger.error('Failed to register Webhook Topic', { res, shop, accessToken, eventBridgeArn, topic, url, payload });
37
+ }
38
+ index_js_1.Logger.debug('Shopify Client Webhook Registration Response', { registrationResponse: res });
39
+ return res;
40
+ };
41
+ static updateShopifyAppMetafield = async (shop, accessToken, pixelId) => {
42
+ const url = `https://${shop}/admin/api/${this._shopify_api_version}/metafields.json`;
43
+ const payload = {
44
+ metafield: {
45
+ namespace: 'adtr',
46
+ key: 'adtr.config',
47
+ value: pixelId,
48
+ type: 'single_line_text_field',
49
+ },
50
+ };
51
+ const res = await this.genericShopifyPost(url, accessToken, payload);
52
+ if (res.status >= 400) {
53
+ index_js_1.Logger.error('Failed to update Shopify app Metafield ', { shop, accessToken, url, payload });
54
+ }
55
+ return res;
56
+ };
57
+ static getShopifyStoreProperties = async (shop, accessToken) => {
58
+ const url = `https://${shop}/admin/api/${this._shopify_api_version}/shop.json`;
59
+ const res = await this.genericShopifyGet(url, accessToken);
60
+ if (res.status >= 400) {
61
+ index_js_1.Logger.error('Failed to get Shopify Store Properties', { shop, accessToken, url });
62
+ }
63
+ return res;
64
+ };
65
+ static createAppSubscription = async (shop, accessToken, planName, price, returnUrl, trialDays, test) => {
66
+ const url = `https://${shop}/admin/api/${this._shopify_api_version}/recurring_application_charges.json`;
67
+ const recurring_application_charge = {
68
+ name: planName,
69
+ price,
70
+ return_url: returnUrl,
71
+ trial_days: trialDays,
72
+ test,
73
+ };
74
+ const res = await this.genericShopifyPost(url, accessToken, { recurring_application_charge });
75
+ if (res.status >= 400) {
76
+ index_js_1.Logger.error('Failed to create App Subscription', { shop, accessToken, url });
77
+ }
78
+ return res;
79
+ };
80
+ static cancelAppSubscription = async (shop, accessToken, chargeId) => {
81
+ const url = `https://${shop}/admin/api/${this._shopify_api_version}/recurring_application_charges/${chargeId}.json`;
82
+ const client = this.getClient();
83
+ const res = await client.delete(url, { headers: { 'X-Shopify-Access-Token': accessToken } });
84
+ if (res.status !== 200) {
85
+ index_js_1.Logger.error('Failed to cancel recurring App billing', { shop, accessToken, url });
86
+ }
87
+ return res;
88
+ };
89
+ static listAppSubscriptions = async (shop, accessToken) => {
90
+ const url = `https://${shop}/admin/api/${this._shopify_api_version}/recurring_application_charges.json`;
91
+ const res = await this.genericShopifyGet(url, accessToken);
92
+ if (res.status >= 400) {
93
+ index_js_1.Logger.error('Failed to get App Subscriptions', { shop, accessToken, url });
94
+ }
95
+ return res;
96
+ };
97
+ static getOrder = async (shop, accessToken, orderId, retries = 0, maxRetries = 0, retryDelay = 5000) => {
98
+ const url = `https://${shop}/admin/api/${this._shopify_api_version}/orders/${orderId}.json`;
99
+ const res = await this.genericShopifyGet(url, accessToken);
100
+ if (res.status >= 400) {
101
+ index_js_1.Logger.error('Failed to get Order', { res, shop, accessToken, url, orderId });
102
+ if (retries < maxRetries) {
103
+ await new Promise((resolve) => setTimeout(resolve, retryDelay));
104
+ index_js_1.Logger.info('Retrying to get Order', { shop, accessToken, url, orderId, retries, maxRetries, retryDelay });
105
+ return await this.getOrder(shop, accessToken, orderId, retries + 1, maxRetries, retryDelay);
106
+ }
107
+ }
108
+ return res;
109
+ };
110
+ static getProductREST = async (shop, accessToken, productId) => {
111
+ const url = `https://${shop}/admin/api/${this._shopify_api_version}/products/${productId}.json`;
112
+ const res = await this.genericShopifyGet(url, accessToken);
113
+ if (res.status >= 400) {
114
+ index_js_1.Logger.error('Failed to get Product', { res, shop, accessToken, url, productId });
115
+ }
116
+ return res;
117
+ };
118
+ static genericShopifyPost = async (url, accessToken, payload) => {
119
+ const client = this.getClient();
120
+ const res = await client.post(url, payload, {
121
+ headers: { 'X-Shopify-Access-Token': accessToken, 'Content-Type': 'application/json' },
122
+ });
123
+ index_js_1.Logger.debug('Shopify Client Response', { res });
124
+ return res;
125
+ };
126
+ static genericShopifyGet = async (url, accessToken) => {
127
+ const client = this.getClient();
128
+ const res = await client.get(url, { headers: { 'X-Shopify-Access-Token': accessToken } });
129
+ index_js_1.Logger.debug('Shopify Client Response', { res });
130
+ return res;
131
+ };
132
+ static genericShopifyPut = async (url, accessToken, payload) => {
133
+ const client = this.getClient();
134
+ const res = await client.put(url, payload, { headers: { 'X-Shopify-Access-Token': accessToken } });
135
+ index_js_1.Logger.debug('Shopify Client Response', { res });
136
+ return res;
137
+ };
138
+ static unregisterWebhook = async (shop, webhookId, accessToken) => {
139
+ const client = this.getClient();
140
+ const url = `https://${shop}/admin/api/${this._shopify_api_version}/webhooks/${webhookId}.json`;
141
+ const res = await client.delete(url, { headers: { 'X-Shopify-Access-Token': accessToken } });
142
+ index_js_1.Logger.debug('Shopify Client Response', { res });
143
+ return res;
144
+ };
145
+ }
146
+ exports.ShopifyClient = ShopifyClient;
147
147
  //# sourceMappingURL=shopify-client.js.map
@@ -1,2 +1,2 @@
1
- import { UserAccountRecord } from '@adtrackify/at-tracking-event-types';
2
- export declare const excludeInternalUsers: (users: UserAccountRecord[]) => UserAccountRecord[];
1
+ import { UserAccountRecord } from '@adtrackify/at-tracking-event-types';
2
+ export declare const excludeInternalUsers: (users: UserAccountRecord[]) => UserAccountRecord[];
@@ -1,23 +1,23 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.excludeInternalUsers = void 0;
4
- const logging_helper_1 = require("./logging-helper");
5
- const EXCLUDED_USERS = [
6
- 'upstackified.com',
7
- 'caspahcosmetics.com',
8
- 'upstackdata.com',
9
- 'eacapgroup.com',
10
- 'michael.v.alt@gmail.com',
11
- 'lemiguel.narciso14@gmail.com',
12
- ];
13
- const excludeInternalUsers = (users) => {
14
- try {
15
- return users.filter((user) => !EXCLUDED_USERS.some((excludedPattern) => user?.email?.toLowerCase().includes(excludedPattern.toLowerCase())));
16
- }
17
- catch (error) {
18
- logging_helper_1.Logger.error('Failed to filter internal users', { error });
19
- return users;
20
- }
21
- };
22
- exports.excludeInternalUsers = excludeInternalUsers;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.excludeInternalUsers = void 0;
4
+ const logging_helper_1 = require("./logging-helper");
5
+ const EXCLUDED_USERS = [
6
+ 'upstackified.com',
7
+ 'caspahcosmetics.com',
8
+ 'upstackdata.com',
9
+ 'eacapgroup.com',
10
+ 'michael.v.alt@gmail.com',
11
+ 'lemiguel.narciso14@gmail.com',
12
+ ];
13
+ const excludeInternalUsers = (users) => {
14
+ try {
15
+ return users.filter((user) => !EXCLUDED_USERS.some((excludedPattern) => user?.email?.toLowerCase().includes(excludedPattern.toLowerCase())));
16
+ }
17
+ catch (error) {
18
+ logging_helper_1.Logger.error('Failed to filter internal users', { error });
19
+ return users;
20
+ }
21
+ };
22
+ exports.excludeInternalUsers = excludeInternalUsers;
23
23
  //# sourceMappingURL=account-users-helper.js.map
@@ -0,0 +1,9 @@
1
+ import { API_KEY_SCOPE } from '@adtrackify/at-tracking-event-types';
2
+ export interface ApiKeyAuthContext {
3
+ pixelId: string;
4
+ accountId: string;
5
+ scopes: string[];
6
+ apiKeyPk: string;
7
+ }
8
+ export declare const extractApiKeyAuth: (event: import("aws-lambda").APIGatewayProxyEvent) => ApiKeyAuthContext;
9
+ export declare const requireScope: (scopes: string[], required: API_KEY_SCOPE) => void;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.requireScope = exports.extractApiKeyAuth = void 0;
4
+ const at_tracking_event_types_1 = require("@adtrackify/at-tracking-event-types");
5
+ const logging_helper_js_1 = require("./logging-helper.js");
6
+ const http_error_js_1 = require("../libs/http-error.js");
7
+ const expandLegacyScopes = (rawScopes) => {
8
+ const expanded = new Set();
9
+ for (const scope of rawScopes) {
10
+ const replacement = at_tracking_event_types_1.LEGACY_API_KEY_SCOPE_EXPANSION[scope];
11
+ if (replacement) {
12
+ for (const modern of replacement)
13
+ expanded.add(modern);
14
+ }
15
+ else {
16
+ expanded.add(scope);
17
+ }
18
+ }
19
+ return [...expanded];
20
+ };
21
+ const extractApiKeyAuth = (event) => {
22
+ const authorizer = event.requestContext.authorizer;
23
+ const pixelId = authorizer?.pixelId;
24
+ const accountId = authorizer?.accountId;
25
+ const apiKeyPk = authorizer?.apiKeyPk;
26
+ const rawScopes = (authorizer?.scopes || '').split(',').filter(Boolean);
27
+ const scopes = expandLegacyScopes(rawScopes);
28
+ if (!pixelId) {
29
+ throw http_error_js_1.HttpError.unauthorized();
30
+ }
31
+ return { pixelId, accountId, scopes, apiKeyPk };
32
+ };
33
+ exports.extractApiKeyAuth = extractApiKeyAuth;
34
+ const requireScope = (scopes, required) => {
35
+ if (!scopes.includes(required)) {
36
+ logging_helper_js_1.Logger.info('requireScope: missing required scope', { scopes, required });
37
+ throw http_error_js_1.HttpError.forbidden(`API key does not have the ${required} scope`);
38
+ }
39
+ };
40
+ exports.requireScope = requireScope;
41
+ //# sourceMappingURL=api-key-auth-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-key-auth-helper.js","sourceRoot":"","sources":["../../../src/helpers/api-key-auth-helper.ts"],"names":[],"mappings":";;;AAUA,iFAAoG;AACpG,2DAA6C;AAC7C,yDAAkD;AAOlD,MAAM,kBAAkB,GAAG,CAAC,SAAmB,EAAY,EAAE;IAC3D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE;QAC7B,MAAM,WAAW,GAAG,wDAA8B,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,WAAW,EAAE;YACf,KAAK,MAAM,MAAM,IAAI,WAAW;gBAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SACxD;aAAM;YACL,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACrB;KACF;IACD,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;AACvB,CAAC,CAAC;AAcK,MAAM,iBAAiB,GAAG,CAAC,KAAsB,EAAqB,EAAE;IAC7E,MAAM,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC;IACnD,MAAM,OAAO,GAAG,UAAU,EAAE,OAAiB,CAAC;IAC9C,MAAM,SAAS,GAAG,UAAU,EAAE,SAAmB,CAAC;IAClD,MAAM,QAAQ,GAAG,UAAU,EAAE,QAAkB,CAAC;IAChD,MAAM,SAAS,GAAG,CAAE,UAAU,EAAE,MAAiB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpF,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAE7C,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,yBAAS,CAAC,YAAY,EAAE,CAAC;KAChC;IAED,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAClD,CAAC,CAAC;AAbW,QAAA,iBAAiB,qBAa5B;AAGK,MAAM,YAAY,GAAG,CAAC,MAAgB,EAAE,QAAuB,EAAQ,EAAE;IAC9E,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAC9B,0BAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1E,MAAM,yBAAS,CAAC,SAAS,CAAC,6BAA6B,QAAQ,QAAQ,CAAC,CAAC;KAC1E;AACH,CAAC,CAAC;AALW,QAAA,YAAY,gBAKvB"}
@@ -0,0 +1,36 @@
1
+ import { Context } from 'aws-lambda';
2
+ export interface ApiKeyAuthorizerConfig {
3
+ apiKeysTable: string;
4
+ apiKeysTableKey?: string;
5
+ pixelsTable: string;
6
+ }
7
+ interface AllowPolicy {
8
+ principalId: string;
9
+ policyDocument: {
10
+ Version: string;
11
+ Statement: {
12
+ Action: string;
13
+ Effect: 'Allow';
14
+ Resource: string;
15
+ }[];
16
+ };
17
+ context: {
18
+ pixelId: string;
19
+ accountId: string;
20
+ scopes: string;
21
+ apiKeyPk: string;
22
+ };
23
+ }
24
+ interface DenyPolicy {
25
+ principalId: string;
26
+ policyDocument: {
27
+ Version: string;
28
+ Statement: {
29
+ Action: string;
30
+ Effect: 'Deny';
31
+ Resource: string;
32
+ }[];
33
+ };
34
+ }
35
+ export declare const createApiKeyAuthorizerHandler: (config: ApiKeyAuthorizerConfig) => (event: any, context: Context) => Promise<AllowPolicy | DenyPolicy>;
36
+ export {};
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createApiKeyAuthorizerHandler = void 0;
4
+ const at_tracking_event_types_1 = require("@adtrackify/at-tracking-event-types");
5
+ const logging_helper_js_1 = require("./logging-helper.js");
6
+ const crypto_js_1 = require("../libs/crypto.js");
7
+ const api_keys_db_service_js_1 = require("../services/db/api-keys-db-service.js");
8
+ const pixels_db_service_js_1 = require("../services/db/pixels-db-service.js");
9
+ const toWildcardArn = (methodArn) => {
10
+ const parts = methodArn.split('/');
11
+ return `${parts[0]}/${parts[1]}/*`;
12
+ };
13
+ const generateDenyPolicy = (methodArn) => ({
14
+ principalId: 'anonymous',
15
+ policyDocument: {
16
+ Version: '2012-10-17',
17
+ Statement: [{ Action: 'execute-api:Invoke', Effect: 'Deny', Resource: methodArn }],
18
+ },
19
+ });
20
+ const createApiKeyAuthorizerHandler = (config) => {
21
+ const apiKeysDb = new api_keys_db_service_js_1.ApiKeysDbService(config.apiKeysTable, config.apiKeysTableKey);
22
+ const pixelsDb = new pixels_db_service_js_1.PixelsDbService(config.pixelsTable);
23
+ return async function handler(event, context) {
24
+ const methodArn = event.methodArn;
25
+ try {
26
+ (0, logging_helper_js_1.configureLogger)(event, context);
27
+ const apiKey = event.headers?.['x-api-key'] || event.headers?.['X-Api-Key'];
28
+ const pixelId = event.headers?.['x-pixel-id'] || event.headers?.['X-Pixel-Id'];
29
+ if (!apiKey || !pixelId) {
30
+ logging_helper_js_1.Logger.info('ApiKeyAuthorizer: missing x-api-key or x-pixel-id header');
31
+ return generateDenyPolicy(methodArn);
32
+ }
33
+ const keyHash = (0, crypto_js_1.generateSha256Hash)(apiKey);
34
+ const pk = `${pixelId}_${keyHash}`;
35
+ const apiKeyRecord = await apiKeysDb.getApiKeyByPk(pk);
36
+ if (!apiKeyRecord) {
37
+ logging_helper_js_1.Logger.info('ApiKeyAuthorizer: no matching key found');
38
+ return generateDenyPolicy(methodArn);
39
+ }
40
+ if (apiKeyRecord.status !== at_tracking_event_types_1.API_KEY_STATUS.ACTIVE) {
41
+ logging_helper_js_1.Logger.info('ApiKeyAuthorizer: key is not active', { status: apiKeyRecord.status });
42
+ return generateDenyPolicy(methodArn);
43
+ }
44
+ if (apiKeyRecord.expiresAt && new Date(apiKeyRecord.expiresAt) < new Date()) {
45
+ logging_helper_js_1.Logger.info('ApiKeyAuthorizer: key has expired', { expiresAt: apiKeyRecord.expiresAt });
46
+ return generateDenyPolicy(methodArn);
47
+ }
48
+ if (!Array.isArray(apiKeyRecord.scopes)) {
49
+ logging_helper_js_1.Logger.error('ApiKeyAuthorizer: record is missing scopes array', { pk: apiKeyRecord.pk });
50
+ return generateDenyPolicy(methodArn);
51
+ }
52
+ const pixel = await pixelsDb.getPixelById(pixelId);
53
+ if (!pixel || pixel.status !== at_tracking_event_types_1.PIXEL_STATUS.ACTIVE) {
54
+ logging_helper_js_1.Logger.info('ApiKeyAuthorizer: pixel is not active', { pixelId, status: pixel?.status });
55
+ return generateDenyPolicy(methodArn);
56
+ }
57
+ logging_helper_js_1.Logger.info('ApiKeyAuthorizer: key authorized', {
58
+ pixelId: apiKeyRecord.pixelId,
59
+ apiKeyPk: apiKeyRecord.pk,
60
+ });
61
+ return {
62
+ principalId: apiKeyRecord.pixelId,
63
+ policyDocument: {
64
+ Version: '2012-10-17',
65
+ Statement: [{
66
+ Action: 'execute-api:Invoke',
67
+ Effect: 'Allow',
68
+ Resource: toWildcardArn(methodArn),
69
+ }],
70
+ },
71
+ context: {
72
+ pixelId: apiKeyRecord.pixelId,
73
+ accountId: apiKeyRecord.accountId,
74
+ scopes: apiKeyRecord.scopes.join(','),
75
+ apiKeyPk: apiKeyRecord.pk,
76
+ },
77
+ };
78
+ }
79
+ catch (error) {
80
+ logging_helper_js_1.Logger.error('ApiKeyAuthorizer: error', { error });
81
+ return generateDenyPolicy(methodArn);
82
+ }
83
+ };
84
+ };
85
+ exports.createApiKeyAuthorizerHandler = createApiKeyAuthorizerHandler;
86
+ //# sourceMappingURL=api-key-authorizer-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-key-authorizer-helper.js","sourceRoot":"","sources":["../../../src/helpers/api-key-authorizer-helper.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,21 @@
1
- import { AdClickInfo, EventIdentity, EventIdentityTraits } from '@adtrackify/at-tracking-event-types';
2
- export interface IdentityCacheStaleTracker {
3
- cachedTraits: EventIdentityTraits;
4
- incomingTraits: EventIdentityTraits;
5
- isIdentityIdStale: boolean;
6
- isUserIdsStale: boolean;
7
- isIdsStale: boolean;
8
- isEmailsStale: boolean;
9
- isPhonesStale: boolean;
10
- isShopifyYIdsStale: boolean;
11
- isGendersStale: boolean;
12
- isDobsStale: boolean;
13
- isAddressesStale: boolean;
14
- isClickInfosStale: boolean;
15
- isIpAddressStale: boolean;
16
- isUserAgentStale: boolean;
17
- isThirdPartyContactsStale: boolean;
18
- isCacheStale: boolean;
19
- }
20
- export declare const isIdentityCacheStale: (identityCache: EventIdentity, incomingIdentity: EventIdentity) => IdentityCacheStaleTracker;
21
- export declare const isClickInfosStale: (cachedClick: AdClickInfo, incomingClick: AdClickInfo) => boolean;
1
+ import { AdClickInfo, EventIdentity, EventIdentityTraits } from '@adtrackify/at-tracking-event-types';
2
+ export interface IdentityCacheStaleTracker {
3
+ cachedTraits: EventIdentityTraits;
4
+ incomingTraits: EventIdentityTraits;
5
+ isIdentityIdStale: boolean;
6
+ isUserIdsStale: boolean;
7
+ isIdsStale: boolean;
8
+ isEmailsStale: boolean;
9
+ isPhonesStale: boolean;
10
+ isShopifyYIdsStale: boolean;
11
+ isGendersStale: boolean;
12
+ isDobsStale: boolean;
13
+ isAddressesStale: boolean;
14
+ isClickInfosStale: boolean;
15
+ isIpAddressStale: boolean;
16
+ isUserAgentStale: boolean;
17
+ isThirdPartyContactsStale: boolean;
18
+ isCacheStale: boolean;
19
+ }
20
+ export declare const isIdentityCacheStale: (identityCache: EventIdentity, incomingIdentity: EventIdentity) => IdentityCacheStaleTracker;
21
+ export declare const isClickInfosStale: (cachedClick: AdClickInfo, incomingClick: AdClickInfo) => boolean;