@adtrackify/at-service-common 3.5.14 → 3.5.15
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__/helpers/account-users-helper.spec.d.ts +1 -1
- package/dist/cjs/__tests__/helpers/account-users-helper.spec.js +200 -200
- 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 +674 -674
- package/dist/cjs/__tests__/identity-cache/trait-merging-and-staleness.spec.d.ts +1 -1
- package/dist/cjs/__tests__/identity-cache/trait-merging-and-staleness.spec.js +586 -586
- 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__/libs/currency.spec.d.ts +1 -1
- package/dist/cjs/__tests__/libs/currency.spec.js +220 -220
- package/dist/cjs/__tests__/libs/dates.spec.d.ts +1 -1
- package/dist/cjs/__tests__/libs/dates.spec.js +132 -132
- package/dist/cjs/__tests__/libs/domain.spec.d.ts +1 -1
- package/dist/cjs/__tests__/libs/domain.spec.js +107 -107
- package/dist/cjs/__tests__/libs/numbers.spec.d.ts +1 -1
- package/dist/cjs/__tests__/libs/numbers.spec.js +261 -261
- 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 +170 -170
- 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 +23 -23
- package/dist/cjs/clients/generic/s3-client.js +198 -198
- 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 -36
- 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 -36
- package/dist/cjs/clients/internal-api/identity-client.d.ts +31 -31
- package/dist/cjs/clients/internal-api/identity-client.js +83 -83
- 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 -68
- package/dist/cjs/clients/internal-api/subscriptions-client.d.ts +23 -23
- package/dist/cjs/clients/internal-api/subscriptions-client.js +58 -58
- 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/emailable-client.d.ts +7 -7
- package/dist/cjs/clients/third-party/emailable-client.js +25 -25
- package/dist/cjs/clients/third-party/exchange-rate-api-client.d.ts +17 -17
- package/dist/cjs/clients/third-party/exchange-rate-api-client.js +19 -19
- package/dist/cjs/clients/third-party/index.d.ts +2 -2
- package/dist/cjs/clients/third-party/index.js +18 -18
- 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/helpers/account-users-helper.d.ts +2 -2
- package/dist/cjs/helpers/account-users-helper.js +22 -22
- package/dist/cjs/helpers/identity-cache-helper.d.ts +21 -21
- package/dist/cjs/helpers/identity-cache-helper.js +157 -157
- package/dist/cjs/helpers/index.d.ts +6 -6
- package/dist/cjs/helpers/index.js +22 -22
- 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 +18 -18
- package/dist/cjs/helpers/response-helper.js +43 -43
- 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/click-id-parser.d.ts +23 -23
- package/dist/cjs/libs/click-id-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/cookie.d.ts +12 -12
- package/dist/cjs/libs/cookie.js +68 -68
- package/dist/cjs/libs/crypto.d.ts +2 -2
- package/dist/cjs/libs/crypto.js +16 -16
- package/dist/cjs/libs/csv.d.ts +2 -2
- package/dist/cjs/libs/csv.js +35 -35
- package/dist/cjs/libs/currency.d.ts +1 -1
- package/dist/cjs/libs/currency.js +24 -24
- package/dist/cjs/libs/dates.d.ts +12 -12
- package/dist/cjs/libs/dates.js +96 -96
- package/dist/cjs/libs/domain.d.ts +2 -2
- package/dist/cjs/libs/domain.js +38 -38
- 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 +16 -16
- package/dist/cjs/libs/index.js +32 -32
- package/dist/cjs/libs/numbers.d.ts +1 -1
- package/dist/cjs/libs/numbers.js +15 -15
- 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/strings.d.ts +3 -3
- package/dist/cjs/libs/strings.js +46 -46
- package/dist/cjs/libs/traits.d.ts +2 -2
- package/dist/cjs/libs/traits.js +21 -21
- 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/currency-exchange-rate-lookup-service.d.ts +11 -11
- package/dist/cjs/services/currency-exchange-rate-lookup-service.js +50 -50
- package/dist/cjs/services/db/currency-exchange-rates-db-service.d.ts +21 -21
- package/dist/cjs/services/db/currency-exchange-rates-db-service.js +39 -39
- package/dist/cjs/services/db/destinations-db-service.d.ts +10 -9
- package/dist/cjs/services/db/destinations-db-service.js +61 -57
- package/dist/cjs/services/db/destinations-db-service.js.map +1 -1
- package/dist/cjs/services/db/identity-cache-db-service.d.ts +28 -28
- package/dist/cjs/services/db/identity-cache-db-service.js +278 -278
- package/dist/cjs/services/db/index.d.ts +9 -9
- package/dist/cjs/services/db/index.js +25 -25
- 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/purchasable-contacts-db-service.d.ts +9 -9
- package/dist/cjs/services/db/purchasable-contacts-db-service.js +43 -43
- package/dist/cjs/services/db/purchased-contacts-db-service.d.ts +11 -11
- package/dist/cjs/services/db/purchased-contacts-db-service.js +68 -68
- 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/events/index.d.ts +3 -3
- package/dist/cjs/services/events/index.js +19 -19
- package/dist/cjs/services/events/log-event-service.d.ts +9 -9
- package/dist/cjs/services/events/log-event-service.js +56 -56
- package/dist/cjs/services/events/metric-event-service.d.ts +9 -9
- package/dist/cjs/services/events/metric-event-service.js +49 -49
- package/dist/cjs/services/events/tracking-event-sqs-service.d.ts +8 -8
- package/dist/cjs/services/events/tracking-event-sqs-service.js +29 -29
- 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/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__/helpers/account-users-helper.spec.d.ts +1 -1
- package/dist/esm/__tests__/helpers/account-users-helper.spec.js +198 -198
- 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 +672 -672
- package/dist/esm/__tests__/identity-cache/trait-merging-and-staleness.spec.d.ts +1 -1
- package/dist/esm/__tests__/identity-cache/trait-merging-and-staleness.spec.js +584 -584
- 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__/libs/currency.spec.d.ts +1 -1
- package/dist/esm/__tests__/libs/currency.spec.js +218 -218
- package/dist/esm/__tests__/libs/dates.spec.d.ts +1 -1
- package/dist/esm/__tests__/libs/dates.spec.js +130 -130
- package/dist/esm/__tests__/libs/domain.spec.d.ts +1 -1
- package/dist/esm/__tests__/libs/domain.spec.js +105 -105
- package/dist/esm/__tests__/libs/numbers.spec.d.ts +1 -1
- package/dist/esm/__tests__/libs/numbers.spec.js +259 -259
- 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 +166 -166
- 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 +23 -23
- package/dist/esm/clients/generic/s3-client.js +191 -191
- 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/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/identity-client.d.ts +31 -31
- package/dist/esm/clients/internal-api/identity-client.js +79 -79
- 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/subscriptions-client.d.ts +23 -23
- package/dist/esm/clients/internal-api/subscriptions-client.js +54 -54
- 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/emailable-client.d.ts +7 -7
- package/dist/esm/clients/third-party/emailable-client.js +21 -21
- package/dist/esm/clients/third-party/exchange-rate-api-client.d.ts +17 -17
- package/dist/esm/clients/third-party/exchange-rate-api-client.js +15 -15
- package/dist/esm/clients/third-party/index.d.ts +2 -2
- package/dist/esm/clients/third-party/index.js +2 -2
- 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/helpers/account-users-helper.d.ts +2 -2
- package/dist/esm/helpers/account-users-helper.js +18 -18
- package/dist/esm/helpers/identity-cache-helper.d.ts +21 -21
- package/dist/esm/helpers/identity-cache-helper.js +152 -152
- package/dist/esm/helpers/index.d.ts +6 -6
- package/dist/esm/helpers/index.js +6 -6
- 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 +18 -18
- package/dist/esm/helpers/response-helper.js +37 -37
- 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/click-id-parser.d.ts +23 -23
- package/dist/esm/libs/click-id-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/cookie.d.ts +12 -12
- package/dist/esm/libs/cookie.js +62 -62
- package/dist/esm/libs/crypto.d.ts +2 -2
- package/dist/esm/libs/crypto.js +8 -8
- package/dist/esm/libs/csv.d.ts +2 -2
- package/dist/esm/libs/csv.js +30 -30
- package/dist/esm/libs/currency.d.ts +1 -1
- package/dist/esm/libs/currency.js +17 -17
- package/dist/esm/libs/dates.d.ts +12 -12
- package/dist/esm/libs/dates.js +83 -83
- package/dist/esm/libs/domain.d.ts +2 -2
- package/dist/esm/libs/domain.js +33 -33
- 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 +16 -16
- package/dist/esm/libs/index.js +16 -16
- package/dist/esm/libs/numbers.d.ts +1 -1
- package/dist/esm/libs/numbers.js +11 -11
- 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/strings.d.ts +3 -3
- package/dist/esm/libs/strings.js +40 -40
- package/dist/esm/libs/traits.d.ts +2 -2
- package/dist/esm/libs/traits.js +14 -14
- 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/currency-exchange-rate-lookup-service.d.ts +11 -11
- package/dist/esm/services/currency-exchange-rate-lookup-service.js +46 -46
- package/dist/esm/services/db/currency-exchange-rates-db-service.d.ts +21 -21
- package/dist/esm/services/db/currency-exchange-rates-db-service.js +35 -35
- package/dist/esm/services/db/destinations-db-service.d.ts +10 -9
- package/dist/esm/services/db/destinations-db-service.js +57 -53
- package/dist/esm/services/db/destinations-db-service.js.map +1 -1
- package/dist/esm/services/db/identity-cache-db-service.d.ts +28 -28
- package/dist/esm/services/db/identity-cache-db-service.js +271 -271
- package/dist/esm/services/db/index.d.ts +9 -9
- package/dist/esm/services/db/index.js +9 -9
- 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/purchasable-contacts-db-service.d.ts +9 -9
- package/dist/esm/services/db/purchasable-contacts-db-service.js +39 -39
- package/dist/esm/services/db/purchased-contacts-db-service.d.ts +11 -11
- package/dist/esm/services/db/purchased-contacts-db-service.js +64 -64
- 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/events/index.d.ts +3 -3
- package/dist/esm/services/events/index.js +3 -3
- package/dist/esm/services/events/log-event-service.d.ts +9 -9
- package/dist/esm/services/events/log-event-service.js +52 -52
- package/dist/esm/services/events/metric-event-service.d.ts +9 -9
- package/dist/esm/services/events/metric-event-service.js +45 -45
- package/dist/esm/services/events/tracking-event-sqs-service.d.ts +8 -8
- package/dist/esm/services/events/tracking-event-sqs-service.js +25 -25
- 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/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 +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ApiResponse } from '../../types/api-response';
|
|
2
|
-
import { EmailableVerifyEmailResponse } from '@adtrackify/at-tracking-event-types';
|
|
3
|
-
export declare class EmailableClient {
|
|
4
|
-
private EMAILABLE_API_KEY;
|
|
5
|
-
constructor(emailableApiKey: string);
|
|
6
|
-
verifyEmail: (email: string, retries?: number, delay?: number) => Promise<ApiResponse<EmailableVerifyEmailResponse>>;
|
|
7
|
-
}
|
|
1
|
+
import { ApiResponse } from '../../types/api-response';
|
|
2
|
+
import { EmailableVerifyEmailResponse } from '@adtrackify/at-tracking-event-types';
|
|
3
|
+
export declare class EmailableClient {
|
|
4
|
+
private EMAILABLE_API_KEY;
|
|
5
|
+
constructor(emailableApiKey: string);
|
|
6
|
+
verifyEmail: (email: string, retries?: number, delay?: number) => Promise<ApiResponse<EmailableVerifyEmailResponse>>;
|
|
7
|
+
}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { axiosHttpService } from '../generic';
|
|
2
|
-
const EMAILABLE_API_URL = 'https://api.emailable.com/v1';
|
|
3
|
-
const client = axiosHttpService({
|
|
4
|
-
baseURL: EMAILABLE_API_URL
|
|
5
|
-
});
|
|
6
|
-
export class EmailableClient {
|
|
7
|
-
EMAILABLE_API_KEY;
|
|
8
|
-
constructor(emailableApiKey) {
|
|
9
|
-
this.EMAILABLE_API_KEY = emailableApiKey;
|
|
10
|
-
}
|
|
11
|
-
verifyEmail = async (email, retries = 3, delay = 3000) => {
|
|
12
|
-
const response = await client.get('/verify', { params: { api_key: this.EMAILABLE_API_KEY, email } });
|
|
13
|
-
if (response.status !== 200) {
|
|
14
|
-
if (retries > 0) {
|
|
15
|
-
await new Promise(resolve => setTimeout(resolve, delay));
|
|
16
|
-
return await this.verifyEmail(email, retries - 1, delay * 2);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
return response;
|
|
20
|
-
};
|
|
21
|
-
}
|
|
1
|
+
import { axiosHttpService } from '../generic';
|
|
2
|
+
const EMAILABLE_API_URL = 'https://api.emailable.com/v1';
|
|
3
|
+
const client = axiosHttpService({
|
|
4
|
+
baseURL: EMAILABLE_API_URL
|
|
5
|
+
});
|
|
6
|
+
export class EmailableClient {
|
|
7
|
+
EMAILABLE_API_KEY;
|
|
8
|
+
constructor(emailableApiKey) {
|
|
9
|
+
this.EMAILABLE_API_KEY = emailableApiKey;
|
|
10
|
+
}
|
|
11
|
+
verifyEmail = async (email, retries = 3, delay = 3000) => {
|
|
12
|
+
const response = await client.get('/verify', { params: { api_key: this.EMAILABLE_API_KEY, email } });
|
|
13
|
+
if (response.status !== 200) {
|
|
14
|
+
if (retries > 0) {
|
|
15
|
+
await new Promise(resolve => setTimeout(resolve, delay));
|
|
16
|
+
return await this.verifyEmail(email, retries - 1, delay * 2);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return response;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
22
|
//# sourceMappingURL=emailable-client.js.map
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { ApiResponse } from '../../types/api-response';
|
|
2
|
-
export interface GetCurrencyExchangeRateResponse {
|
|
3
|
-
result: string;
|
|
4
|
-
documentation?: string;
|
|
5
|
-
terms_of_use?: string;
|
|
6
|
-
time_last_update_unix: number;
|
|
7
|
-
time_last_update_utc: string;
|
|
8
|
-
time_next_update_unix: number;
|
|
9
|
-
time_next_update_utc: string;
|
|
10
|
-
base_code: string;
|
|
11
|
-
conversion_rates: Record<string, number>;
|
|
12
|
-
}
|
|
13
|
-
export declare class ExchangeRateApiClient {
|
|
14
|
-
private EXCHANGE_RATE_API_KEY;
|
|
15
|
-
constructor(exchangeRateApiKey: string);
|
|
16
|
-
getCurrencyExchangeRate: (currency: string) => Promise<ApiResponse<GetCurrencyExchangeRateResponse>>;
|
|
17
|
-
}
|
|
1
|
+
import { ApiResponse } from '../../types/api-response';
|
|
2
|
+
export interface GetCurrencyExchangeRateResponse {
|
|
3
|
+
result: string;
|
|
4
|
+
documentation?: string;
|
|
5
|
+
terms_of_use?: string;
|
|
6
|
+
time_last_update_unix: number;
|
|
7
|
+
time_last_update_utc: string;
|
|
8
|
+
time_next_update_unix: number;
|
|
9
|
+
time_next_update_utc: string;
|
|
10
|
+
base_code: string;
|
|
11
|
+
conversion_rates: Record<string, number>;
|
|
12
|
+
}
|
|
13
|
+
export declare class ExchangeRateApiClient {
|
|
14
|
+
private EXCHANGE_RATE_API_KEY;
|
|
15
|
+
constructor(exchangeRateApiKey: string);
|
|
16
|
+
getCurrencyExchangeRate: (currency: string) => Promise<ApiResponse<GetCurrencyExchangeRateResponse>>;
|
|
17
|
+
}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { axiosHttpService } from '../generic';
|
|
2
|
-
const EXCHANGE_RATE_API_URL = 'https://v6.exchangerate-api.com/v6';
|
|
3
|
-
const client = axiosHttpService({
|
|
4
|
-
baseURL: EXCHANGE_RATE_API_URL
|
|
5
|
-
});
|
|
6
|
-
export class ExchangeRateApiClient {
|
|
7
|
-
EXCHANGE_RATE_API_KEY;
|
|
8
|
-
constructor(exchangeRateApiKey) {
|
|
9
|
-
this.EXCHANGE_RATE_API_KEY = exchangeRateApiKey;
|
|
10
|
-
}
|
|
11
|
-
getCurrencyExchangeRate = async (currency) => {
|
|
12
|
-
const response = await client.get(`/${this.EXCHANGE_RATE_API_KEY}/latest/${currency}`);
|
|
13
|
-
return response;
|
|
14
|
-
};
|
|
15
|
-
}
|
|
1
|
+
import { axiosHttpService } from '../generic';
|
|
2
|
+
const EXCHANGE_RATE_API_URL = 'https://v6.exchangerate-api.com/v6';
|
|
3
|
+
const client = axiosHttpService({
|
|
4
|
+
baseURL: EXCHANGE_RATE_API_URL
|
|
5
|
+
});
|
|
6
|
+
export class ExchangeRateApiClient {
|
|
7
|
+
EXCHANGE_RATE_API_KEY;
|
|
8
|
+
constructor(exchangeRateApiKey) {
|
|
9
|
+
this.EXCHANGE_RATE_API_KEY = exchangeRateApiKey;
|
|
10
|
+
}
|
|
11
|
+
getCurrencyExchangeRate = async (currency) => {
|
|
12
|
+
const response = await client.get(`/${this.EXCHANGE_RATE_API_KEY}/latest/${currency}`);
|
|
13
|
+
return response;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
16
|
//# sourceMappingURL=exchange-rate-api-client.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './shopify-client.js';
|
|
2
|
-
export * from './emailable-client.js';
|
|
1
|
+
export * from './shopify-client.js';
|
|
2
|
+
export * from './emailable-client.js';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './shopify-client.js';
|
|
2
|
-
export * from './emailable-client.js';
|
|
1
|
+
export * from './shopify-client.js';
|
|
2
|
+
export * from './emailable-client.js';
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const MediaSnippet = "\n... on MediaImage {\n createdAt\n fileErrors {\n code\n details\n message\n }\n fileStatus\n id\n image {\n altText\n height\n id\n originalSrc\n src\n transformedSrc\n width\n }\n mimeType\n}\n";
|
|
2
|
-
export declare const graphqlProductQueryByProductId = "\n#graphql\nquery GetProduct($id: ID!, $first: Int!, $after: String) {\n product(id: $id) {\n id\n handle\n productType\n hasOnlyDefaultVariant\n hasOutOfStockVariants\n isGiftCard\n legacyResourceId\n onlineStoreUrl\n onlineStorePreviewUrl\n productType\n publishedAt\n requiresSellingPlan\n status\n tags\n title\n totalInventory\n tracksInventory\n vendor\n createdAt\n updatedAt\n category {\n id\n name\n fullName\n parentId\n }\n collections (first: 250) {\n nodes {\n handle\n id\n image {\n url\n }\n legacyResourceId\n productsCount {\n count\n precision\n }\n title\n }\n }\n priceRangeV2 {\n maxVariantPrice {\n amount\n currencyCode\n }\n minVariantPrice {\n amount\n currencyCode\n }\n }\n variantsCount {\n count\n }\n seo {\n title\n description\n }\n featuredMedia {\n id\n mediaContentType\n status\n preview {\n image {\n id\n url\n }\n status\n }\n }\n media (first: 3) {\n nodes {\n id\n mediaContentType\n status\n preview {\n image {\n id\n url\n }\n status\n }\n\n }\n }\n variants (first: $first, after: $after) {\n pageInfo {\n hasNextPage\n endCursor\n }\n nodes {\n availableForSale\n barcode\n compareAtPrice\n createdAt\n displayName\n id\n legacyResourceId\n product {\n id\n handle\n legacyResourceId\n }\n image {\n id\n url\n }\n inventoryItem {\n createdAt\n id\n legacyResourceId\n requiresShipping\n sku\n tracked\n unitCost {\n amount\n currencyCode\n }\n updatedAt\n }\n inventoryPolicy\n inventoryQuantity\n price\n media (first: 3) {\n nodes {\n id\n mediaContentType\n status\n preview {\n image {\n id\n url\n }\n status\n }\n }\n }\n selectedOptions {\n name\n value\n }\n sellableOnlineQuantity\n sku\n taxable\n title\n updatedAt\n }\n }\n }\n}\n";
|
|
1
|
+
export declare const MediaSnippet = "\n... on MediaImage {\n createdAt\n fileErrors {\n code\n details\n message\n }\n fileStatus\n id\n image {\n altText\n height\n id\n originalSrc\n src\n transformedSrc\n width\n }\n mimeType\n}\n";
|
|
2
|
+
export declare const graphqlProductQueryByProductId = "\n#graphql\nquery GetProduct($id: ID!, $first: Int!, $after: String) {\n product(id: $id) {\n id\n handle\n productType\n hasOnlyDefaultVariant\n hasOutOfStockVariants\n isGiftCard\n legacyResourceId\n onlineStoreUrl\n onlineStorePreviewUrl\n productType\n publishedAt\n requiresSellingPlan\n status\n tags\n title\n totalInventory\n tracksInventory\n vendor\n createdAt\n updatedAt\n category {\n id\n name\n fullName\n parentId\n }\n collections (first: 250) {\n nodes {\n handle\n id\n image {\n url\n }\n legacyResourceId\n productsCount {\n count\n precision\n }\n title\n }\n }\n priceRangeV2 {\n maxVariantPrice {\n amount\n currencyCode\n }\n minVariantPrice {\n amount\n currencyCode\n }\n }\n variantsCount {\n count\n }\n seo {\n title\n description\n }\n featuredMedia {\n id\n mediaContentType\n status\n preview {\n image {\n id\n url\n }\n status\n }\n }\n media (first: 3) {\n nodes {\n id\n mediaContentType\n status\n preview {\n image {\n id\n url\n }\n status\n }\n\n }\n }\n variants (first: $first, after: $after) {\n pageInfo {\n hasNextPage\n endCursor\n }\n nodes {\n availableForSale\n barcode\n compareAtPrice\n createdAt\n displayName\n id\n legacyResourceId\n product {\n id\n handle\n legacyResourceId\n }\n image {\n id\n url\n }\n inventoryItem {\n createdAt\n id\n legacyResourceId\n requiresShipping\n sku\n tracked\n unitCost {\n amount\n currencyCode\n }\n updatedAt\n }\n inventoryPolicy\n inventoryQuantity\n price\n media (first: 3) {\n nodes {\n id\n mediaContentType\n status\n preview {\n image {\n id\n url\n }\n status\n }\n }\n }\n selectedOptions {\n name\n value\n }\n sellableOnlineQuantity\n sku\n taxable\n title\n updatedAt\n }\n }\n }\n}\n";
|
|
@@ -19,7 +19,7 @@ export const MediaSnippet = `
|
|
|
19
19
|
}
|
|
20
20
|
mimeType
|
|
21
21
|
}
|
|
22
|
-
`;
|
|
22
|
+
`;
|
|
23
23
|
export const graphqlProductQueryByProductId = `
|
|
24
24
|
#graphql
|
|
25
25
|
query GetProduct($id: ID!, $first: Int!, $after: String) {
|
|
@@ -174,5 +174,5 @@ query GetProduct($id: ID!, $first: Int!, $after: String) {
|
|
|
174
174
|
}
|
|
175
175
|
}
|
|
176
176
|
}
|
|
177
|
-
`;
|
|
177
|
+
`;
|
|
178
178
|
//# sourceMappingURL=graphql-product-queries.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { AdminApiClient, ClientResponse } from '@shopify/admin-api-client';
|
|
2
|
-
import { GetProductQuery } from '../../../types';
|
|
3
|
-
export declare class ShopifyGraphQLClient {
|
|
4
|
-
static _shopify_api_version: string;
|
|
5
|
-
static getClient: (shop: string, accessToken: string) => AdminApiClient;
|
|
6
|
-
static getProductWithVariantsGraphQL: (shop: string, accessToken: string, productId: string, pageSize?: number) => Promise<ClientResponse<GetProductQuery>>;
|
|
7
|
-
private static executePagedProductQuery;
|
|
8
|
-
private static executeProductQuery;
|
|
9
|
-
}
|
|
1
|
+
import { AdminApiClient, ClientResponse } from '@shopify/admin-api-client';
|
|
2
|
+
import { GetProductQuery } from '../../../types';
|
|
3
|
+
export declare class ShopifyGraphQLClient {
|
|
4
|
+
static _shopify_api_version: string;
|
|
5
|
+
static getClient: (shop: string, accessToken: string) => AdminApiClient;
|
|
6
|
+
static getProductWithVariantsGraphQL: (shop: string, accessToken: string, productId: string, pageSize?: number) => Promise<ClientResponse<GetProductQuery>>;
|
|
7
|
+
private static executePagedProductQuery;
|
|
8
|
+
private static executeProductQuery;
|
|
9
|
+
}
|
|
@@ -1,92 +1,92 @@
|
|
|
1
|
-
import { createAdminApiClient } from '@shopify/admin-api-client';
|
|
2
|
-
import { Logger } from '../../../helpers';
|
|
3
|
-
import { graphqlProductQueryByProductId } from './graphql-product-queries';
|
|
4
|
-
export class ShopifyGraphQLClient {
|
|
5
|
-
static _shopify_api_version = process.env.SHOPIFY_API_VERSION;
|
|
6
|
-
static getClient = (shop, accessToken) => {
|
|
7
|
-
const client = createAdminApiClient({
|
|
8
|
-
storeDomain: shop,
|
|
9
|
-
accessToken: accessToken,
|
|
10
|
-
apiVersion: '2024-10',
|
|
11
|
-
retries: 1
|
|
12
|
-
});
|
|
13
|
-
return client;
|
|
14
|
-
};
|
|
15
|
-
static getProductWithVariantsGraphQL = async (shop, accessToken, productId, pageSize = 100) => {
|
|
16
|
-
try {
|
|
17
|
-
const client = this.getClient(shop, accessToken);
|
|
18
|
-
const result = await this.executePagedProductQuery(client, productId, pageSize, null);
|
|
19
|
-
return result;
|
|
20
|
-
}
|
|
21
|
-
catch (error) {
|
|
22
|
-
Logger.error('Failed getProductWithVariantsGraphQL', {
|
|
23
|
-
error,
|
|
24
|
-
shop,
|
|
25
|
-
accessToken,
|
|
26
|
-
productId
|
|
27
|
-
});
|
|
28
|
-
throw error;
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
static executePagedProductQuery = async (client, productId, pageSize, cursor) => {
|
|
32
|
-
try {
|
|
33
|
-
let result = {};
|
|
34
|
-
let product = null;
|
|
35
|
-
const allVariants = [];
|
|
36
|
-
let hasNextPage = false;
|
|
37
|
-
do {
|
|
38
|
-
Logger.debug('executePagedProductQuery', { productId, pageSize, cursor });
|
|
39
|
-
result = await this.executeProductQuery(client, productId, pageSize, cursor ?? null);
|
|
40
|
-
if (result?.errors) {
|
|
41
|
-
Logger.error('executePagedProductQuery: Failed to execute product query', { result, shop: client.config.storeDomain, productId, accessToken: client.config.accessToken });
|
|
42
|
-
break;
|
|
43
|
-
}
|
|
44
|
-
else if (result?.data?.product) {
|
|
45
|
-
product = result.data.product;
|
|
46
|
-
allVariants.push(...(product?.variants?.nodes ?? []));
|
|
47
|
-
hasNextPage = product?.variants?.pageInfo?.hasNextPage;
|
|
48
|
-
cursor = product?.variants?.pageInfo?.endCursor;
|
|
49
|
-
}
|
|
50
|
-
if (hasNextPage) {
|
|
51
|
-
Logger.info('executePagedProductQuery: hasNextPage product variants', { hasNextPage, shop: client.config.storeDomain, productId, accessToken: client.config.accessToken });
|
|
52
|
-
}
|
|
53
|
-
} while (hasNextPage);
|
|
54
|
-
if (product) {
|
|
55
|
-
product.variants.nodes = allVariants;
|
|
56
|
-
result.data = result?.data ?? {};
|
|
57
|
-
result.data.product = product;
|
|
58
|
-
}
|
|
59
|
-
return result;
|
|
60
|
-
}
|
|
61
|
-
catch (error) {
|
|
62
|
-
Logger.error('executePagedProductQuery:Failed to execute paged product query', { error, shop: client.config.storeDomain, productId, accessToken: client.config.accessToken });
|
|
63
|
-
throw error;
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
static executeProductQuery = async (client, productId, pageSize, cursor) => {
|
|
67
|
-
try {
|
|
68
|
-
const result = await client.request(graphqlProductQueryByProductId, {
|
|
69
|
-
variables: {
|
|
70
|
-
id: `gid://shopify/Product/${productId}`,
|
|
71
|
-
first: pageSize,
|
|
72
|
-
after: cursor
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
if (result?.errors) {
|
|
76
|
-
Logger.error('Failed to executeProductQuery -- response errors', {
|
|
77
|
-
result,
|
|
78
|
-
responseErrors: result.errors,
|
|
79
|
-
shop: client.config.storeDomain,
|
|
80
|
-
productId,
|
|
81
|
-
cursor
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
return result;
|
|
85
|
-
}
|
|
86
|
-
catch (error) {
|
|
87
|
-
Logger.error('Failed to executeProductQuery -- exception', { error, shop: client.config.storeDomain, productId, accessToken: client.config.accessToken });
|
|
88
|
-
return {};
|
|
89
|
-
}
|
|
90
|
-
};
|
|
91
|
-
}
|
|
1
|
+
import { createAdminApiClient } from '@shopify/admin-api-client';
|
|
2
|
+
import { Logger } from '../../../helpers';
|
|
3
|
+
import { graphqlProductQueryByProductId } from './graphql-product-queries';
|
|
4
|
+
export class ShopifyGraphQLClient {
|
|
5
|
+
static _shopify_api_version = process.env.SHOPIFY_API_VERSION;
|
|
6
|
+
static getClient = (shop, accessToken) => {
|
|
7
|
+
const client = createAdminApiClient({
|
|
8
|
+
storeDomain: shop,
|
|
9
|
+
accessToken: accessToken,
|
|
10
|
+
apiVersion: '2024-10',
|
|
11
|
+
retries: 1
|
|
12
|
+
});
|
|
13
|
+
return client;
|
|
14
|
+
};
|
|
15
|
+
static getProductWithVariantsGraphQL = async (shop, accessToken, productId, pageSize = 100) => {
|
|
16
|
+
try {
|
|
17
|
+
const client = this.getClient(shop, accessToken);
|
|
18
|
+
const result = await this.executePagedProductQuery(client, productId, pageSize, null);
|
|
19
|
+
return result;
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
Logger.error('Failed getProductWithVariantsGraphQL', {
|
|
23
|
+
error,
|
|
24
|
+
shop,
|
|
25
|
+
accessToken,
|
|
26
|
+
productId
|
|
27
|
+
});
|
|
28
|
+
throw error;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
static executePagedProductQuery = async (client, productId, pageSize, cursor) => {
|
|
32
|
+
try {
|
|
33
|
+
let result = {};
|
|
34
|
+
let product = null;
|
|
35
|
+
const allVariants = [];
|
|
36
|
+
let hasNextPage = false;
|
|
37
|
+
do {
|
|
38
|
+
Logger.debug('executePagedProductQuery', { productId, pageSize, cursor });
|
|
39
|
+
result = await this.executeProductQuery(client, productId, pageSize, cursor ?? null);
|
|
40
|
+
if (result?.errors) {
|
|
41
|
+
Logger.error('executePagedProductQuery: Failed to execute product query', { result, shop: client.config.storeDomain, productId, accessToken: client.config.accessToken });
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
else if (result?.data?.product) {
|
|
45
|
+
product = result.data.product;
|
|
46
|
+
allVariants.push(...(product?.variants?.nodes ?? []));
|
|
47
|
+
hasNextPage = product?.variants?.pageInfo?.hasNextPage;
|
|
48
|
+
cursor = product?.variants?.pageInfo?.endCursor;
|
|
49
|
+
}
|
|
50
|
+
if (hasNextPage) {
|
|
51
|
+
Logger.info('executePagedProductQuery: hasNextPage product variants', { hasNextPage, shop: client.config.storeDomain, productId, accessToken: client.config.accessToken });
|
|
52
|
+
}
|
|
53
|
+
} while (hasNextPage);
|
|
54
|
+
if (product) {
|
|
55
|
+
product.variants.nodes = allVariants;
|
|
56
|
+
result.data = result?.data ?? {};
|
|
57
|
+
result.data.product = product;
|
|
58
|
+
}
|
|
59
|
+
return result;
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
Logger.error('executePagedProductQuery:Failed to execute paged product query', { error, shop: client.config.storeDomain, productId, accessToken: client.config.accessToken });
|
|
63
|
+
throw error;
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
static executeProductQuery = async (client, productId, pageSize, cursor) => {
|
|
67
|
+
try {
|
|
68
|
+
const result = await client.request(graphqlProductQueryByProductId, {
|
|
69
|
+
variables: {
|
|
70
|
+
id: `gid://shopify/Product/${productId}`,
|
|
71
|
+
first: pageSize,
|
|
72
|
+
after: cursor
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
if (result?.errors) {
|
|
76
|
+
Logger.error('Failed to executeProductQuery -- response errors', {
|
|
77
|
+
result,
|
|
78
|
+
responseErrors: result.errors,
|
|
79
|
+
shop: client.config.storeDomain,
|
|
80
|
+
productId,
|
|
81
|
+
cursor
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
return result;
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
Logger.error('Failed to executeProductQuery -- exception', { error, shop: client.config.storeDomain, productId, accessToken: client.config.accessToken });
|
|
88
|
+
return {};
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
92
|
//# sourceMappingURL=shopify-graphql-client.js.map
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import { GenericHttpClient } from '../generic/http-client.js';
|
|
2
|
-
import { IOrder, IProduct, IRecurringApplicationCharge, IShop } from 'shopify-api-node';
|
|
3
|
-
import { ApiResponse } from '../../types/api-response.js';
|
|
4
|
-
export declare class ShopifyClient {
|
|
5
|
-
static _shopify_api_version: string;
|
|
6
|
-
static client: GenericHttpClient;
|
|
7
|
-
static getClient: () => GenericHttpClient;
|
|
8
|
-
static registerApp: (shop: string, code: string, appKey: string, appSecret: string) => Promise<ApiResponse<any>>;
|
|
9
|
-
static registerWebhookTopic: (shop: string, accessToken: string, eventBridgeArn: string, topic: string) => Promise<ApiResponse<any>>;
|
|
10
|
-
static updateShopifyAppMetafield: (shop: string, accessToken: string, pixelId: string) => Promise<ApiResponse<any>>;
|
|
11
|
-
static getShopifyStoreProperties: (shop: string, accessToken: string) => Promise<ApiResponse<{
|
|
12
|
-
shop: IShop;
|
|
13
|
-
}>>;
|
|
14
|
-
static createAppSubscription: (shop: string, accessToken: string, planName: string, price: number, returnUrl: string, trialDays: number, test?: boolean) => Promise<ApiResponse<any>>;
|
|
15
|
-
static cancelAppSubscription: (shop: string, accessToken: string, chargeId: string) => Promise<ApiResponse<any>>;
|
|
16
|
-
static listAppSubscriptions: (shop: string, accessToken: string) => Promise<ApiResponse<{
|
|
17
|
-
recurring_application_charges: IRecurringApplicationCharge[];
|
|
18
|
-
}>>;
|
|
19
|
-
static getOrder: (shop: string, accessToken: string, orderId: string, retries?: number, maxRetries?: number, retryDelay?: number) => Promise<ApiResponse<{
|
|
20
|
-
order: IOrder;
|
|
21
|
-
}>>;
|
|
22
|
-
static getProductREST: (shop: string, accessToken: string, productId: string) => Promise<ApiResponse<{
|
|
23
|
-
product: IProduct;
|
|
24
|
-
}>>;
|
|
25
|
-
static genericShopifyPost: (url: string, accessToken: string, payload: any) => Promise<ApiResponse<any>>;
|
|
26
|
-
static genericShopifyGet: <T>(url: string, accessToken: string) => Promise<ApiResponse<T>>;
|
|
27
|
-
static genericShopifyPut: (url: string, accessToken: string, payload: any) => Promise<ApiResponse<any>>;
|
|
28
|
-
static unregisterWebhook: (shop: string, webhookId: string, accessToken: string) => Promise<ApiResponse<any>>;
|
|
29
|
-
}
|
|
1
|
+
import { GenericHttpClient } from '../generic/http-client.js';
|
|
2
|
+
import { IOrder, IProduct, IRecurringApplicationCharge, IShop } from 'shopify-api-node';
|
|
3
|
+
import { ApiResponse } from '../../types/api-response.js';
|
|
4
|
+
export declare class ShopifyClient {
|
|
5
|
+
static _shopify_api_version: string;
|
|
6
|
+
static client: GenericHttpClient;
|
|
7
|
+
static getClient: () => GenericHttpClient;
|
|
8
|
+
static registerApp: (shop: string, code: string, appKey: string, appSecret: string) => Promise<ApiResponse<any>>;
|
|
9
|
+
static registerWebhookTopic: (shop: string, accessToken: string, eventBridgeArn: string, topic: string) => Promise<ApiResponse<any>>;
|
|
10
|
+
static updateShopifyAppMetafield: (shop: string, accessToken: string, pixelId: string) => Promise<ApiResponse<any>>;
|
|
11
|
+
static getShopifyStoreProperties: (shop: string, accessToken: string) => Promise<ApiResponse<{
|
|
12
|
+
shop: IShop;
|
|
13
|
+
}>>;
|
|
14
|
+
static createAppSubscription: (shop: string, accessToken: string, planName: string, price: number, returnUrl: string, trialDays: number, test?: boolean) => Promise<ApiResponse<any>>;
|
|
15
|
+
static cancelAppSubscription: (shop: string, accessToken: string, chargeId: string) => Promise<ApiResponse<any>>;
|
|
16
|
+
static listAppSubscriptions: (shop: string, accessToken: string) => Promise<ApiResponse<{
|
|
17
|
+
recurring_application_charges: IRecurringApplicationCharge[];
|
|
18
|
+
}>>;
|
|
19
|
+
static getOrder: (shop: string, accessToken: string, orderId: string, retries?: number, maxRetries?: number, retryDelay?: number) => Promise<ApiResponse<{
|
|
20
|
+
order: IOrder;
|
|
21
|
+
}>>;
|
|
22
|
+
static getProductREST: (shop: string, accessToken: string, productId: string) => Promise<ApiResponse<{
|
|
23
|
+
product: IProduct;
|
|
24
|
+
}>>;
|
|
25
|
+
static genericShopifyPost: (url: string, accessToken: string, payload: any) => Promise<ApiResponse<any>>;
|
|
26
|
+
static genericShopifyGet: <T>(url: string, accessToken: string) => Promise<ApiResponse<T>>;
|
|
27
|
+
static genericShopifyPut: (url: string, accessToken: string, payload: any) => Promise<ApiResponse<any>>;
|
|
28
|
+
static unregisterWebhook: (shop: string, webhookId: string, accessToken: string) => Promise<ApiResponse<any>>;
|
|
29
|
+
}
|