@adtrackify/at-service-common 3.2.19 → 3.2.21
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.
- package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
- package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.js +527 -527
- package/dist/cjs/__tests__/libs/compress-decompress.spec.d.ts +1 -1
- package/dist/cjs/__tests__/libs/compress-decompress.spec.js +16 -16
- package/dist/cjs/__tests__/s3-client/s3-client.spec.d.ts +1 -1
- package/dist/cjs/__tests__/s3-client/s3-client.spec.js +26 -26
- package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
- package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.js +35 -35
- package/dist/cjs/clients/generic/cognito-client.d.ts +23 -23
- package/dist/cjs/clients/generic/cognito-client.js +209 -209
- package/dist/cjs/clients/generic/dynamodb-client.d.ts +17 -17
- package/dist/cjs/clients/generic/dynamodb-client.js +167 -167
- package/dist/cjs/clients/generic/eventbridge-client.d.ts +14 -14
- package/dist/cjs/clients/generic/eventbridge-client.js +49 -49
- package/dist/cjs/clients/generic/http-client.d.ts +14 -14
- package/dist/cjs/clients/generic/http-client.js +61 -61
- package/dist/cjs/clients/generic/index.d.ts +10 -10
- package/dist/cjs/clients/generic/index.js +26 -26
- package/dist/cjs/clients/generic/lambda-invoke-client.d.ts +10 -10
- package/dist/cjs/clients/generic/lambda-invoke-client.js +35 -35
- package/dist/cjs/clients/generic/location-client.d.ts +8 -8
- package/dist/cjs/clients/generic/location-client.js +31 -31
- package/dist/cjs/clients/generic/redis-client.d.ts +18 -18
- package/dist/cjs/clients/generic/redis-client.js +128 -128
- package/dist/cjs/clients/generic/s3-client.d.ts +21 -16
- package/dist/cjs/clients/generic/s3-client.js +166 -110
- package/dist/cjs/clients/generic/s3-client.js.map +1 -1
- package/dist/cjs/clients/generic/singlestore-db-client.d.ts +14 -14
- package/dist/cjs/clients/generic/singlestore-db-client.js +67 -67
- package/dist/cjs/clients/generic/sqs-client.d.ts +20 -20
- package/dist/cjs/clients/generic/sqs-client.js +36 -36
- package/dist/cjs/clients/index.d.ts +3 -3
- package/dist/cjs/clients/index.js +19 -19
- package/dist/cjs/clients/internal-api/accounts-client.d.ts +83 -83
- package/dist/cjs/clients/internal-api/accounts-client.js +107 -107
- package/dist/cjs/clients/internal-api/cache-lambda-client.d.ts +25 -25
- package/dist/cjs/clients/internal-api/cache-lambda-client.js +79 -79
- package/dist/cjs/clients/internal-api/db-management-client.d.ts +18 -18
- package/dist/cjs/clients/internal-api/db-management-client.js +36 -39
- package/dist/cjs/clients/internal-api/db-management-client.js.map +1 -1
- package/dist/cjs/clients/internal-api/destinations-client.d.ts +27 -27
- package/dist/cjs/clients/internal-api/destinations-client.js +51 -51
- package/dist/cjs/clients/internal-api/event-collector-client.d.ts +20 -20
- package/dist/cjs/clients/internal-api/event-collector-client.js +36 -39
- package/dist/cjs/clients/internal-api/event-collector-client.js.map +1 -1
- package/dist/cjs/clients/internal-api/identity-client.d.ts +25 -25
- package/dist/cjs/clients/internal-api/identity-client.js +92 -92
- package/dist/cjs/clients/internal-api/index.d.ts +9 -9
- package/dist/cjs/clients/internal-api/index.js +25 -25
- package/dist/cjs/clients/internal-api/shopify-app-install-client.d.ts +36 -36
- package/dist/cjs/clients/internal-api/shopify-app-install-client.js +68 -71
- package/dist/cjs/clients/internal-api/shopify-app-install-client.js.map +1 -1
- package/dist/cjs/clients/internal-api/subscriptions-client.d.ts +23 -22
- package/dist/cjs/clients/internal-api/subscriptions-client.js +58 -57
- package/dist/cjs/clients/internal-api/subscriptions-client.js.map +1 -1
- package/dist/cjs/clients/internal-api/users-auth-client.d.ts +35 -35
- package/dist/cjs/clients/internal-api/users-auth-client.js +110 -110
- package/dist/cjs/clients/third-party/index.d.ts +1 -1
- package/dist/cjs/clients/third-party/index.js +17 -17
- package/dist/cjs/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
- package/dist/cjs/clients/third-party/shopify/graphql-product-queries.js +5 -5
- package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -9
- package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.js +95 -95
- package/dist/cjs/clients/third-party/shopify-client.d.ts +29 -29
- package/dist/cjs/clients/third-party/shopify-client.js +144 -144
- package/dist/cjs/clients/third-party/shopify-client.js.map +1 -1
- package/dist/cjs/helpers/identity-cache-helper.d.ts +4 -4
- package/dist/cjs/helpers/identity-cache-helper.js +150 -150
- package/dist/cjs/helpers/index.d.ts +5 -5
- package/dist/cjs/helpers/index.js +21 -21
- package/dist/cjs/helpers/input-validation-helper.d.ts +3 -3
- package/dist/cjs/helpers/input-validation-helper.js +22 -22
- package/dist/cjs/helpers/logging-helper.d.ts +16 -16
- package/dist/cjs/helpers/logging-helper.js +84 -84
- package/dist/cjs/helpers/response-helper.d.ts +15 -15
- package/dist/cjs/helpers/response-helper.js +42 -42
- package/dist/cjs/helpers/shopify-helper.d.ts +9 -9
- package/dist/cjs/helpers/shopify-helper.js +28 -28
- package/dist/cjs/index.d.ts +5 -5
- package/dist/cjs/index.js +21 -21
- package/dist/cjs/libs/clickId-parser.d.ts +23 -23
- package/dist/cjs/libs/clickId-parser.js +49 -49
- package/dist/cjs/libs/compression.d.ts +2 -2
- package/dist/cjs/libs/compression.js +33 -33
- package/dist/cjs/libs/crypto.d.ts +1 -1
- package/dist/cjs/libs/crypto.js +12 -12
- package/dist/cjs/libs/dates.d.ts +6 -6
- package/dist/cjs/libs/dates.js +31 -31
- package/dist/cjs/libs/http-error.d.ts +21 -21
- package/dist/cjs/libs/http-error.js +59 -59
- package/dist/cjs/libs/http-status-codes.d.ts +58 -58
- package/dist/cjs/libs/http-status-codes.js +62 -62
- package/dist/cjs/libs/index.d.ts +9 -9
- package/dist/cjs/libs/index.js +25 -25
- package/dist/cjs/libs/referrer-parser/index.d.ts +2 -2
- package/dist/cjs/libs/referrer-parser/index.js +18 -18
- package/dist/cjs/libs/referrer-parser/referrer-data.d.ts +9 -9
- package/dist/cjs/libs/referrer-parser/referrer-data.js +4712 -4712
- package/dist/cjs/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
- package/dist/cjs/libs/referrer-parser/referrer-parser-util.js +128 -128
- package/dist/cjs/libs/url.d.ts +1 -1
- package/dist/cjs/libs/url.js +13 -13
- package/dist/cjs/services/cache/generic-cached-object.d.ts +5 -5
- package/dist/cjs/services/cache/generic-cached-object.js +2 -2
- package/dist/cjs/services/cache/index.d.ts +1 -1
- package/dist/cjs/services/cache/index.js +17 -17
- package/dist/cjs/services/cache/product-cache-service.d.ts +21 -21
- package/dist/cjs/services/cache/product-cache-service.js +68 -68
- package/dist/cjs/services/db/destinations-db-service.d.ts +9 -9
- package/dist/cjs/services/db/destinations-db-service.js +57 -57
- package/dist/cjs/services/db/identity-cache-db-service.d.ts +24 -24
- package/dist/cjs/services/db/identity-cache-db-service.js +233 -233
- package/dist/cjs/services/db/index.d.ts +7 -7
- package/dist/cjs/services/db/index.js +23 -23
- package/dist/cjs/services/db/log-events-db-service.d.ts +11 -11
- package/dist/cjs/services/db/log-events-db-service.js +172 -172
- package/dist/cjs/services/db/purchased-contacts-db-service.d.ts +9 -9
- package/dist/cjs/services/db/purchased-contacts-db-service.js +38 -38
- package/dist/cjs/services/db/shopify-app-installs-db-service.d.ts +7 -7
- package/dist/cjs/services/db/shopify-app-installs-db-service.js +47 -47
- package/dist/cjs/services/db/shopify-products-cache-db-service.d.ts +16 -16
- package/dist/cjs/services/db/shopify-products-cache-db-service.js +65 -65
- package/dist/cjs/services/db/tracking-events-db-service.d.ts +20 -20
- package/dist/cjs/services/db/tracking-events-db-service.js +162 -162
- package/dist/cjs/services/eventbridge-integration-service.d.ts +9 -9
- package/dist/cjs/services/eventbridge-integration-service.js +28 -28
- package/dist/cjs/services/generic-cache-service.d.ts +7 -7
- package/dist/cjs/services/generic-cache-service.js +33 -33
- package/dist/cjs/services/index.d.ts +8 -8
- package/dist/cjs/services/index.js +24 -24
- package/dist/cjs/services/ipdata-lookup-service.d.ts +19 -19
- package/dist/cjs/services/ipdata-lookup-service.js +77 -77
- package/dist/cjs/services/log-event-service.d.ts +9 -9
- package/dist/cjs/services/log-event-service.js +56 -56
- package/dist/cjs/services/metric-event-service.d.ts +9 -9
- package/dist/cjs/services/metric-event-service.js +49 -49
- package/dist/cjs/services/shopify/index.d.ts +3 -3
- package/dist/cjs/services/shopify/index.js +19 -19
- package/dist/cjs/services/shopify/products/index.d.ts +1 -1
- package/dist/cjs/services/shopify/products/index.js +17 -17
- package/dist/cjs/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
- package/dist/cjs/services/shopify/products/shopify-products-serviceV2.js +103 -103
- package/dist/cjs/services/shopify/shopify-graphql-transformer.d.ts +9 -9
- package/dist/cjs/services/shopify/shopify-graphql-transformer.js +137 -137
- package/dist/cjs/services/shopify/types/index.d.ts +1 -1
- package/dist/cjs/services/shopify/types/index.js +17 -17
- package/dist/cjs/services/shopify/types/product.d.ts +115 -115
- package/dist/cjs/services/shopify/types/product.js +9 -9
- package/dist/cjs/types/api-response.d.ts +6 -6
- package/dist/cjs/types/api-response.js +2 -2
- package/dist/cjs/types/index.d.ts +2 -2
- package/dist/cjs/types/index.js +18 -18
- package/dist/cjs/types/internal-events/event-detail-types.d.ts +20 -20
- package/dist/cjs/types/internal-events/event-detail-types.js +27 -27
- package/dist/cjs/types/internal-events/index.d.ts +1 -1
- package/dist/cjs/types/internal-events/index.js +17 -17
- package/dist/cjs/types/shopify-graphql-types/admin.generated.d.ts +105 -105
- package/dist/cjs/types/shopify-graphql-types/admin.generated.js +2 -2
- package/dist/cjs/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
- package/dist/cjs/types/shopify-graphql-types/admin.types.js +5311 -5311
- package/dist/cjs/types/shopify-graphql-types/index.d.ts +2 -2
- package/dist/cjs/types/shopify-graphql-types/index.js +18 -18
- package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
- package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js +525 -525
- package/dist/esm/__tests__/libs/compress-decompress.spec.d.ts +1 -1
- package/dist/esm/__tests__/libs/compress-decompress.spec.js +14 -14
- package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
- package/dist/esm/__tests__/s3-client/s3-client.spec.js +24 -24
- package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
- package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.js +33 -33
- package/dist/esm/clients/generic/cognito-client.d.ts +23 -23
- package/dist/esm/clients/generic/cognito-client.js +204 -204
- package/dist/esm/clients/generic/dynamodb-client.d.ts +17 -17
- package/dist/esm/clients/generic/dynamodb-client.js +163 -163
- package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
- package/dist/esm/clients/generic/eventbridge-client.js +45 -45
- package/dist/esm/clients/generic/http-client.d.ts +14 -14
- package/dist/esm/clients/generic/http-client.js +53 -53
- package/dist/esm/clients/generic/index.d.ts +10 -10
- package/dist/esm/clients/generic/index.js +10 -10
- package/dist/esm/clients/generic/lambda-invoke-client.d.ts +10 -10
- package/dist/esm/clients/generic/lambda-invoke-client.js +31 -31
- package/dist/esm/clients/generic/location-client.d.ts +8 -8
- package/dist/esm/clients/generic/location-client.js +27 -27
- package/dist/esm/clients/generic/redis-client.d.ts +18 -18
- package/dist/esm/clients/generic/redis-client.js +121 -121
- package/dist/esm/clients/generic/s3-client.d.ts +21 -16
- package/dist/esm/clients/generic/s3-client.js +162 -106
- package/dist/esm/clients/generic/s3-client.js.map +1 -1
- package/dist/esm/clients/generic/singlestore-db-client.d.ts +14 -14
- package/dist/esm/clients/generic/singlestore-db-client.js +40 -40
- package/dist/esm/clients/generic/sqs-client.d.ts +20 -20
- package/dist/esm/clients/generic/sqs-client.js +32 -32
- package/dist/esm/clients/index.d.ts +3 -3
- package/dist/esm/clients/index.js +3 -3
- package/dist/esm/clients/internal-api/accounts-client.d.ts +83 -83
- package/dist/esm/clients/internal-api/accounts-client.js +103 -103
- package/dist/esm/clients/internal-api/cache-lambda-client.d.ts +25 -25
- package/dist/esm/clients/internal-api/cache-lambda-client.js +75 -75
- package/dist/esm/clients/internal-api/db-management-client.d.ts +18 -18
- package/dist/esm/clients/internal-api/db-management-client.js +32 -32
- package/dist/esm/clients/internal-api/db-management-client.js.map +1 -1
- package/dist/esm/clients/internal-api/destinations-client.d.ts +27 -27
- package/dist/esm/clients/internal-api/destinations-client.js +47 -47
- package/dist/esm/clients/internal-api/event-collector-client.d.ts +20 -20
- package/dist/esm/clients/internal-api/event-collector-client.js +32 -32
- package/dist/esm/clients/internal-api/event-collector-client.js.map +1 -1
- package/dist/esm/clients/internal-api/identity-client.d.ts +25 -25
- package/dist/esm/clients/internal-api/identity-client.js +88 -88
- package/dist/esm/clients/internal-api/index.d.ts +9 -9
- package/dist/esm/clients/internal-api/index.js +9 -9
- package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +36 -36
- package/dist/esm/clients/internal-api/shopify-app-install-client.js +64 -64
- package/dist/esm/clients/internal-api/shopify-app-install-client.js.map +1 -1
- package/dist/esm/clients/internal-api/subscriptions-client.d.ts +23 -22
- package/dist/esm/clients/internal-api/subscriptions-client.js +54 -50
- package/dist/esm/clients/internal-api/subscriptions-client.js.map +1 -1
- package/dist/esm/clients/internal-api/users-auth-client.d.ts +35 -35
- package/dist/esm/clients/internal-api/users-auth-client.js +106 -106
- package/dist/esm/clients/third-party/index.d.ts +1 -1
- package/dist/esm/clients/third-party/index.js +1 -1
- package/dist/esm/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
- package/dist/esm/clients/third-party/shopify/graphql-product-queries.js +2 -2
- package/dist/esm/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -9
- package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js +91 -91
- package/dist/esm/clients/third-party/shopify-client.d.ts +29 -29
- package/dist/esm/clients/third-party/shopify-client.js +140 -140
- package/dist/esm/clients/third-party/shopify-client.js.map +1 -1
- package/dist/esm/helpers/identity-cache-helper.d.ts +4 -4
- package/dist/esm/helpers/identity-cache-helper.js +145 -145
- package/dist/esm/helpers/index.d.ts +5 -5
- package/dist/esm/helpers/index.js +5 -5
- package/dist/esm/helpers/input-validation-helper.d.ts +3 -3
- package/dist/esm/helpers/input-validation-helper.js +18 -18
- package/dist/esm/helpers/logging-helper.d.ts +16 -16
- package/dist/esm/helpers/logging-helper.js +56 -56
- package/dist/esm/helpers/response-helper.d.ts +15 -15
- package/dist/esm/helpers/response-helper.js +36 -36
- package/dist/esm/helpers/shopify-helper.d.ts +9 -9
- package/dist/esm/helpers/shopify-helper.js +23 -23
- package/dist/esm/index.d.ts +5 -5
- package/dist/esm/index.js +5 -5
- package/dist/esm/libs/clickId-parser.d.ts +23 -23
- package/dist/esm/libs/clickId-parser.js +45 -45
- package/dist/esm/libs/compression.d.ts +2 -2
- package/dist/esm/libs/compression.js +25 -25
- package/dist/esm/libs/crypto.d.ts +1 -1
- package/dist/esm/libs/crypto.js +5 -5
- package/dist/esm/libs/dates.d.ts +6 -6
- package/dist/esm/libs/dates.js +22 -22
- package/dist/esm/libs/http-error.d.ts +21 -21
- package/dist/esm/libs/http-error.js +55 -55
- package/dist/esm/libs/http-status-codes.d.ts +58 -58
- package/dist/esm/libs/http-status-codes.js +59 -59
- package/dist/esm/libs/index.d.ts +9 -9
- package/dist/esm/libs/index.js +9 -9
- package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
- package/dist/esm/libs/referrer-parser/index.js +2 -2
- package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
- package/dist/esm/libs/referrer-parser/referrer-data.js +4709 -4709
- package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
- package/dist/esm/libs/referrer-parser/referrer-parser-util.js +121 -121
- package/dist/esm/libs/url.d.ts +1 -1
- package/dist/esm/libs/url.js +9 -9
- package/dist/esm/services/cache/generic-cached-object.d.ts +5 -5
- package/dist/esm/services/cache/generic-cached-object.js +1 -1
- package/dist/esm/services/cache/index.d.ts +1 -1
- package/dist/esm/services/cache/index.js +1 -1
- package/dist/esm/services/cache/product-cache-service.d.ts +21 -21
- package/dist/esm/services/cache/product-cache-service.js +60 -60
- package/dist/esm/services/db/destinations-db-service.d.ts +9 -9
- package/dist/esm/services/db/destinations-db-service.js +53 -53
- package/dist/esm/services/db/identity-cache-db-service.d.ts +24 -24
- package/dist/esm/services/db/identity-cache-db-service.js +229 -229
- package/dist/esm/services/db/index.d.ts +7 -7
- package/dist/esm/services/db/index.js +7 -7
- package/dist/esm/services/db/log-events-db-service.d.ts +11 -11
- package/dist/esm/services/db/log-events-db-service.js +168 -168
- package/dist/esm/services/db/purchased-contacts-db-service.d.ts +9 -9
- package/dist/esm/services/db/purchased-contacts-db-service.js +34 -34
- package/dist/esm/services/db/shopify-app-installs-db-service.d.ts +7 -7
- package/dist/esm/services/db/shopify-app-installs-db-service.js +43 -43
- package/dist/esm/services/db/shopify-products-cache-db-service.d.ts +16 -16
- package/dist/esm/services/db/shopify-products-cache-db-service.js +58 -58
- package/dist/esm/services/db/tracking-events-db-service.d.ts +20 -20
- package/dist/esm/services/db/tracking-events-db-service.js +158 -158
- package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
- package/dist/esm/services/eventbridge-integration-service.js +24 -24
- package/dist/esm/services/generic-cache-service.d.ts +7 -7
- package/dist/esm/services/generic-cache-service.js +29 -29
- package/dist/esm/services/index.d.ts +8 -8
- package/dist/esm/services/index.js +8 -8
- package/dist/esm/services/ipdata-lookup-service.d.ts +19 -19
- package/dist/esm/services/ipdata-lookup-service.js +73 -73
- package/dist/esm/services/log-event-service.d.ts +9 -9
- package/dist/esm/services/log-event-service.js +52 -52
- package/dist/esm/services/metric-event-service.d.ts +9 -9
- package/dist/esm/services/metric-event-service.js +45 -45
- package/dist/esm/services/shopify/index.d.ts +3 -3
- package/dist/esm/services/shopify/index.js +3 -3
- package/dist/esm/services/shopify/products/index.d.ts +1 -1
- package/dist/esm/services/shopify/products/index.js +1 -1
- package/dist/esm/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
- package/dist/esm/services/shopify/products/shopify-products-serviceV2.js +99 -99
- package/dist/esm/services/shopify/shopify-graphql-transformer.d.ts +9 -9
- package/dist/esm/services/shopify/shopify-graphql-transformer.js +134 -134
- package/dist/esm/services/shopify/types/index.d.ts +1 -1
- package/dist/esm/services/shopify/types/index.js +1 -1
- package/dist/esm/services/shopify/types/product.d.ts +115 -115
- package/dist/esm/services/shopify/types/product.js +6 -6
- package/dist/esm/types/api-response.d.ts +6 -6
- package/dist/esm/types/api-response.js +1 -1
- package/dist/esm/types/index.d.ts +2 -2
- package/dist/esm/types/index.js +2 -2
- package/dist/esm/types/internal-events/event-detail-types.d.ts +20 -20
- package/dist/esm/types/internal-events/event-detail-types.js +24 -24
- package/dist/esm/types/internal-events/index.d.ts +1 -1
- package/dist/esm/types/internal-events/index.js +1 -1
- package/dist/esm/types/shopify-graphql-types/admin.generated.d.ts +105 -105
- package/dist/esm/types/shopify-graphql-types/admin.generated.js +1 -1
- package/dist/esm/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
- package/dist/esm/types/shopify-graphql-types/admin.types.js +5299 -5299
- package/dist/esm/types/shopify-graphql-types/index.d.ts +2 -2
- package/dist/esm/types/shopify-graphql-types/index.js +2 -2
- package/package.json +4 -4
|
@@ -1,145 +1,145 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ShopifyClient = void 0;
|
|
4
|
-
const http_client_js_1 = require("../generic/http-client.js");
|
|
5
|
-
const index_js_1 = require("../../index.js");
|
|
6
|
-
class ShopifyClient {
|
|
7
|
-
static _shopify_api_version = process.env.SHOPIFY_API_VERSION;
|
|
8
|
-
static client;
|
|
9
|
-
static getClient = () => {
|
|
10
|
-
this.client = this.client ?? (0, http_client_js_1.axiosHttpService)();
|
|
11
|
-
return this.client;
|
|
12
|
-
};
|
|
13
|
-
static registerApp = async (shop, code, appKey, appSecret) => {
|
|
14
|
-
const client = this.getClient();
|
|
15
|
-
const url = 'https://' + shop + '/admin/oauth/access_token';
|
|
16
|
-
const payload = {
|
|
17
|
-
client_id: appKey,
|
|
18
|
-
client_secret: appSecret,
|
|
19
|
-
code
|
|
20
|
-
};
|
|
21
|
-
const res = await client.post(url, payload);
|
|
22
|
-
return res;
|
|
23
|
-
};
|
|
24
|
-
static registerWebhookTopic = async (shop, accessToken, eventBridgeArn, topic) => {
|
|
25
|
-
const client = this.getClient();
|
|
26
|
-
const url = `https://${shop}/admin/api/${this._shopify_api_version}/webhooks.json`;
|
|
27
|
-
const payload = {
|
|
28
|
-
webhook: {
|
|
29
|
-
topic,
|
|
30
|
-
address: eventBridgeArn,
|
|
31
|
-
format: 'json'
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
const res = await client.post(url, payload, { headers: { 'X-Shopify-Access-Token': accessToken } });
|
|
35
|
-
if (res.status >= 400) {
|
|
36
|
-
index_js_1.Logger.error('Failed to register Webhook Topic', { res, shop, accessToken, eventBridgeArn, topic, url, payload });
|
|
37
|
-
}
|
|
38
|
-
index_js_1.Logger.debug('Shopify Client Webhook Registration Response', { registrationResponse: res });
|
|
39
|
-
return res;
|
|
40
|
-
};
|
|
41
|
-
static updateShopifyAppMetafield = async (shop, accessToken, pixelId) => {
|
|
42
|
-
const url = `https://${shop}/admin/api/${this._shopify_api_version}/metafields.json`;
|
|
43
|
-
const payload = {
|
|
44
|
-
metafield: {
|
|
45
|
-
namespace: 'adtr',
|
|
46
|
-
key: 'adtr.config',
|
|
47
|
-
value: pixelId,
|
|
48
|
-
type: 'single_line_text_field'
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
const res = await this.genericShopifyPost(url, accessToken, payload);
|
|
52
|
-
if (res.status >= 400) {
|
|
53
|
-
index_js_1.Logger.error('Failed to update Shopify app Metafield ', { shop, accessToken, url, payload });
|
|
54
|
-
}
|
|
55
|
-
return res;
|
|
56
|
-
};
|
|
57
|
-
static getShopifyStoreProperties = async (shop, accessToken) => {
|
|
58
|
-
const url = `https://${shop}/admin/api/${this._shopify_api_version}/shop.json`;
|
|
59
|
-
const res = await this.genericShopifyGet(url, accessToken);
|
|
60
|
-
if (res.status >= 400) {
|
|
61
|
-
index_js_1.Logger.error('Failed to get Shopify Store Properties', { shop, accessToken, url });
|
|
62
|
-
}
|
|
63
|
-
return res;
|
|
64
|
-
};
|
|
65
|
-
static createAppSubscription = async (shop, accessToken, planName, price, returnUrl, trialDays, test) => {
|
|
66
|
-
const url = `https://${shop}/admin/api/${this._shopify_api_version}/recurring_application_charges.json`;
|
|
67
|
-
const recurring_application_charge = {
|
|
68
|
-
name: planName,
|
|
69
|
-
price,
|
|
70
|
-
return_url: returnUrl,
|
|
71
|
-
trial_days: trialDays,
|
|
72
|
-
test
|
|
73
|
-
};
|
|
74
|
-
const res = await this.genericShopifyPost(url, accessToken, { recurring_application_charge });
|
|
75
|
-
if (res.status >= 400) {
|
|
76
|
-
index_js_1.Logger.error('Failed to create App Subscription', { shop, accessToken, url });
|
|
77
|
-
}
|
|
78
|
-
return res;
|
|
79
|
-
};
|
|
80
|
-
static cancelAppSubscription = async (shop, accessToken, chargeId) => {
|
|
81
|
-
const url = `https://${shop}/admin/api/${this._shopify_api_version}/recurring_application_charges/${chargeId}.json`;
|
|
82
|
-
const client = this.getClient();
|
|
83
|
-
const res = await client.delete(url, { headers: { 'X-Shopify-Access-Token': accessToken } });
|
|
84
|
-
if (res.status !== 200) {
|
|
85
|
-
index_js_1.Logger.error('Failed to cancel recurring App billing', { shop, accessToken, url });
|
|
86
|
-
}
|
|
87
|
-
return res;
|
|
88
|
-
};
|
|
89
|
-
static listAppSubscriptions = async (shop, accessToken) => {
|
|
90
|
-
const url = `https://${shop}/admin/api/${this._shopify_api_version}/recurring_application_charges.json`;
|
|
91
|
-
const res = await this.genericShopifyGet(url, accessToken);
|
|
92
|
-
if (res.status >= 400) {
|
|
93
|
-
index_js_1.Logger.error('Failed to get App Subscriptions', { shop, accessToken, url });
|
|
94
|
-
}
|
|
95
|
-
return res;
|
|
96
|
-
};
|
|
97
|
-
static getOrder = async (shop, accessToken, orderId, retries = 0, maxRetries = 0, retryDelay = 5000) => {
|
|
98
|
-
const url = `https://${shop}/admin/api/${this._shopify_api_version}/orders/${orderId}.json`;
|
|
99
|
-
const res = await this.genericShopifyGet(url, accessToken);
|
|
100
|
-
if (res.status >= 400) {
|
|
101
|
-
index_js_1.Logger.error('Failed to get Order', { res, shop, accessToken, url, orderId });
|
|
102
|
-
if (retries < maxRetries) {
|
|
103
|
-
await new Promise(resolve => setTimeout(resolve, retryDelay));
|
|
104
|
-
index_js_1.Logger.info('Retrying to get Order', { shop, accessToken, url, orderId, retries, maxRetries, retryDelay });
|
|
105
|
-
return await this.getOrder(shop, accessToken, orderId, retries + 1, maxRetries, retryDelay);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
return res;
|
|
109
|
-
};
|
|
110
|
-
static getProductREST = async (shop, accessToken, productId) => {
|
|
111
|
-
const url = `https://${shop}/admin/api/${this._shopify_api_version}/products/${productId}.json`;
|
|
112
|
-
const res = await this.genericShopifyGet(url, accessToken);
|
|
113
|
-
if (res.status >= 400) {
|
|
114
|
-
index_js_1.Logger.error('Failed to get Product', { res, shop, accessToken, url, productId });
|
|
115
|
-
}
|
|
116
|
-
return res;
|
|
117
|
-
};
|
|
118
|
-
static genericShopifyPost = async (url, accessToken, payload) => {
|
|
119
|
-
const client = this.getClient();
|
|
120
|
-
const res = await client.post(url, payload, { headers: { 'X-Shopify-Access-Token': accessToken, 'Content-Type': 'application/json' } });
|
|
121
|
-
index_js_1.Logger.debug('Shopify Client Response', { res });
|
|
122
|
-
return res;
|
|
123
|
-
};
|
|
124
|
-
static genericShopifyGet = async (url, accessToken) => {
|
|
125
|
-
const client = this.getClient();
|
|
126
|
-
const res = await client.get(url, { headers: { 'X-Shopify-Access-Token': accessToken } });
|
|
127
|
-
index_js_1.Logger.debug('Shopify Client Response', { res });
|
|
128
|
-
return res;
|
|
129
|
-
};
|
|
130
|
-
static genericShopifyPut = async (url, accessToken, payload) => {
|
|
131
|
-
const client = this.getClient();
|
|
132
|
-
const res = await client.put(url, payload, { headers: { 'X-Shopify-Access-Token': accessToken } });
|
|
133
|
-
index_js_1.Logger.debug('Shopify Client Response', { res });
|
|
134
|
-
return res;
|
|
135
|
-
};
|
|
136
|
-
static unregisterWebhook = async (shop, webhookId, accessToken) => {
|
|
137
|
-
const client = this.getClient();
|
|
138
|
-
const url = `https://${shop}/admin/api/${this._shopify_api_version}/webhooks/${webhookId}.json`;
|
|
139
|
-
const res = await client.delete(url, { headers: { 'X-Shopify-Access-Token': accessToken } });
|
|
140
|
-
index_js_1.Logger.debug('Shopify Client Response', { res });
|
|
141
|
-
return res;
|
|
142
|
-
};
|
|
143
|
-
}
|
|
144
|
-
exports.ShopifyClient = ShopifyClient;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ShopifyClient = void 0;
|
|
4
|
+
const http_client_js_1 = require("../generic/http-client.js");
|
|
5
|
+
const index_js_1 = require("../../index.js");
|
|
6
|
+
class ShopifyClient {
|
|
7
|
+
static _shopify_api_version = process.env.SHOPIFY_API_VERSION;
|
|
8
|
+
static client;
|
|
9
|
+
static getClient = () => {
|
|
10
|
+
this.client = this.client ?? (0, http_client_js_1.axiosHttpService)();
|
|
11
|
+
return this.client;
|
|
12
|
+
};
|
|
13
|
+
static registerApp = async (shop, code, appKey, appSecret) => {
|
|
14
|
+
const client = this.getClient();
|
|
15
|
+
const url = 'https://' + shop + '/admin/oauth/access_token';
|
|
16
|
+
const payload = {
|
|
17
|
+
client_id: appKey,
|
|
18
|
+
client_secret: appSecret,
|
|
19
|
+
code
|
|
20
|
+
};
|
|
21
|
+
const res = await client.post(url, payload);
|
|
22
|
+
return res;
|
|
23
|
+
};
|
|
24
|
+
static registerWebhookTopic = async (shop, accessToken, eventBridgeArn, topic) => {
|
|
25
|
+
const client = this.getClient();
|
|
26
|
+
const url = `https://${shop}/admin/api/${this._shopify_api_version}/webhooks.json`;
|
|
27
|
+
const payload = {
|
|
28
|
+
webhook: {
|
|
29
|
+
topic,
|
|
30
|
+
address: eventBridgeArn,
|
|
31
|
+
format: 'json'
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
const res = await client.post(url, payload, { headers: { 'X-Shopify-Access-Token': accessToken } });
|
|
35
|
+
if (res.status >= 400) {
|
|
36
|
+
index_js_1.Logger.error('Failed to register Webhook Topic', { res, shop, accessToken, eventBridgeArn, topic, url, payload });
|
|
37
|
+
}
|
|
38
|
+
index_js_1.Logger.debug('Shopify Client Webhook Registration Response', { registrationResponse: res });
|
|
39
|
+
return res;
|
|
40
|
+
};
|
|
41
|
+
static updateShopifyAppMetafield = async (shop, accessToken, pixelId) => {
|
|
42
|
+
const url = `https://${shop}/admin/api/${this._shopify_api_version}/metafields.json`;
|
|
43
|
+
const payload = {
|
|
44
|
+
metafield: {
|
|
45
|
+
namespace: 'adtr',
|
|
46
|
+
key: 'adtr.config',
|
|
47
|
+
value: pixelId,
|
|
48
|
+
type: 'single_line_text_field'
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
const res = await this.genericShopifyPost(url, accessToken, payload);
|
|
52
|
+
if (res.status >= 400) {
|
|
53
|
+
index_js_1.Logger.error('Failed to update Shopify app Metafield ', { shop, accessToken, url, payload });
|
|
54
|
+
}
|
|
55
|
+
return res;
|
|
56
|
+
};
|
|
57
|
+
static getShopifyStoreProperties = async (shop, accessToken) => {
|
|
58
|
+
const url = `https://${shop}/admin/api/${this._shopify_api_version}/shop.json`;
|
|
59
|
+
const res = await this.genericShopifyGet(url, accessToken);
|
|
60
|
+
if (res.status >= 400) {
|
|
61
|
+
index_js_1.Logger.error('Failed to get Shopify Store Properties', { shop, accessToken, url });
|
|
62
|
+
}
|
|
63
|
+
return res;
|
|
64
|
+
};
|
|
65
|
+
static createAppSubscription = async (shop, accessToken, planName, price, returnUrl, trialDays, test) => {
|
|
66
|
+
const url = `https://${shop}/admin/api/${this._shopify_api_version}/recurring_application_charges.json`;
|
|
67
|
+
const recurring_application_charge = {
|
|
68
|
+
name: planName,
|
|
69
|
+
price,
|
|
70
|
+
return_url: returnUrl,
|
|
71
|
+
trial_days: trialDays,
|
|
72
|
+
test
|
|
73
|
+
};
|
|
74
|
+
const res = await this.genericShopifyPost(url, accessToken, { recurring_application_charge });
|
|
75
|
+
if (res.status >= 400) {
|
|
76
|
+
index_js_1.Logger.error('Failed to create App Subscription', { shop, accessToken, url });
|
|
77
|
+
}
|
|
78
|
+
return res;
|
|
79
|
+
};
|
|
80
|
+
static cancelAppSubscription = async (shop, accessToken, chargeId) => {
|
|
81
|
+
const url = `https://${shop}/admin/api/${this._shopify_api_version}/recurring_application_charges/${chargeId}.json`;
|
|
82
|
+
const client = this.getClient();
|
|
83
|
+
const res = await client.delete(url, { headers: { 'X-Shopify-Access-Token': accessToken } });
|
|
84
|
+
if (res.status !== 200) {
|
|
85
|
+
index_js_1.Logger.error('Failed to cancel recurring App billing', { shop, accessToken, url });
|
|
86
|
+
}
|
|
87
|
+
return res;
|
|
88
|
+
};
|
|
89
|
+
static listAppSubscriptions = async (shop, accessToken) => {
|
|
90
|
+
const url = `https://${shop}/admin/api/${this._shopify_api_version}/recurring_application_charges.json`;
|
|
91
|
+
const res = await this.genericShopifyGet(url, accessToken);
|
|
92
|
+
if (res.status >= 400) {
|
|
93
|
+
index_js_1.Logger.error('Failed to get App Subscriptions', { shop, accessToken, url });
|
|
94
|
+
}
|
|
95
|
+
return res;
|
|
96
|
+
};
|
|
97
|
+
static getOrder = async (shop, accessToken, orderId, retries = 0, maxRetries = 0, retryDelay = 5000) => {
|
|
98
|
+
const url = `https://${shop}/admin/api/${this._shopify_api_version}/orders/${orderId}.json`;
|
|
99
|
+
const res = await this.genericShopifyGet(url, accessToken);
|
|
100
|
+
if (res.status >= 400) {
|
|
101
|
+
index_js_1.Logger.error('Failed to get Order', { res, shop, accessToken, url, orderId });
|
|
102
|
+
if (retries < maxRetries) {
|
|
103
|
+
await new Promise(resolve => setTimeout(resolve, retryDelay));
|
|
104
|
+
index_js_1.Logger.info('Retrying to get Order', { shop, accessToken, url, orderId, retries, maxRetries, retryDelay });
|
|
105
|
+
return await this.getOrder(shop, accessToken, orderId, retries + 1, maxRetries, retryDelay);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
return res;
|
|
109
|
+
};
|
|
110
|
+
static getProductREST = async (shop, accessToken, productId) => {
|
|
111
|
+
const url = `https://${shop}/admin/api/${this._shopify_api_version}/products/${productId}.json`;
|
|
112
|
+
const res = await this.genericShopifyGet(url, accessToken);
|
|
113
|
+
if (res.status >= 400) {
|
|
114
|
+
index_js_1.Logger.error('Failed to get Product', { res, shop, accessToken, url, productId });
|
|
115
|
+
}
|
|
116
|
+
return res;
|
|
117
|
+
};
|
|
118
|
+
static genericShopifyPost = async (url, accessToken, payload) => {
|
|
119
|
+
const client = this.getClient();
|
|
120
|
+
const res = await client.post(url, payload, { headers: { 'X-Shopify-Access-Token': accessToken, 'Content-Type': 'application/json' } });
|
|
121
|
+
index_js_1.Logger.debug('Shopify Client Response', { res });
|
|
122
|
+
return res;
|
|
123
|
+
};
|
|
124
|
+
static genericShopifyGet = async (url, accessToken) => {
|
|
125
|
+
const client = this.getClient();
|
|
126
|
+
const res = await client.get(url, { headers: { 'X-Shopify-Access-Token': accessToken } });
|
|
127
|
+
index_js_1.Logger.debug('Shopify Client Response', { res });
|
|
128
|
+
return res;
|
|
129
|
+
};
|
|
130
|
+
static genericShopifyPut = async (url, accessToken, payload) => {
|
|
131
|
+
const client = this.getClient();
|
|
132
|
+
const res = await client.put(url, payload, { headers: { 'X-Shopify-Access-Token': accessToken } });
|
|
133
|
+
index_js_1.Logger.debug('Shopify Client Response', { res });
|
|
134
|
+
return res;
|
|
135
|
+
};
|
|
136
|
+
static unregisterWebhook = async (shop, webhookId, accessToken) => {
|
|
137
|
+
const client = this.getClient();
|
|
138
|
+
const url = `https://${shop}/admin/api/${this._shopify_api_version}/webhooks/${webhookId}.json`;
|
|
139
|
+
const res = await client.delete(url, { headers: { 'X-Shopify-Access-Token': accessToken } });
|
|
140
|
+
index_js_1.Logger.debug('Shopify Client Response', { res });
|
|
141
|
+
return res;
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
exports.ShopifyClient = ShopifyClient;
|
|
145
145
|
//# sourceMappingURL=shopify-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shopify-client.js","sourceRoot":"","sources":["../../../../src/clients/third-party/shopify-client.ts"],"names":[],"mappings":";;;AAAA,8DAAgF;AAChF,6CAAwC;AAKxC,MAAa,aAAa;IACxB,MAAM,CAAC,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,mBAA6B,CAAC;IACxE,MAAM,CAAC,MAAM,CAAoB;IAEjC,MAAM,CAAC,SAAS,GAAG,GAAG,EAAE;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAA,iCAAgB,GAAE,CAAC;QAChD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,CAAC,WAAW,GAAG,KAAK,EAAE,IAAY,EAAE,IAAY,EAAE,MAAc,EAAE,SAAiB,EAAE,EAAE;QAC3F,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,UAAU,GAAG,IAAI,GAAG,2BAA2B,CAAC;QAC5D,MAAM,OAAO,GAAG;YACd,SAAS,EAAE,MAAM;YACjB,aAAa,EAAE,SAAS;YACxB,IAAI;SACL,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IAEF,MAAM,CAAC,oBAAoB,GAAG,KAAK,EAAE,IAAY,EAAE,WAAmB,EAAE,cAAsB,EAAE,KAAa,EAAE,EAAE;QAC/G,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,WAAW,IAAI,cAAc,IAAI,CAAC,oBAAoB,gBAAgB,CAAC;QACnF,MAAM,OAAO,GAAG;YACd,OAAO,EAAE;gBACP,KAAK;gBACL,OAAO,EAAE,cAAc;gBACvB,MAAM,EAAE,MAAM;aACf;SACF,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,wBAAwB,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QACpG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;YACrB,iBAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;SACnH;QACD,iBAAM,CAAC,KAAK,CAAC,8CAA8C,EAAE,EAAE,oBAAoB,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5F,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IAEF,MAAM,CAAC,yBAAyB,GAAG,KAAK,EAAE,IAAY,EAAE,WAAmB,EAAE,OAAe,EAAE,EAAE;QAC9F,MAAM,GAAG,GAAG,WAAW,IAAI,cAAc,IAAI,CAAC,oBAAoB,kBAAkB,CAAC;QACrF,MAAM,OAAO,GAAG;YACd,SAAS,EAAE;gBACT,SAAS,EAAE,MAAM;gBACjB,GAAG,EAAE,aAAa;gBAClB,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,wBAAwB;aAC/B;SACF,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAErE,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;YACrB,iBAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;SAC9F;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IAEF,MAAM,CAAC,yBAAyB,GAAG,KAAK,EAAE,IAAY,EAAE,WAAmB,
|
|
1
|
+
{"version":3,"file":"shopify-client.js","sourceRoot":"","sources":["../../../../src/clients/third-party/shopify-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AdClickInfo, EventIdentity } from '@adtrackify/at-tracking-event-types';
|
|
2
|
-
import { IdentityCache } from '../services';
|
|
3
|
-
export declare const isIdentityCacheStale: (identityCache: IdentityCache, incomingIdentity: EventIdentity) => boolean;
|
|
4
|
-
export declare const isClickInfosStale: (cachedClick: AdClickInfo, incomingClick: AdClickInfo) => boolean;
|
|
1
|
+
import { AdClickInfo, EventIdentity } from '@adtrackify/at-tracking-event-types';
|
|
2
|
+
import { IdentityCache } from '../services';
|
|
3
|
+
export declare const isIdentityCacheStale: (identityCache: IdentityCache, incomingIdentity: EventIdentity) => boolean;
|
|
4
|
+
export declare const isClickInfosStale: (cachedClick: AdClickInfo, incomingClick: AdClickInfo) => boolean;
|
|
@@ -1,151 +1,151 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isClickInfosStale = exports.isIdentityCacheStale = void 0;
|
|
4
|
-
const at_shared_utils_1 = require("@adtrackify/at-shared-utils");
|
|
5
|
-
const logging_helper_1 = require("./logging-helper");
|
|
6
|
-
const isIdentityCacheStale = (identityCache, incomingIdentity) => {
|
|
7
|
-
try {
|
|
8
|
-
const cachedTraits = identityCache.response?.traits ?? {};
|
|
9
|
-
const incomingTraits = incomingIdentity?.traits ?? {};
|
|
10
|
-
const identityCacheStaleTracker = {
|
|
11
|
-
cachedTraits: cachedTraits,
|
|
12
|
-
incomingTraits: incomingTraits,
|
|
13
|
-
isUserIdsStale: false,
|
|
14
|
-
isIdsStale: false,
|
|
15
|
-
isEmailsStale: false,
|
|
16
|
-
isPhonesStale: false,
|
|
17
|
-
isShopifyYIdsStale: false,
|
|
18
|
-
isGendersStale: false,
|
|
19
|
-
isDobsStale: false,
|
|
20
|
-
isAddressesStale: false,
|
|
21
|
-
isClickInfosStale: false,
|
|
22
|
-
isIpAddressStale: false,
|
|
23
|
-
isUserAgentStale: false,
|
|
24
|
-
isCacheStale: false
|
|
25
|
-
};
|
|
26
|
-
const isNewUserIds = (0, at_shared_utils_1.hasNewTrait)(cachedTraits?.userIds ?? [], incomingTraits?.userIds ?? []);
|
|
27
|
-
if (isNewUserIds) {
|
|
28
|
-
logging_helper_1.Logger.debug('identity cache miss - userIds changed', { cachedTraits, incomingTraits });
|
|
29
|
-
identityCacheStaleTracker.isUserIdsStale = true;
|
|
30
|
-
identityCacheStaleTracker.isCacheStale = true;
|
|
31
|
-
}
|
|
32
|
-
const isNewIds = (0, at_shared_utils_1.hasNewTrait)(cachedTraits?.ids ?? [], incomingTraits?.ids ?? []);
|
|
33
|
-
if (isNewIds) {
|
|
34
|
-
logging_helper_1.Logger.debug('identity cache miss - ids changed', { cachedTraits, incomingTraits });
|
|
35
|
-
identityCacheStaleTracker.isIdsStale = true;
|
|
36
|
-
identityCacheStaleTracker.isCacheStale = true;
|
|
37
|
-
}
|
|
38
|
-
const isNewEmails = (0, at_shared_utils_1.hasNewTrait)(cachedTraits?.emails ?? [], incomingTraits?.emails ?? []);
|
|
39
|
-
if (isNewEmails) {
|
|
40
|
-
logging_helper_1.Logger.debug('identity cache miss - emails changed', { cachedTraits, incomingTraits });
|
|
41
|
-
identityCacheStaleTracker.isEmailsStale = true;
|
|
42
|
-
identityCacheStaleTracker.isCacheStale = true;
|
|
43
|
-
}
|
|
44
|
-
const isNewPhones = (0, at_shared_utils_1.hasNewTrait)(cachedTraits?.phones ?? [], incomingTraits?.phones ?? []);
|
|
45
|
-
if (isNewPhones) {
|
|
46
|
-
logging_helper_1.Logger.debug('identity cache miss - phones changed', { cachedTraits, incomingTraits });
|
|
47
|
-
identityCacheStaleTracker.isPhonesStale = true;
|
|
48
|
-
identityCacheStaleTracker.isCacheStale = true;
|
|
49
|
-
}
|
|
50
|
-
const isNewShopifyYIds = (0, at_shared_utils_1.hasNewTrait)(cachedTraits?.shopifyYIds ?? [], incomingTraits?.shopifyYIds ?? []);
|
|
51
|
-
if (isNewShopifyYIds) {
|
|
52
|
-
logging_helper_1.Logger.debug('identity cache miss - shopify Y ids changed', { cachedTraits, incomingTraits });
|
|
53
|
-
identityCacheStaleTracker.isShopifyYIdsStale = true;
|
|
54
|
-
identityCacheStaleTracker.isCacheStale = true;
|
|
55
|
-
}
|
|
56
|
-
const isNewGenders = (0, at_shared_utils_1.hasNewTrait)(cachedTraits?.genders ?? [], incomingTraits?.genders ?? []);
|
|
57
|
-
if (isNewGenders) {
|
|
58
|
-
logging_helper_1.Logger.debug('identity cache miss - genders changed', { cachedTraits, incomingTraits });
|
|
59
|
-
identityCacheStaleTracker.isGendersStale = true;
|
|
60
|
-
identityCacheStaleTracker.isCacheStale = true;
|
|
61
|
-
}
|
|
62
|
-
const isNewDobs = (0, at_shared_utils_1.hasNewTrait)(cachedTraits?.dobs ?? [], incomingTraits?.dobs ?? []);
|
|
63
|
-
if (isNewDobs) {
|
|
64
|
-
logging_helper_1.Logger.debug('identity cache miss - dobs changed', { cachedTraits, incomingTraits });
|
|
65
|
-
identityCacheStaleTracker.isDobsStale = true;
|
|
66
|
-
identityCacheStaleTracker.isCacheStale = true;
|
|
67
|
-
}
|
|
68
|
-
const isNewAddress = (0, at_shared_utils_1.hasNewAddress)(cachedTraits?.addresses ?? [], incomingTraits?.addresses ?? []);
|
|
69
|
-
if (isNewAddress) {
|
|
70
|
-
logging_helper_1.Logger.debug('identity cache miss - address changed', { cachedTraits, incomingTraits });
|
|
71
|
-
identityCacheStaleTracker.isAddressesStale = true;
|
|
72
|
-
identityCacheStaleTracker.isCacheStale = true;
|
|
73
|
-
}
|
|
74
|
-
const isNewClick = (0, exports.isClickInfosStale)(cachedTraits?.click ?? {}, incomingTraits?.click ?? {});
|
|
75
|
-
if (isNewClick) {
|
|
76
|
-
logging_helper_1.Logger.debug('identity cache miss - clickInfos changed', { cachedTraits, incomingTraits });
|
|
77
|
-
identityCacheStaleTracker.isClickInfosStale = true;
|
|
78
|
-
identityCacheStaleTracker.isCacheStale = true;
|
|
79
|
-
}
|
|
80
|
-
if (incomingTraits?.ipAddress && cachedTraits?.ipAddress !== incomingTraits?.ipAddress) {
|
|
81
|
-
logging_helper_1.Logger.debug('identity cache miss - ip/userAgent changed', { cachedTraits, incomingTraits });
|
|
82
|
-
identityCacheStaleTracker.isIpAddressStale = true;
|
|
83
|
-
identityCacheStaleTracker.isCacheStale = true;
|
|
84
|
-
}
|
|
85
|
-
if (incomingTraits?.userAgent && cachedTraits?.userAgent !== incomingTraits?.userAgent) {
|
|
86
|
-
logging_helper_1.Logger.debug('identity cache miss - userAgent changed', { cachedTraits, incomingTraits });
|
|
87
|
-
identityCacheStaleTracker.isUserAgentStale = true;
|
|
88
|
-
identityCacheStaleTracker.isCacheStale = true;
|
|
89
|
-
}
|
|
90
|
-
if (identityCacheStaleTracker.isCacheStale) {
|
|
91
|
-
logging_helper_1.Logger.debug('identity cache miss - cache stale', { identityCacheStaleTracker });
|
|
92
|
-
}
|
|
93
|
-
return identityCacheStaleTracker.isCacheStale;
|
|
94
|
-
}
|
|
95
|
-
catch (err) {
|
|
96
|
-
logging_helper_1.Logger.error('Error while checking if identity cache is stale', { err });
|
|
97
|
-
return true;
|
|
98
|
-
}
|
|
99
|
-
};
|
|
100
|
-
exports.isIdentityCacheStale = isIdentityCacheStale;
|
|
101
|
-
const isClickInfosStale = (cachedClick, incomingClick) => {
|
|
102
|
-
const cleanedCachedClick = (0, at_shared_utils_1.removeEmptyFields)(cachedClick);
|
|
103
|
-
const cleanedIncomingClick = (0, at_shared_utils_1.removeEmptyFields)(incomingClick);
|
|
104
|
-
const incomingKeys = Object.keys(cleanedIncomingClick);
|
|
105
|
-
const clickInfoStaleTracker = {
|
|
106
|
-
cleanedCachedClick,
|
|
107
|
-
cleanedIncomingClick,
|
|
108
|
-
isClickInfosStale: false,
|
|
109
|
-
staleKeys: []
|
|
110
|
-
};
|
|
111
|
-
incomingKeys.forEach(key => {
|
|
112
|
-
if (key === 'googleClientInfos' || key.includes('CollectedAt')) {
|
|
113
|
-
return true;
|
|
114
|
-
}
|
|
115
|
-
else if (key === 'fbc') {
|
|
116
|
-
const cachedClickValue = cleanedCachedClick?.[key];
|
|
117
|
-
const incomingClickValue = cleanedIncomingClick?.[key];
|
|
118
|
-
if (incomingClickValue && !cachedClickValue) {
|
|
119
|
-
clickInfoStaleTracker.isClickInfosStale = true;
|
|
120
|
-
clickInfoStaleTracker.staleKeys.push(key);
|
|
121
|
-
}
|
|
122
|
-
else if (incomingClickValue && cachedClickValue && incomingClickValue !== cachedClickValue) {
|
|
123
|
-
const incomingFbcFbclid = incomingClickValue?.split('.')?.[3];
|
|
124
|
-
const cachedFbcFbclid = cachedClickValue?.split('.')?.[3];
|
|
125
|
-
if (incomingFbcFbclid !== cachedFbcFbclid) {
|
|
126
|
-
clickInfoStaleTracker.isClickInfosStale = true;
|
|
127
|
-
clickInfoStaleTracker.staleKeys.push(key);
|
|
128
|
-
}
|
|
129
|
-
if (!incomingFbcFbclid || !cachedFbcFbclid) {
|
|
130
|
-
clickInfoStaleTracker.isClickInfosStale = true;
|
|
131
|
-
clickInfoStaleTracker.staleKeys.push(key);
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
else {
|
|
136
|
-
const cachedClickValue = cleanedCachedClick?.[key];
|
|
137
|
-
const incomingClickValue = cleanedIncomingClick?.[key];
|
|
138
|
-
if ((incomingClickValue && !cachedClickValue)
|
|
139
|
-
|| incomingClickValue !== cachedClickValue) {
|
|
140
|
-
clickInfoStaleTracker.isClickInfosStale = true;
|
|
141
|
-
clickInfoStaleTracker.staleKeys.push(key);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
});
|
|
145
|
-
if (clickInfoStaleTracker.isClickInfosStale) {
|
|
146
|
-
logging_helper_1.Logger.debug('identity cache miss - clickInfos changed', { clickInfoStaleTracker });
|
|
147
|
-
}
|
|
148
|
-
return clickInfoStaleTracker.isClickInfosStale;
|
|
149
|
-
};
|
|
150
|
-
exports.isClickInfosStale = isClickInfosStale;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isClickInfosStale = exports.isIdentityCacheStale = void 0;
|
|
4
|
+
const at_shared_utils_1 = require("@adtrackify/at-shared-utils");
|
|
5
|
+
const logging_helper_1 = require("./logging-helper");
|
|
6
|
+
const isIdentityCacheStale = (identityCache, incomingIdentity) => {
|
|
7
|
+
try {
|
|
8
|
+
const cachedTraits = identityCache.response?.traits ?? {};
|
|
9
|
+
const incomingTraits = incomingIdentity?.traits ?? {};
|
|
10
|
+
const identityCacheStaleTracker = {
|
|
11
|
+
cachedTraits: cachedTraits,
|
|
12
|
+
incomingTraits: incomingTraits,
|
|
13
|
+
isUserIdsStale: false,
|
|
14
|
+
isIdsStale: false,
|
|
15
|
+
isEmailsStale: false,
|
|
16
|
+
isPhonesStale: false,
|
|
17
|
+
isShopifyYIdsStale: false,
|
|
18
|
+
isGendersStale: false,
|
|
19
|
+
isDobsStale: false,
|
|
20
|
+
isAddressesStale: false,
|
|
21
|
+
isClickInfosStale: false,
|
|
22
|
+
isIpAddressStale: false,
|
|
23
|
+
isUserAgentStale: false,
|
|
24
|
+
isCacheStale: false
|
|
25
|
+
};
|
|
26
|
+
const isNewUserIds = (0, at_shared_utils_1.hasNewTrait)(cachedTraits?.userIds ?? [], incomingTraits?.userIds ?? []);
|
|
27
|
+
if (isNewUserIds) {
|
|
28
|
+
logging_helper_1.Logger.debug('identity cache miss - userIds changed', { cachedTraits, incomingTraits });
|
|
29
|
+
identityCacheStaleTracker.isUserIdsStale = true;
|
|
30
|
+
identityCacheStaleTracker.isCacheStale = true;
|
|
31
|
+
}
|
|
32
|
+
const isNewIds = (0, at_shared_utils_1.hasNewTrait)(cachedTraits?.ids ?? [], incomingTraits?.ids ?? []);
|
|
33
|
+
if (isNewIds) {
|
|
34
|
+
logging_helper_1.Logger.debug('identity cache miss - ids changed', { cachedTraits, incomingTraits });
|
|
35
|
+
identityCacheStaleTracker.isIdsStale = true;
|
|
36
|
+
identityCacheStaleTracker.isCacheStale = true;
|
|
37
|
+
}
|
|
38
|
+
const isNewEmails = (0, at_shared_utils_1.hasNewTrait)(cachedTraits?.emails ?? [], incomingTraits?.emails ?? []);
|
|
39
|
+
if (isNewEmails) {
|
|
40
|
+
logging_helper_1.Logger.debug('identity cache miss - emails changed', { cachedTraits, incomingTraits });
|
|
41
|
+
identityCacheStaleTracker.isEmailsStale = true;
|
|
42
|
+
identityCacheStaleTracker.isCacheStale = true;
|
|
43
|
+
}
|
|
44
|
+
const isNewPhones = (0, at_shared_utils_1.hasNewTrait)(cachedTraits?.phones ?? [], incomingTraits?.phones ?? []);
|
|
45
|
+
if (isNewPhones) {
|
|
46
|
+
logging_helper_1.Logger.debug('identity cache miss - phones changed', { cachedTraits, incomingTraits });
|
|
47
|
+
identityCacheStaleTracker.isPhonesStale = true;
|
|
48
|
+
identityCacheStaleTracker.isCacheStale = true;
|
|
49
|
+
}
|
|
50
|
+
const isNewShopifyYIds = (0, at_shared_utils_1.hasNewTrait)(cachedTraits?.shopifyYIds ?? [], incomingTraits?.shopifyYIds ?? []);
|
|
51
|
+
if (isNewShopifyYIds) {
|
|
52
|
+
logging_helper_1.Logger.debug('identity cache miss - shopify Y ids changed', { cachedTraits, incomingTraits });
|
|
53
|
+
identityCacheStaleTracker.isShopifyYIdsStale = true;
|
|
54
|
+
identityCacheStaleTracker.isCacheStale = true;
|
|
55
|
+
}
|
|
56
|
+
const isNewGenders = (0, at_shared_utils_1.hasNewTrait)(cachedTraits?.genders ?? [], incomingTraits?.genders ?? []);
|
|
57
|
+
if (isNewGenders) {
|
|
58
|
+
logging_helper_1.Logger.debug('identity cache miss - genders changed', { cachedTraits, incomingTraits });
|
|
59
|
+
identityCacheStaleTracker.isGendersStale = true;
|
|
60
|
+
identityCacheStaleTracker.isCacheStale = true;
|
|
61
|
+
}
|
|
62
|
+
const isNewDobs = (0, at_shared_utils_1.hasNewTrait)(cachedTraits?.dobs ?? [], incomingTraits?.dobs ?? []);
|
|
63
|
+
if (isNewDobs) {
|
|
64
|
+
logging_helper_1.Logger.debug('identity cache miss - dobs changed', { cachedTraits, incomingTraits });
|
|
65
|
+
identityCacheStaleTracker.isDobsStale = true;
|
|
66
|
+
identityCacheStaleTracker.isCacheStale = true;
|
|
67
|
+
}
|
|
68
|
+
const isNewAddress = (0, at_shared_utils_1.hasNewAddress)(cachedTraits?.addresses ?? [], incomingTraits?.addresses ?? []);
|
|
69
|
+
if (isNewAddress) {
|
|
70
|
+
logging_helper_1.Logger.debug('identity cache miss - address changed', { cachedTraits, incomingTraits });
|
|
71
|
+
identityCacheStaleTracker.isAddressesStale = true;
|
|
72
|
+
identityCacheStaleTracker.isCacheStale = true;
|
|
73
|
+
}
|
|
74
|
+
const isNewClick = (0, exports.isClickInfosStale)(cachedTraits?.click ?? {}, incomingTraits?.click ?? {});
|
|
75
|
+
if (isNewClick) {
|
|
76
|
+
logging_helper_1.Logger.debug('identity cache miss - clickInfos changed', { cachedTraits, incomingTraits });
|
|
77
|
+
identityCacheStaleTracker.isClickInfosStale = true;
|
|
78
|
+
identityCacheStaleTracker.isCacheStale = true;
|
|
79
|
+
}
|
|
80
|
+
if (incomingTraits?.ipAddress && cachedTraits?.ipAddress !== incomingTraits?.ipAddress) {
|
|
81
|
+
logging_helper_1.Logger.debug('identity cache miss - ip/userAgent changed', { cachedTraits, incomingTraits });
|
|
82
|
+
identityCacheStaleTracker.isIpAddressStale = true;
|
|
83
|
+
identityCacheStaleTracker.isCacheStale = true;
|
|
84
|
+
}
|
|
85
|
+
if (incomingTraits?.userAgent && cachedTraits?.userAgent !== incomingTraits?.userAgent) {
|
|
86
|
+
logging_helper_1.Logger.debug('identity cache miss - userAgent changed', { cachedTraits, incomingTraits });
|
|
87
|
+
identityCacheStaleTracker.isUserAgentStale = true;
|
|
88
|
+
identityCacheStaleTracker.isCacheStale = true;
|
|
89
|
+
}
|
|
90
|
+
if (identityCacheStaleTracker.isCacheStale) {
|
|
91
|
+
logging_helper_1.Logger.debug('identity cache miss - cache stale', { identityCacheStaleTracker });
|
|
92
|
+
}
|
|
93
|
+
return identityCacheStaleTracker.isCacheStale;
|
|
94
|
+
}
|
|
95
|
+
catch (err) {
|
|
96
|
+
logging_helper_1.Logger.error('Error while checking if identity cache is stale', { err });
|
|
97
|
+
return true;
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
exports.isIdentityCacheStale = isIdentityCacheStale;
|
|
101
|
+
const isClickInfosStale = (cachedClick, incomingClick) => {
|
|
102
|
+
const cleanedCachedClick = (0, at_shared_utils_1.removeEmptyFields)(cachedClick);
|
|
103
|
+
const cleanedIncomingClick = (0, at_shared_utils_1.removeEmptyFields)(incomingClick);
|
|
104
|
+
const incomingKeys = Object.keys(cleanedIncomingClick);
|
|
105
|
+
const clickInfoStaleTracker = {
|
|
106
|
+
cleanedCachedClick,
|
|
107
|
+
cleanedIncomingClick,
|
|
108
|
+
isClickInfosStale: false,
|
|
109
|
+
staleKeys: []
|
|
110
|
+
};
|
|
111
|
+
incomingKeys.forEach(key => {
|
|
112
|
+
if (key === 'googleClientInfos' || key.includes('CollectedAt')) {
|
|
113
|
+
return true;
|
|
114
|
+
}
|
|
115
|
+
else if (key === 'fbc') {
|
|
116
|
+
const cachedClickValue = cleanedCachedClick?.[key];
|
|
117
|
+
const incomingClickValue = cleanedIncomingClick?.[key];
|
|
118
|
+
if (incomingClickValue && !cachedClickValue) {
|
|
119
|
+
clickInfoStaleTracker.isClickInfosStale = true;
|
|
120
|
+
clickInfoStaleTracker.staleKeys.push(key);
|
|
121
|
+
}
|
|
122
|
+
else if (incomingClickValue && cachedClickValue && incomingClickValue !== cachedClickValue) {
|
|
123
|
+
const incomingFbcFbclid = incomingClickValue?.split('.')?.[3];
|
|
124
|
+
const cachedFbcFbclid = cachedClickValue?.split('.')?.[3];
|
|
125
|
+
if (incomingFbcFbclid !== cachedFbcFbclid) {
|
|
126
|
+
clickInfoStaleTracker.isClickInfosStale = true;
|
|
127
|
+
clickInfoStaleTracker.staleKeys.push(key);
|
|
128
|
+
}
|
|
129
|
+
if (!incomingFbcFbclid || !cachedFbcFbclid) {
|
|
130
|
+
clickInfoStaleTracker.isClickInfosStale = true;
|
|
131
|
+
clickInfoStaleTracker.staleKeys.push(key);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
const cachedClickValue = cleanedCachedClick?.[key];
|
|
137
|
+
const incomingClickValue = cleanedIncomingClick?.[key];
|
|
138
|
+
if ((incomingClickValue && !cachedClickValue)
|
|
139
|
+
|| incomingClickValue !== cachedClickValue) {
|
|
140
|
+
clickInfoStaleTracker.isClickInfosStale = true;
|
|
141
|
+
clickInfoStaleTracker.staleKeys.push(key);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
if (clickInfoStaleTracker.isClickInfosStale) {
|
|
146
|
+
logging_helper_1.Logger.debug('identity cache miss - clickInfos changed', { clickInfoStaleTracker });
|
|
147
|
+
}
|
|
148
|
+
return clickInfoStaleTracker.isClickInfosStale;
|
|
149
|
+
};
|
|
150
|
+
exports.isClickInfosStale = isClickInfosStale;
|
|
151
151
|
//# sourceMappingURL=identity-cache-helper.js.map
|