@adtrackify/at-service-common 3.1.2 → 3.1.4

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 (261) hide show
  1. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  2. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.js +527 -527
  3. package/dist/cjs/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  4. package/dist/cjs/__tests__/libs/compress-decompress.spec.js +16 -16
  5. package/dist/cjs/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  6. package/dist/cjs/__tests__/s3-client/s3-client.spec.js +26 -26
  7. package/dist/cjs/clients/generic/cognito-client.d.ts +20 -20
  8. package/dist/cjs/clients/generic/cognito-client.js +164 -164
  9. package/dist/cjs/clients/generic/dynamodb-client.d.ts +17 -17
  10. package/dist/cjs/clients/generic/dynamodb-client.js +167 -167
  11. package/dist/cjs/clients/generic/eventbridge-client.d.ts +14 -14
  12. package/dist/cjs/clients/generic/eventbridge-client.js +49 -49
  13. package/dist/cjs/clients/generic/http-client.d.ts +88 -88
  14. package/dist/cjs/clients/generic/http-client.js +60 -60
  15. package/dist/cjs/clients/generic/index.d.ts +10 -10
  16. package/dist/cjs/clients/generic/index.js +26 -26
  17. package/dist/cjs/clients/generic/lambda-invoke-client.d.ts +10 -10
  18. package/dist/cjs/clients/generic/lambda-invoke-client.js +35 -35
  19. package/dist/cjs/clients/generic/location-client.d.ts +8 -8
  20. package/dist/cjs/clients/generic/location-client.js +31 -31
  21. package/dist/cjs/clients/generic/redis-client.d.ts +17 -17
  22. package/dist/cjs/clients/generic/redis-client.js +117 -117
  23. package/dist/cjs/clients/generic/s3-client.d.ts +16 -16
  24. package/dist/cjs/clients/generic/s3-client.js +110 -110
  25. package/dist/cjs/clients/generic/singlestore-db-client.d.ts +14 -14
  26. package/dist/cjs/clients/generic/singlestore-db-client.js +67 -67
  27. package/dist/cjs/clients/generic/sqs-client.d.ts +20 -20
  28. package/dist/cjs/clients/generic/sqs-client.js +36 -36
  29. package/dist/cjs/clients/index.d.ts +3 -3
  30. package/dist/cjs/clients/index.js +19 -19
  31. package/dist/cjs/clients/internal-api/accounts-client.d.ts +112 -112
  32. package/dist/cjs/clients/internal-api/accounts-client.js +117 -117
  33. package/dist/cjs/clients/internal-api/cache-lambda-client.d.ts +23 -23
  34. package/dist/cjs/clients/internal-api/cache-lambda-client.js +59 -59
  35. package/dist/cjs/clients/internal-api/db-management-client.d.ts +18 -18
  36. package/dist/cjs/clients/internal-api/db-management-client.js +39 -39
  37. package/dist/cjs/clients/internal-api/destinations-client.d.ts +29 -29
  38. package/dist/cjs/clients/internal-api/destinations-client.js +54 -54
  39. package/dist/cjs/clients/internal-api/event-collector-client.d.ts +20 -20
  40. package/dist/cjs/clients/internal-api/event-collector-client.js +39 -39
  41. package/dist/cjs/clients/internal-api/identity-client.d.ts +25 -25
  42. package/dist/cjs/clients/internal-api/identity-client.js +92 -92
  43. package/dist/cjs/clients/internal-api/index.d.ts +8 -8
  44. package/dist/cjs/clients/internal-api/index.js +24 -24
  45. package/dist/cjs/clients/internal-api/shopify-app-install-client.d.ts +34 -34
  46. package/dist/cjs/clients/internal-api/shopify-app-install-client.js +63 -63
  47. package/dist/cjs/clients/internal-api/users-auth-client.d.ts +31 -31
  48. package/dist/cjs/clients/internal-api/users-auth-client.js +92 -92
  49. package/dist/cjs/clients/third-party/index.d.ts +1 -1
  50. package/dist/cjs/clients/third-party/index.js +17 -17
  51. package/dist/cjs/clients/third-party/shopify-client.d.ts +200 -200
  52. package/dist/cjs/clients/third-party/shopify-client.js +265 -192
  53. package/dist/cjs/clients/third-party/shopify-client.js.map +1 -1
  54. package/dist/cjs/helpers/identity-cache-helper.d.ts +4 -4
  55. package/dist/cjs/helpers/identity-cache-helper.js +150 -150
  56. package/dist/cjs/helpers/index.d.ts +5 -5
  57. package/dist/cjs/helpers/index.js +21 -21
  58. package/dist/cjs/helpers/input-validation-helper.d.ts +3 -3
  59. package/dist/cjs/helpers/input-validation-helper.js +22 -22
  60. package/dist/cjs/helpers/logging-helper.d.ts +16 -16
  61. package/dist/cjs/helpers/logging-helper.js +84 -84
  62. package/dist/cjs/helpers/response-helper.d.ts +15 -15
  63. package/dist/cjs/helpers/response-helper.js +42 -42
  64. package/dist/cjs/helpers/shopify-helper.d.ts +9 -9
  65. package/dist/cjs/helpers/shopify-helper.js +28 -28
  66. package/dist/cjs/index.d.ts +5 -5
  67. package/dist/cjs/index.js +21 -21
  68. package/dist/cjs/libs/clickId-parser.d.ts +23 -23
  69. package/dist/cjs/libs/clickId-parser.js +49 -49
  70. package/dist/cjs/libs/compression.d.ts +2 -2
  71. package/dist/cjs/libs/compression.js +33 -33
  72. package/dist/cjs/libs/crypto.d.ts +1 -1
  73. package/dist/cjs/libs/crypto.js +12 -12
  74. package/dist/cjs/libs/dates.d.ts +6 -6
  75. package/dist/cjs/libs/dates.js +31 -31
  76. package/dist/cjs/libs/http-error.d.ts +21 -21
  77. package/dist/cjs/libs/http-error.js +59 -59
  78. package/dist/cjs/libs/http-status-codes.d.ts +58 -58
  79. package/dist/cjs/libs/http-status-codes.js +62 -62
  80. package/dist/cjs/libs/index.d.ts +9 -9
  81. package/dist/cjs/libs/index.js +25 -25
  82. package/dist/cjs/libs/referrer-parser/index.d.ts +2 -2
  83. package/dist/cjs/libs/referrer-parser/index.js +18 -18
  84. package/dist/cjs/libs/referrer-parser/referrer-data.d.ts +9 -9
  85. package/dist/cjs/libs/referrer-parser/referrer-data.js +4712 -4712
  86. package/dist/cjs/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  87. package/dist/cjs/libs/referrer-parser/referrer-parser-util.js +128 -128
  88. package/dist/cjs/libs/url.d.ts +1 -1
  89. package/dist/cjs/libs/url.js +13 -13
  90. package/dist/cjs/services/db/destinations-db-service.d.ts +8 -8
  91. package/dist/cjs/services/db/destinations-db-service.js +47 -47
  92. package/dist/cjs/services/db/identity-cache-db-service.d.ts +24 -24
  93. package/dist/cjs/services/db/identity-cache-db-service.js +233 -233
  94. package/dist/cjs/services/db/index.d.ts +7 -7
  95. package/dist/cjs/services/db/index.js +23 -23
  96. package/dist/cjs/services/db/log-events-db-service.d.ts +11 -11
  97. package/dist/cjs/services/db/log-events-db-service.js +172 -172
  98. package/dist/cjs/services/db/purchased-contacts-db-service.d.ts +9 -9
  99. package/dist/cjs/services/db/purchased-contacts-db-service.js +38 -38
  100. package/dist/cjs/services/db/shopify-app-installs-db-service.d.ts +7 -7
  101. package/dist/cjs/services/db/shopify-app-installs-db-service.js +47 -47
  102. package/dist/cjs/services/db/shopify-products-cache-db-service.d.ts +20 -9
  103. package/dist/cjs/services/db/shopify-products-cache-db-service.js +107 -64
  104. package/dist/cjs/services/db/shopify-products-cache-db-service.js.map +1 -1
  105. package/dist/cjs/services/db/tracking-events-db-service.d.ts +20 -20
  106. package/dist/cjs/services/db/tracking-events-db-service.js +162 -162
  107. package/dist/cjs/services/eventbridge-integration-service.d.ts +9 -9
  108. package/dist/cjs/services/eventbridge-integration-service.js +28 -28
  109. package/dist/cjs/services/index.d.ts +5 -5
  110. package/dist/cjs/services/index.js +21 -21
  111. package/dist/cjs/services/ipdata-lookup-service.d.ts +17 -17
  112. package/dist/cjs/services/ipdata-lookup-service.js +71 -71
  113. package/dist/cjs/services/log-event-service.d.ts +9 -9
  114. package/dist/cjs/services/log-event-service.js +56 -56
  115. package/dist/cjs/services/metric-event-service.d.ts +9 -9
  116. package/dist/cjs/services/metric-event-service.js +49 -49
  117. package/dist/cjs/types/api-response.d.ts +6 -6
  118. package/dist/cjs/types/api-response.js +2 -2
  119. package/dist/cjs/types/index.d.ts +2 -2
  120. package/dist/cjs/types/index.js +18 -18
  121. package/dist/cjs/types/internal-events/event-detail-types.d.ts +20 -20
  122. package/dist/cjs/types/internal-events/event-detail-types.js +27 -27
  123. package/dist/cjs/types/internal-events/index.d.ts +1 -1
  124. package/dist/cjs/types/internal-events/index.js +17 -17
  125. package/dist/cjs/types/shopify-graphql-types/admin.generated.d.ts +75 -47
  126. package/dist/cjs/types/shopify-graphql-types/admin.generated.js +2 -2
  127. package/dist/cjs/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  128. package/dist/cjs/types/shopify-graphql-types/admin.types.js +5311 -5311
  129. package/dist/cjs/types/shopify-graphql-types/index.d.ts +2 -2
  130. package/dist/cjs/types/shopify-graphql-types/index.js +18 -18
  131. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  132. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js +525 -525
  133. package/dist/esm/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  134. package/dist/esm/__tests__/libs/compress-decompress.spec.js +14 -14
  135. package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  136. package/dist/esm/__tests__/s3-client/s3-client.spec.js +24 -24
  137. package/dist/esm/clients/generic/cognito-client.d.ts +20 -20
  138. package/dist/esm/clients/generic/cognito-client.js +159 -159
  139. package/dist/esm/clients/generic/dynamodb-client.d.ts +17 -17
  140. package/dist/esm/clients/generic/dynamodb-client.js +163 -163
  141. package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
  142. package/dist/esm/clients/generic/eventbridge-client.js +45 -45
  143. package/dist/esm/clients/generic/http-client.d.ts +88 -88
  144. package/dist/esm/clients/generic/http-client.js +52 -52
  145. package/dist/esm/clients/generic/index.d.ts +10 -10
  146. package/dist/esm/clients/generic/index.js +10 -10
  147. package/dist/esm/clients/generic/lambda-invoke-client.d.ts +10 -10
  148. package/dist/esm/clients/generic/lambda-invoke-client.js +31 -31
  149. package/dist/esm/clients/generic/location-client.d.ts +8 -8
  150. package/dist/esm/clients/generic/location-client.js +27 -27
  151. package/dist/esm/clients/generic/redis-client.d.ts +17 -17
  152. package/dist/esm/clients/generic/redis-client.js +110 -110
  153. package/dist/esm/clients/generic/s3-client.d.ts +16 -16
  154. package/dist/esm/clients/generic/s3-client.js +106 -106
  155. package/dist/esm/clients/generic/singlestore-db-client.d.ts +14 -14
  156. package/dist/esm/clients/generic/singlestore-db-client.js +40 -40
  157. package/dist/esm/clients/generic/sqs-client.d.ts +20 -20
  158. package/dist/esm/clients/generic/sqs-client.js +32 -32
  159. package/dist/esm/clients/index.d.ts +3 -3
  160. package/dist/esm/clients/index.js +3 -3
  161. package/dist/esm/clients/internal-api/accounts-client.d.ts +112 -112
  162. package/dist/esm/clients/internal-api/accounts-client.js +113 -113
  163. package/dist/esm/clients/internal-api/cache-lambda-client.d.ts +23 -23
  164. package/dist/esm/clients/internal-api/cache-lambda-client.js +55 -55
  165. package/dist/esm/clients/internal-api/db-management-client.d.ts +18 -18
  166. package/dist/esm/clients/internal-api/db-management-client.js +32 -32
  167. package/dist/esm/clients/internal-api/destinations-client.d.ts +29 -29
  168. package/dist/esm/clients/internal-api/destinations-client.js +50 -50
  169. package/dist/esm/clients/internal-api/event-collector-client.d.ts +20 -20
  170. package/dist/esm/clients/internal-api/event-collector-client.js +32 -32
  171. package/dist/esm/clients/internal-api/identity-client.d.ts +25 -25
  172. package/dist/esm/clients/internal-api/identity-client.js +88 -88
  173. package/dist/esm/clients/internal-api/index.d.ts +8 -8
  174. package/dist/esm/clients/internal-api/index.js +8 -8
  175. package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +34 -34
  176. package/dist/esm/clients/internal-api/shopify-app-install-client.js +56 -56
  177. package/dist/esm/clients/internal-api/users-auth-client.d.ts +31 -31
  178. package/dist/esm/clients/internal-api/users-auth-client.js +88 -88
  179. package/dist/esm/clients/third-party/index.d.ts +1 -1
  180. package/dist/esm/clients/third-party/index.js +1 -1
  181. package/dist/esm/clients/third-party/shopify-client.d.ts +200 -200
  182. package/dist/esm/clients/third-party/shopify-client.js +261 -188
  183. package/dist/esm/clients/third-party/shopify-client.js.map +1 -1
  184. package/dist/esm/helpers/identity-cache-helper.d.ts +4 -4
  185. package/dist/esm/helpers/identity-cache-helper.js +145 -145
  186. package/dist/esm/helpers/index.d.ts +5 -5
  187. package/dist/esm/helpers/index.js +5 -5
  188. package/dist/esm/helpers/input-validation-helper.d.ts +3 -3
  189. package/dist/esm/helpers/input-validation-helper.js +18 -18
  190. package/dist/esm/helpers/logging-helper.d.ts +16 -16
  191. package/dist/esm/helpers/logging-helper.js +56 -56
  192. package/dist/esm/helpers/response-helper.d.ts +15 -15
  193. package/dist/esm/helpers/response-helper.js +36 -36
  194. package/dist/esm/helpers/shopify-helper.d.ts +9 -9
  195. package/dist/esm/helpers/shopify-helper.js +23 -23
  196. package/dist/esm/index.d.ts +5 -5
  197. package/dist/esm/index.js +5 -5
  198. package/dist/esm/libs/clickId-parser.d.ts +23 -23
  199. package/dist/esm/libs/clickId-parser.js +45 -45
  200. package/dist/esm/libs/compression.d.ts +2 -2
  201. package/dist/esm/libs/compression.js +25 -25
  202. package/dist/esm/libs/crypto.d.ts +1 -1
  203. package/dist/esm/libs/crypto.js +5 -5
  204. package/dist/esm/libs/dates.d.ts +6 -6
  205. package/dist/esm/libs/dates.js +22 -22
  206. package/dist/esm/libs/http-error.d.ts +21 -21
  207. package/dist/esm/libs/http-error.js +55 -55
  208. package/dist/esm/libs/http-status-codes.d.ts +58 -58
  209. package/dist/esm/libs/http-status-codes.js +59 -59
  210. package/dist/esm/libs/index.d.ts +9 -9
  211. package/dist/esm/libs/index.js +9 -9
  212. package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
  213. package/dist/esm/libs/referrer-parser/index.js +2 -2
  214. package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
  215. package/dist/esm/libs/referrer-parser/referrer-data.js +4709 -4709
  216. package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  217. package/dist/esm/libs/referrer-parser/referrer-parser-util.js +121 -121
  218. package/dist/esm/libs/url.d.ts +1 -1
  219. package/dist/esm/libs/url.js +9 -9
  220. package/dist/esm/services/db/destinations-db-service.d.ts +8 -8
  221. package/dist/esm/services/db/destinations-db-service.js +43 -43
  222. package/dist/esm/services/db/identity-cache-db-service.d.ts +24 -24
  223. package/dist/esm/services/db/identity-cache-db-service.js +229 -229
  224. package/dist/esm/services/db/index.d.ts +7 -7
  225. package/dist/esm/services/db/index.js +7 -7
  226. package/dist/esm/services/db/log-events-db-service.d.ts +11 -11
  227. package/dist/esm/services/db/log-events-db-service.js +168 -168
  228. package/dist/esm/services/db/purchased-contacts-db-service.d.ts +9 -9
  229. package/dist/esm/services/db/purchased-contacts-db-service.js +34 -34
  230. package/dist/esm/services/db/shopify-app-installs-db-service.d.ts +7 -7
  231. package/dist/esm/services/db/shopify-app-installs-db-service.js +43 -43
  232. package/dist/esm/services/db/shopify-products-cache-db-service.d.ts +20 -9
  233. package/dist/esm/services/db/shopify-products-cache-db-service.js +103 -60
  234. package/dist/esm/services/db/shopify-products-cache-db-service.js.map +1 -1
  235. package/dist/esm/services/db/tracking-events-db-service.d.ts +20 -20
  236. package/dist/esm/services/db/tracking-events-db-service.js +158 -158
  237. package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
  238. package/dist/esm/services/eventbridge-integration-service.js +24 -24
  239. package/dist/esm/services/index.d.ts +5 -5
  240. package/dist/esm/services/index.js +5 -5
  241. package/dist/esm/services/ipdata-lookup-service.d.ts +17 -17
  242. package/dist/esm/services/ipdata-lookup-service.js +67 -67
  243. package/dist/esm/services/log-event-service.d.ts +9 -9
  244. package/dist/esm/services/log-event-service.js +52 -52
  245. package/dist/esm/services/metric-event-service.d.ts +9 -9
  246. package/dist/esm/services/metric-event-service.js +45 -45
  247. package/dist/esm/types/api-response.d.ts +6 -6
  248. package/dist/esm/types/api-response.js +1 -1
  249. package/dist/esm/types/index.d.ts +2 -2
  250. package/dist/esm/types/index.js +2 -2
  251. package/dist/esm/types/internal-events/event-detail-types.d.ts +20 -20
  252. package/dist/esm/types/internal-events/event-detail-types.js +24 -24
  253. package/dist/esm/types/internal-events/index.d.ts +1 -1
  254. package/dist/esm/types/internal-events/index.js +1 -1
  255. package/dist/esm/types/shopify-graphql-types/admin.generated.d.ts +75 -47
  256. package/dist/esm/types/shopify-graphql-types/admin.generated.js +1 -1
  257. package/dist/esm/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  258. package/dist/esm/types/shopify-graphql-types/admin.types.js +5299 -5299
  259. package/dist/esm/types/shopify-graphql-types/index.d.ts +2 -2
  260. package/dist/esm/types/shopify-graphql-types/index.js +2 -2
  261. package/package.json +6 -1
@@ -1,146 +1,146 @@
1
- import { hasNewTrait, hasNewAddress, removeEmptyFields } from '@adtrackify/at-shared-utils';
2
- import { Logger } from './logging-helper';
3
- export const isIdentityCacheStale = (identityCache, incomingIdentity) => {
4
- try {
5
- const cachedTraits = identityCache.response?.traits ?? {};
6
- const incomingTraits = incomingIdentity?.traits ?? {};
7
- const identityCacheStaleTracker = {
8
- cachedTraits: cachedTraits,
9
- incomingTraits: incomingTraits,
10
- isUserIdsStale: false,
11
- isIdsStale: false,
12
- isEmailsStale: false,
13
- isPhonesStale: false,
14
- isShopifyYIdsStale: false,
15
- isGendersStale: false,
16
- isDobsStale: false,
17
- isAddressesStale: false,
18
- isClickInfosStale: false,
19
- isIpAddressStale: false,
20
- isUserAgentStale: false,
21
- isCacheStale: false
22
- };
23
- const isNewUserIds = hasNewTrait(cachedTraits?.userIds ?? [], incomingTraits?.userIds ?? []);
24
- if (isNewUserIds) {
25
- Logger.debug('identity cache miss - userIds changed', { cachedTraits, incomingTraits });
26
- identityCacheStaleTracker.isUserIdsStale = true;
27
- identityCacheStaleTracker.isCacheStale = true;
28
- }
29
- const isNewIds = hasNewTrait(cachedTraits?.ids ?? [], incomingTraits?.ids ?? []);
30
- if (isNewIds) {
31
- Logger.debug('identity cache miss - ids changed', { cachedTraits, incomingTraits });
32
- identityCacheStaleTracker.isIdsStale = true;
33
- identityCacheStaleTracker.isCacheStale = true;
34
- }
35
- const isNewEmails = hasNewTrait(cachedTraits?.emails ?? [], incomingTraits?.emails ?? []);
36
- if (isNewEmails) {
37
- Logger.debug('identity cache miss - emails changed', { cachedTraits, incomingTraits });
38
- identityCacheStaleTracker.isEmailsStale = true;
39
- identityCacheStaleTracker.isCacheStale = true;
40
- }
41
- const isNewPhones = hasNewTrait(cachedTraits?.phones ?? [], incomingTraits?.phones ?? []);
42
- if (isNewPhones) {
43
- Logger.debug('identity cache miss - phones changed', { cachedTraits, incomingTraits });
44
- identityCacheStaleTracker.isPhonesStale = true;
45
- identityCacheStaleTracker.isCacheStale = true;
46
- }
47
- const isNewShopifyYIds = hasNewTrait(cachedTraits?.shopifyYIds ?? [], incomingTraits?.shopifyYIds ?? []);
48
- if (isNewShopifyYIds) {
49
- Logger.debug('identity cache miss - shopify Y ids changed', { cachedTraits, incomingTraits });
50
- identityCacheStaleTracker.isShopifyYIdsStale = true;
51
- identityCacheStaleTracker.isCacheStale = true;
52
- }
53
- const isNewGenders = hasNewTrait(cachedTraits?.genders ?? [], incomingTraits?.genders ?? []);
54
- if (isNewGenders) {
55
- Logger.debug('identity cache miss - genders changed', { cachedTraits, incomingTraits });
56
- identityCacheStaleTracker.isGendersStale = true;
57
- identityCacheStaleTracker.isCacheStale = true;
58
- }
59
- const isNewDobs = hasNewTrait(cachedTraits?.dobs ?? [], incomingTraits?.dobs ?? []);
60
- if (isNewDobs) {
61
- Logger.debug('identity cache miss - dobs changed', { cachedTraits, incomingTraits });
62
- identityCacheStaleTracker.isDobsStale = true;
63
- identityCacheStaleTracker.isCacheStale = true;
64
- }
65
- const isNewAddress = hasNewAddress(cachedTraits?.addresses ?? [], incomingTraits?.addresses ?? []);
66
- if (isNewAddress) {
67
- Logger.debug('identity cache miss - address changed', { cachedTraits, incomingTraits });
68
- identityCacheStaleTracker.isAddressesStale = true;
69
- identityCacheStaleTracker.isCacheStale = true;
70
- }
71
- const isNewClick = isClickInfosStale(cachedTraits?.click ?? {}, incomingTraits?.click ?? {});
72
- if (isNewClick) {
73
- Logger.debug('identity cache miss - clickInfos changed', { cachedTraits, incomingTraits });
74
- identityCacheStaleTracker.isClickInfosStale = true;
75
- identityCacheStaleTracker.isCacheStale = true;
76
- }
77
- if (incomingTraits?.ipAddress && cachedTraits?.ipAddress !== incomingTraits?.ipAddress) {
78
- Logger.debug('identity cache miss - ip/userAgent changed', { cachedTraits, incomingTraits });
79
- identityCacheStaleTracker.isIpAddressStale = true;
80
- identityCacheStaleTracker.isCacheStale = true;
81
- }
82
- if (incomingTraits?.userAgent && cachedTraits?.userAgent !== incomingTraits?.userAgent) {
83
- Logger.debug('identity cache miss - userAgent changed', { cachedTraits, incomingTraits });
84
- identityCacheStaleTracker.isUserAgentStale = true;
85
- identityCacheStaleTracker.isCacheStale = true;
86
- }
87
- if (identityCacheStaleTracker.isCacheStale) {
88
- Logger.debug('identity cache miss - cache stale', { identityCacheStaleTracker });
89
- }
90
- return identityCacheStaleTracker.isCacheStale;
91
- }
92
- catch (err) {
93
- Logger.error('Error while checking if identity cache is stale', { err });
94
- return true;
95
- }
96
- };
97
- export const isClickInfosStale = (cachedClick, incomingClick) => {
98
- const cleanedCachedClick = removeEmptyFields(cachedClick);
99
- const cleanedIncomingClick = removeEmptyFields(incomingClick);
100
- const incomingKeys = Object.keys(cleanedIncomingClick);
101
- const clickInfoStaleTracker = {
102
- cleanedCachedClick,
103
- cleanedIncomingClick,
104
- isClickInfosStale: false,
105
- staleKeys: []
106
- };
107
- incomingKeys.forEach(key => {
108
- if (key === 'googleClientInfos' || key.includes('CollectedAt')) {
109
- return true;
110
- }
111
- else if (key === 'fbc') {
112
- const cachedClickValue = cleanedCachedClick?.[key];
113
- const incomingClickValue = cleanedIncomingClick?.[key];
114
- if (incomingClickValue && !cachedClickValue) {
115
- clickInfoStaleTracker.isClickInfosStale = true;
116
- clickInfoStaleTracker.staleKeys.push(key);
117
- }
118
- else if (incomingClickValue && cachedClickValue && incomingClickValue !== cachedClickValue) {
119
- const incomingFbcFbclid = incomingClickValue?.split('.')?.[3];
120
- const cachedFbcFbclid = cachedClickValue?.split('.')?.[3];
121
- if (incomingFbcFbclid !== cachedFbcFbclid) {
122
- clickInfoStaleTracker.isClickInfosStale = true;
123
- clickInfoStaleTracker.staleKeys.push(key);
124
- }
125
- if (!incomingFbcFbclid || !cachedFbcFbclid) {
126
- clickInfoStaleTracker.isClickInfosStale = true;
127
- clickInfoStaleTracker.staleKeys.push(key);
128
- }
129
- }
130
- }
131
- else {
132
- const cachedClickValue = cleanedCachedClick?.[key];
133
- const incomingClickValue = cleanedIncomingClick?.[key];
134
- if ((incomingClickValue && !cachedClickValue)
135
- || incomingClickValue !== cachedClickValue) {
136
- clickInfoStaleTracker.isClickInfosStale = true;
137
- clickInfoStaleTracker.staleKeys.push(key);
138
- }
139
- }
140
- });
141
- if (clickInfoStaleTracker.isClickInfosStale) {
142
- Logger.debug('identity cache miss - clickInfos changed', { clickInfoStaleTracker });
143
- }
144
- return clickInfoStaleTracker.isClickInfosStale;
145
- };
1
+ import { hasNewTrait, hasNewAddress, removeEmptyFields } from '@adtrackify/at-shared-utils';
2
+ import { Logger } from './logging-helper';
3
+ export const isIdentityCacheStale = (identityCache, incomingIdentity) => {
4
+ try {
5
+ const cachedTraits = identityCache.response?.traits ?? {};
6
+ const incomingTraits = incomingIdentity?.traits ?? {};
7
+ const identityCacheStaleTracker = {
8
+ cachedTraits: cachedTraits,
9
+ incomingTraits: incomingTraits,
10
+ isUserIdsStale: false,
11
+ isIdsStale: false,
12
+ isEmailsStale: false,
13
+ isPhonesStale: false,
14
+ isShopifyYIdsStale: false,
15
+ isGendersStale: false,
16
+ isDobsStale: false,
17
+ isAddressesStale: false,
18
+ isClickInfosStale: false,
19
+ isIpAddressStale: false,
20
+ isUserAgentStale: false,
21
+ isCacheStale: false
22
+ };
23
+ const isNewUserIds = hasNewTrait(cachedTraits?.userIds ?? [], incomingTraits?.userIds ?? []);
24
+ if (isNewUserIds) {
25
+ Logger.debug('identity cache miss - userIds changed', { cachedTraits, incomingTraits });
26
+ identityCacheStaleTracker.isUserIdsStale = true;
27
+ identityCacheStaleTracker.isCacheStale = true;
28
+ }
29
+ const isNewIds = hasNewTrait(cachedTraits?.ids ?? [], incomingTraits?.ids ?? []);
30
+ if (isNewIds) {
31
+ Logger.debug('identity cache miss - ids changed', { cachedTraits, incomingTraits });
32
+ identityCacheStaleTracker.isIdsStale = true;
33
+ identityCacheStaleTracker.isCacheStale = true;
34
+ }
35
+ const isNewEmails = hasNewTrait(cachedTraits?.emails ?? [], incomingTraits?.emails ?? []);
36
+ if (isNewEmails) {
37
+ Logger.debug('identity cache miss - emails changed', { cachedTraits, incomingTraits });
38
+ identityCacheStaleTracker.isEmailsStale = true;
39
+ identityCacheStaleTracker.isCacheStale = true;
40
+ }
41
+ const isNewPhones = hasNewTrait(cachedTraits?.phones ?? [], incomingTraits?.phones ?? []);
42
+ if (isNewPhones) {
43
+ Logger.debug('identity cache miss - phones changed', { cachedTraits, incomingTraits });
44
+ identityCacheStaleTracker.isPhonesStale = true;
45
+ identityCacheStaleTracker.isCacheStale = true;
46
+ }
47
+ const isNewShopifyYIds = hasNewTrait(cachedTraits?.shopifyYIds ?? [], incomingTraits?.shopifyYIds ?? []);
48
+ if (isNewShopifyYIds) {
49
+ Logger.debug('identity cache miss - shopify Y ids changed', { cachedTraits, incomingTraits });
50
+ identityCacheStaleTracker.isShopifyYIdsStale = true;
51
+ identityCacheStaleTracker.isCacheStale = true;
52
+ }
53
+ const isNewGenders = hasNewTrait(cachedTraits?.genders ?? [], incomingTraits?.genders ?? []);
54
+ if (isNewGenders) {
55
+ Logger.debug('identity cache miss - genders changed', { cachedTraits, incomingTraits });
56
+ identityCacheStaleTracker.isGendersStale = true;
57
+ identityCacheStaleTracker.isCacheStale = true;
58
+ }
59
+ const isNewDobs = hasNewTrait(cachedTraits?.dobs ?? [], incomingTraits?.dobs ?? []);
60
+ if (isNewDobs) {
61
+ Logger.debug('identity cache miss - dobs changed', { cachedTraits, incomingTraits });
62
+ identityCacheStaleTracker.isDobsStale = true;
63
+ identityCacheStaleTracker.isCacheStale = true;
64
+ }
65
+ const isNewAddress = hasNewAddress(cachedTraits?.addresses ?? [], incomingTraits?.addresses ?? []);
66
+ if (isNewAddress) {
67
+ Logger.debug('identity cache miss - address changed', { cachedTraits, incomingTraits });
68
+ identityCacheStaleTracker.isAddressesStale = true;
69
+ identityCacheStaleTracker.isCacheStale = true;
70
+ }
71
+ const isNewClick = isClickInfosStale(cachedTraits?.click ?? {}, incomingTraits?.click ?? {});
72
+ if (isNewClick) {
73
+ Logger.debug('identity cache miss - clickInfos changed', { cachedTraits, incomingTraits });
74
+ identityCacheStaleTracker.isClickInfosStale = true;
75
+ identityCacheStaleTracker.isCacheStale = true;
76
+ }
77
+ if (incomingTraits?.ipAddress && cachedTraits?.ipAddress !== incomingTraits?.ipAddress) {
78
+ Logger.debug('identity cache miss - ip/userAgent changed', { cachedTraits, incomingTraits });
79
+ identityCacheStaleTracker.isIpAddressStale = true;
80
+ identityCacheStaleTracker.isCacheStale = true;
81
+ }
82
+ if (incomingTraits?.userAgent && cachedTraits?.userAgent !== incomingTraits?.userAgent) {
83
+ Logger.debug('identity cache miss - userAgent changed', { cachedTraits, incomingTraits });
84
+ identityCacheStaleTracker.isUserAgentStale = true;
85
+ identityCacheStaleTracker.isCacheStale = true;
86
+ }
87
+ if (identityCacheStaleTracker.isCacheStale) {
88
+ Logger.debug('identity cache miss - cache stale', { identityCacheStaleTracker });
89
+ }
90
+ return identityCacheStaleTracker.isCacheStale;
91
+ }
92
+ catch (err) {
93
+ Logger.error('Error while checking if identity cache is stale', { err });
94
+ return true;
95
+ }
96
+ };
97
+ export const isClickInfosStale = (cachedClick, incomingClick) => {
98
+ const cleanedCachedClick = removeEmptyFields(cachedClick);
99
+ const cleanedIncomingClick = removeEmptyFields(incomingClick);
100
+ const incomingKeys = Object.keys(cleanedIncomingClick);
101
+ const clickInfoStaleTracker = {
102
+ cleanedCachedClick,
103
+ cleanedIncomingClick,
104
+ isClickInfosStale: false,
105
+ staleKeys: []
106
+ };
107
+ incomingKeys.forEach(key => {
108
+ if (key === 'googleClientInfos' || key.includes('CollectedAt')) {
109
+ return true;
110
+ }
111
+ else if (key === 'fbc') {
112
+ const cachedClickValue = cleanedCachedClick?.[key];
113
+ const incomingClickValue = cleanedIncomingClick?.[key];
114
+ if (incomingClickValue && !cachedClickValue) {
115
+ clickInfoStaleTracker.isClickInfosStale = true;
116
+ clickInfoStaleTracker.staleKeys.push(key);
117
+ }
118
+ else if (incomingClickValue && cachedClickValue && incomingClickValue !== cachedClickValue) {
119
+ const incomingFbcFbclid = incomingClickValue?.split('.')?.[3];
120
+ const cachedFbcFbclid = cachedClickValue?.split('.')?.[3];
121
+ if (incomingFbcFbclid !== cachedFbcFbclid) {
122
+ clickInfoStaleTracker.isClickInfosStale = true;
123
+ clickInfoStaleTracker.staleKeys.push(key);
124
+ }
125
+ if (!incomingFbcFbclid || !cachedFbcFbclid) {
126
+ clickInfoStaleTracker.isClickInfosStale = true;
127
+ clickInfoStaleTracker.staleKeys.push(key);
128
+ }
129
+ }
130
+ }
131
+ else {
132
+ const cachedClickValue = cleanedCachedClick?.[key];
133
+ const incomingClickValue = cleanedIncomingClick?.[key];
134
+ if ((incomingClickValue && !cachedClickValue)
135
+ || incomingClickValue !== cachedClickValue) {
136
+ clickInfoStaleTracker.isClickInfosStale = true;
137
+ clickInfoStaleTracker.staleKeys.push(key);
138
+ }
139
+ }
140
+ });
141
+ if (clickInfoStaleTracker.isClickInfosStale) {
142
+ Logger.debug('identity cache miss - clickInfos changed', { clickInfoStaleTracker });
143
+ }
144
+ return clickInfoStaleTracker.isClickInfosStale;
145
+ };
146
146
  //# sourceMappingURL=identity-cache-helper.js.map
@@ -1,5 +1,5 @@
1
- export * from './input-validation-helper.js';
2
- export * from './logging-helper.js';
3
- export * from './response-helper.js';
4
- export * from './shopify-helper.js';
5
- export * from './identity-cache-helper.js';
1
+ export * from './input-validation-helper.js';
2
+ export * from './logging-helper.js';
3
+ export * from './response-helper.js';
4
+ export * from './shopify-helper.js';
5
+ export * from './identity-cache-helper.js';
@@ -1,6 +1,6 @@
1
- export * from './input-validation-helper.js';
2
- export * from './logging-helper.js';
3
- export * from './response-helper.js';
4
- export * from './shopify-helper.js';
5
- export * from './identity-cache-helper.js';
1
+ export * from './input-validation-helper.js';
2
+ export * from './logging-helper.js';
3
+ export * from './response-helper.js';
4
+ export * from './shopify-helper.js';
5
+ export * from './identity-cache-helper.js';
6
6
  //# sourceMappingURL=index.js.map
@@ -1,3 +1,3 @@
1
- import Joi from 'joi';
2
- export declare const validateInput: (schema: Joi.ObjectSchema<any>, input: any) => any;
3
- export declare const validateAndTransformInput: (schema: Joi.ObjectSchema<any>, input: any) => any;
1
+ import Joi from 'joi';
2
+ export declare const validateInput: (schema: Joi.ObjectSchema<any>, input: any) => any;
3
+ export declare const validateAndTransformInput: (schema: Joi.ObjectSchema<any>, input: any) => any;
@@ -1,19 +1,19 @@
1
- import { Logger } from './logging-helper.js';
2
- import { HttpError } from '../libs/http-error.js';
3
- export const validateInput = (schema, input) => {
4
- const { error, value } = schema.validate(input);
5
- if (error) {
6
- const httperr = HttpError.badRequest('Bad Request', {
7
- errors: error.details.map((detail) => ({
8
- message: detail?.message,
9
- key: detail?.context?.key,
10
- path: detail?.path,
11
- })),
12
- });
13
- Logger.error('validation failure', { error, httperr });
14
- throw httperr;
15
- }
16
- return value;
17
- };
18
- export const validateAndTransformInput = validateInput;
1
+ import { Logger } from './logging-helper.js';
2
+ import { HttpError } from '../libs/http-error.js';
3
+ export const validateInput = (schema, input) => {
4
+ const { error, value } = schema.validate(input);
5
+ if (error) {
6
+ const httperr = HttpError.badRequest('Bad Request', {
7
+ errors: error.details.map((detail) => ({
8
+ message: detail?.message,
9
+ key: detail?.context?.key,
10
+ path: detail?.path,
11
+ })),
12
+ });
13
+ Logger.error('validation failure', { error, httperr });
14
+ throw httperr;
15
+ }
16
+ return value;
17
+ };
18
+ export const validateAndTransformInput = validateInput;
19
19
  //# sourceMappingURL=input-validation-helper.js.map
@@ -1,16 +1,16 @@
1
- export declare const LogLevelId: {
2
- trace: number;
3
- debug: number;
4
- info: number;
5
- warn: number;
6
- error: number;
7
- };
8
- export declare const configureLogger: (event: any, context: any, debug?: boolean) => void;
9
- export declare const setLambdaEvent: (event: any) => void;
10
- export declare const Logger: {
11
- log: (logLevel: string, msg: string | Error, meta?: object | undefined, tags?: string[] | undefined) => void;
12
- debug: (msg: string, meta?: object | undefined, tags?: string[] | undefined) => void;
13
- info: (msg: string, meta?: object | undefined, tags?: string[] | undefined) => void;
14
- warn: (msg: string, meta?: object | undefined, tags?: string[] | undefined) => void;
15
- error: (msg: string | Error, meta?: object | undefined, tags?: string[] | undefined) => void;
16
- };
1
+ export declare const LogLevelId: {
2
+ trace: number;
3
+ debug: number;
4
+ info: number;
5
+ warn: number;
6
+ error: number;
7
+ };
8
+ export declare const configureLogger: (event: any, context: any, debug?: boolean) => void;
9
+ export declare const setLambdaEvent: (event: any) => void;
10
+ export declare const Logger: {
11
+ log: (logLevel: string, msg: string | Error, meta?: object | undefined, tags?: string[] | undefined) => void;
12
+ debug: (msg: string, meta?: object | undefined, tags?: string[] | undefined) => void;
13
+ info: (msg: string, meta?: object | undefined, tags?: string[] | undefined) => void;
14
+ warn: (msg: string, meta?: object | undefined, tags?: string[] | undefined) => void;
15
+ error: (msg: string | Error, meta?: object | undefined, tags?: string[] | undefined) => void;
16
+ };
@@ -1,57 +1,57 @@
1
- import * as _logger from 'lambda-log';
2
- const stage = process?.env?.STAGE;
3
- const LEVEL = process?.env?.LOG_LEVEL ?? 'info';
4
- export const LogLevelId = {
5
- trace: 0,
6
- debug: 1,
7
- info: 2,
8
- warn: 3,
9
- error: 4,
10
- };
11
- export const configureLogger = (event, context, debug = LEVEL === 'debug') => {
12
- _logger.options.meta.stage = stage;
13
- _logger.options.meta.source_name = context?.functionName || 'unknown';
14
- _logger.options.meta.awsRequestId = context?.awsRequestId || 'unknown';
15
- _logger.options.meta.lambdaEvent = event;
16
- _logger.options.debug = debug;
17
- };
18
- export const setLambdaEvent = (event) => {
19
- _logger.options.meta.lambdaEvent = event;
20
- };
21
- export const Logger = {
22
- log: (logLevel, msg, meta = {}, tags) => {
23
- if (logLevel === 'debug') {
24
- Logger.debug(msg, meta, tags);
25
- }
26
- else if (logLevel === 'info') {
27
- Logger.info(msg, meta, tags);
28
- }
29
- else if (logLevel === 'warn') {
30
- Logger.warn(msg, meta, tags);
31
- }
32
- else if (logLevel === 'error') {
33
- Logger.error(msg, meta, tags);
34
- }
35
- },
36
- debug: (msg, meta, tags) => {
37
- if (LogLevelId['debug'] >= LogLevelId[LEVEL]) {
38
- _logger.debug(msg, meta, tags);
39
- }
40
- },
41
- info: (msg, meta, tags) => {
42
- if (LogLevelId['info'] >= LogLevelId[LEVEL]) {
43
- _logger.info(msg, meta, tags);
44
- }
45
- },
46
- warn: (msg, meta, tags) => {
47
- if (LogLevelId['warn'] >= LogLevelId[LEVEL]) {
48
- _logger.warn(msg, meta, tags);
49
- }
50
- },
51
- error: (msg, meta, tags) => {
52
- if (LogLevelId['error'] >= LogLevelId[LEVEL]) {
53
- _logger.error(msg, meta, tags);
54
- }
55
- }
56
- };
1
+ import * as _logger from 'lambda-log';
2
+ const stage = process?.env?.STAGE;
3
+ const LEVEL = process?.env?.LOG_LEVEL ?? 'info';
4
+ export const LogLevelId = {
5
+ trace: 0,
6
+ debug: 1,
7
+ info: 2,
8
+ warn: 3,
9
+ error: 4,
10
+ };
11
+ export const configureLogger = (event, context, debug = LEVEL === 'debug') => {
12
+ _logger.options.meta.stage = stage;
13
+ _logger.options.meta.source_name = context?.functionName || 'unknown';
14
+ _logger.options.meta.awsRequestId = context?.awsRequestId || 'unknown';
15
+ _logger.options.meta.lambdaEvent = event;
16
+ _logger.options.debug = debug;
17
+ };
18
+ export const setLambdaEvent = (event) => {
19
+ _logger.options.meta.lambdaEvent = event;
20
+ };
21
+ export const Logger = {
22
+ log: (logLevel, msg, meta = {}, tags) => {
23
+ if (logLevel === 'debug') {
24
+ Logger.debug(msg, meta, tags);
25
+ }
26
+ else if (logLevel === 'info') {
27
+ Logger.info(msg, meta, tags);
28
+ }
29
+ else if (logLevel === 'warn') {
30
+ Logger.warn(msg, meta, tags);
31
+ }
32
+ else if (logLevel === 'error') {
33
+ Logger.error(msg, meta, tags);
34
+ }
35
+ },
36
+ debug: (msg, meta, tags) => {
37
+ if (LogLevelId['debug'] >= LogLevelId[LEVEL]) {
38
+ _logger.debug(msg, meta, tags);
39
+ }
40
+ },
41
+ info: (msg, meta, tags) => {
42
+ if (LogLevelId['info'] >= LogLevelId[LEVEL]) {
43
+ _logger.info(msg, meta, tags);
44
+ }
45
+ },
46
+ warn: (msg, meta, tags) => {
47
+ if (LogLevelId['warn'] >= LogLevelId[LEVEL]) {
48
+ _logger.warn(msg, meta, tags);
49
+ }
50
+ },
51
+ error: (msg, meta, tags) => {
52
+ if (LogLevelId['error'] >= LogLevelId[LEVEL]) {
53
+ _logger.error(msg, meta, tags);
54
+ }
55
+ }
56
+ };
57
57
  //# sourceMappingURL=logging-helper.js.map
@@ -1,15 +1,15 @@
1
- export declare const success: (body: any, additionalHeaders?: any) => {
2
- statusCode: number;
3
- headers: any;
4
- body: string;
5
- };
6
- export declare const failure: (error: any, statusCode?: number) => {
7
- statusCode: number;
8
- headers: any;
9
- body: string;
10
- };
11
- export declare const buildResponse: (statusCode: number, body?: any, additionalHeaders?: any) => {
12
- statusCode: number;
13
- headers: any;
14
- body: string;
15
- };
1
+ export declare const success: (body: any, additionalHeaders?: any) => {
2
+ statusCode: number;
3
+ headers: any;
4
+ body: string;
5
+ };
6
+ export declare const failure: (error: any, statusCode?: number) => {
7
+ statusCode: number;
8
+ headers: any;
9
+ body: string;
10
+ };
11
+ export declare const buildResponse: (statusCode: number, body?: any, additionalHeaders?: any) => {
12
+ statusCode: number;
13
+ headers: any;
14
+ body: string;
15
+ };
@@ -1,37 +1,37 @@
1
- export const success = (body, additionalHeaders = {}) => {
2
- return buildResponse(200, body, additionalHeaders);
3
- };
4
- const defaultError = {
5
- message: 'internalServerError'
6
- };
7
- export const failure = (error, statusCode = 500) => {
8
- statusCode = error?.statusCode ?? statusCode;
9
- let body = defaultError;
10
- if (error?.body) {
11
- body = error.body;
12
- }
13
- else if (error?.message) {
14
- body = { message: error.message };
15
- }
16
- else if (statusCode === 500) {
17
- body = defaultError;
18
- }
19
- return buildResponse(statusCode, body);
20
- };
21
- export const buildResponse = (statusCode, body = {}, additionalHeaders = {}) => {
22
- delete body.stack;
23
- return {
24
- statusCode: statusCode,
25
- headers: {
26
- 'Access-Control-Allow-Origin': '*',
27
- 'Access-Control-Allow-Credentials': true,
28
- 'cache-control': 'max-age=86400',
29
- Date: new Date(),
30
- 'Last-Modified': new Date(),
31
- 'Access-Control-Allow-Headers': 'Content-Type, Content-Encoding',
32
- ...additionalHeaders
33
- },
34
- body: JSON.stringify(body),
35
- };
36
- };
1
+ export const success = (body, additionalHeaders = {}) => {
2
+ return buildResponse(200, body, additionalHeaders);
3
+ };
4
+ const defaultError = {
5
+ message: 'internalServerError'
6
+ };
7
+ export const failure = (error, statusCode = 500) => {
8
+ statusCode = error?.statusCode ?? statusCode;
9
+ let body = defaultError;
10
+ if (error?.body) {
11
+ body = error.body;
12
+ }
13
+ else if (error?.message) {
14
+ body = { message: error.message };
15
+ }
16
+ else if (statusCode === 500) {
17
+ body = defaultError;
18
+ }
19
+ return buildResponse(statusCode, body);
20
+ };
21
+ export const buildResponse = (statusCode, body = {}, additionalHeaders = {}) => {
22
+ delete body.stack;
23
+ return {
24
+ statusCode: statusCode,
25
+ headers: {
26
+ 'Access-Control-Allow-Origin': '*',
27
+ 'Access-Control-Allow-Credentials': true,
28
+ 'cache-control': 'max-age=86400',
29
+ Date: new Date(),
30
+ 'Last-Modified': new Date(),
31
+ 'Access-Control-Allow-Headers': 'Content-Type, Content-Encoding',
32
+ ...additionalHeaders
33
+ },
34
+ body: JSON.stringify(body),
35
+ };
36
+ };
37
37
  //# sourceMappingURL=response-helper.js.map
@@ -1,9 +1,9 @@
1
- export interface ShopifyRequestValidationParameters {
2
- code: string;
3
- hmac?: string;
4
- shop: string;
5
- state: string;
6
- timestamp: string;
7
- }
8
- export declare const isShopifyRequestValid: (validationParams: ShopifyRequestValidationParameters, validationHmac: string, shopifyAppApiSecret: string) => boolean;
9
- export declare const validateShopifyRequest: (validationParams: ShopifyRequestValidationParameters, validationHmac: string, shopifyAppApiSecret: string) => boolean;
1
+ export interface ShopifyRequestValidationParameters {
2
+ code: string;
3
+ hmac?: string;
4
+ shop: string;
5
+ state: string;
6
+ timestamp: string;
7
+ }
8
+ export declare const isShopifyRequestValid: (validationParams: ShopifyRequestValidationParameters, validationHmac: string, shopifyAppApiSecret: string) => boolean;
9
+ export declare const validateShopifyRequest: (validationParams: ShopifyRequestValidationParameters, validationHmac: string, shopifyAppApiSecret: string) => boolean;