@adtrackify/at-service-common 3.1.22 → 3.1.24
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/clients/generic/cognito-client.d.ts +20 -20
- package/dist/cjs/clients/generic/cognito-client.js +164 -164
- 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 +88 -88
- package/dist/cjs/clients/generic/http-client.js +60 -60
- 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 -17
- package/dist/cjs/clients/generic/redis-client.js +128 -117
- package/dist/cjs/clients/generic/redis-client.js.map +1 -1
- package/dist/cjs/clients/generic/s3-client.d.ts +16 -16
- package/dist/cjs/clients/generic/s3-client.js +110 -110
- 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 +112 -112
- package/dist/cjs/clients/internal-api/accounts-client.js +117 -117
- package/dist/cjs/clients/internal-api/cache-lambda-client.d.ts +23 -23
- package/dist/cjs/clients/internal-api/cache-lambda-client.js +59 -59
- package/dist/cjs/clients/internal-api/db-management-client.d.ts +18 -18
- package/dist/cjs/clients/internal-api/db-management-client.js +39 -39
- package/dist/cjs/clients/internal-api/destinations-client.d.ts +29 -29
- package/dist/cjs/clients/internal-api/destinations-client.js +54 -54
- package/dist/cjs/clients/internal-api/event-collector-client.d.ts +20 -20
- package/dist/cjs/clients/internal-api/event-collector-client.js +39 -39
- 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 +8 -8
- package/dist/cjs/clients/internal-api/index.js +24 -24
- package/dist/cjs/clients/internal-api/shopify-app-install-client.d.ts +34 -34
- package/dist/cjs/clients/internal-api/shopify-app-install-client.js +63 -63
- package/dist/cjs/clients/internal-api/users-auth-client.d.ts +31 -31
- package/dist/cjs/clients/internal-api/users-auth-client.js +92 -92
- 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 -9
- package/dist/cjs/clients/third-party/shopify/graphql-product-queries.js.map +1 -1
- 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 +198 -198
- package/dist/cjs/clients/third-party/shopify-client.js +150 -150
- 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/index.d.ts +1 -1
- package/dist/cjs/services/cache/index.js +17 -17
- package/dist/cjs/services/cache/product-cache-service.d.ts +13 -13
- package/dist/cjs/services/cache/product-cache-service.js +36 -36
- 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 +9 -9
- package/dist/cjs/services/db/shopify-products-cache-db-service.js +64 -64
- 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 +8 -8
- package/dist/cjs/services/generic-cache-service.js +30 -30
- 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 +17 -17
- package/dist/cjs/services/ipdata-lookup-service.js +71 -71
- 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 +12 -12
- package/dist/cjs/services/shopify/products/shopify-products-serviceV2.js +66 -66
- package/dist/cjs/services/shopify/shopify-graphql-transformer.d.ts +8 -8
- package/dist/cjs/services/shopify/shopify-graphql-transformer.js +114 -115
- package/dist/cjs/services/shopify/shopify-graphql-transformer.js.map +1 -1
- 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 +114 -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 -106
- 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/clients/generic/cognito-client.d.ts +20 -20
- package/dist/esm/clients/generic/cognito-client.js +159 -159
- 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 +88 -88
- package/dist/esm/clients/generic/http-client.js +52 -52
- 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 -17
- package/dist/esm/clients/generic/redis-client.js +121 -110
- package/dist/esm/clients/generic/redis-client.js.map +1 -1
- package/dist/esm/clients/generic/s3-client.d.ts +16 -16
- package/dist/esm/clients/generic/s3-client.js +106 -106
- 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 +112 -112
- package/dist/esm/clients/internal-api/accounts-client.js +113 -113
- package/dist/esm/clients/internal-api/cache-lambda-client.d.ts +23 -23
- package/dist/esm/clients/internal-api/cache-lambda-client.js +55 -55
- 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 +29 -29
- package/dist/esm/clients/internal-api/destinations-client.js +50 -50
- 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 +25 -25
- package/dist/esm/clients/internal-api/identity-client.js +88 -88
- package/dist/esm/clients/internal-api/index.d.ts +8 -8
- package/dist/esm/clients/internal-api/index.js +8 -8
- package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +34 -34
- package/dist/esm/clients/internal-api/shopify-app-install-client.js +56 -56
- package/dist/esm/clients/internal-api/users-auth-client.d.ts +31 -31
- package/dist/esm/clients/internal-api/users-auth-client.js +88 -88
- 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 -6
- package/dist/esm/clients/third-party/shopify/graphql-product-queries.js.map +1 -1
- 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 +198 -198
- package/dist/esm/clients/third-party/shopify-client.js +146 -146
- 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/index.d.ts +1 -1
- package/dist/esm/services/cache/index.js +1 -1
- package/dist/esm/services/cache/product-cache-service.d.ts +13 -13
- package/dist/esm/services/cache/product-cache-service.js +32 -32
- 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 +9 -9
- package/dist/esm/services/db/shopify-products-cache-db-service.js +60 -60
- 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 +8 -8
- package/dist/esm/services/generic-cache-service.js +26 -26
- 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 +17 -17
- package/dist/esm/services/ipdata-lookup-service.js +67 -67
- 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 +12 -12
- package/dist/esm/services/shopify/products/shopify-products-serviceV2.js +62 -62
- package/dist/esm/services/shopify/shopify-graphql-transformer.d.ts +8 -8
- package/dist/esm/services/shopify/shopify-graphql-transformer.js +111 -112
- package/dist/esm/services/shopify/shopify-graphql-transformer.js.map +1 -1
- 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 +114 -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 -106
- 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,9 +1,9 @@
|
|
|
1
|
-
export * from './eventbridge-integration-service.js';
|
|
2
|
-
export * from './ipdata-lookup-service.js';
|
|
3
|
-
export * from './log-event-service.js';
|
|
4
|
-
export * from './metric-event-service.js';
|
|
5
|
-
export * from './generic-cache-service.js';
|
|
6
|
-
export * from './db';
|
|
7
|
-
export * from './shopify';
|
|
8
|
-
export * from './cache';
|
|
1
|
+
export * from './eventbridge-integration-service.js';
|
|
2
|
+
export * from './ipdata-lookup-service.js';
|
|
3
|
+
export * from './log-event-service.js';
|
|
4
|
+
export * from './metric-event-service.js';
|
|
5
|
+
export * from './generic-cache-service.js';
|
|
6
|
+
export * from './db';
|
|
7
|
+
export * from './shopify';
|
|
8
|
+
export * from './cache';
|
|
9
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { IPDataResponse } from '@adtrackify/at-tracking-event-types';
|
|
2
|
-
import { CacheLambdaClient } from '../clients';
|
|
3
|
-
export interface IPLookupTableRecord {
|
|
4
|
-
ipAddress: string;
|
|
5
|
-
lookupResponse: IPDataResponse | null;
|
|
6
|
-
createdAt: string;
|
|
7
|
-
updatedAt: string;
|
|
8
|
-
expiresAt?: number;
|
|
9
|
-
}
|
|
10
|
-
export declare class IpDataLookupService {
|
|
11
|
-
private cacheLambdaFunctionArn;
|
|
12
|
-
cacheLambdaClient: CacheLambdaClient;
|
|
13
|
-
constructor(cacheLambdaFunctionArn: string);
|
|
14
|
-
getLookupApi: (ipAddress: string) => Promise<IPDataResponse | null>;
|
|
15
|
-
getIpCache: (ipAddress: string) => Promise<import("../clients").CacheRequestCommandResponse | undefined>;
|
|
16
|
-
lookupIP: (ipAddress: string) => Promise<IPDataResponse | null>;
|
|
17
|
-
}
|
|
1
|
+
import { IPDataResponse } from '@adtrackify/at-tracking-event-types';
|
|
2
|
+
import { CacheLambdaClient } from '../clients';
|
|
3
|
+
export interface IPLookupTableRecord {
|
|
4
|
+
ipAddress: string;
|
|
5
|
+
lookupResponse: IPDataResponse | null;
|
|
6
|
+
createdAt: string;
|
|
7
|
+
updatedAt: string;
|
|
8
|
+
expiresAt?: number;
|
|
9
|
+
}
|
|
10
|
+
export declare class IpDataLookupService {
|
|
11
|
+
private cacheLambdaFunctionArn;
|
|
12
|
+
cacheLambdaClient: CacheLambdaClient;
|
|
13
|
+
constructor(cacheLambdaFunctionArn: string);
|
|
14
|
+
getLookupApi: (ipAddress: string) => Promise<IPDataResponse | null>;
|
|
15
|
+
getIpCache: (ipAddress: string) => Promise<import("../clients").CacheRequestCommandResponse | undefined>;
|
|
16
|
+
lookupIP: (ipAddress: string) => Promise<IPDataResponse | null>;
|
|
17
|
+
}
|
|
@@ -1,68 +1,68 @@
|
|
|
1
|
-
import { DateTime } from 'luxon';
|
|
2
|
-
import { axiosHttpService, CacheLambdaClient } from '../clients';
|
|
3
|
-
import { Logger } from '../helpers';
|
|
4
|
-
import { getCurrentTimestamp } from '../libs';
|
|
5
|
-
import { isIP } from 'net';
|
|
6
|
-
const API_KEY = 'aae45f1e1f97ecf79bdc2bef3e96ef71961c4cb977c3085429b421bc';
|
|
7
|
-
export class IpDataLookupService {
|
|
8
|
-
cacheLambdaFunctionArn;
|
|
9
|
-
cacheLambdaClient;
|
|
10
|
-
constructor(cacheLambdaFunctionArn) {
|
|
11
|
-
this.cacheLambdaFunctionArn = cacheLambdaFunctionArn;
|
|
12
|
-
this.cacheLambdaClient = new CacheLambdaClient(cacheLambdaFunctionArn);
|
|
13
|
-
}
|
|
14
|
-
getLookupApi = async (ipAddress) => {
|
|
15
|
-
try {
|
|
16
|
-
const client = axiosHttpService();
|
|
17
|
-
const url = `https://api.ipdata.co/${ipAddress}?api-key=${API_KEY}`;
|
|
18
|
-
const res = await client.get(url);
|
|
19
|
-
return res?.data;
|
|
20
|
-
}
|
|
21
|
-
catch (error) {
|
|
22
|
-
Logger.error('IPData Lookup API Failed', { error });
|
|
23
|
-
return null;
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
getIpCache = async (ipAddress) => {
|
|
27
|
-
return this.cacheLambdaClient.invokeGet(`ipdata-${ipAddress}`);
|
|
28
|
-
};
|
|
29
|
-
lookupIP = async (ipAddress) => {
|
|
30
|
-
try {
|
|
31
|
-
if (!ipAddress || isIP(ipAddress) === 0) {
|
|
32
|
-
Logger.warn('Unable to lookup IP. Invalid Ip Address', { ipAddress });
|
|
33
|
-
return null;
|
|
34
|
-
}
|
|
35
|
-
const cacheResponse = await this.getIpCache(ipAddress);
|
|
36
|
-
const cachedResult = cacheResponse?.responseData;
|
|
37
|
-
const cacheExpirationDate = DateTime.utc().minus({ days: 6 }).toJSDate().toISOString();
|
|
38
|
-
if (cachedResult && cachedResult?.updatedAt > cacheExpirationDate) {
|
|
39
|
-
return cachedResult.lookupResponse;
|
|
40
|
-
}
|
|
41
|
-
const lookupResponse = await this.getLookupApi(ipAddress);
|
|
42
|
-
const expires = 60 * 60 * 24 * 15;
|
|
43
|
-
let lookupTableRecord;
|
|
44
|
-
if (cachedResult) {
|
|
45
|
-
lookupTableRecord = {
|
|
46
|
-
...cachedResult,
|
|
47
|
-
lookupResponse,
|
|
48
|
-
updatedAt: getCurrentTimestamp(),
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
lookupTableRecord = {
|
|
53
|
-
ipAddress,
|
|
54
|
-
lookupResponse,
|
|
55
|
-
createdAt: getCurrentTimestamp(),
|
|
56
|
-
updatedAt: getCurrentTimestamp()
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
await this.cacheLambdaClient.invokeSet(`ipdata-${ipAddress}`, JSON.stringify(lookupTableRecord), expires);
|
|
60
|
-
return lookupResponse;
|
|
61
|
-
}
|
|
62
|
-
catch (e) {
|
|
63
|
-
Logger.error('Failed to lookup IP', { error: e });
|
|
64
|
-
return null;
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
}
|
|
1
|
+
import { DateTime } from 'luxon';
|
|
2
|
+
import { axiosHttpService, CacheLambdaClient } from '../clients';
|
|
3
|
+
import { Logger } from '../helpers';
|
|
4
|
+
import { getCurrentTimestamp } from '../libs';
|
|
5
|
+
import { isIP } from 'net';
|
|
6
|
+
const API_KEY = 'aae45f1e1f97ecf79bdc2bef3e96ef71961c4cb977c3085429b421bc';
|
|
7
|
+
export class IpDataLookupService {
|
|
8
|
+
cacheLambdaFunctionArn;
|
|
9
|
+
cacheLambdaClient;
|
|
10
|
+
constructor(cacheLambdaFunctionArn) {
|
|
11
|
+
this.cacheLambdaFunctionArn = cacheLambdaFunctionArn;
|
|
12
|
+
this.cacheLambdaClient = new CacheLambdaClient(cacheLambdaFunctionArn);
|
|
13
|
+
}
|
|
14
|
+
getLookupApi = async (ipAddress) => {
|
|
15
|
+
try {
|
|
16
|
+
const client = axiosHttpService();
|
|
17
|
+
const url = `https://api.ipdata.co/${ipAddress}?api-key=${API_KEY}`;
|
|
18
|
+
const res = await client.get(url);
|
|
19
|
+
return res?.data;
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
Logger.error('IPData Lookup API Failed', { error });
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
getIpCache = async (ipAddress) => {
|
|
27
|
+
return this.cacheLambdaClient.invokeGet(`ipdata-${ipAddress}`);
|
|
28
|
+
};
|
|
29
|
+
lookupIP = async (ipAddress) => {
|
|
30
|
+
try {
|
|
31
|
+
if (!ipAddress || isIP(ipAddress) === 0) {
|
|
32
|
+
Logger.warn('Unable to lookup IP. Invalid Ip Address', { ipAddress });
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
const cacheResponse = await this.getIpCache(ipAddress);
|
|
36
|
+
const cachedResult = cacheResponse?.responseData;
|
|
37
|
+
const cacheExpirationDate = DateTime.utc().minus({ days: 6 }).toJSDate().toISOString();
|
|
38
|
+
if (cachedResult && cachedResult?.updatedAt > cacheExpirationDate) {
|
|
39
|
+
return cachedResult.lookupResponse;
|
|
40
|
+
}
|
|
41
|
+
const lookupResponse = await this.getLookupApi(ipAddress);
|
|
42
|
+
const expires = 60 * 60 * 24 * 15;
|
|
43
|
+
let lookupTableRecord;
|
|
44
|
+
if (cachedResult) {
|
|
45
|
+
lookupTableRecord = {
|
|
46
|
+
...cachedResult,
|
|
47
|
+
lookupResponse,
|
|
48
|
+
updatedAt: getCurrentTimestamp(),
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
lookupTableRecord = {
|
|
53
|
+
ipAddress,
|
|
54
|
+
lookupResponse,
|
|
55
|
+
createdAt: getCurrentTimestamp(),
|
|
56
|
+
updatedAt: getCurrentTimestamp()
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
await this.cacheLambdaClient.invokeSet(`ipdata-${ipAddress}`, JSON.stringify(lookupTableRecord), expires);
|
|
60
|
+
return lookupResponse;
|
|
61
|
+
}
|
|
62
|
+
catch (e) {
|
|
63
|
+
Logger.error('Failed to lookup IP', { error: e });
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
68
|
//# sourceMappingURL=ipdata-lookup-service.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { EventContext, LOG_EVENT_NAME, LogEvent, LogEventData, LogLevel, LogStorage } from '@adtrackify/at-tracking-event-types';
|
|
2
|
-
export declare class LogEventService {
|
|
3
|
-
private eventBridgeClient;
|
|
4
|
-
private eventDetail;
|
|
5
|
-
constructor(eventBusName: string);
|
|
6
|
-
log: (source: string, pixelId: string, context: EventContext, logEventName: LOG_EVENT_NAME, logEventData: LogEventData, logId?: string) => Promise<void>;
|
|
7
|
-
buildLogEvent: (pixelId: string, context: EventContext, logEventName: LOG_EVENT_NAME, logEventData: LogEventData, logId?: string) => LogEvent;
|
|
8
|
-
buildLogEventData: (source: string, service: string, logLevel: LogLevel, message: string, logData?: any, logStorage?: LogStorage) => LogEventData;
|
|
9
|
-
}
|
|
1
|
+
import { EventContext, LOG_EVENT_NAME, LogEvent, LogEventData, LogLevel, LogStorage } from '@adtrackify/at-tracking-event-types';
|
|
2
|
+
export declare class LogEventService {
|
|
3
|
+
private eventBridgeClient;
|
|
4
|
+
private eventDetail;
|
|
5
|
+
constructor(eventBusName: string);
|
|
6
|
+
log: (source: string, pixelId: string, context: EventContext, logEventName: LOG_EVENT_NAME, logEventData: LogEventData, logId?: string) => Promise<void>;
|
|
7
|
+
buildLogEvent: (pixelId: string, context: EventContext, logEventName: LOG_EVENT_NAME, logEventData: LogEventData, logId?: string) => LogEvent;
|
|
8
|
+
buildLogEventData: (source: string, service: string, logLevel: LogLevel, message: string, logData?: any, logStorage?: LogStorage) => LogEventData;
|
|
9
|
+
}
|
|
@@ -1,53 +1,53 @@
|
|
|
1
|
-
import { INTERNAL_EVENT_TYPE } from '@adtrackify/at-tracking-event-types';
|
|
2
|
-
import { EventBridgeClient } from '../clients';
|
|
3
|
-
import { v4 as uuidv4 } from 'uuid';
|
|
4
|
-
import { getCurrentTimestamp } from '../libs';
|
|
5
|
-
const DEFAULT_LOG_STORAGE = {
|
|
6
|
-
sendToDatadog: true,
|
|
7
|
-
sendToEventDebugger: false,
|
|
8
|
-
sendToSingleStore: false,
|
|
9
|
-
};
|
|
10
|
-
export class LogEventService {
|
|
11
|
-
eventBridgeClient;
|
|
12
|
-
eventDetail;
|
|
13
|
-
constructor(eventBusName) {
|
|
14
|
-
this.eventBridgeClient = new EventBridgeClient(eventBusName);
|
|
15
|
-
this.eventDetail = 'incomingLogEvent';
|
|
16
|
-
}
|
|
17
|
-
log = async (source, pixelId, context, logEventName, logEventData, logId = uuidv4()) => {
|
|
18
|
-
const logEvent = this.buildLogEvent(pixelId, context, logEventName, logEventData, logId);
|
|
19
|
-
const eventData = {
|
|
20
|
-
pixelId,
|
|
21
|
-
logEvent
|
|
22
|
-
};
|
|
23
|
-
await this.eventBridgeClient.buildAndSendEvent(source, this.eventDetail, eventData);
|
|
24
|
-
};
|
|
25
|
-
buildLogEvent = (pixelId, context, logEventName, logEventData, logId = uuidv4()) => {
|
|
26
|
-
const unixMsUtcTime = Date.now();
|
|
27
|
-
const logEvent = {
|
|
28
|
-
id: logId,
|
|
29
|
-
pixelId,
|
|
30
|
-
type: INTERNAL_EVENT_TYPE.LOG,
|
|
31
|
-
name: logEventName,
|
|
32
|
-
data: logEventData,
|
|
33
|
-
version: '1.1.6',
|
|
34
|
-
sentAtEpoch: unixMsUtcTime,
|
|
35
|
-
collectedAt: getCurrentTimestamp(),
|
|
36
|
-
source: 'server'
|
|
37
|
-
};
|
|
38
|
-
if (context)
|
|
39
|
-
logEvent.context = context;
|
|
40
|
-
return logEvent;
|
|
41
|
-
};
|
|
42
|
-
buildLogEventData = (source, service, logLevel, message, logData, logStorage = DEFAULT_LOG_STORAGE) => {
|
|
43
|
-
return {
|
|
44
|
-
source,
|
|
45
|
-
service,
|
|
46
|
-
logLevel,
|
|
47
|
-
logMessage: message,
|
|
48
|
-
...logData,
|
|
49
|
-
logStorage
|
|
50
|
-
};
|
|
51
|
-
};
|
|
52
|
-
}
|
|
1
|
+
import { INTERNAL_EVENT_TYPE } from '@adtrackify/at-tracking-event-types';
|
|
2
|
+
import { EventBridgeClient } from '../clients';
|
|
3
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
4
|
+
import { getCurrentTimestamp } from '../libs';
|
|
5
|
+
const DEFAULT_LOG_STORAGE = {
|
|
6
|
+
sendToDatadog: true,
|
|
7
|
+
sendToEventDebugger: false,
|
|
8
|
+
sendToSingleStore: false,
|
|
9
|
+
};
|
|
10
|
+
export class LogEventService {
|
|
11
|
+
eventBridgeClient;
|
|
12
|
+
eventDetail;
|
|
13
|
+
constructor(eventBusName) {
|
|
14
|
+
this.eventBridgeClient = new EventBridgeClient(eventBusName);
|
|
15
|
+
this.eventDetail = 'incomingLogEvent';
|
|
16
|
+
}
|
|
17
|
+
log = async (source, pixelId, context, logEventName, logEventData, logId = uuidv4()) => {
|
|
18
|
+
const logEvent = this.buildLogEvent(pixelId, context, logEventName, logEventData, logId);
|
|
19
|
+
const eventData = {
|
|
20
|
+
pixelId,
|
|
21
|
+
logEvent
|
|
22
|
+
};
|
|
23
|
+
await this.eventBridgeClient.buildAndSendEvent(source, this.eventDetail, eventData);
|
|
24
|
+
};
|
|
25
|
+
buildLogEvent = (pixelId, context, logEventName, logEventData, logId = uuidv4()) => {
|
|
26
|
+
const unixMsUtcTime = Date.now();
|
|
27
|
+
const logEvent = {
|
|
28
|
+
id: logId,
|
|
29
|
+
pixelId,
|
|
30
|
+
type: INTERNAL_EVENT_TYPE.LOG,
|
|
31
|
+
name: logEventName,
|
|
32
|
+
data: logEventData,
|
|
33
|
+
version: '1.1.6',
|
|
34
|
+
sentAtEpoch: unixMsUtcTime,
|
|
35
|
+
collectedAt: getCurrentTimestamp(),
|
|
36
|
+
source: 'server'
|
|
37
|
+
};
|
|
38
|
+
if (context)
|
|
39
|
+
logEvent.context = context;
|
|
40
|
+
return logEvent;
|
|
41
|
+
};
|
|
42
|
+
buildLogEventData = (source, service, logLevel, message, logData, logStorage = DEFAULT_LOG_STORAGE) => {
|
|
43
|
+
return {
|
|
44
|
+
source,
|
|
45
|
+
service,
|
|
46
|
+
logLevel,
|
|
47
|
+
logMessage: message,
|
|
48
|
+
...logData,
|
|
49
|
+
logStorage
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
53
|
//# sourceMappingURL=log-event-service.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { EventContext, METRIC_EVENT_NAME, MetricEvent, MetricEventData } from '@adtrackify/at-tracking-event-types';
|
|
2
|
-
export declare class MetricEventService {
|
|
3
|
-
private eventBridgeClient;
|
|
4
|
-
private eventDetail;
|
|
5
|
-
constructor(eventBusName: string);
|
|
6
|
-
metric: (source: string, pixelId: string, context: EventContext, metricName: METRIC_EVENT_NAME, metricData: MetricEventData[], metricId?: string) => Promise<void>;
|
|
7
|
-
buildMetricEvent: (pixelId: string, context: EventContext, metricName: METRIC_EVENT_NAME, metricData: MetricEventData[], metricId?: string) => MetricEvent;
|
|
8
|
-
buildMetricEventData: (recordName: string, recordValue: number, displayName: string, additionalMetricData?: {}) => MetricEventData;
|
|
9
|
-
}
|
|
1
|
+
import { EventContext, METRIC_EVENT_NAME, MetricEvent, MetricEventData } from '@adtrackify/at-tracking-event-types';
|
|
2
|
+
export declare class MetricEventService {
|
|
3
|
+
private eventBridgeClient;
|
|
4
|
+
private eventDetail;
|
|
5
|
+
constructor(eventBusName: string);
|
|
6
|
+
metric: (source: string, pixelId: string, context: EventContext, metricName: METRIC_EVENT_NAME, metricData: MetricEventData[], metricId?: string) => Promise<void>;
|
|
7
|
+
buildMetricEvent: (pixelId: string, context: EventContext, metricName: METRIC_EVENT_NAME, metricData: MetricEventData[], metricId?: string) => MetricEvent;
|
|
8
|
+
buildMetricEventData: (recordName: string, recordValue: number, displayName: string, additionalMetricData?: {}) => MetricEventData;
|
|
9
|
+
}
|
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
import { INTERNAL_EVENT_TYPE } from '@adtrackify/at-tracking-event-types';
|
|
2
|
-
import { EventBridgeClient } from '../clients';
|
|
3
|
-
import { v4 as uuidv4 } from 'uuid';
|
|
4
|
-
import { getCurrentTimestamp } from '../libs';
|
|
5
|
-
export class MetricEventService {
|
|
6
|
-
eventBridgeClient;
|
|
7
|
-
eventDetail;
|
|
8
|
-
constructor(eventBusName) {
|
|
9
|
-
this.eventBridgeClient = new EventBridgeClient(eventBusName);
|
|
10
|
-
this.eventDetail = 'incomingMetricEvent';
|
|
11
|
-
}
|
|
12
|
-
metric = async (source, pixelId, context, metricName, metricData, metricId = uuidv4()) => {
|
|
13
|
-
const metricEvent = this.buildMetricEvent(pixelId, context, metricName, metricData, metricId);
|
|
14
|
-
const eventData = {
|
|
15
|
-
pixelId,
|
|
16
|
-
metricEvent
|
|
17
|
-
};
|
|
18
|
-
await this.eventBridgeClient.buildAndSendEvent(source, this.eventDetail, eventData);
|
|
19
|
-
};
|
|
20
|
-
buildMetricEvent = (pixelId, context, metricName, metricData, metricId = uuidv4()) => {
|
|
21
|
-
const unixMsUtcTime = Date.now();
|
|
22
|
-
const metricEvent = {
|
|
23
|
-
id: metricId,
|
|
24
|
-
type: INTERNAL_EVENT_TYPE.METRIC,
|
|
25
|
-
name: metricName,
|
|
26
|
-
pixelId,
|
|
27
|
-
data: metricData,
|
|
28
|
-
version: '1.1.6',
|
|
29
|
-
sentAtEpoch: unixMsUtcTime,
|
|
30
|
-
collectedAt: getCurrentTimestamp()
|
|
31
|
-
};
|
|
32
|
-
if (context)
|
|
33
|
-
metricEvent.context = context;
|
|
34
|
-
return metricEvent;
|
|
35
|
-
};
|
|
36
|
-
buildMetricEventData = (recordName, recordValue, displayName, additionalMetricData = {}) => {
|
|
37
|
-
return {
|
|
38
|
-
recordId: uuidv4(),
|
|
39
|
-
recordName,
|
|
40
|
-
recordValue,
|
|
41
|
-
displayName,
|
|
42
|
-
...additionalMetricData,
|
|
43
|
-
};
|
|
44
|
-
};
|
|
45
|
-
}
|
|
1
|
+
import { INTERNAL_EVENT_TYPE } from '@adtrackify/at-tracking-event-types';
|
|
2
|
+
import { EventBridgeClient } from '../clients';
|
|
3
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
4
|
+
import { getCurrentTimestamp } from '../libs';
|
|
5
|
+
export class MetricEventService {
|
|
6
|
+
eventBridgeClient;
|
|
7
|
+
eventDetail;
|
|
8
|
+
constructor(eventBusName) {
|
|
9
|
+
this.eventBridgeClient = new EventBridgeClient(eventBusName);
|
|
10
|
+
this.eventDetail = 'incomingMetricEvent';
|
|
11
|
+
}
|
|
12
|
+
metric = async (source, pixelId, context, metricName, metricData, metricId = uuidv4()) => {
|
|
13
|
+
const metricEvent = this.buildMetricEvent(pixelId, context, metricName, metricData, metricId);
|
|
14
|
+
const eventData = {
|
|
15
|
+
pixelId,
|
|
16
|
+
metricEvent
|
|
17
|
+
};
|
|
18
|
+
await this.eventBridgeClient.buildAndSendEvent(source, this.eventDetail, eventData);
|
|
19
|
+
};
|
|
20
|
+
buildMetricEvent = (pixelId, context, metricName, metricData, metricId = uuidv4()) => {
|
|
21
|
+
const unixMsUtcTime = Date.now();
|
|
22
|
+
const metricEvent = {
|
|
23
|
+
id: metricId,
|
|
24
|
+
type: INTERNAL_EVENT_TYPE.METRIC,
|
|
25
|
+
name: metricName,
|
|
26
|
+
pixelId,
|
|
27
|
+
data: metricData,
|
|
28
|
+
version: '1.1.6',
|
|
29
|
+
sentAtEpoch: unixMsUtcTime,
|
|
30
|
+
collectedAt: getCurrentTimestamp()
|
|
31
|
+
};
|
|
32
|
+
if (context)
|
|
33
|
+
metricEvent.context = context;
|
|
34
|
+
return metricEvent;
|
|
35
|
+
};
|
|
36
|
+
buildMetricEventData = (recordName, recordValue, displayName, additionalMetricData = {}) => {
|
|
37
|
+
return {
|
|
38
|
+
recordId: uuidv4(),
|
|
39
|
+
recordName,
|
|
40
|
+
recordValue,
|
|
41
|
+
displayName,
|
|
42
|
+
...additionalMetricData,
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
46
|
//# sourceMappingURL=metric-event-service.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './products';
|
|
2
|
-
export * from './types';
|
|
3
|
-
export * from './shopify-graphql-transformer.js';
|
|
1
|
+
export * from './products';
|
|
2
|
+
export * from './types';
|
|
3
|
+
export * from './shopify-graphql-transformer.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './products';
|
|
2
|
-
export * from './types';
|
|
3
|
-
export * from './shopify-graphql-transformer.js';
|
|
1
|
+
export * from './products';
|
|
2
|
+
export * from './types';
|
|
3
|
+
export * from './shopify-graphql-transformer.js';
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './shopify-products-serviceV2.js';
|
|
1
|
+
export * from './shopify-products-serviceV2.js';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './shopify-products-serviceV2.js';
|
|
1
|
+
export * from './shopify-products-serviceV2.js';
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { InternalProduct } from '../types/product';
|
|
2
|
-
import { GetProductQuery } from '../../../types';
|
|
3
|
-
import { ClientResponse } from '@shopify/admin-api-client';
|
|
4
|
-
export interface GetShopifyProductResponse extends ClientResponse<GetProductQuery> {
|
|
5
|
-
transformedProduct?: InternalProduct;
|
|
6
|
-
}
|
|
7
|
-
export declare class ShopifyProductsServiceV2 {
|
|
8
|
-
private productCacheService;
|
|
9
|
-
constructor(cacheLambdaFunctionArn: string);
|
|
10
|
-
getShopifyProduct: (pixelId: string, shop: string, accessToken: string, productId: string, useCache?: boolean, updateCache?: boolean) => Promise<GetShopifyProductResponse | null>;
|
|
11
|
-
private getShopifyProductFromAPI;
|
|
12
|
-
}
|
|
1
|
+
import { InternalProduct } from '../types/product';
|
|
2
|
+
import { GetProductQuery } from '../../../types';
|
|
3
|
+
import { ClientResponse } from '@shopify/admin-api-client';
|
|
4
|
+
export interface GetShopifyProductResponse extends ClientResponse<GetProductQuery> {
|
|
5
|
+
transformedProduct?: InternalProduct;
|
|
6
|
+
}
|
|
7
|
+
export declare class ShopifyProductsServiceV2 {
|
|
8
|
+
private productCacheService;
|
|
9
|
+
constructor(cacheLambdaFunctionArn: string);
|
|
10
|
+
getShopifyProduct: (pixelId: string, shop: string, accessToken: string, productId: string, useCache?: boolean, updateCache?: boolean) => Promise<GetShopifyProductResponse | null>;
|
|
11
|
+
private getShopifyProductFromAPI;
|
|
12
|
+
}
|
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
import { Logger } from '../../../helpers';
|
|
2
|
-
import { ProductCacheService } from '../../cache/product-cache-service';
|
|
3
|
-
import { ShopifyGraphQLTransformer } from '../shopify-graphql-transformer';
|
|
4
|
-
import { ShopifyGraphQLClient } from '../../../clients/third-party/shopify/shopify-graphql-client';
|
|
5
|
-
export class ShopifyProductsServiceV2 {
|
|
6
|
-
productCacheService;
|
|
7
|
-
constructor(cacheLambdaFunctionArn) {
|
|
8
|
-
this.productCacheService = new ProductCacheService(cacheLambdaFunctionArn);
|
|
9
|
-
}
|
|
10
|
-
getShopifyProduct = async (pixelId, shop, accessToken, productId, useCache = true, updateCache = true) => {
|
|
11
|
-
try {
|
|
12
|
-
let getShopifyProductResponse = {};
|
|
13
|
-
if (useCache) {
|
|
14
|
-
const product = await this.productCacheService.getProductFromCache(pixelId, productId);
|
|
15
|
-
if (product) {
|
|
16
|
-
Logger.debug('getShopifyProduct: Product found in cache', { pixelId, shop, productId, product });
|
|
17
|
-
getShopifyProductResponse.transformedProduct = product;
|
|
18
|
-
return getShopifyProductResponse;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
getShopifyProductResponse = await this.getShopifyProductFromAPI(pixelId, shop, accessToken, productId, true);
|
|
22
|
-
if (getShopifyProductResponse?.transformedProduct && updateCache) {
|
|
23
|
-
const product = getShopifyProductResponse.transformedProduct;
|
|
24
|
-
Logger.debug('getShopifyProduct: Product found in ShopifyAPI, putting in cache', { pixelId, productId, product });
|
|
25
|
-
await this.productCacheService.putProductInCache(pixelId, productId, product);
|
|
26
|
-
}
|
|
27
|
-
if (!getShopifyProductResponse?.transformedProduct) {
|
|
28
|
-
Logger.error('getShopifyProduct: Product not found in ShopifyAPI or cache', { pixelId, shop, productId });
|
|
29
|
-
}
|
|
30
|
-
Logger.debug('getShopifyProduct: Returning product', { pixelId, shop, productId, product: getShopifyProductResponse?.transformedProduct });
|
|
31
|
-
return getShopifyProductResponse;
|
|
32
|
-
}
|
|
33
|
-
catch (error) {
|
|
34
|
-
Logger.error('getShopifyProduct: Failed getShopifyProductWithCachingGraphQL', { error });
|
|
35
|
-
return null;
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
getShopifyProductFromAPI = async (pixelId, shop, accessToken, productId, useTransformer = true) => {
|
|
39
|
-
try {
|
|
40
|
-
const response = await ShopifyGraphQLClient.getProductWithVariantsGraphQL(shop, accessToken, productId, 100);
|
|
41
|
-
const getShopifyProductResponse = response;
|
|
42
|
-
if (response?.data?.product) {
|
|
43
|
-
const product = response.data.product;
|
|
44
|
-
Logger.debug('getShopifyProductFromAPI: Product found in ShopifyAPI', { pixelId, shop, productId, product });
|
|
45
|
-
if (useTransformer) {
|
|
46
|
-
const transformedProduct = ShopifyGraphQLTransformer.transformToInternalProduct(product);
|
|
47
|
-
getShopifyProductResponse.transformedProduct = transformedProduct;
|
|
48
|
-
Logger.info('getShopifyProductFromAPI: Product transformed', { pixelId, shop, productId, transformedProduct: getShopifyProductResponse.transformedProduct });
|
|
49
|
-
}
|
|
50
|
-
return getShopifyProductResponse;
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
Logger.error('getShopifyProductFromAPI: Product not found in ShopifyAPI', { pixelId, shop, productId });
|
|
54
|
-
return getShopifyProductResponse;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
catch (error) {
|
|
58
|
-
Logger.error('getShopifyProductFromAPI: Failed getShopifyProductFromAPI', { e: error, pixelId, shop, accessToken, productId, useTransformer, error });
|
|
59
|
-
return null;
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
}
|
|
1
|
+
import { Logger } from '../../../helpers';
|
|
2
|
+
import { ProductCacheService } from '../../cache/product-cache-service';
|
|
3
|
+
import { ShopifyGraphQLTransformer } from '../shopify-graphql-transformer';
|
|
4
|
+
import { ShopifyGraphQLClient } from '../../../clients/third-party/shopify/shopify-graphql-client';
|
|
5
|
+
export class ShopifyProductsServiceV2 {
|
|
6
|
+
productCacheService;
|
|
7
|
+
constructor(cacheLambdaFunctionArn) {
|
|
8
|
+
this.productCacheService = new ProductCacheService(cacheLambdaFunctionArn);
|
|
9
|
+
}
|
|
10
|
+
getShopifyProduct = async (pixelId, shop, accessToken, productId, useCache = true, updateCache = true) => {
|
|
11
|
+
try {
|
|
12
|
+
let getShopifyProductResponse = {};
|
|
13
|
+
if (useCache) {
|
|
14
|
+
const product = await this.productCacheService.getProductFromCache(pixelId, productId);
|
|
15
|
+
if (product) {
|
|
16
|
+
Logger.debug('getShopifyProduct: Product found in cache', { pixelId, shop, productId, product });
|
|
17
|
+
getShopifyProductResponse.transformedProduct = product;
|
|
18
|
+
return getShopifyProductResponse;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
getShopifyProductResponse = await this.getShopifyProductFromAPI(pixelId, shop, accessToken, productId, true);
|
|
22
|
+
if (getShopifyProductResponse?.transformedProduct && updateCache) {
|
|
23
|
+
const product = getShopifyProductResponse.transformedProduct;
|
|
24
|
+
Logger.debug('getShopifyProduct: Product found in ShopifyAPI, putting in cache', { pixelId, productId, product });
|
|
25
|
+
await this.productCacheService.putProductInCache(pixelId, productId, product);
|
|
26
|
+
}
|
|
27
|
+
if (!getShopifyProductResponse?.transformedProduct) {
|
|
28
|
+
Logger.error('getShopifyProduct: Product not found in ShopifyAPI or cache', { pixelId, shop, productId });
|
|
29
|
+
}
|
|
30
|
+
Logger.debug('getShopifyProduct: Returning product', { pixelId, shop, productId, product: getShopifyProductResponse?.transformedProduct });
|
|
31
|
+
return getShopifyProductResponse;
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
Logger.error('getShopifyProduct: Failed getShopifyProductWithCachingGraphQL', { error });
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
getShopifyProductFromAPI = async (pixelId, shop, accessToken, productId, useTransformer = true) => {
|
|
39
|
+
try {
|
|
40
|
+
const response = await ShopifyGraphQLClient.getProductWithVariantsGraphQL(shop, accessToken, productId, 100);
|
|
41
|
+
const getShopifyProductResponse = response;
|
|
42
|
+
if (response?.data?.product) {
|
|
43
|
+
const product = response.data.product;
|
|
44
|
+
Logger.debug('getShopifyProductFromAPI: Product found in ShopifyAPI', { pixelId, shop, productId, product });
|
|
45
|
+
if (useTransformer) {
|
|
46
|
+
const transformedProduct = ShopifyGraphQLTransformer.transformToInternalProduct(product);
|
|
47
|
+
getShopifyProductResponse.transformedProduct = transformedProduct;
|
|
48
|
+
Logger.info('getShopifyProductFromAPI: Product transformed', { pixelId, shop, productId, transformedProduct: getShopifyProductResponse.transformedProduct });
|
|
49
|
+
}
|
|
50
|
+
return getShopifyProductResponse;
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
Logger.error('getShopifyProductFromAPI: Product not found in ShopifyAPI', { pixelId, shop, productId });
|
|
54
|
+
return getShopifyProductResponse;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
Logger.error('getShopifyProductFromAPI: Failed getShopifyProductFromAPI', { e: error, pixelId, shop, accessToken, productId, useTransformer, error });
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
63
|
//# sourceMappingURL=shopify-products-serviceV2.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { InventoryItem, Product, ProductVariant } from '../../types/shopify-graphql-types/admin.types';
|
|
2
|
-
import { InternalInventoryItem } from './types/product';
|
|
3
|
-
import { InternalProduct, InternalProductVariant } from './types/product';
|
|
4
|
-
export declare const ShopifyGraphQLTransformer: {
|
|
5
|
-
transformToInternalProduct: (product: Partial<Product>) => InternalProduct | undefined;
|
|
6
|
-
transformToInternalProductVariant: (variant: Partial<ProductVariant>) => InternalProductVariant | undefined;
|
|
7
|
-
transformToInternalInventoryItem: (inventoryItem: Partial<InventoryItem>) => InternalInventoryItem | undefined;
|
|
8
|
-
};
|
|
1
|
+
import { InventoryItem, Product, ProductVariant } from '../../types/shopify-graphql-types/admin.types';
|
|
2
|
+
import { InternalInventoryItem } from './types/product';
|
|
3
|
+
import { InternalProduct, InternalProductVariant } from './types/product';
|
|
4
|
+
export declare const ShopifyGraphQLTransformer: {
|
|
5
|
+
transformToInternalProduct: (product: Partial<Product>) => InternalProduct | undefined;
|
|
6
|
+
transformToInternalProductVariant: (variant: Partial<ProductVariant>) => InternalProductVariant | undefined;
|
|
7
|
+
transformToInternalInventoryItem: (inventoryItem: Partial<InventoryItem>) => InternalInventoryItem | undefined;
|
|
8
|
+
};
|