@adtrackify/at-service-common 3.2.6 → 3.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
- package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.js +527 -527
- package/dist/cjs/__tests__/libs/compress-decompress.spec.d.ts +1 -1
- package/dist/cjs/__tests__/libs/compress-decompress.spec.js +16 -16
- package/dist/cjs/__tests__/s3-client/s3-client.spec.d.ts +1 -1
- package/dist/cjs/__tests__/s3-client/s3-client.spec.js +26 -26
- package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
- package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.js +35 -35
- package/dist/cjs/clients/generic/cognito-client.d.ts +23 -23
- package/dist/cjs/clients/generic/cognito-client.js +209 -209
- package/dist/cjs/clients/generic/dynamodb-client.d.ts +17 -17
- package/dist/cjs/clients/generic/dynamodb-client.js +167 -167
- package/dist/cjs/clients/generic/eventbridge-client.d.ts +14 -14
- package/dist/cjs/clients/generic/eventbridge-client.js +49 -49
- package/dist/cjs/clients/generic/http-client.d.ts +14 -14
- package/dist/cjs/clients/generic/http-client.js +61 -61
- package/dist/cjs/clients/generic/index.d.ts +10 -10
- package/dist/cjs/clients/generic/index.js +26 -26
- package/dist/cjs/clients/generic/lambda-invoke-client.d.ts +10 -10
- package/dist/cjs/clients/generic/lambda-invoke-client.js +35 -35
- package/dist/cjs/clients/generic/location-client.d.ts +8 -8
- package/dist/cjs/clients/generic/location-client.js +31 -31
- package/dist/cjs/clients/generic/redis-client.d.ts +18 -18
- package/dist/cjs/clients/generic/redis-client.js +128 -128
- package/dist/cjs/clients/generic/s3-client.d.ts +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 +83 -83
- package/dist/cjs/clients/internal-api/accounts-client.js +107 -107
- package/dist/cjs/clients/internal-api/accounts-client.js.map +1 -1
- 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 +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 +9 -9
- package/dist/cjs/clients/internal-api/index.js +25 -25
- package/dist/cjs/clients/internal-api/shopify-app-install-client.d.ts +30 -30
- package/dist/cjs/clients/internal-api/shopify-app-install-client.js +59 -59
- package/dist/cjs/clients/internal-api/subscriptions-client.d.ts +21 -21
- package/dist/cjs/clients/internal-api/subscriptions-client.js +52 -52
- package/dist/cjs/clients/internal-api/users-auth-client.d.ts +35 -35
- package/dist/cjs/clients/internal-api/users-auth-client.js +110 -110
- package/dist/cjs/clients/third-party/index.d.ts +1 -1
- package/dist/cjs/clients/third-party/index.js +17 -17
- package/dist/cjs/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
- package/dist/cjs/clients/third-party/shopify/graphql-product-queries.js +5 -5
- package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -9
- package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.js +95 -95
- package/dist/cjs/clients/third-party/shopify-client.d.ts +33 -33
- package/dist/cjs/clients/third-party/shopify-client.js +155 -155
- package/dist/cjs/helpers/identity-cache-helper.d.ts +4 -4
- package/dist/cjs/helpers/identity-cache-helper.js +150 -150
- package/dist/cjs/helpers/index.d.ts +5 -5
- package/dist/cjs/helpers/index.js +21 -21
- package/dist/cjs/helpers/input-validation-helper.d.ts +3 -3
- package/dist/cjs/helpers/input-validation-helper.js +22 -22
- package/dist/cjs/helpers/logging-helper.d.ts +16 -16
- package/dist/cjs/helpers/logging-helper.js +84 -84
- package/dist/cjs/helpers/response-helper.d.ts +15 -15
- package/dist/cjs/helpers/response-helper.js +42 -42
- package/dist/cjs/helpers/shopify-helper.d.ts +9 -9
- package/dist/cjs/helpers/shopify-helper.js +28 -28
- package/dist/cjs/index.d.ts +5 -5
- package/dist/cjs/index.js +21 -21
- package/dist/cjs/libs/clickId-parser.d.ts +23 -23
- package/dist/cjs/libs/clickId-parser.js +49 -49
- package/dist/cjs/libs/compression.d.ts +2 -2
- package/dist/cjs/libs/compression.js +33 -33
- package/dist/cjs/libs/crypto.d.ts +1 -1
- package/dist/cjs/libs/crypto.js +12 -12
- package/dist/cjs/libs/dates.d.ts +6 -6
- package/dist/cjs/libs/dates.js +31 -31
- package/dist/cjs/libs/http-error.d.ts +21 -21
- package/dist/cjs/libs/http-error.js +59 -59
- package/dist/cjs/libs/http-status-codes.d.ts +58 -58
- package/dist/cjs/libs/http-status-codes.js +62 -62
- package/dist/cjs/libs/index.d.ts +9 -9
- package/dist/cjs/libs/index.js +25 -25
- package/dist/cjs/libs/referrer-parser/index.d.ts +2 -2
- package/dist/cjs/libs/referrer-parser/index.js +18 -18
- package/dist/cjs/libs/referrer-parser/referrer-data.d.ts +9 -9
- package/dist/cjs/libs/referrer-parser/referrer-data.js +4712 -4712
- package/dist/cjs/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
- package/dist/cjs/libs/referrer-parser/referrer-parser-util.js +128 -128
- package/dist/cjs/libs/url.d.ts +1 -1
- package/dist/cjs/libs/url.js +13 -13
- package/dist/cjs/services/cache/generic-cached-object.d.ts +5 -5
- package/dist/cjs/services/cache/generic-cached-object.js +2 -2
- package/dist/cjs/services/cache/index.d.ts +1 -1
- package/dist/cjs/services/cache/index.js +17 -17
- package/dist/cjs/services/cache/product-cache-service.d.ts +21 -21
- package/dist/cjs/services/cache/product-cache-service.js +68 -68
- package/dist/cjs/services/db/destinations-db-service.d.ts +9 -9
- package/dist/cjs/services/db/destinations-db-service.js +57 -57
- package/dist/cjs/services/db/identity-cache-db-service.d.ts +24 -24
- package/dist/cjs/services/db/identity-cache-db-service.js +233 -233
- package/dist/cjs/services/db/index.d.ts +7 -7
- package/dist/cjs/services/db/index.js +23 -23
- package/dist/cjs/services/db/log-events-db-service.d.ts +11 -11
- package/dist/cjs/services/db/log-events-db-service.js +172 -172
- package/dist/cjs/services/db/purchased-contacts-db-service.d.ts +9 -9
- package/dist/cjs/services/db/purchased-contacts-db-service.js +38 -38
- package/dist/cjs/services/db/shopify-app-installs-db-service.d.ts +7 -7
- package/dist/cjs/services/db/shopify-app-installs-db-service.js +47 -47
- package/dist/cjs/services/db/shopify-products-cache-db-service.d.ts +16 -16
- package/dist/cjs/services/db/shopify-products-cache-db-service.js +65 -65
- package/dist/cjs/services/db/tracking-events-db-service.d.ts +20 -20
- package/dist/cjs/services/db/tracking-events-db-service.js +162 -162
- package/dist/cjs/services/eventbridge-integration-service.d.ts +9 -9
- package/dist/cjs/services/eventbridge-integration-service.js +28 -28
- package/dist/cjs/services/generic-cache-service.d.ts +7 -7
- package/dist/cjs/services/generic-cache-service.js +33 -33
- package/dist/cjs/services/index.d.ts +8 -8
- package/dist/cjs/services/index.js +24 -24
- package/dist/cjs/services/ipdata-lookup-service.d.ts +19 -19
- package/dist/cjs/services/ipdata-lookup-service.js +77 -77
- package/dist/cjs/services/log-event-service.d.ts +9 -9
- package/dist/cjs/services/log-event-service.js +56 -56
- package/dist/cjs/services/metric-event-service.d.ts +9 -9
- package/dist/cjs/services/metric-event-service.js +49 -49
- package/dist/cjs/services/shopify/index.d.ts +3 -3
- package/dist/cjs/services/shopify/index.js +19 -19
- package/dist/cjs/services/shopify/products/index.d.ts +1 -1
- package/dist/cjs/services/shopify/products/index.js +17 -17
- package/dist/cjs/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
- package/dist/cjs/services/shopify/products/shopify-products-serviceV2.js +103 -103
- package/dist/cjs/services/shopify/shopify-graphql-transformer.d.ts +9 -9
- package/dist/cjs/services/shopify/shopify-graphql-transformer.js +137 -137
- package/dist/cjs/services/shopify/types/index.d.ts +1 -1
- package/dist/cjs/services/shopify/types/index.js +17 -17
- package/dist/cjs/services/shopify/types/product.d.ts +115 -115
- package/dist/cjs/services/shopify/types/product.js +9 -9
- package/dist/cjs/types/api-response.d.ts +6 -6
- package/dist/cjs/types/api-response.js +2 -2
- package/dist/cjs/types/index.d.ts +2 -2
- package/dist/cjs/types/index.js +18 -18
- package/dist/cjs/types/internal-events/event-detail-types.d.ts +20 -20
- package/dist/cjs/types/internal-events/event-detail-types.js +27 -27
- package/dist/cjs/types/internal-events/index.d.ts +1 -1
- package/dist/cjs/types/internal-events/index.js +17 -17
- package/dist/cjs/types/shopify-graphql-types/admin.generated.d.ts +105 -105
- package/dist/cjs/types/shopify-graphql-types/admin.generated.js +2 -2
- package/dist/cjs/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
- package/dist/cjs/types/shopify-graphql-types/admin.types.js +5311 -5311
- package/dist/cjs/types/shopify-graphql-types/index.d.ts +2 -2
- package/dist/cjs/types/shopify-graphql-types/index.js +18 -18
- package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
- package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js +525 -525
- package/dist/esm/__tests__/libs/compress-decompress.spec.d.ts +1 -1
- package/dist/esm/__tests__/libs/compress-decompress.spec.js +14 -14
- package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
- package/dist/esm/__tests__/s3-client/s3-client.spec.js +24 -24
- package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
- package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.js +33 -33
- package/dist/esm/clients/generic/cognito-client.d.ts +23 -23
- package/dist/esm/clients/generic/cognito-client.js +204 -204
- package/dist/esm/clients/generic/dynamodb-client.d.ts +17 -17
- package/dist/esm/clients/generic/dynamodb-client.js +163 -163
- package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
- package/dist/esm/clients/generic/eventbridge-client.js +45 -45
- package/dist/esm/clients/generic/http-client.d.ts +14 -14
- package/dist/esm/clients/generic/http-client.js +53 -53
- package/dist/esm/clients/generic/index.d.ts +10 -10
- package/dist/esm/clients/generic/index.js +10 -10
- package/dist/esm/clients/generic/lambda-invoke-client.d.ts +10 -10
- package/dist/esm/clients/generic/lambda-invoke-client.js +31 -31
- package/dist/esm/clients/generic/location-client.d.ts +8 -8
- package/dist/esm/clients/generic/location-client.js +27 -27
- package/dist/esm/clients/generic/redis-client.d.ts +18 -18
- package/dist/esm/clients/generic/redis-client.js +121 -121
- package/dist/esm/clients/generic/s3-client.d.ts +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 +83 -83
- package/dist/esm/clients/internal-api/accounts-client.js +103 -103
- package/dist/esm/clients/internal-api/accounts-client.js.map +1 -1
- 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 +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 +9 -9
- package/dist/esm/clients/internal-api/index.js +9 -9
- package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +30 -30
- package/dist/esm/clients/internal-api/shopify-app-install-client.js +52 -52
- package/dist/esm/clients/internal-api/subscriptions-client.d.ts +21 -21
- package/dist/esm/clients/internal-api/subscriptions-client.js +45 -45
- package/dist/esm/clients/internal-api/users-auth-client.d.ts +35 -35
- package/dist/esm/clients/internal-api/users-auth-client.js +106 -106
- package/dist/esm/clients/third-party/index.d.ts +1 -1
- package/dist/esm/clients/third-party/index.js +1 -1
- package/dist/esm/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
- package/dist/esm/clients/third-party/shopify/graphql-product-queries.js +2 -2
- package/dist/esm/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -9
- package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js +91 -91
- package/dist/esm/clients/third-party/shopify-client.d.ts +33 -33
- package/dist/esm/clients/third-party/shopify-client.js +151 -151
- package/dist/esm/helpers/identity-cache-helper.d.ts +4 -4
- package/dist/esm/helpers/identity-cache-helper.js +145 -145
- package/dist/esm/helpers/index.d.ts +5 -5
- package/dist/esm/helpers/index.js +5 -5
- package/dist/esm/helpers/input-validation-helper.d.ts +3 -3
- package/dist/esm/helpers/input-validation-helper.js +18 -18
- package/dist/esm/helpers/logging-helper.d.ts +16 -16
- package/dist/esm/helpers/logging-helper.js +56 -56
- package/dist/esm/helpers/response-helper.d.ts +15 -15
- package/dist/esm/helpers/response-helper.js +36 -36
- package/dist/esm/helpers/shopify-helper.d.ts +9 -9
- package/dist/esm/helpers/shopify-helper.js +23 -23
- package/dist/esm/index.d.ts +5 -5
- package/dist/esm/index.js +5 -5
- package/dist/esm/libs/clickId-parser.d.ts +23 -23
- package/dist/esm/libs/clickId-parser.js +45 -45
- package/dist/esm/libs/compression.d.ts +2 -2
- package/dist/esm/libs/compression.js +25 -25
- package/dist/esm/libs/crypto.d.ts +1 -1
- package/dist/esm/libs/crypto.js +5 -5
- package/dist/esm/libs/dates.d.ts +6 -6
- package/dist/esm/libs/dates.js +22 -22
- package/dist/esm/libs/http-error.d.ts +21 -21
- package/dist/esm/libs/http-error.js +55 -55
- package/dist/esm/libs/http-status-codes.d.ts +58 -58
- package/dist/esm/libs/http-status-codes.js +59 -59
- package/dist/esm/libs/index.d.ts +9 -9
- package/dist/esm/libs/index.js +9 -9
- package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
- package/dist/esm/libs/referrer-parser/index.js +2 -2
- package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
- package/dist/esm/libs/referrer-parser/referrer-data.js +4709 -4709
- package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
- package/dist/esm/libs/referrer-parser/referrer-parser-util.js +121 -121
- package/dist/esm/libs/url.d.ts +1 -1
- package/dist/esm/libs/url.js +9 -9
- package/dist/esm/services/cache/generic-cached-object.d.ts +5 -5
- package/dist/esm/services/cache/generic-cached-object.js +1 -1
- package/dist/esm/services/cache/index.d.ts +1 -1
- package/dist/esm/services/cache/index.js +1 -1
- package/dist/esm/services/cache/product-cache-service.d.ts +21 -21
- package/dist/esm/services/cache/product-cache-service.js +60 -60
- package/dist/esm/services/db/destinations-db-service.d.ts +9 -9
- package/dist/esm/services/db/destinations-db-service.js +53 -53
- package/dist/esm/services/db/identity-cache-db-service.d.ts +24 -24
- package/dist/esm/services/db/identity-cache-db-service.js +229 -229
- package/dist/esm/services/db/index.d.ts +7 -7
- package/dist/esm/services/db/index.js +7 -7
- package/dist/esm/services/db/log-events-db-service.d.ts +11 -11
- package/dist/esm/services/db/log-events-db-service.js +168 -168
- package/dist/esm/services/db/purchased-contacts-db-service.d.ts +9 -9
- package/dist/esm/services/db/purchased-contacts-db-service.js +34 -34
- package/dist/esm/services/db/shopify-app-installs-db-service.d.ts +7 -7
- package/dist/esm/services/db/shopify-app-installs-db-service.js +43 -43
- package/dist/esm/services/db/shopify-products-cache-db-service.d.ts +16 -16
- package/dist/esm/services/db/shopify-products-cache-db-service.js +58 -58
- package/dist/esm/services/db/tracking-events-db-service.d.ts +20 -20
- package/dist/esm/services/db/tracking-events-db-service.js +158 -158
- package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
- package/dist/esm/services/eventbridge-integration-service.js +24 -24
- package/dist/esm/services/generic-cache-service.d.ts +7 -7
- package/dist/esm/services/generic-cache-service.js +29 -29
- package/dist/esm/services/index.d.ts +8 -8
- package/dist/esm/services/index.js +8 -8
- package/dist/esm/services/ipdata-lookup-service.d.ts +19 -19
- package/dist/esm/services/ipdata-lookup-service.js +73 -73
- package/dist/esm/services/log-event-service.d.ts +9 -9
- package/dist/esm/services/log-event-service.js +52 -52
- package/dist/esm/services/metric-event-service.d.ts +9 -9
- package/dist/esm/services/metric-event-service.js +45 -45
- package/dist/esm/services/shopify/index.d.ts +3 -3
- package/dist/esm/services/shopify/index.js +3 -3
- package/dist/esm/services/shopify/products/index.d.ts +1 -1
- package/dist/esm/services/shopify/products/index.js +1 -1
- package/dist/esm/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
- package/dist/esm/services/shopify/products/shopify-products-serviceV2.js +99 -99
- package/dist/esm/services/shopify/shopify-graphql-transformer.d.ts +9 -9
- package/dist/esm/services/shopify/shopify-graphql-transformer.js +134 -134
- package/dist/esm/services/shopify/types/index.d.ts +1 -1
- package/dist/esm/services/shopify/types/index.js +1 -1
- package/dist/esm/services/shopify/types/product.d.ts +115 -115
- package/dist/esm/services/shopify/types/product.js +6 -6
- package/dist/esm/types/api-response.d.ts +6 -6
- package/dist/esm/types/api-response.js +1 -1
- package/dist/esm/types/index.d.ts +2 -2
- package/dist/esm/types/index.js +2 -2
- package/dist/esm/types/internal-events/event-detail-types.d.ts +20 -20
- package/dist/esm/types/internal-events/event-detail-types.js +24 -24
- package/dist/esm/types/internal-events/index.d.ts +1 -1
- package/dist/esm/types/internal-events/index.js +1 -1
- package/dist/esm/types/shopify-graphql-types/admin.generated.d.ts +105 -105
- package/dist/esm/types/shopify-graphql-types/admin.generated.js +1 -1
- package/dist/esm/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
- package/dist/esm/types/shopify-graphql-types/admin.types.js +5299 -5299
- package/dist/esm/types/shopify-graphql-types/index.d.ts +2 -2
- package/dist/esm/types/shopify-graphql-types/index.js +2 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const compression_1 = require("../../libs/compression");
|
|
4
|
-
describe('compression, decompression unit tests', () => {
|
|
5
|
-
afterEach(() => {
|
|
6
|
-
jest.resetModules();
|
|
7
|
-
});
|
|
8
|
-
it('should compress json to string', () => {
|
|
9
|
-
const compressed = (0, compression_1.compressJSON)({ key1: 'value1', key2: 'value2' });
|
|
10
|
-
expect(compressed).toBe('eNqrVspOrTRUslIqS8wpTTVU0gHxjWB8I6VaAK3KCjs=');
|
|
11
|
-
});
|
|
12
|
-
it('should decompress string to json', () => {
|
|
13
|
-
const decompressed = (0, compression_1.decompressJSON)('eNqrVspOrTRUslIqS8wpTTVU0gHxjWB8I6VaAK3KCjs=');
|
|
14
|
-
expect(decompressed).toStrictEqual({ key1: 'value1', key2: 'value2' });
|
|
15
|
-
});
|
|
16
|
-
});
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const compression_1 = require("../../libs/compression");
|
|
4
|
+
describe('compression, decompression unit tests', () => {
|
|
5
|
+
afterEach(() => {
|
|
6
|
+
jest.resetModules();
|
|
7
|
+
});
|
|
8
|
+
it('should compress json to string', () => {
|
|
9
|
+
const compressed = (0, compression_1.compressJSON)({ key1: 'value1', key2: 'value2' });
|
|
10
|
+
expect(compressed).toBe('eNqrVspOrTRUslIqS8wpTTVU0gHxjWB8I6VaAK3KCjs=');
|
|
11
|
+
});
|
|
12
|
+
it('should decompress string to json', () => {
|
|
13
|
+
const decompressed = (0, compression_1.decompressJSON)('eNqrVspOrTRUslIqS8wpTTVU0gHxjWB8I6VaAK3KCjs=');
|
|
14
|
+
expect(decompressed).toStrictEqual({ key1: 'value1', key2: 'value2' });
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
17
|
//# sourceMappingURL=compress-decompress.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const index_js_1 = require("../../index.js");
|
|
4
|
-
jest.setTimeout(30000);
|
|
5
|
-
describe('s3-client test', () => {
|
|
6
|
-
afterEach(() => {
|
|
7
|
-
jest.resetAllMocks();
|
|
8
|
-
});
|
|
9
|
-
it('should run uploadJson multiple times', async () => {
|
|
10
|
-
const s3Client = new index_js_1.S3Client();
|
|
11
|
-
const putObjectMock = jest.spyOn(s3Client.s3, 'putObject').mockImplementation(() => Promise.reject({ message: 'something went wrong!' }));
|
|
12
|
-
const maxRetries = 5;
|
|
13
|
-
const dataToWrite = { pixelId: '1234', shopifyAppInstallId: '123455' };
|
|
14
|
-
const res = await s3Client.uploadJson('test/path/id.json', 'shopify-data-bucket', dataToWrite, undefined, 0, maxRetries);
|
|
15
|
-
expect(putObjectMock).toHaveBeenCalledTimes(maxRetries + 1);
|
|
16
|
-
expect(res.status).toBe(false);
|
|
17
|
-
expect(res.response).toBe(dataToWrite);
|
|
18
|
-
});
|
|
19
|
-
it('should return true from uploadJson', async () => {
|
|
20
|
-
const s3Client = new index_js_1.S3Client();
|
|
21
|
-
const putObjectMock = jest.spyOn(s3Client.s3, 'putObject').mockImplementation(() => Promise.resolve({ message: 'uploaded successfully' }));
|
|
22
|
-
const res = await s3Client.uploadJson('test/path/id.json', 'shopify-data-bucket', { pixelId: '1234', shopifyAppInstallId: '123455' });
|
|
23
|
-
expect(putObjectMock).toHaveBeenCalledTimes(1);
|
|
24
|
-
expect(res.status).toBe(true);
|
|
25
|
-
});
|
|
26
|
-
});
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const index_js_1 = require("../../index.js");
|
|
4
|
+
jest.setTimeout(30000);
|
|
5
|
+
describe('s3-client test', () => {
|
|
6
|
+
afterEach(() => {
|
|
7
|
+
jest.resetAllMocks();
|
|
8
|
+
});
|
|
9
|
+
it('should run uploadJson multiple times', async () => {
|
|
10
|
+
const s3Client = new index_js_1.S3Client();
|
|
11
|
+
const putObjectMock = jest.spyOn(s3Client.s3, 'putObject').mockImplementation(() => Promise.reject({ message: 'something went wrong!' }));
|
|
12
|
+
const maxRetries = 5;
|
|
13
|
+
const dataToWrite = { pixelId: '1234', shopifyAppInstallId: '123455' };
|
|
14
|
+
const res = await s3Client.uploadJson('test/path/id.json', 'shopify-data-bucket', dataToWrite, undefined, 0, maxRetries);
|
|
15
|
+
expect(putObjectMock).toHaveBeenCalledTimes(maxRetries + 1);
|
|
16
|
+
expect(res.status).toBe(false);
|
|
17
|
+
expect(res.response).toBe(dataToWrite);
|
|
18
|
+
});
|
|
19
|
+
it('should return true from uploadJson', async () => {
|
|
20
|
+
const s3Client = new index_js_1.S3Client();
|
|
21
|
+
const putObjectMock = jest.spyOn(s3Client.s3, 'putObject').mockImplementation(() => Promise.resolve({ message: 'uploaded successfully' }));
|
|
22
|
+
const res = await s3Client.uploadJson('test/path/id.json', 'shopify-data-bucket', { pixelId: '1234', shopifyAppInstallId: '123455' });
|
|
23
|
+
expect(putObjectMock).toHaveBeenCalledTimes(1);
|
|
24
|
+
expect(res.status).toBe(true);
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
27
|
//# sourceMappingURL=s3-client.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const services_1 = require("../../services");
|
|
4
|
-
describe('shopify graphql transformer unit tests', () => {
|
|
5
|
-
afterEach(() => {
|
|
6
|
-
jest.resetModules();
|
|
7
|
-
});
|
|
8
|
-
it('buildUnitCost should return proper value 1', () => {
|
|
9
|
-
const unitCost = services_1.ShopifyGraphQLTransformer.buildUnitCost({
|
|
10
|
-
unitCost: {
|
|
11
|
-
amount: '100',
|
|
12
|
-
currencyCode: 'USD',
|
|
13
|
-
},
|
|
14
|
-
});
|
|
15
|
-
expect(unitCost).toBe(100);
|
|
16
|
-
});
|
|
17
|
-
it('buildUnitCost should return proper value 2', () => {
|
|
18
|
-
const unitCost = services_1.ShopifyGraphQLTransformer.buildUnitCost({
|
|
19
|
-
unitCost: {
|
|
20
|
-
amount: 100.00,
|
|
21
|
-
currencyCode: 'USD',
|
|
22
|
-
},
|
|
23
|
-
});
|
|
24
|
-
expect(unitCost).toBe(100);
|
|
25
|
-
});
|
|
26
|
-
it('buildUnitCost should return undefined value', () => {
|
|
27
|
-
const unitCost = services_1.ShopifyGraphQLTransformer.buildUnitCost({
|
|
28
|
-
unitCost: {
|
|
29
|
-
amount: '18463466536042400.0',
|
|
30
|
-
currencyCode: 'USD',
|
|
31
|
-
},
|
|
32
|
-
});
|
|
33
|
-
expect(unitCost).toBeUndefined();
|
|
34
|
-
});
|
|
35
|
-
});
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const services_1 = require("../../services");
|
|
4
|
+
describe('shopify graphql transformer unit tests', () => {
|
|
5
|
+
afterEach(() => {
|
|
6
|
+
jest.resetModules();
|
|
7
|
+
});
|
|
8
|
+
it('buildUnitCost should return proper value 1', () => {
|
|
9
|
+
const unitCost = services_1.ShopifyGraphQLTransformer.buildUnitCost({
|
|
10
|
+
unitCost: {
|
|
11
|
+
amount: '100',
|
|
12
|
+
currencyCode: 'USD',
|
|
13
|
+
},
|
|
14
|
+
});
|
|
15
|
+
expect(unitCost).toBe(100);
|
|
16
|
+
});
|
|
17
|
+
it('buildUnitCost should return proper value 2', () => {
|
|
18
|
+
const unitCost = services_1.ShopifyGraphQLTransformer.buildUnitCost({
|
|
19
|
+
unitCost: {
|
|
20
|
+
amount: 100.00,
|
|
21
|
+
currencyCode: 'USD',
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
expect(unitCost).toBe(100);
|
|
25
|
+
});
|
|
26
|
+
it('buildUnitCost should return undefined value', () => {
|
|
27
|
+
const unitCost = services_1.ShopifyGraphQLTransformer.buildUnitCost({
|
|
28
|
+
unitCost: {
|
|
29
|
+
amount: '18463466536042400.0',
|
|
30
|
+
currencyCode: 'USD',
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
expect(unitCost).toBeUndefined();
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
36
|
//# sourceMappingURL=shopify-graphql-transformer.spec.js.map
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { AdminSetUserPasswordCommandOutput, CognitoIdentityProvider } from '@aws-sdk/client-cognito-identity-provider';
|
|
2
|
-
export declare function dictToAwsAttributes(input: any): {
|
|
3
|
-
Name: string;
|
|
4
|
-
Value: any;
|
|
5
|
-
}[];
|
|
6
|
-
export declare class CognitoClient {
|
|
7
|
-
cognitoClient: CognitoIdentityProvider;
|
|
8
|
-
USER_POOL_ID: string;
|
|
9
|
-
USER_POOL_NO_SECRET_CLIENT_ID: string;
|
|
10
|
-
constructor(userPoolId: string, userPoolNoSecretClientId: string);
|
|
11
|
-
signupUser: (data: any) => Promise<import("@aws-sdk/client-cognito-identity-provider").SignUpCommandOutput>;
|
|
12
|
-
forgotPassword: (email: string) => Promise<import("@aws-sdk/client-cognito-identity-provider").ForgotPasswordCommandOutput>;
|
|
13
|
-
adminSetUserPassword: (email: string, password: string) => Promise<AdminSetUserPasswordCommandOutput>;
|
|
14
|
-
adminEmailVerify: (email: string) => Promise<void>;
|
|
15
|
-
forceValidateEmail: (email: string) => Promise<void>;
|
|
16
|
-
adminConfirmUser: (data: any) => Promise<import("@aws-sdk/client-cognito-identity-provider").AdminConfirmSignUpCommandOutput>;
|
|
17
|
-
confirmUser: (data: any) => Promise<import("@aws-sdk/client-cognito-identity-provider").ConfirmSignUpCommandOutput>;
|
|
18
|
-
resendCode: (email: string) => Promise<void>;
|
|
19
|
-
adminDeleteUser: (userId: string) => Promise<boolean>;
|
|
20
|
-
getUserByEmail: (email: string) => Promise<any>;
|
|
21
|
-
getUser: (id: string) => Promise<any>;
|
|
22
|
-
listAllUsers: (params?: {}) => Promise<any[]>;
|
|
23
|
-
}
|
|
1
|
+
import { AdminSetUserPasswordCommandOutput, CognitoIdentityProvider } from '@aws-sdk/client-cognito-identity-provider';
|
|
2
|
+
export declare function dictToAwsAttributes(input: any): {
|
|
3
|
+
Name: string;
|
|
4
|
+
Value: any;
|
|
5
|
+
}[];
|
|
6
|
+
export declare class CognitoClient {
|
|
7
|
+
cognitoClient: CognitoIdentityProvider;
|
|
8
|
+
USER_POOL_ID: string;
|
|
9
|
+
USER_POOL_NO_SECRET_CLIENT_ID: string;
|
|
10
|
+
constructor(userPoolId: string, userPoolNoSecretClientId: string);
|
|
11
|
+
signupUser: (data: any) => Promise<import("@aws-sdk/client-cognito-identity-provider").SignUpCommandOutput>;
|
|
12
|
+
forgotPassword: (email: string) => Promise<import("@aws-sdk/client-cognito-identity-provider").ForgotPasswordCommandOutput>;
|
|
13
|
+
adminSetUserPassword: (email: string, password: string) => Promise<AdminSetUserPasswordCommandOutput>;
|
|
14
|
+
adminEmailVerify: (email: string) => Promise<void>;
|
|
15
|
+
forceValidateEmail: (email: string) => Promise<void>;
|
|
16
|
+
adminConfirmUser: (data: any) => Promise<import("@aws-sdk/client-cognito-identity-provider").AdminConfirmSignUpCommandOutput>;
|
|
17
|
+
confirmUser: (data: any) => Promise<import("@aws-sdk/client-cognito-identity-provider").ConfirmSignUpCommandOutput>;
|
|
18
|
+
resendCode: (email: string) => Promise<void>;
|
|
19
|
+
adminDeleteUser: (userId: string) => Promise<boolean>;
|
|
20
|
+
getUserByEmail: (email: string) => Promise<any>;
|
|
21
|
+
getUser: (id: string) => Promise<any>;
|
|
22
|
+
listAllUsers: (params?: {}) => Promise<any[]>;
|
|
23
|
+
}
|
|
@@ -1,210 +1,210 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CognitoClient = exports.dictToAwsAttributes = void 0;
|
|
4
|
-
const client_cognito_identity_provider_1 = require("@aws-sdk/client-cognito-identity-provider");
|
|
5
|
-
const index_js_1 = require("../../index.js");
|
|
6
|
-
function dictToAwsAttributes(input) {
|
|
7
|
-
delete input.email;
|
|
8
|
-
delete input.password;
|
|
9
|
-
const output = [];
|
|
10
|
-
for (const att in input) {
|
|
11
|
-
if (Object.prototype.hasOwnProperty.call(input, att)) {
|
|
12
|
-
output.push({ Name: att, Value: input[att] });
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
return output;
|
|
16
|
-
}
|
|
17
|
-
exports.dictToAwsAttributes = dictToAwsAttributes;
|
|
18
|
-
const buildAttributes = (data) => {
|
|
19
|
-
const attributes = {
|
|
20
|
-
name: data.givenName,
|
|
21
|
-
family_name: data.familyName,
|
|
22
|
-
};
|
|
23
|
-
return dictToAwsAttributes(attributes);
|
|
24
|
-
};
|
|
25
|
-
class CognitoClient {
|
|
26
|
-
cognitoClient;
|
|
27
|
-
USER_POOL_ID;
|
|
28
|
-
USER_POOL_NO_SECRET_CLIENT_ID;
|
|
29
|
-
constructor(userPoolId, userPoolNoSecretClientId) {
|
|
30
|
-
this.cognitoClient = new client_cognito_identity_provider_1.CognitoIdentityProvider({});
|
|
31
|
-
this.USER_POOL_ID = userPoolId;
|
|
32
|
-
this.USER_POOL_NO_SECRET_CLIENT_ID = userPoolNoSecretClientId;
|
|
33
|
-
}
|
|
34
|
-
signupUser = async (data) => {
|
|
35
|
-
const params = {
|
|
36
|
-
ClientId: this.USER_POOL_NO_SECRET_CLIENT_ID,
|
|
37
|
-
Password: data.password,
|
|
38
|
-
Username: data.email,
|
|
39
|
-
UserAttributes: buildAttributes(data),
|
|
40
|
-
};
|
|
41
|
-
const cognitoResponse = await this.cognitoClient.signUp(params);
|
|
42
|
-
index_js_1.Logger.info('Successfully Registered User', { cognitoResponse });
|
|
43
|
-
return cognitoResponse;
|
|
44
|
-
};
|
|
45
|
-
forgotPassword = async (email) => {
|
|
46
|
-
await this.adminEmailVerify(email);
|
|
47
|
-
const params = {
|
|
48
|
-
ClientId: this.USER_POOL_NO_SECRET_CLIENT_ID,
|
|
49
|
-
Username: email,
|
|
50
|
-
};
|
|
51
|
-
const cognitoResponse = await this.cognitoClient.forgotPassword(params);
|
|
52
|
-
index_js_1.Logger.info('Sent Forgot Password', { cognitoResponse });
|
|
53
|
-
return cognitoResponse;
|
|
54
|
-
};
|
|
55
|
-
adminSetUserPassword = async (email, password) => {
|
|
56
|
-
const params = {
|
|
57
|
-
UserPoolId: this.USER_POOL_ID,
|
|
58
|
-
Username: email,
|
|
59
|
-
Password: password,
|
|
60
|
-
Permanent: true,
|
|
61
|
-
};
|
|
62
|
-
const cognitoResponse = await this.cognitoClient.adminSetUserPassword(params);
|
|
63
|
-
index_js_1.Logger.info('Set User Password', { cognitoResponse });
|
|
64
|
-
return cognitoResponse;
|
|
65
|
-
};
|
|
66
|
-
adminEmailVerify = async (email) => {
|
|
67
|
-
try {
|
|
68
|
-
const user = await this.getUserByEmail(email);
|
|
69
|
-
if (user && user?.UserStatus === 'CONFIRMED' && user?.email_verified !== 'true') {
|
|
70
|
-
await this.forceValidateEmail(email);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
catch (error) {
|
|
74
|
-
index_js_1.Logger.error('Failed admin email verify', { error });
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
forceValidateEmail = async (email) => {
|
|
78
|
-
try {
|
|
79
|
-
const params = {
|
|
80
|
-
UserPoolId: this.USER_POOL_ID,
|
|
81
|
-
Username: email,
|
|
82
|
-
UserAttributes: [
|
|
83
|
-
{
|
|
84
|
-
Name: 'email_verified',
|
|
85
|
-
Value: 'true',
|
|
86
|
-
},
|
|
87
|
-
],
|
|
88
|
-
};
|
|
89
|
-
await this.cognitoClient.adminUpdateUserAttributes(params);
|
|
90
|
-
}
|
|
91
|
-
catch (error) {
|
|
92
|
-
index_js_1.Logger.error('Failed force validate email', { email, error });
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
adminConfirmUser = async (data) => {
|
|
96
|
-
const params = {
|
|
97
|
-
UserPoolId: this.USER_POOL_ID,
|
|
98
|
-
Username: data.email,
|
|
99
|
-
};
|
|
100
|
-
const cognitoResponse = await this.cognitoClient.adminConfirmSignUp(params);
|
|
101
|
-
await this.forceValidateEmail(data.email);
|
|
102
|
-
index_js_1.Logger.info('Admin Successfully Confirmed User', { cognitoResponse });
|
|
103
|
-
return cognitoResponse;
|
|
104
|
-
};
|
|
105
|
-
confirmUser = async (data) => {
|
|
106
|
-
const params = {
|
|
107
|
-
ClientId: this.USER_POOL_NO_SECRET_CLIENT_ID,
|
|
108
|
-
ConfirmationCode: data.confirmationCode,
|
|
109
|
-
Username: data.email,
|
|
110
|
-
};
|
|
111
|
-
const cognitoResponse = await this.cognitoClient.confirmSignUp(params);
|
|
112
|
-
index_js_1.Logger.info('Successfully Confirmed User', { cognitoResponse });
|
|
113
|
-
return cognitoResponse;
|
|
114
|
-
};
|
|
115
|
-
resendCode = async (email) => {
|
|
116
|
-
const params = {
|
|
117
|
-
ClientId: this.USER_POOL_NO_SECRET_CLIENT_ID,
|
|
118
|
-
Username: email,
|
|
119
|
-
};
|
|
120
|
-
await this.cognitoClient.resendConfirmationCode(params);
|
|
121
|
-
index_js_1.Logger.info('Successfully Resend Confirmation Code', { email });
|
|
122
|
-
return;
|
|
123
|
-
};
|
|
124
|
-
adminDeleteUser = async (userId) => {
|
|
125
|
-
const params = {
|
|
126
|
-
UserPoolId: this.USER_POOL_ID,
|
|
127
|
-
Username: userId,
|
|
128
|
-
};
|
|
129
|
-
await this.cognitoClient.adminDeleteUser(params);
|
|
130
|
-
return true;
|
|
131
|
-
};
|
|
132
|
-
getUserByEmail = async (email) => {
|
|
133
|
-
const params = {
|
|
134
|
-
UserPoolId: this.USER_POOL_ID,
|
|
135
|
-
Filter: `email=\"${email}\"`,
|
|
136
|
-
Limit: 1,
|
|
137
|
-
};
|
|
138
|
-
const cognitoResponse = await this.cognitoClient.listUsers(params);
|
|
139
|
-
index_js_1.Logger.info('Get Users by Email', { cognitoResponse });
|
|
140
|
-
if (cognitoResponse?.Users && cognitoResponse?.Users.length > 0) {
|
|
141
|
-
const attributes = cognitoResponse.Users[0].Attributes;
|
|
142
|
-
const user = {
|
|
143
|
-
...cognitoResponse.Users[0],
|
|
144
|
-
Attributes: undefined,
|
|
145
|
-
id: cognitoResponse.Users[0].sub,
|
|
146
|
-
};
|
|
147
|
-
attributes.forEach((attr) => {
|
|
148
|
-
user[attr.Name] = attr?.Value;
|
|
149
|
-
});
|
|
150
|
-
return user;
|
|
151
|
-
}
|
|
152
|
-
return null;
|
|
153
|
-
};
|
|
154
|
-
getUser = async (id) => {
|
|
155
|
-
const params = {
|
|
156
|
-
UserPoolId: this.USER_POOL_ID,
|
|
157
|
-
Username: id
|
|
158
|
-
};
|
|
159
|
-
const cognitoResponse = await this.cognitoClient.adminGetUser(params);
|
|
160
|
-
if (cognitoResponse) {
|
|
161
|
-
const attributes = cognitoResponse?.UserAttributes || [];
|
|
162
|
-
const user = {
|
|
163
|
-
...cognitoResponse,
|
|
164
|
-
UserAttributes: undefined,
|
|
165
|
-
id: cognitoResponse.Username
|
|
166
|
-
};
|
|
167
|
-
attributes.forEach((attr) => {
|
|
168
|
-
user[attr.Name] = attr?.Value;
|
|
169
|
-
});
|
|
170
|
-
return user;
|
|
171
|
-
}
|
|
172
|
-
return null;
|
|
173
|
-
};
|
|
174
|
-
listAllUsers = async (params = {}) => {
|
|
175
|
-
try {
|
|
176
|
-
const users = [];
|
|
177
|
-
let paginationToken;
|
|
178
|
-
do {
|
|
179
|
-
const response = await this.cognitoClient.listUsers({
|
|
180
|
-
UserPoolId: this.USER_POOL_ID,
|
|
181
|
-
PaginationToken: paginationToken,
|
|
182
|
-
...params,
|
|
183
|
-
});
|
|
184
|
-
if (response.Users) {
|
|
185
|
-
const formattedUsers = response.Users.map((user) => {
|
|
186
|
-
const attributes = user.Attributes || [];
|
|
187
|
-
const formattedUser = {
|
|
188
|
-
...user,
|
|
189
|
-
Attributes: undefined,
|
|
190
|
-
id: user.Username
|
|
191
|
-
};
|
|
192
|
-
attributes.forEach((attr) => {
|
|
193
|
-
formattedUser[attr.Name] = attr?.Value;
|
|
194
|
-
});
|
|
195
|
-
return formattedUser;
|
|
196
|
-
});
|
|
197
|
-
users.push(...formattedUsers);
|
|
198
|
-
}
|
|
199
|
-
paginationToken = response?.PaginationToken;
|
|
200
|
-
} while (paginationToken);
|
|
201
|
-
return users;
|
|
202
|
-
}
|
|
203
|
-
catch (error) {
|
|
204
|
-
index_js_1.Logger.error('Error listing users', { error });
|
|
205
|
-
return [];
|
|
206
|
-
}
|
|
207
|
-
};
|
|
208
|
-
}
|
|
209
|
-
exports.CognitoClient = CognitoClient;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CognitoClient = exports.dictToAwsAttributes = void 0;
|
|
4
|
+
const client_cognito_identity_provider_1 = require("@aws-sdk/client-cognito-identity-provider");
|
|
5
|
+
const index_js_1 = require("../../index.js");
|
|
6
|
+
function dictToAwsAttributes(input) {
|
|
7
|
+
delete input.email;
|
|
8
|
+
delete input.password;
|
|
9
|
+
const output = [];
|
|
10
|
+
for (const att in input) {
|
|
11
|
+
if (Object.prototype.hasOwnProperty.call(input, att)) {
|
|
12
|
+
output.push({ Name: att, Value: input[att] });
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
return output;
|
|
16
|
+
}
|
|
17
|
+
exports.dictToAwsAttributes = dictToAwsAttributes;
|
|
18
|
+
const buildAttributes = (data) => {
|
|
19
|
+
const attributes = {
|
|
20
|
+
name: data.givenName,
|
|
21
|
+
family_name: data.familyName,
|
|
22
|
+
};
|
|
23
|
+
return dictToAwsAttributes(attributes);
|
|
24
|
+
};
|
|
25
|
+
class CognitoClient {
|
|
26
|
+
cognitoClient;
|
|
27
|
+
USER_POOL_ID;
|
|
28
|
+
USER_POOL_NO_SECRET_CLIENT_ID;
|
|
29
|
+
constructor(userPoolId, userPoolNoSecretClientId) {
|
|
30
|
+
this.cognitoClient = new client_cognito_identity_provider_1.CognitoIdentityProvider({});
|
|
31
|
+
this.USER_POOL_ID = userPoolId;
|
|
32
|
+
this.USER_POOL_NO_SECRET_CLIENT_ID = userPoolNoSecretClientId;
|
|
33
|
+
}
|
|
34
|
+
signupUser = async (data) => {
|
|
35
|
+
const params = {
|
|
36
|
+
ClientId: this.USER_POOL_NO_SECRET_CLIENT_ID,
|
|
37
|
+
Password: data.password,
|
|
38
|
+
Username: data.email,
|
|
39
|
+
UserAttributes: buildAttributes(data),
|
|
40
|
+
};
|
|
41
|
+
const cognitoResponse = await this.cognitoClient.signUp(params);
|
|
42
|
+
index_js_1.Logger.info('Successfully Registered User', { cognitoResponse });
|
|
43
|
+
return cognitoResponse;
|
|
44
|
+
};
|
|
45
|
+
forgotPassword = async (email) => {
|
|
46
|
+
await this.adminEmailVerify(email);
|
|
47
|
+
const params = {
|
|
48
|
+
ClientId: this.USER_POOL_NO_SECRET_CLIENT_ID,
|
|
49
|
+
Username: email,
|
|
50
|
+
};
|
|
51
|
+
const cognitoResponse = await this.cognitoClient.forgotPassword(params);
|
|
52
|
+
index_js_1.Logger.info('Sent Forgot Password', { cognitoResponse });
|
|
53
|
+
return cognitoResponse;
|
|
54
|
+
};
|
|
55
|
+
adminSetUserPassword = async (email, password) => {
|
|
56
|
+
const params = {
|
|
57
|
+
UserPoolId: this.USER_POOL_ID,
|
|
58
|
+
Username: email,
|
|
59
|
+
Password: password,
|
|
60
|
+
Permanent: true,
|
|
61
|
+
};
|
|
62
|
+
const cognitoResponse = await this.cognitoClient.adminSetUserPassword(params);
|
|
63
|
+
index_js_1.Logger.info('Set User Password', { cognitoResponse });
|
|
64
|
+
return cognitoResponse;
|
|
65
|
+
};
|
|
66
|
+
adminEmailVerify = async (email) => {
|
|
67
|
+
try {
|
|
68
|
+
const user = await this.getUserByEmail(email);
|
|
69
|
+
if (user && user?.UserStatus === 'CONFIRMED' && user?.email_verified !== 'true') {
|
|
70
|
+
await this.forceValidateEmail(email);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
index_js_1.Logger.error('Failed admin email verify', { error });
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
forceValidateEmail = async (email) => {
|
|
78
|
+
try {
|
|
79
|
+
const params = {
|
|
80
|
+
UserPoolId: this.USER_POOL_ID,
|
|
81
|
+
Username: email,
|
|
82
|
+
UserAttributes: [
|
|
83
|
+
{
|
|
84
|
+
Name: 'email_verified',
|
|
85
|
+
Value: 'true',
|
|
86
|
+
},
|
|
87
|
+
],
|
|
88
|
+
};
|
|
89
|
+
await this.cognitoClient.adminUpdateUserAttributes(params);
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
index_js_1.Logger.error('Failed force validate email', { email, error });
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
adminConfirmUser = async (data) => {
|
|
96
|
+
const params = {
|
|
97
|
+
UserPoolId: this.USER_POOL_ID,
|
|
98
|
+
Username: data.email,
|
|
99
|
+
};
|
|
100
|
+
const cognitoResponse = await this.cognitoClient.adminConfirmSignUp(params);
|
|
101
|
+
await this.forceValidateEmail(data.email);
|
|
102
|
+
index_js_1.Logger.info('Admin Successfully Confirmed User', { cognitoResponse });
|
|
103
|
+
return cognitoResponse;
|
|
104
|
+
};
|
|
105
|
+
confirmUser = async (data) => {
|
|
106
|
+
const params = {
|
|
107
|
+
ClientId: this.USER_POOL_NO_SECRET_CLIENT_ID,
|
|
108
|
+
ConfirmationCode: data.confirmationCode,
|
|
109
|
+
Username: data.email,
|
|
110
|
+
};
|
|
111
|
+
const cognitoResponse = await this.cognitoClient.confirmSignUp(params);
|
|
112
|
+
index_js_1.Logger.info('Successfully Confirmed User', { cognitoResponse });
|
|
113
|
+
return cognitoResponse;
|
|
114
|
+
};
|
|
115
|
+
resendCode = async (email) => {
|
|
116
|
+
const params = {
|
|
117
|
+
ClientId: this.USER_POOL_NO_SECRET_CLIENT_ID,
|
|
118
|
+
Username: email,
|
|
119
|
+
};
|
|
120
|
+
await this.cognitoClient.resendConfirmationCode(params);
|
|
121
|
+
index_js_1.Logger.info('Successfully Resend Confirmation Code', { email });
|
|
122
|
+
return;
|
|
123
|
+
};
|
|
124
|
+
adminDeleteUser = async (userId) => {
|
|
125
|
+
const params = {
|
|
126
|
+
UserPoolId: this.USER_POOL_ID,
|
|
127
|
+
Username: userId,
|
|
128
|
+
};
|
|
129
|
+
await this.cognitoClient.adminDeleteUser(params);
|
|
130
|
+
return true;
|
|
131
|
+
};
|
|
132
|
+
getUserByEmail = async (email) => {
|
|
133
|
+
const params = {
|
|
134
|
+
UserPoolId: this.USER_POOL_ID,
|
|
135
|
+
Filter: `email=\"${email}\"`,
|
|
136
|
+
Limit: 1,
|
|
137
|
+
};
|
|
138
|
+
const cognitoResponse = await this.cognitoClient.listUsers(params);
|
|
139
|
+
index_js_1.Logger.info('Get Users by Email', { cognitoResponse });
|
|
140
|
+
if (cognitoResponse?.Users && cognitoResponse?.Users.length > 0) {
|
|
141
|
+
const attributes = cognitoResponse.Users[0].Attributes;
|
|
142
|
+
const user = {
|
|
143
|
+
...cognitoResponse.Users[0],
|
|
144
|
+
Attributes: undefined,
|
|
145
|
+
id: cognitoResponse.Users[0].sub,
|
|
146
|
+
};
|
|
147
|
+
attributes.forEach((attr) => {
|
|
148
|
+
user[attr.Name] = attr?.Value;
|
|
149
|
+
});
|
|
150
|
+
return user;
|
|
151
|
+
}
|
|
152
|
+
return null;
|
|
153
|
+
};
|
|
154
|
+
getUser = async (id) => {
|
|
155
|
+
const params = {
|
|
156
|
+
UserPoolId: this.USER_POOL_ID,
|
|
157
|
+
Username: id
|
|
158
|
+
};
|
|
159
|
+
const cognitoResponse = await this.cognitoClient.adminGetUser(params);
|
|
160
|
+
if (cognitoResponse) {
|
|
161
|
+
const attributes = cognitoResponse?.UserAttributes || [];
|
|
162
|
+
const user = {
|
|
163
|
+
...cognitoResponse,
|
|
164
|
+
UserAttributes: undefined,
|
|
165
|
+
id: cognitoResponse.Username
|
|
166
|
+
};
|
|
167
|
+
attributes.forEach((attr) => {
|
|
168
|
+
user[attr.Name] = attr?.Value;
|
|
169
|
+
});
|
|
170
|
+
return user;
|
|
171
|
+
}
|
|
172
|
+
return null;
|
|
173
|
+
};
|
|
174
|
+
listAllUsers = async (params = {}) => {
|
|
175
|
+
try {
|
|
176
|
+
const users = [];
|
|
177
|
+
let paginationToken;
|
|
178
|
+
do {
|
|
179
|
+
const response = await this.cognitoClient.listUsers({
|
|
180
|
+
UserPoolId: this.USER_POOL_ID,
|
|
181
|
+
PaginationToken: paginationToken,
|
|
182
|
+
...params,
|
|
183
|
+
});
|
|
184
|
+
if (response.Users) {
|
|
185
|
+
const formattedUsers = response.Users.map((user) => {
|
|
186
|
+
const attributes = user.Attributes || [];
|
|
187
|
+
const formattedUser = {
|
|
188
|
+
...user,
|
|
189
|
+
Attributes: undefined,
|
|
190
|
+
id: user.Username
|
|
191
|
+
};
|
|
192
|
+
attributes.forEach((attr) => {
|
|
193
|
+
formattedUser[attr.Name] = attr?.Value;
|
|
194
|
+
});
|
|
195
|
+
return formattedUser;
|
|
196
|
+
});
|
|
197
|
+
users.push(...formattedUsers);
|
|
198
|
+
}
|
|
199
|
+
paginationToken = response?.PaginationToken;
|
|
200
|
+
} while (paginationToken);
|
|
201
|
+
return users;
|
|
202
|
+
}
|
|
203
|
+
catch (error) {
|
|
204
|
+
index_js_1.Logger.error('Error listing users', { error });
|
|
205
|
+
return [];
|
|
206
|
+
}
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
exports.CognitoClient = CognitoClient;
|
|
210
210
|
//# sourceMappingURL=cognito-client.js.map
|