@adtrackify/at-service-common 3.19.9 → 3.19.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (411) hide show
  1. package/dist/cjs/__tests__/clients/acuity-client.spec.d.ts +1 -0
  2. package/dist/cjs/__tests__/clients/acuity-client.spec.js +44 -0
  3. package/dist/cjs/__tests__/clients/acuity-client.spec.js.map +1 -0
  4. package/dist/cjs/__tests__/clients/cross-platform-compression.spec.d.ts +1 -0
  5. package/dist/cjs/__tests__/clients/cross-platform-compression.spec.js +355 -0
  6. package/dist/cjs/__tests__/clients/cross-platform-compression.spec.js.map +1 -0
  7. package/dist/cjs/__tests__/clients/dynamodb-client.spec.d.ts +1 -0
  8. package/dist/cjs/__tests__/clients/dynamodb-client.spec.js +155 -0
  9. package/dist/cjs/__tests__/clients/dynamodb-client.spec.js.map +1 -0
  10. package/dist/cjs/__tests__/clients/sqs-bundled-client.spec.d.ts +1 -0
  11. package/dist/cjs/__tests__/clients/sqs-bundled-client.spec.js +932 -0
  12. package/dist/cjs/__tests__/clients/sqs-bundled-client.spec.js.map +1 -0
  13. package/dist/cjs/__tests__/clients/sqs-bundling-contracts.spec.d.ts +1 -0
  14. package/dist/cjs/__tests__/clients/sqs-bundling-contracts.spec.js +564 -0
  15. package/dist/cjs/__tests__/clients/sqs-bundling-contracts.spec.js.map +1 -0
  16. package/dist/cjs/__tests__/clients/sqs-client.spec.js +72 -0
  17. package/dist/cjs/__tests__/clients/sqs-client.spec.js.map +1 -1
  18. package/dist/cjs/__tests__/clients/sqs-unbundle.spec.d.ts +1 -0
  19. package/dist/cjs/__tests__/clients/sqs-unbundle.spec.js +1358 -0
  20. package/dist/cjs/__tests__/clients/sqs-unbundle.spec.js.map +1 -0
  21. package/dist/cjs/__tests__/db/contact-enrichments-db-service.spec.d.ts +1 -0
  22. package/dist/cjs/__tests__/db/contact-enrichments-db-service.spec.js +69 -0
  23. package/dist/cjs/__tests__/db/contact-enrichments-db-service.spec.js.map +1 -0
  24. package/dist/cjs/__tests__/db/shared-read-db-services.spec.d.ts +1 -0
  25. package/dist/cjs/__tests__/db/shared-read-db-services.spec.js +90 -0
  26. package/dist/cjs/__tests__/db/shared-read-db-services.spec.js.map +1 -0
  27. package/dist/cjs/__tests__/helpers/acuity-helper.spec.d.ts +1 -0
  28. package/dist/cjs/__tests__/helpers/acuity-helper.spec.js +70 -0
  29. package/dist/cjs/__tests__/helpers/acuity-helper.spec.js.map +1 -0
  30. package/dist/cjs/__tests__/helpers/api-key-auth-helper.spec.d.ts +1 -0
  31. package/dist/cjs/__tests__/helpers/api-key-auth-helper.spec.js +83 -0
  32. package/dist/cjs/__tests__/helpers/api-key-auth-helper.spec.js.map +1 -0
  33. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-service.spec.d.ts +1 -0
  34. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-service.spec.js +484 -0
  35. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-service.spec.js.map +1 -0
  36. package/dist/cjs/__tests__/integration/sqs-bundling-roundtrip.spec.d.ts +1 -0
  37. package/dist/cjs/__tests__/integration/sqs-bundling-roundtrip.spec.js +585 -0
  38. package/dist/cjs/__tests__/integration/sqs-bundling-roundtrip.spec.js.map +1 -0
  39. package/dist/cjs/__tests__/libs/contacts.spec.d.ts +1 -0
  40. package/dist/cjs/__tests__/libs/contacts.spec.js +295 -0
  41. package/dist/cjs/__tests__/libs/contacts.spec.js.map +1 -0
  42. package/dist/cjs/__tests__/services/acuity-api-service.spec.d.ts +1 -0
  43. package/dist/cjs/__tests__/services/acuity-api-service.spec.js +72 -0
  44. package/dist/cjs/__tests__/services/acuity-api-service.spec.js.map +1 -0
  45. package/dist/cjs/__tests__/services/email-verification/contact-email-verification-service.spec.d.ts +1 -0
  46. package/dist/cjs/__tests__/services/email-verification/contact-email-verification-service.spec.js +94 -0
  47. package/dist/cjs/__tests__/services/email-verification/contact-email-verification-service.spec.js.map +1 -0
  48. package/dist/cjs/__tests__/services/email-verification/email-verification-service.spec.d.ts +1 -0
  49. package/dist/cjs/__tests__/services/email-verification/email-verification-service.spec.js +58 -0
  50. package/dist/cjs/__tests__/services/email-verification/email-verification-service.spec.js.map +1 -0
  51. package/dist/cjs/__tests__/unit/libs/api-router/public-api-router.spec.d.ts +1 -0
  52. package/dist/cjs/__tests__/unit/libs/api-router/public-api-router.spec.js +182 -0
  53. package/dist/cjs/__tests__/unit/libs/api-router/public-api-router.spec.js.map +1 -0
  54. package/dist/cjs/__tests__/unit/libs/api-router/route-matcher.spec.d.ts +1 -0
  55. package/dist/cjs/__tests__/unit/libs/api-router/route-matcher.spec.js +70 -0
  56. package/dist/cjs/__tests__/unit/libs/api-router/route-matcher.spec.js.map +1 -0
  57. package/dist/cjs/__tests__/utils/custom-measure-formula-utils.spec.d.ts +1 -0
  58. package/dist/cjs/__tests__/utils/custom-measure-formula-utils.spec.js +140 -0
  59. package/dist/cjs/__tests__/utils/custom-measure-formula-utils.spec.js.map +1 -0
  60. package/dist/cjs/clients/generic/dynamodb-client.js +13 -12
  61. package/dist/cjs/clients/generic/dynamodb-client.js.map +1 -1
  62. package/dist/cjs/clients/generic/index.d.ts +3 -0
  63. package/dist/cjs/clients/generic/index.js +3 -0
  64. package/dist/cjs/clients/generic/index.js.map +1 -1
  65. package/dist/cjs/clients/generic/sqs-bundled-client.d.ts +15 -0
  66. package/dist/cjs/clients/generic/sqs-bundled-client.js +312 -0
  67. package/dist/cjs/clients/generic/sqs-bundled-client.js.map +1 -0
  68. package/dist/cjs/clients/generic/sqs-bundled-client.types.d.ts +53 -0
  69. package/dist/cjs/clients/generic/sqs-bundled-client.types.js +18 -0
  70. package/dist/cjs/clients/generic/sqs-bundled-client.types.js.map +1 -0
  71. package/dist/cjs/clients/generic/sqs-client.d.ts +21 -1
  72. package/dist/cjs/clients/generic/sqs-client.js +193 -19
  73. package/dist/cjs/clients/generic/sqs-client.js.map +1 -1
  74. package/dist/cjs/clients/generic/sqs-unbundle.d.ts +32 -0
  75. package/dist/cjs/clients/generic/sqs-unbundle.js +145 -0
  76. package/dist/cjs/clients/generic/sqs-unbundle.js.map +1 -0
  77. package/dist/cjs/clients/internal-api/shopify-app-install-client.d.ts +2 -2
  78. package/dist/cjs/clients/internal-api/shopify-app-install-client.js.map +1 -1
  79. package/dist/cjs/clients/third-party/acuity-client.d.ts +10 -0
  80. package/dist/cjs/clients/third-party/acuity-client.js +41 -0
  81. package/dist/cjs/clients/third-party/acuity-client.js.map +1 -0
  82. package/dist/cjs/clients/third-party/index.d.ts +1 -0
  83. package/dist/cjs/clients/third-party/index.js +1 -0
  84. package/dist/cjs/clients/third-party/index.js.map +1 -1
  85. package/dist/cjs/clients/third-party/shopify-client.d.ts +5 -5
  86. package/dist/cjs/clients/third-party/shopify-client.js.map +1 -1
  87. package/dist/cjs/constants/index.d.ts +1 -0
  88. package/dist/cjs/constants/index.js +18 -0
  89. package/dist/cjs/constants/index.js.map +1 -0
  90. package/dist/cjs/constants/sqs.d.ts +20 -0
  91. package/dist/cjs/constants/sqs.js +27 -0
  92. package/dist/cjs/constants/sqs.js.map +1 -0
  93. package/dist/cjs/helpers/acuity-helper.d.ts +4 -0
  94. package/dist/cjs/helpers/acuity-helper.js +57 -0
  95. package/dist/cjs/helpers/acuity-helper.js.map +1 -0
  96. package/dist/cjs/helpers/api-key-auth-helper.d.ts +9 -0
  97. package/dist/cjs/helpers/api-key-auth-helper.js +41 -0
  98. package/dist/cjs/helpers/api-key-auth-helper.js.map +1 -0
  99. package/dist/cjs/helpers/api-key-authorizer-helper.d.ts +36 -0
  100. package/dist/cjs/helpers/api-key-authorizer-helper.js +88 -0
  101. package/dist/cjs/helpers/api-key-authorizer-helper.js.map +1 -0
  102. package/dist/cjs/helpers/index.d.ts +3 -0
  103. package/dist/cjs/helpers/index.js +3 -0
  104. package/dist/cjs/helpers/index.js.map +1 -1
  105. package/dist/cjs/index.d.ts +2 -0
  106. package/dist/cjs/index.js +2 -0
  107. package/dist/cjs/index.js.map +1 -1
  108. package/dist/cjs/libs/api-router/index.d.ts +2 -0
  109. package/dist/cjs/libs/api-router/index.js +19 -0
  110. package/dist/cjs/libs/api-router/index.js.map +1 -0
  111. package/dist/cjs/libs/api-router/public-api-router.d.ts +3 -0
  112. package/dist/cjs/libs/api-router/public-api-router.js +37 -0
  113. package/dist/cjs/libs/api-router/public-api-router.js.map +1 -0
  114. package/dist/cjs/libs/api-router/route-matcher.d.ts +21 -0
  115. package/dist/cjs/libs/api-router/route-matcher.js +37 -0
  116. package/dist/cjs/libs/api-router/route-matcher.js.map +1 -0
  117. package/dist/cjs/libs/contacts.d.ts +7 -0
  118. package/dist/cjs/libs/contacts.js +153 -0
  119. package/dist/cjs/libs/contacts.js.map +1 -0
  120. package/dist/cjs/libs/emails.d.ts +2 -0
  121. package/dist/cjs/libs/emails.js +33 -1
  122. package/dist/cjs/libs/emails.js.map +1 -1
  123. package/dist/cjs/libs/index.d.ts +2 -0
  124. package/dist/cjs/libs/index.js +2 -0
  125. package/dist/cjs/libs/index.js.map +1 -1
  126. package/dist/cjs/services/acuity-api-service.d.ts +9 -0
  127. package/dist/cjs/services/acuity-api-service.js +74 -0
  128. package/dist/cjs/services/acuity-api-service.js.map +1 -0
  129. package/dist/cjs/services/db/accounts-db-service.d.ts +9 -0
  130. package/dist/cjs/services/db/accounts-db-service.js +34 -0
  131. package/dist/cjs/services/db/accounts-db-service.js.map +1 -0
  132. package/dist/cjs/services/db/api-keys-db-service.d.ts +10 -0
  133. package/dist/cjs/services/db/api-keys-db-service.js +37 -0
  134. package/dist/cjs/services/db/api-keys-db-service.js.map +1 -0
  135. package/dist/cjs/services/db/contact-enrichments-db-service.d.ts +15 -0
  136. package/dist/cjs/services/db/contact-enrichments-db-service.js +95 -0
  137. package/dist/cjs/services/db/contact-enrichments-db-service.js.map +1 -0
  138. package/dist/cjs/services/db/custom-measures-db-service.d.ts +14 -0
  139. package/dist/cjs/services/db/custom-measures-db-service.js +49 -0
  140. package/dist/cjs/services/db/custom-measures-db-service.js.map +1 -0
  141. package/dist/cjs/services/db/identity-cache-dynamodb-service.d.ts +2 -26
  142. package/dist/cjs/services/db/identity-cache-dynamodb-service.js +18 -42
  143. package/dist/cjs/services/db/identity-cache-dynamodb-service.js.map +1 -1
  144. package/dist/cjs/services/db/index.d.ts +6 -1
  145. package/dist/cjs/services/db/index.js +6 -1
  146. package/dist/cjs/services/db/index.js.map +1 -1
  147. package/dist/cjs/services/db/pixels-db-service.js +3 -3
  148. package/dist/cjs/services/db/pixels-db-service.js.map +1 -1
  149. package/dist/cjs/services/db/purchased-contacts/index.d.ts +2 -0
  150. package/dist/cjs/services/db/purchased-contacts/index.js +19 -0
  151. package/dist/cjs/services/db/purchased-contacts/index.js.map +1 -0
  152. package/dist/cjs/services/db/{purchased-contacts-db-service.d.ts → purchased-contacts/purchased-contacts-db-service.d.ts} +2 -1
  153. package/dist/cjs/services/db/{purchased-contacts-db-service.js → purchased-contacts/purchased-contacts-db-service.js} +13 -4
  154. package/dist/cjs/services/db/purchased-contacts/purchased-contacts-db-service.js.map +1 -0
  155. package/dist/cjs/services/db/purchased-contacts/types.d.ts +11 -0
  156. package/dist/cjs/services/db/purchased-contacts/types.js +3 -0
  157. package/dist/cjs/services/db/purchased-contacts/types.js.map +1 -0
  158. package/dist/cjs/services/db/shopify-app-installs-db-service.d.ts +2 -1
  159. package/dist/cjs/services/db/shopify-app-installs-db-service.js +10 -6
  160. package/dist/cjs/services/db/shopify-app-installs-db-service.js.map +1 -1
  161. package/dist/cjs/services/db/subscriptions-db-service.d.ts +10 -0
  162. package/dist/cjs/services/db/subscriptions-db-service.js +35 -0
  163. package/dist/cjs/services/db/subscriptions-db-service.js.map +1 -0
  164. package/dist/cjs/services/email-verification/contact-email-verification-service.d.ts +7 -0
  165. package/dist/cjs/services/email-verification/contact-email-verification-service.js +102 -0
  166. package/dist/cjs/services/email-verification/contact-email-verification-service.js.map +1 -0
  167. package/dist/cjs/services/email-verification/email-verification-service.d.ts +19 -0
  168. package/dist/cjs/services/email-verification/email-verification-service.js +132 -0
  169. package/dist/cjs/services/email-verification/email-verification-service.js.map +1 -0
  170. package/dist/cjs/services/email-verification/index.d.ts +2 -0
  171. package/dist/cjs/services/email-verification/index.js +19 -0
  172. package/dist/cjs/services/email-verification/index.js.map +1 -0
  173. package/dist/cjs/services/events/log-event-service.d.ts +11 -1
  174. package/dist/cjs/services/events/log-event-service.js +27 -6
  175. package/dist/cjs/services/events/log-event-service.js.map +1 -1
  176. package/dist/cjs/services/index.d.ts +2 -0
  177. package/dist/cjs/services/index.js +2 -0
  178. package/dist/cjs/services/index.js.map +1 -1
  179. package/dist/cjs/types/acuity-types.d.ts +74 -0
  180. package/dist/cjs/types/acuity-types.js +3 -0
  181. package/dist/cjs/types/acuity-types.js.map +1 -0
  182. package/dist/cjs/types/index.d.ts +3 -0
  183. package/dist/cjs/types/index.js +16 -0
  184. package/dist/cjs/types/index.js.map +1 -1
  185. package/dist/cjs/types/shopify-graphql-types/admin.generated.d.ts +38 -38
  186. package/dist/cjs/types/shopify-graphql-types/admin.types.js.map +1 -1
  187. package/dist/cjs/types/shopify-rest-types.d.ts +767 -0
  188. package/dist/cjs/types/shopify-rest-types.js +3 -0
  189. package/dist/cjs/types/shopify-rest-types.js.map +1 -0
  190. package/dist/cjs/utils/compression.d.ts +36 -0
  191. package/dist/cjs/utils/compression.js +199 -0
  192. package/dist/cjs/utils/compression.js.map +1 -0
  193. package/dist/cjs/utils/custom-measure-formula-utils.d.ts +6 -0
  194. package/dist/cjs/utils/custom-measure-formula-utils.js +210 -0
  195. package/dist/cjs/utils/custom-measure-formula-utils.js.map +1 -0
  196. package/dist/cjs/utils/index.d.ts +4 -0
  197. package/dist/cjs/utils/index.js +21 -0
  198. package/dist/cjs/utils/index.js.map +1 -0
  199. package/dist/cjs/utils/retry-envelope.d.ts +12 -0
  200. package/dist/cjs/utils/retry-envelope.js +29 -0
  201. package/dist/cjs/utils/retry-envelope.js.map +1 -0
  202. package/dist/cjs/utils/size.d.ts +2 -0
  203. package/dist/cjs/utils/size.js +50 -0
  204. package/dist/cjs/utils/size.js.map +1 -0
  205. package/dist/esm/__tests__/clients/acuity-client.spec.d.ts +1 -0
  206. package/dist/esm/__tests__/clients/acuity-client.spec.js +42 -0
  207. package/dist/esm/__tests__/clients/acuity-client.spec.js.map +1 -0
  208. package/dist/esm/__tests__/clients/cross-platform-compression.spec.d.ts +1 -0
  209. package/dist/esm/__tests__/clients/cross-platform-compression.spec.js +330 -0
  210. package/dist/esm/__tests__/clients/cross-platform-compression.spec.js.map +1 -0
  211. package/dist/esm/__tests__/clients/dynamodb-client.spec.d.ts +1 -0
  212. package/dist/esm/__tests__/clients/dynamodb-client.spec.js +153 -0
  213. package/dist/esm/__tests__/clients/dynamodb-client.spec.js.map +1 -0
  214. package/dist/esm/__tests__/clients/sqs-bundled-client.spec.d.ts +1 -0
  215. package/dist/esm/__tests__/clients/sqs-bundled-client.spec.js +907 -0
  216. package/dist/esm/__tests__/clients/sqs-bundled-client.spec.js.map +1 -0
  217. package/dist/esm/__tests__/clients/sqs-bundling-contracts.spec.d.ts +1 -0
  218. package/dist/esm/__tests__/clients/sqs-bundling-contracts.spec.js +539 -0
  219. package/dist/esm/__tests__/clients/sqs-bundling-contracts.spec.js.map +1 -0
  220. package/dist/esm/__tests__/clients/sqs-client.spec.js +72 -0
  221. package/dist/esm/__tests__/clients/sqs-client.spec.js.map +1 -1
  222. package/dist/esm/__tests__/clients/sqs-unbundle.spec.d.ts +1 -0
  223. package/dist/esm/__tests__/clients/sqs-unbundle.spec.js +1356 -0
  224. package/dist/esm/__tests__/clients/sqs-unbundle.spec.js.map +1 -0
  225. package/dist/esm/__tests__/db/contact-enrichments-db-service.spec.d.ts +1 -0
  226. package/dist/esm/__tests__/db/contact-enrichments-db-service.spec.js +67 -0
  227. package/dist/esm/__tests__/db/contact-enrichments-db-service.spec.js.map +1 -0
  228. package/dist/esm/__tests__/db/shared-read-db-services.spec.d.ts +1 -0
  229. package/dist/esm/__tests__/db/shared-read-db-services.spec.js +88 -0
  230. package/dist/esm/__tests__/db/shared-read-db-services.spec.js.map +1 -0
  231. package/dist/esm/__tests__/helpers/acuity-helper.spec.d.ts +1 -0
  232. package/dist/esm/__tests__/helpers/acuity-helper.spec.js +68 -0
  233. package/dist/esm/__tests__/helpers/acuity-helper.spec.js.map +1 -0
  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 +81 -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-dynamodb-service.spec.d.ts +1 -0
  238. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-service.spec.js +482 -0
  239. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-service.spec.js.map +1 -0
  240. package/dist/esm/__tests__/integration/sqs-bundling-roundtrip.spec.d.ts +1 -0
  241. package/dist/esm/__tests__/integration/sqs-bundling-roundtrip.spec.js +583 -0
  242. package/dist/esm/__tests__/integration/sqs-bundling-roundtrip.spec.js.map +1 -0
  243. package/dist/esm/__tests__/libs/contacts.spec.d.ts +1 -0
  244. package/dist/esm/__tests__/libs/contacts.spec.js +293 -0
  245. package/dist/esm/__tests__/libs/contacts.spec.js.map +1 -0
  246. package/dist/esm/__tests__/services/acuity-api-service.spec.d.ts +1 -0
  247. package/dist/esm/__tests__/services/acuity-api-service.spec.js +70 -0
  248. package/dist/esm/__tests__/services/acuity-api-service.spec.js.map +1 -0
  249. package/dist/esm/__tests__/services/email-verification/contact-email-verification-service.spec.d.ts +1 -0
  250. package/dist/esm/__tests__/services/email-verification/contact-email-verification-service.spec.js +92 -0
  251. package/dist/esm/__tests__/services/email-verification/contact-email-verification-service.spec.js.map +1 -0
  252. package/dist/esm/__tests__/services/email-verification/email-verification-service.spec.d.ts +1 -0
  253. package/dist/esm/__tests__/services/email-verification/email-verification-service.spec.js +56 -0
  254. package/dist/esm/__tests__/services/email-verification/email-verification-service.spec.js.map +1 -0
  255. package/dist/esm/__tests__/unit/libs/api-router/public-api-router.spec.d.ts +1 -0
  256. package/dist/esm/__tests__/unit/libs/api-router/public-api-router.spec.js +157 -0
  257. package/dist/esm/__tests__/unit/libs/api-router/public-api-router.spec.js.map +1 -0
  258. package/dist/esm/__tests__/unit/libs/api-router/route-matcher.spec.d.ts +1 -0
  259. package/dist/esm/__tests__/unit/libs/api-router/route-matcher.spec.js +68 -0
  260. package/dist/esm/__tests__/unit/libs/api-router/route-matcher.spec.js.map +1 -0
  261. package/dist/esm/__tests__/utils/custom-measure-formula-utils.spec.d.ts +1 -0
  262. package/dist/esm/__tests__/utils/custom-measure-formula-utils.spec.js +138 -0
  263. package/dist/esm/__tests__/utils/custom-measure-formula-utils.spec.js.map +1 -0
  264. package/dist/esm/clients/generic/dynamodb-client.js +2 -1
  265. package/dist/esm/clients/generic/dynamodb-client.js.map +1 -1
  266. package/dist/esm/clients/generic/index.d.ts +3 -0
  267. package/dist/esm/clients/generic/index.js +3 -0
  268. package/dist/esm/clients/generic/index.js.map +1 -1
  269. package/dist/esm/clients/generic/sqs-bundled-client.d.ts +15 -0
  270. package/dist/esm/clients/generic/sqs-bundled-client.js +308 -0
  271. package/dist/esm/clients/generic/sqs-bundled-client.js.map +1 -0
  272. package/dist/esm/clients/generic/sqs-bundled-client.types.d.ts +53 -0
  273. package/dist/esm/clients/generic/sqs-bundled-client.types.js +15 -0
  274. package/dist/esm/clients/generic/sqs-bundled-client.types.js.map +1 -0
  275. package/dist/esm/clients/generic/sqs-client.d.ts +21 -1
  276. package/dist/esm/clients/generic/sqs-client.js +193 -19
  277. package/dist/esm/clients/generic/sqs-client.js.map +1 -1
  278. package/dist/esm/clients/generic/sqs-unbundle.d.ts +32 -0
  279. package/dist/esm/clients/generic/sqs-unbundle.js +138 -0
  280. package/dist/esm/clients/generic/sqs-unbundle.js.map +1 -0
  281. package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +2 -2
  282. package/dist/esm/clients/internal-api/shopify-app-install-client.js.map +1 -1
  283. package/dist/esm/clients/third-party/acuity-client.d.ts +10 -0
  284. package/dist/esm/clients/third-party/acuity-client.js +37 -0
  285. package/dist/esm/clients/third-party/acuity-client.js.map +1 -0
  286. package/dist/esm/clients/third-party/index.d.ts +1 -0
  287. package/dist/esm/clients/third-party/index.js +1 -0
  288. package/dist/esm/clients/third-party/index.js.map +1 -1
  289. package/dist/esm/clients/third-party/shopify-client.d.ts +5 -5
  290. package/dist/esm/clients/third-party/shopify-client.js.map +1 -1
  291. package/dist/esm/constants/index.d.ts +1 -0
  292. package/dist/esm/constants/index.js +2 -0
  293. package/dist/esm/constants/index.js.map +1 -0
  294. package/dist/esm/constants/sqs.d.ts +20 -0
  295. package/dist/esm/constants/sqs.js +23 -0
  296. package/dist/esm/constants/sqs.js.map +1 -0
  297. package/dist/esm/helpers/acuity-helper.d.ts +4 -0
  298. package/dist/esm/helpers/acuity-helper.js +52 -0
  299. package/dist/esm/helpers/acuity-helper.js.map +1 -0
  300. package/dist/esm/helpers/api-key-auth-helper.d.ts +9 -0
  301. package/dist/esm/helpers/api-key-auth-helper.js +36 -0
  302. package/dist/esm/helpers/api-key-auth-helper.js.map +1 -0
  303. package/dist/esm/helpers/api-key-authorizer-helper.d.ts +36 -0
  304. package/dist/esm/helpers/api-key-authorizer-helper.js +84 -0
  305. package/dist/esm/helpers/api-key-authorizer-helper.js.map +1 -0
  306. package/dist/esm/helpers/index.d.ts +3 -0
  307. package/dist/esm/helpers/index.js +3 -0
  308. package/dist/esm/helpers/index.js.map +1 -1
  309. package/dist/esm/index.d.ts +2 -0
  310. package/dist/esm/index.js +2 -0
  311. package/dist/esm/index.js.map +1 -1
  312. package/dist/esm/libs/api-router/index.d.ts +2 -0
  313. package/dist/esm/libs/api-router/index.js +3 -0
  314. package/dist/esm/libs/api-router/index.js.map +1 -0
  315. package/dist/esm/libs/api-router/public-api-router.d.ts +3 -0
  316. package/dist/esm/libs/api-router/public-api-router.js +33 -0
  317. package/dist/esm/libs/api-router/public-api-router.js.map +1 -0
  318. package/dist/esm/libs/api-router/route-matcher.d.ts +21 -0
  319. package/dist/esm/libs/api-router/route-matcher.js +31 -0
  320. package/dist/esm/libs/api-router/route-matcher.js.map +1 -0
  321. package/dist/esm/libs/contacts.d.ts +7 -0
  322. package/dist/esm/libs/contacts.js +144 -0
  323. package/dist/esm/libs/contacts.js.map +1 -0
  324. package/dist/esm/libs/emails.d.ts +2 -0
  325. package/dist/esm/libs/emails.js +31 -0
  326. package/dist/esm/libs/emails.js.map +1 -1
  327. package/dist/esm/libs/index.d.ts +2 -0
  328. package/dist/esm/libs/index.js +2 -0
  329. package/dist/esm/libs/index.js.map +1 -1
  330. package/dist/esm/services/acuity-api-service.d.ts +9 -0
  331. package/dist/esm/services/acuity-api-service.js +70 -0
  332. package/dist/esm/services/acuity-api-service.js.map +1 -0
  333. package/dist/esm/services/db/accounts-db-service.d.ts +9 -0
  334. package/dist/esm/services/db/accounts-db-service.js +30 -0
  335. package/dist/esm/services/db/accounts-db-service.js.map +1 -0
  336. package/dist/esm/services/db/api-keys-db-service.d.ts +10 -0
  337. package/dist/esm/services/db/api-keys-db-service.js +33 -0
  338. package/dist/esm/services/db/api-keys-db-service.js.map +1 -0
  339. package/dist/esm/services/db/contact-enrichments-db-service.d.ts +15 -0
  340. package/dist/esm/services/db/contact-enrichments-db-service.js +91 -0
  341. package/dist/esm/services/db/contact-enrichments-db-service.js.map +1 -0
  342. package/dist/esm/services/db/custom-measures-db-service.d.ts +14 -0
  343. package/dist/esm/services/db/custom-measures-db-service.js +45 -0
  344. package/dist/esm/services/db/custom-measures-db-service.js.map +1 -0
  345. package/dist/esm/services/db/identity-cache-dynamodb-service.d.ts +2 -26
  346. package/dist/esm/services/db/identity-cache-dynamodb-service.js +2 -26
  347. package/dist/esm/services/db/identity-cache-dynamodb-service.js.map +1 -1
  348. package/dist/esm/services/db/index.d.ts +6 -1
  349. package/dist/esm/services/db/index.js +6 -1
  350. package/dist/esm/services/db/index.js.map +1 -1
  351. package/dist/esm/services/db/pixels-db-service.js +1 -1
  352. package/dist/esm/services/db/pixels-db-service.js.map +1 -1
  353. package/dist/esm/services/db/purchased-contacts/index.d.ts +2 -0
  354. package/dist/esm/services/db/purchased-contacts/index.js +3 -0
  355. package/dist/esm/services/db/purchased-contacts/index.js.map +1 -0
  356. package/dist/esm/services/db/{purchased-contacts-db-service.d.ts → purchased-contacts/purchased-contacts-db-service.d.ts} +2 -1
  357. package/dist/esm/services/db/{purchased-contacts-db-service.js → purchased-contacts/purchased-contacts-db-service.js} +13 -4
  358. package/dist/esm/services/db/purchased-contacts/purchased-contacts-db-service.js.map +1 -0
  359. package/dist/esm/services/db/purchased-contacts/types.d.ts +11 -0
  360. package/dist/esm/services/db/purchased-contacts/types.js +2 -0
  361. package/dist/esm/services/db/purchased-contacts/types.js.map +1 -0
  362. package/dist/esm/services/db/shopify-app-installs-db-service.d.ts +2 -1
  363. package/dist/esm/services/db/shopify-app-installs-db-service.js +6 -2
  364. package/dist/esm/services/db/shopify-app-installs-db-service.js.map +1 -1
  365. package/dist/esm/services/db/subscriptions-db-service.d.ts +10 -0
  366. package/dist/esm/services/db/subscriptions-db-service.js +31 -0
  367. package/dist/esm/services/db/subscriptions-db-service.js.map +1 -0
  368. package/dist/esm/services/email-verification/contact-email-verification-service.d.ts +7 -0
  369. package/dist/esm/services/email-verification/contact-email-verification-service.js +98 -0
  370. package/dist/esm/services/email-verification/contact-email-verification-service.js.map +1 -0
  371. package/dist/esm/services/email-verification/email-verification-service.d.ts +19 -0
  372. package/dist/esm/services/email-verification/email-verification-service.js +128 -0
  373. package/dist/esm/services/email-verification/email-verification-service.js.map +1 -0
  374. package/dist/esm/services/email-verification/index.d.ts +2 -0
  375. package/dist/esm/services/email-verification/index.js +3 -0
  376. package/dist/esm/services/email-verification/index.js.map +1 -0
  377. package/dist/esm/services/events/log-event-service.d.ts +11 -1
  378. package/dist/esm/services/events/log-event-service.js +25 -4
  379. package/dist/esm/services/events/log-event-service.js.map +1 -1
  380. package/dist/esm/services/index.d.ts +2 -0
  381. package/dist/esm/services/index.js +2 -0
  382. package/dist/esm/services/index.js.map +1 -1
  383. package/dist/esm/types/acuity-types.d.ts +74 -0
  384. package/dist/esm/types/acuity-types.js +2 -0
  385. package/dist/esm/types/acuity-types.js.map +1 -0
  386. package/dist/esm/types/index.d.ts +3 -0
  387. package/dist/esm/types/index.js +3 -0
  388. package/dist/esm/types/index.js.map +1 -1
  389. package/dist/esm/types/shopify-graphql-types/admin.generated.d.ts +38 -38
  390. package/dist/esm/types/shopify-graphql-types/admin.types.js.map +1 -1
  391. package/dist/esm/types/shopify-rest-types.d.ts +767 -0
  392. package/dist/esm/types/shopify-rest-types.js +2 -0
  393. package/dist/esm/types/shopify-rest-types.js.map +1 -0
  394. package/dist/esm/utils/compression.d.ts +36 -0
  395. package/dist/esm/utils/compression.js +188 -0
  396. package/dist/esm/utils/compression.js.map +1 -0
  397. package/dist/esm/utils/custom-measure-formula-utils.d.ts +6 -0
  398. package/dist/esm/utils/custom-measure-formula-utils.js +202 -0
  399. package/dist/esm/utils/custom-measure-formula-utils.js.map +1 -0
  400. package/dist/esm/utils/index.d.ts +4 -0
  401. package/dist/esm/utils/index.js +5 -0
  402. package/dist/esm/utils/index.js.map +1 -0
  403. package/dist/esm/utils/retry-envelope.d.ts +12 -0
  404. package/dist/esm/utils/retry-envelope.js +23 -0
  405. package/dist/esm/utils/retry-envelope.js.map +1 -0
  406. package/dist/esm/utils/size.d.ts +2 -0
  407. package/dist/esm/utils/size.js +45 -0
  408. package/dist/esm/utils/size.js.map +1 -0
  409. package/package.json +2 -4
  410. package/dist/cjs/services/db/purchased-contacts-db-service.js.map +0 -1
  411. package/dist/esm/services/db/purchased-contacts-db-service.js.map +0 -1
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.removeDuplicateDottedEmailVariationContacts = exports.removeDuplicateNonDottedGmailContacts = exports.removeInvalidContactsByEmail = exports.removeDuplicateContactsByEmail = exports.normalizeThirdPartyContacts = exports.buildThirdPartyTraits = void 0;
4
+ const at_shared_utils_1 = require("@adtrackify/at-shared-utils");
5
+ const helpers_1 = require("../helpers");
6
+ const crypto_js_1 = require("./crypto.js");
7
+ const emails_js_1 = require("./emails.js");
8
+ const strings_js_1 = require("./strings.js");
9
+ const traits_js_1 = require("./traits.js");
10
+ const buildThirdPartyTraits = (contacts, sourceId, contactGroupId) => {
11
+ try {
12
+ const emails = contacts.map((contact) => contact.emailAddress).filter((email) => !!email);
13
+ const phones = contacts
14
+ .flatMap((contact) => [contact.mobilePhone1, contact.homePhone1])
15
+ .filter((phone) => !!phone)
16
+ .map((phone) => (0, traits_js_1.safeParsePhone)(phone))
17
+ .filter((phone) => !!phone);
18
+ const now = Date.now();
19
+ return {
20
+ ...(contactGroupId ? { cgId: contactGroupId } : {}),
21
+ si: sourceId,
22
+ esha2: (0, at_shared_utils_1.getCleanedArray)(emails).map((email) => (0, crypto_js_1.generateSha256Hash)(email)),
23
+ psha2: (0, at_shared_utils_1.getCleanedArray)(phones).map((phone) => (0, crypto_js_1.generateSha256Hash)(phone)),
24
+ cra: now,
25
+ upa: now,
26
+ };
27
+ }
28
+ catch (error) {
29
+ helpers_1.Logger.error('Failed to build third party traits', { error, sourceId });
30
+ return null;
31
+ }
32
+ };
33
+ exports.buildThirdPartyTraits = buildThirdPartyTraits;
34
+ const normalizeThirdPartyContacts = (contacts) => {
35
+ try {
36
+ return contacts.map((contact) => {
37
+ return {
38
+ ...contact,
39
+ emailAddress: contact.emailAddress?.trim()?.toLowerCase(),
40
+ firstName: contact?.firstName ? (0, strings_js_1.capitalizeEachWord)(contact?.firstName?.trim()) : undefined,
41
+ lastName: contact?.lastName ? (0, strings_js_1.capitalizeEachWord)(contact?.lastName?.trim()) : undefined,
42
+ };
43
+ });
44
+ }
45
+ catch (error) {
46
+ helpers_1.Logger.error('Failed to normalize third party contacts', { error });
47
+ return contacts;
48
+ }
49
+ };
50
+ exports.normalizeThirdPartyContacts = normalizeThirdPartyContacts;
51
+ const removeDuplicateContactsByEmail = (contacts, emailKey) => {
52
+ return contacts.filter((contact, index, self) => index === self.findIndex((t) => t[emailKey] === contact[emailKey]));
53
+ };
54
+ exports.removeDuplicateContactsByEmail = removeDuplicateContactsByEmail;
55
+ const removeInvalidContactsByEmail = (contacts, emailKey) => {
56
+ return contacts.filter((contact) => contact[emailKey] && contact?.[emailKey]?.trim() !== '' && (0, emails_js_1.validateEmail)(contact[emailKey]));
57
+ };
58
+ exports.removeInvalidContactsByEmail = removeInvalidContactsByEmail;
59
+ const removeDuplicateNonDottedGmailContacts = (contacts) => {
60
+ try {
61
+ if (!contacts || contacts.length === 0) {
62
+ return contacts;
63
+ }
64
+ const uniqueContacts = [];
65
+ for (const contact of contacts) {
66
+ if (!contact.emailAddress) {
67
+ uniqueContacts.push(contact);
68
+ }
69
+ else if (!contact?.emailAddress?.includes('@gmail.com')) {
70
+ uniqueContacts.push(contact);
71
+ }
72
+ else {
73
+ const parts = contact?.emailAddress?.split('@') ?? [];
74
+ const localPart = parts[0];
75
+ const normalizedEmail = (0, emails_js_1.normalizeGmailAddress)(contact.emailAddress);
76
+ const existingIndex = uniqueContacts.findIndex((x) => x.emailAddress &&
77
+ (0, emails_js_1.normalizeGmailAddress)(x.emailAddress) === normalizedEmail &&
78
+ x.emailAddress !== contact.emailAddress);
79
+ const isDotted = localPart.includes('.');
80
+ if (existingIndex !== -1) {
81
+ const existingContact = uniqueContacts[existingIndex];
82
+ const existingIsDotted = existingContact.emailAddress?.split('@')[0]?.includes('.');
83
+ if (isDotted && !existingIsDotted) {
84
+ helpers_1.Logger.info('contact acquisition - Replacing non-dotted Gmail with dotted Gmail contact', {
85
+ replacing: existingContact,
86
+ with: contact,
87
+ });
88
+ uniqueContacts.splice(existingIndex, 1, contact);
89
+ }
90
+ else {
91
+ helpers_1.Logger.info('contact acquisition - Duplicate Gmail contact found -- skipping', {
92
+ contact,
93
+ existingContact,
94
+ });
95
+ }
96
+ }
97
+ else {
98
+ uniqueContacts.push(contact);
99
+ }
100
+ }
101
+ }
102
+ helpers_1.Logger.info('contact acquisition - Removed non-dotted duplicate gmail contacts', {
103
+ originalCount: contacts.length,
104
+ uniqueCount: uniqueContacts.length,
105
+ removedCount: contacts.length - uniqueContacts.length,
106
+ });
107
+ return uniqueContacts;
108
+ }
109
+ catch (error) {
110
+ helpers_1.Logger.error('contact acquisition - Failed to remove non-dotted duplicate gmail contacts', { error });
111
+ return contacts;
112
+ }
113
+ };
114
+ exports.removeDuplicateNonDottedGmailContacts = removeDuplicateNonDottedGmailContacts;
115
+ const removeDuplicateDottedEmailVariationContacts = (contacts) => {
116
+ try {
117
+ if (!contacts || contacts.length === 0) {
118
+ return contacts;
119
+ }
120
+ const seenNormalizedEmails = new Map();
121
+ const uniqueContacts = [];
122
+ for (const contact of contacts) {
123
+ if (!contact.emailAddress) {
124
+ uniqueContacts.push(contact);
125
+ continue;
126
+ }
127
+ const normalizedEmail = (0, emails_js_1.normalizeGmailAddress)(contact.emailAddress);
128
+ contact.emailAddress = normalizedEmail;
129
+ if (!seenNormalizedEmails.has(normalizedEmail)) {
130
+ seenNormalizedEmails.set(normalizedEmail, contact);
131
+ uniqueContacts.push(contact);
132
+ }
133
+ else {
134
+ helpers_1.Logger.info('contact acquisition - Duplicate dotted email gmail variation found -- skipping', {
135
+ contact,
136
+ normalizedEmail,
137
+ });
138
+ }
139
+ }
140
+ helpers_1.Logger.info('contact acquisition - Removed duplicate dotted email variations', {
141
+ originalCount: contacts.length,
142
+ uniqueCount: uniqueContacts.length,
143
+ removedCount: contacts.length - uniqueContacts.length,
144
+ });
145
+ return uniqueContacts;
146
+ }
147
+ catch (error) {
148
+ helpers_1.Logger.error('contact acquisition - Failed to remove duplicate dotted email variations', { error });
149
+ return contacts;
150
+ }
151
+ };
152
+ exports.removeDuplicateDottedEmailVariationContacts = removeDuplicateDottedEmailVariationContacts;
153
+ //# sourceMappingURL=contacts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contacts.js","sourceRoot":"","sources":["../../../src/libs/contacts.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,7 @@ export declare const normalizeGmailAddress: (email: string) => string;
2
2
  export declare const validateEmail: (email: string) => boolean;
3
3
  export declare const riskyEmailDomains: string[];
4
4
  export declare const disposableEmailDomains: string[];
5
+ export declare const blacklistedEmailDomains: string[];
5
6
  export declare const isDisposableEmail: (email: string) => boolean;
6
7
  export declare const isYahooEmail: (email: string) => boolean;
8
+ export declare const isBlacklistedEmail: (email: string) => boolean;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isYahooEmail = exports.isDisposableEmail = exports.disposableEmailDomains = exports.riskyEmailDomains = exports.validateEmail = exports.normalizeGmailAddress = void 0;
3
+ exports.isBlacklistedEmail = exports.isYahooEmail = exports.isDisposableEmail = exports.blacklistedEmailDomains = exports.disposableEmailDomains = exports.riskyEmailDomains = exports.validateEmail = exports.normalizeGmailAddress = void 0;
4
4
  const helpers_1 = require("../helpers");
5
5
  const normalizeGmailAddress = (email) => {
6
6
  if (!email || typeof email !== 'string') {
@@ -112,6 +112,34 @@ exports.disposableEmailDomains = [
112
112
  'guerrillamail.biz',
113
113
  'guerrillamail.com',
114
114
  ];
115
+ exports.blacklistedEmailDomains = [
116
+ 'consolidated.net',
117
+ 'consolidated.com',
118
+ 'consolidated.org',
119
+ 'consolidated.org',
120
+ 'cicmed.org',
121
+ 'netzero.net',
122
+ 'netzero.com',
123
+ 'netscape.com',
124
+ 'netscape.net',
125
+ 'webtv.net',
126
+ 'mindspring.com',
127
+ 'mac.com',
128
+ 'rocketmail.com',
129
+ 'yahoo.net',
130
+ 'amazom.com',
131
+ 'mailinator.com',
132
+ 'yopmail.com',
133
+ 'maildrop.cc',
134
+ 'maildrop.cc',
135
+ 'mailnesia.com',
136
+ 'guerrillamail.com',
137
+ 'guerrillamailblock.com',
138
+ 'guerrillamail.org',
139
+ 'guerrillamail.net',
140
+ 'guerrillamail.biz',
141
+ 'guerrillamail.com',
142
+ ];
115
143
  const isDisposableEmail = (email) => {
116
144
  return exports.disposableEmailDomains.some((domain) => email.includes(domain));
117
145
  };
@@ -120,4 +148,8 @@ const isYahooEmail = (email) => {
120
148
  return exports.riskyEmailDomains.some((domain) => email.includes(domain));
121
149
  };
122
150
  exports.isYahooEmail = isYahooEmail;
151
+ const isBlacklistedEmail = (email) => {
152
+ return exports.blacklistedEmailDomains.some((domain) => email.includes(domain));
153
+ };
154
+ exports.isBlacklistedEmail = isBlacklistedEmail;
123
155
  //# sourceMappingURL=emails.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"emails.js","sourceRoot":"","sources":["../../../src/libs/emails.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emails.js","sourceRoot":"","sources":["../../../src/libs/emails.ts"],"names":[],"mappings":"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"}
@@ -15,3 +15,5 @@ export * from './strings.js';
15
15
  export * from './cookie.js';
16
16
  export * from './domain.js';
17
17
  export * from './emails.js';
18
+ export * from './contacts.js';
19
+ export * from './api-router/index.js';
@@ -31,4 +31,6 @@ __exportStar(require("./strings.js"), exports);
31
31
  __exportStar(require("./cookie.js"), exports);
32
32
  __exportStar(require("./domain.js"), exports);
33
33
  __exportStar(require("./emails.js"), exports);
34
+ __exportStar(require("./contacts.js"), exports);
35
+ __exportStar(require("./api-router/index.js"), exports);
34
36
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/libs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA6C;AAC7C,8CAA4B;AAC5B,6CAA2B;AAC3B,kDAAgC;AAChC,yDAAuC;AACvC,2CAAyB;AACzB,6DAA2C;AAC3C,uDAAqC;AACrC,mDAAiC;AACjC,2CAAyB;AACzB,8CAA4B;AAC5B,gDAA8B;AAC9B,+CAA6B;AAC7B,+CAA6B;AAC7B,8CAA4B;AAC5B,8CAA4B;AAC5B,8CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/libs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA6C;AAC7C,8CAA4B;AAC5B,6CAA2B;AAC3B,kDAAgC;AAChC,yDAAuC;AACvC,2CAAyB;AACzB,6DAA2C;AAC3C,uDAAqC;AACrC,mDAAiC;AACjC,2CAAyB;AACzB,8CAA4B;AAC5B,gDAA8B;AAC9B,+CAA6B;AAC7B,+CAA6B;AAC7B,8CAA4B;AAC5B,8CAA4B;AAC5B,8CAA4B;AAC5B,gDAA8B;AAC9B,wDAAsC"}
@@ -0,0 +1,9 @@
1
+ import { Destination } from '@adtrackify/at-tracking-event-types';
2
+ import { AcuityBatchContactResponse, AcuityContactResponse } from '../types/acuity-types';
3
+ export declare class AcuityApiService {
4
+ private acuityClient;
5
+ constructor(acuityKeyId: string, acuitySecret: string);
6
+ getAcuityContactsByMd5: (pixelId: string, identityId: string, md5Hash: string, contactAcquisitionIntegration: Destination) => Promise<AcuityContactResponse | null>;
7
+ getAcuityContactsByEmail: (pixelId: string, identityId: string, email: string, contactAcquisitionIntegration: Destination) => Promise<AcuityContactResponse | null>;
8
+ getAcuityContactsByMd5Batch: (pixelId: string, identityId: string, md5Hashes: string[], contactAcquisitionIntegration: Destination) => Promise<AcuityBatchContactResponse | null>;
9
+ }
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AcuityApiService = void 0;
4
+ const acuity_client_1 = require("../clients/third-party/acuity-client");
5
+ const helpers_1 = require("../helpers");
6
+ class AcuityApiService {
7
+ acuityClient;
8
+ constructor(acuityKeyId, acuitySecret) {
9
+ this.acuityClient = new acuity_client_1.AcuityClient(acuityKeyId, acuitySecret);
10
+ }
11
+ getAcuityContactsByMd5 = async (pixelId, identityId, md5Hash, contactAcquisitionIntegration) => {
12
+ try {
13
+ const md5ContactsResponse = await this.acuityClient.getContactsByMd5(md5Hash);
14
+ if (md5ContactsResponse.status !== 200) {
15
+ helpers_1.Logger.error('Failed to get acuity contacts by md5', {
16
+ pixelId,
17
+ identityId,
18
+ md5Hash,
19
+ contactAcquisitionIntegration,
20
+ md5ContactsResponse,
21
+ });
22
+ return null;
23
+ }
24
+ return md5ContactsResponse.data;
25
+ }
26
+ catch (error) {
27
+ helpers_1.Logger.error('Failed to get acuity contacts by md5', { error });
28
+ return null;
29
+ }
30
+ };
31
+ getAcuityContactsByEmail = async (pixelId, identityId, email, contactAcquisitionIntegration) => {
32
+ try {
33
+ const emailContactsResponse = await this.acuityClient.getContactsByEmail(email);
34
+ if (emailContactsResponse.status !== 200) {
35
+ helpers_1.Logger.error('Failed to get acuity contacts by email', {
36
+ pixelId,
37
+ identityId,
38
+ contactAcquisitionIntegration,
39
+ emailContactsResponse,
40
+ });
41
+ return null;
42
+ }
43
+ return emailContactsResponse.data;
44
+ }
45
+ catch (error) {
46
+ helpers_1.Logger.error('Failed to get acuity contacts by email', { error, pixelId, identityId });
47
+ return null;
48
+ }
49
+ };
50
+ getAcuityContactsByMd5Batch = async (pixelId, identityId, md5Hashes, contactAcquisitionIntegration) => {
51
+ try {
52
+ const result = {};
53
+ for (const md5Hash of md5Hashes) {
54
+ const md5ContactsResponse = await this.acuityClient.getContactsByMd5(md5Hash);
55
+ if (md5ContactsResponse.status === 200 && md5ContactsResponse.data?.identities) {
56
+ result[md5Hash] = md5ContactsResponse.data.identities;
57
+ }
58
+ }
59
+ return result;
60
+ }
61
+ catch (error) {
62
+ helpers_1.Logger.error('Failed to get acuity contacts by md5 batch', {
63
+ error,
64
+ pixelId,
65
+ identityId,
66
+ md5HashesCount: md5Hashes.length,
67
+ contactAcquisitionIntegration,
68
+ });
69
+ return null;
70
+ }
71
+ };
72
+ }
73
+ exports.AcuityApiService = AcuityApiService;
74
+ //# sourceMappingURL=acuity-api-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acuity-api-service.js","sourceRoot":"","sources":["../../../src/services/acuity-api-service.ts"],"names":[],"mappings":";;;AAEA,wEAAoE;AACpE,wCAAoC;AAGpC,MAAa,gBAAgB;IACnB,YAAY,CAAe;IAEnC,YAAY,WAAmB,EAAE,YAAoB;QACnD,IAAI,CAAC,YAAY,GAAG,IAAI,4BAAY,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAClE,CAAC;IAEM,sBAAsB,GAAG,KAAK,EACnC,OAAe,EACf,UAAkB,EAClB,OAAe,EACf,6BAA0C,EACH,EAAE;QACzC,IAAI;YACF,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC9E,IAAI,mBAAmB,CAAC,MAAM,KAAK,GAAG,EAAE;gBACtC,gBAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE;oBACnD,OAAO;oBACP,UAAU;oBACV,OAAO;oBACP,6BAA6B;oBAC7B,mBAAmB;iBACpB,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;aACb;YACD,OAAO,mBAAmB,CAAC,IAAI,CAAC;SACjC;QAAC,OAAO,KAAK,EAAE;YACd,gBAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC;SACb;IACH,CAAC,CAAC;IAGK,wBAAwB,GAAG,KAAK,EACrC,OAAe,EACf,UAAkB,EAClB,KAAa,EACb,6BAA0C,EACH,EAAE;QACzC,IAAI;YACF,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAChF,IAAI,qBAAqB,CAAC,MAAM,KAAK,GAAG,EAAE;gBACxC,gBAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE;oBACrD,OAAO;oBACP,UAAU;oBACV,6BAA6B;oBAC7B,qBAAqB;iBACtB,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;aACb;YACD,OAAO,qBAAqB,CAAC,IAAI,CAAC;SACnC;QAAC,OAAO,KAAK,EAAE;YACd,gBAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;YACvF,OAAO,IAAI,CAAC;SACb;IACH,CAAC,CAAC;IAEK,2BAA2B,GAAG,KAAK,EACxC,OAAe,EACf,UAAkB,EAClB,SAAmB,EACnB,6BAA0C,EACE,EAAE;QAC9C,IAAI;YACF,MAAM,MAAM,GAA+B,EAAE,CAAC;YAC9C,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE;gBAC/B,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBAC9E,IAAI,mBAAmB,CAAC,MAAM,KAAK,GAAG,IAAI,mBAAmB,CAAC,IAAI,EAAE,UAAU,EAAE;oBAC9E,MAAM,CAAC,OAAO,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC;iBACvD;aACF;YACD,OAAO,MAAM,CAAC;SACf;QAAC,OAAO,KAAK,EAAE;YACd,gBAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE;gBACzD,KAAK;gBACL,OAAO;gBACP,UAAU;gBACV,cAAc,EAAE,SAAS,CAAC,MAAM;gBAChC,6BAA6B;aAC9B,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;SACb;IACH,CAAC,CAAC;CACH;AAnFD,4CAmFC"}
@@ -0,0 +1,9 @@
1
+ import { type Account } from '@adtrackify/at-tracking-event-types';
2
+ export declare class AccountsDbService {
3
+ TABLE_NAME: string;
4
+ TABLE_KEY: string;
5
+ constructor(tableName: string, tableKey?: string);
6
+ getAccountById: (accountId: string) => Promise<Account | null>;
7
+ batchGetAccountsById: (accountIds: string[]) => Promise<Account[]>;
8
+ private normalizeAccount;
9
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AccountsDbService = void 0;
4
+ const at_tracking_event_types_1 = require("@adtrackify/at-tracking-event-types");
5
+ const dynamodb_client_js_1 = require("../../clients/generic/dynamodb-client.js");
6
+ class AccountsDbService {
7
+ TABLE_NAME;
8
+ TABLE_KEY;
9
+ constructor(tableName, tableKey = 'id') {
10
+ this.TABLE_NAME = tableName;
11
+ this.TABLE_KEY = tableKey;
12
+ }
13
+ getAccountById = async (accountId) => {
14
+ const account = await dynamodb_client_js_1.DynamoDbClient.safeGet(this.TABLE_NAME, this.TABLE_KEY, accountId);
15
+ if (!account) {
16
+ return null;
17
+ }
18
+ return this.normalizeAccount(account);
19
+ };
20
+ batchGetAccountsById = async (accountIds) => {
21
+ const keys = accountIds.map((accountId) => ({ [this.TABLE_KEY]: accountId }));
22
+ const accounts = await dynamodb_client_js_1.DynamoDbClient.safeBatchGet(this.TABLE_NAME, keys);
23
+ return (accounts ?? []).map((account) => this.normalizeAccount(account));
24
+ };
25
+ normalizeAccount = (account) => {
26
+ if (!account.accountSubscriptionType) {
27
+ account.accountSubscriptionType = at_tracking_event_types_1.ACCOUNT_SUBSCRIPTION_TYPE.SHOPIFY;
28
+ account.isPlatformMigrated = false;
29
+ }
30
+ return account;
31
+ };
32
+ }
33
+ exports.AccountsDbService = AccountsDbService;
34
+ //# sourceMappingURL=accounts-db-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accounts-db-service.js","sourceRoot":"","sources":["../../../../src/services/db/accounts-db-service.ts"],"names":[],"mappings":";;;AAAA,iFAA8F;AAC9F,iFAA0E;AAE1E,MAAa,iBAAiB;IACrB,UAAU,CAAS;IACnB,SAAS,CAAS;IAEzB,YAAY,SAAiB,EAAE,QAAQ,GAAG,IAAI;QAC5C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAEM,cAAc,GAAG,KAAK,EAAE,SAAiB,EAA2B,EAAE;QAC3E,MAAM,OAAO,GAAG,MAAM,mCAAc,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACzF,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,IAAI,CAAC;SACb;QACD,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAkB,CAAC,CAAC;IACnD,CAAC,CAAC;IAEK,oBAAoB,GAAG,KAAK,EAAE,UAAoB,EAAsB,EAAE;QAC/E,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QAC9E,MAAM,QAAQ,GAAG,MAAM,mCAAc,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC1E,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAkB,CAAC,CAAC,CAAC;IACtF,CAAC,CAAC;IAEM,gBAAgB,GAAG,CAAC,OAAgB,EAAW,EAAE;QACvD,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE;YACpC,OAAO,CAAC,uBAAuB,GAAG,mDAAyB,CAAC,OAAO,CAAC;YACpE,OAAO,CAAC,kBAAkB,GAAG,KAAK,CAAC;SACpC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;CACH;AA9BD,8CA8BC"}
@@ -0,0 +1,10 @@
1
+ import { type ApiKeyRecord } from '@adtrackify/at-tracking-event-types';
2
+ export declare class ApiKeysDbService {
3
+ TABLE_NAME: string;
4
+ TABLE_KEY: string;
5
+ constructor(tableName: string, tableKey?: string);
6
+ createApiKey: (record: ApiKeyRecord) => Promise<ApiKeyRecord>;
7
+ getApiKeyByPk: (pk: string) => Promise<ApiKeyRecord | null>;
8
+ getApiKeysByPixelId: (gsiName: string, pixelId: string) => Promise<ApiKeyRecord[]>;
9
+ deleteApiKey: (pk: string) => Promise<void>;
10
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ApiKeysDbService = void 0;
4
+ const dynamodb_client_js_1 = require("../../clients/generic/dynamodb-client.js");
5
+ const dates_js_1 = require("../../libs/dates.js");
6
+ const http_error_js_1 = require("../../libs/http-error.js");
7
+ const logging_helper_js_1 = require("../../helpers/logging-helper.js");
8
+ class ApiKeysDbService {
9
+ TABLE_NAME;
10
+ TABLE_KEY;
11
+ constructor(tableName, tableKey = 'pk') {
12
+ this.TABLE_NAME = tableName;
13
+ this.TABLE_KEY = tableKey;
14
+ }
15
+ createApiKey = async (record) => {
16
+ record.updatedAt = (0, dates_js_1.getCurrentTimestamp)();
17
+ const res = await dynamodb_client_js_1.DynamoDbClient.safePut(this.TABLE_NAME, record);
18
+ if (!res) {
19
+ logging_helper_js_1.Logger.error('ApiKeysDbService: createApiKey failed', { record });
20
+ throw http_error_js_1.HttpError.internal();
21
+ }
22
+ return record;
23
+ };
24
+ getApiKeyByPk = async (pk) => {
25
+ const result = await dynamodb_client_js_1.DynamoDbClient.safeGet(this.TABLE_NAME, this.TABLE_KEY, pk);
26
+ return result ?? null;
27
+ };
28
+ getApiKeysByPixelId = async (gsiName, pixelId) => {
29
+ const records = await dynamodb_client_js_1.DynamoDbClient.safeQueryByGSI(this.TABLE_NAME, gsiName, 'pixelId', pixelId);
30
+ return records || [];
31
+ };
32
+ deleteApiKey = async (pk) => {
33
+ await dynamodb_client_js_1.DynamoDbClient.safeDelete(this.TABLE_NAME, this.TABLE_KEY, pk);
34
+ };
35
+ }
36
+ exports.ApiKeysDbService = ApiKeysDbService;
37
+ //# sourceMappingURL=api-keys-db-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-keys-db-service.js","sourceRoot":"","sources":["../../../../src/services/db/api-keys-db-service.ts"],"names":[],"mappings":";;;AACA,iFAA0E;AAC1E,kDAA0D;AAC1D,4DAAqD;AACrD,uEAAyD;AAEzD,MAAa,gBAAgB;IACpB,UAAU,CAAS;IACnB,SAAS,CAAS;IAEzB,YAAY,SAAiB,EAAE,QAAQ,GAAG,IAAI;QAC5C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAEM,YAAY,GAAG,KAAK,EAAE,MAAoB,EAAyB,EAAE;QAC1E,MAAM,CAAC,SAAS,GAAG,IAAA,8BAAmB,GAAE,CAAC;QACzC,MAAM,GAAG,GAAG,MAAM,mCAAc,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAClE,IAAI,CAAC,GAAG,EAAE;YACR,0BAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAClE,MAAM,yBAAS,CAAC,QAAQ,EAAE,CAAC;SAC5B;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEK,aAAa,GAAG,KAAK,EAAE,EAAU,EAAgC,EAAE;QACxE,MAAM,MAAM,GAAG,MAAM,mCAAc,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACjF,OAAQ,MAAuB,IAAI,IAAI,CAAC;IAC1C,CAAC,CAAC;IAEK,mBAAmB,GAAG,KAAK,EAAE,OAAe,EAAE,OAAe,EAA2B,EAAE;QAC/F,MAAM,OAAO,GAAG,MAAM,mCAAc,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAClG,OAAQ,OAA0B,IAAI,EAAE,CAAC;IAC3C,CAAC,CAAC;IAEK,YAAY,GAAG,KAAK,EAAE,EAAU,EAAiB,EAAE;QACxD,MAAM,mCAAc,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACvE,CAAC,CAAC;CACH;AAhCD,4CAgCC"}
@@ -0,0 +1,15 @@
1
+ import { ContactEnrichment } from '@adtrackify/at-tracking-event-types';
2
+ export declare class ContactEnrichmentsDbService {
3
+ TABLE_NAME: string;
4
+ TABLE_KEY: string;
5
+ EMAIL_INDEX_NAME: string;
6
+ MD5_INDEX_NAME: string;
7
+ SHA2_INDEX_NAME: string;
8
+ constructor(tableName: string, contactEnrichmentsKey: string, STAGE: string);
9
+ buildContactEnrichment: (input: Omit<ContactEnrichment, 'id' | 'createdAt' | 'updatedAt'>) => ContactEnrichment;
10
+ putContactEnrichment: (contactEnrichment: ContactEnrichment) => Promise<ContactEnrichment>;
11
+ getContactEnrichment: (id: string) => Promise<ContactEnrichment | null>;
12
+ getContactEnrichmentsByEmail: (email: string) => Promise<ContactEnrichment[]>;
13
+ getContactEnrichmentsByMd5: (md5: string) => Promise<ContactEnrichment[]>;
14
+ getContactEnrichmentsBySha2: (sha2: string) => Promise<ContactEnrichment[]>;
15
+ }
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContactEnrichmentsDbService = void 0;
4
+ const dynamodb_client_js_1 = require("../../clients/generic/dynamodb-client.js");
5
+ const libs_1 = require("../../libs");
6
+ const helpers_1 = require("../../helpers");
7
+ const ulid_1 = require("ulid");
8
+ class ContactEnrichmentsDbService {
9
+ TABLE_NAME;
10
+ TABLE_KEY;
11
+ EMAIL_INDEX_NAME;
12
+ MD5_INDEX_NAME;
13
+ SHA2_INDEX_NAME;
14
+ constructor(tableName, contactEnrichmentsKey, STAGE) {
15
+ this.TABLE_NAME = tableName;
16
+ this.TABLE_KEY = contactEnrichmentsKey;
17
+ this.EMAIL_INDEX_NAME = `${STAGE}-contact-enrichments-gsi-email`;
18
+ this.MD5_INDEX_NAME = `${STAGE}-contact-enrichments-gsi-md5`;
19
+ this.SHA2_INDEX_NAME = `${STAGE}-contact-enrichments-gsi-sha2`;
20
+ }
21
+ buildContactEnrichment = (input) => {
22
+ const currentTimestamp = (0, libs_1.getCurrentTimestamp)();
23
+ const contactEnrichment = {
24
+ ...input,
25
+ id: (0, ulid_1.ulid)(),
26
+ createdAt: currentTimestamp,
27
+ updatedAt: currentTimestamp,
28
+ };
29
+ return contactEnrichment;
30
+ };
31
+ putContactEnrichment = async (contactEnrichment) => {
32
+ await dynamodb_client_js_1.DynamoDbClient.safePut(this.TABLE_NAME, contactEnrichment);
33
+ return contactEnrichment;
34
+ };
35
+ getContactEnrichment = async (id) => {
36
+ try {
37
+ const contactEnrichment = await dynamodb_client_js_1.DynamoDbClient.safeGet(this.TABLE_NAME, this.TABLE_KEY, id);
38
+ return contactEnrichment ?? null;
39
+ }
40
+ catch (error) {
41
+ helpers_1.Logger.error('failed to getContactEnrichment', { error, id });
42
+ return null;
43
+ }
44
+ };
45
+ getContactEnrichmentsByEmail = async (email) => {
46
+ try {
47
+ const query = {
48
+ TableName: this.TABLE_NAME,
49
+ IndexName: this.EMAIL_INDEX_NAME,
50
+ KeyConditionExpression: 'email = :email',
51
+ ExpressionAttributeValues: { ':email': email },
52
+ };
53
+ const contactEnrichments = await dynamodb_client_js_1.DynamoDbClient.queryAll(query);
54
+ return (contactEnrichments ?? []);
55
+ }
56
+ catch (error) {
57
+ helpers_1.Logger.error('failed to getContactEnrichmentsByEmail', { error, email });
58
+ return [];
59
+ }
60
+ };
61
+ getContactEnrichmentsByMd5 = async (md5) => {
62
+ try {
63
+ const query = {
64
+ TableName: this.TABLE_NAME,
65
+ IndexName: this.MD5_INDEX_NAME,
66
+ KeyConditionExpression: 'md5 = :md5',
67
+ ExpressionAttributeValues: { ':md5': md5 },
68
+ };
69
+ const contactEnrichments = await dynamodb_client_js_1.DynamoDbClient.queryAll(query);
70
+ return (contactEnrichments ?? []);
71
+ }
72
+ catch (error) {
73
+ helpers_1.Logger.error('failed to getContactEnrichmentsByMd5', { error, md5 });
74
+ return [];
75
+ }
76
+ };
77
+ getContactEnrichmentsBySha2 = async (sha2) => {
78
+ try {
79
+ const query = {
80
+ TableName: this.TABLE_NAME,
81
+ IndexName: this.SHA2_INDEX_NAME,
82
+ KeyConditionExpression: 'sha2 = :sha2',
83
+ ExpressionAttributeValues: { ':sha2': sha2 },
84
+ };
85
+ const contactEnrichments = await dynamodb_client_js_1.DynamoDbClient.queryAll(query);
86
+ return (contactEnrichments ?? []);
87
+ }
88
+ catch (error) {
89
+ helpers_1.Logger.error('failed to getContactEnrichmentsBySha2', { error, sha2 });
90
+ return [];
91
+ }
92
+ };
93
+ }
94
+ exports.ContactEnrichmentsDbService = ContactEnrichmentsDbService;
95
+ //# sourceMappingURL=contact-enrichments-db-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contact-enrichments-db-service.js","sourceRoot":"","sources":["../../../../src/services/db/contact-enrichments-db-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { type CustomMeasureRecord } from '@adtrackify/at-tracking-event-types';
2
+ export declare class CustomMeasuresDbService {
3
+ TABLE_NAME: string;
4
+ TABLE_KEY: string;
5
+ constructor(tableName: string, tableKey?: string);
6
+ listByPixelId: (gsiName: string, pixelId: string) => Promise<CustomMeasureRecord[]>;
7
+ listPageByPixelId: (gsiName: string, pixelId: string, limit: number, exclusiveStartKey?: Record<string, any>) => Promise<{
8
+ items: CustomMeasureRecord[];
9
+ lastEvaluatedKey?: Record<string, any>;
10
+ }>;
11
+ getById: (id: string) => Promise<CustomMeasureRecord | null>;
12
+ putMeasure: (record: CustomMeasureRecord) => Promise<CustomMeasureRecord>;
13
+ deleteMeasure: (id: string) => Promise<void>;
14
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CustomMeasuresDbService = void 0;
4
+ const dynamodb_client_js_1 = require("../../clients/generic/dynamodb-client.js");
5
+ const http_error_js_1 = require("../../libs/http-error.js");
6
+ const logging_helper_js_1 = require("../../helpers/logging-helper.js");
7
+ class CustomMeasuresDbService {
8
+ TABLE_NAME;
9
+ TABLE_KEY;
10
+ constructor(tableName, tableKey = 'id') {
11
+ this.TABLE_NAME = tableName;
12
+ this.TABLE_KEY = tableKey;
13
+ }
14
+ listByPixelId = async (gsiName, pixelId) => {
15
+ const records = await dynamodb_client_js_1.DynamoDbClient.safeQueryByGSI(this.TABLE_NAME, gsiName, 'pixelId', pixelId);
16
+ return records || [];
17
+ };
18
+ listPageByPixelId = async (gsiName, pixelId, limit, exclusiveStartKey) => {
19
+ const result = await dynamodb_client_js_1.DynamoDbClient.query({
20
+ TableName: this.TABLE_NAME,
21
+ IndexName: gsiName,
22
+ KeyConditionExpression: 'pixelId = :pixelId',
23
+ ExpressionAttributeValues: { ':pixelId': pixelId },
24
+ Limit: limit,
25
+ ExclusiveStartKey: exclusiveStartKey,
26
+ });
27
+ return {
28
+ items: result.Items || [],
29
+ lastEvaluatedKey: result.LastEvaluatedKey,
30
+ };
31
+ };
32
+ getById = async (id) => {
33
+ const result = await dynamodb_client_js_1.DynamoDbClient.safeGet(this.TABLE_NAME, this.TABLE_KEY, id);
34
+ return result ?? null;
35
+ };
36
+ putMeasure = async (record) => {
37
+ const res = await dynamodb_client_js_1.DynamoDbClient.safePut(this.TABLE_NAME, record);
38
+ if (!res) {
39
+ logging_helper_js_1.Logger.error('CustomMeasuresDbService: putMeasure failed', { record });
40
+ throw http_error_js_1.HttpError.internal();
41
+ }
42
+ return record;
43
+ };
44
+ deleteMeasure = async (id) => {
45
+ await dynamodb_client_js_1.DynamoDbClient.safeDelete(this.TABLE_NAME, this.TABLE_KEY, id);
46
+ };
47
+ }
48
+ exports.CustomMeasuresDbService = CustomMeasuresDbService;
49
+ //# sourceMappingURL=custom-measures-db-service.js.map