diff --git a/.env.example b/.env.example index 6564202..898db7d 100644 --- a/.env.example +++ b/.env.example @@ -5,4 +5,4 @@ INTERIORS_URL=https://0hrq0zel2h.execute-api.eu-west-1.amazonaws.com/Prod AWS_SECRET_ACCESS_KEY= AWS_ACCESS_KEY_ID= AWS_DEFAULT_REGION=eu-west-1 - +BERNARD_QUEUE_URL= diff --git a/cloudformation/ecs-service.yaml b/cloudformation/ecs-service.yaml index df4fbd1..5757e8c 100644 --- a/cloudformation/ecs-service.yaml +++ b/cloudformation/ecs-service.yaml @@ -136,6 +136,8 @@ Resources: ValueFrom: !Sub 'arn:aws:ssm:${AWS::Region}:${AWS::AccountId}:parameter/${EnvironmentName}/INTERIORS_URL' - Name: 'INTERIORS_TOKEN' ValueFrom: !Sub 'arn:aws:ssm:${AWS::Region}:${AWS::AccountId}:parameter/${EnvironmentName}/INTERIORS_TOKEN' + - Name: 'BERNARD_QUEUE_URL' + ValueFrom: !Sub 'arn:aws:ssm:${AWS::Region}:${AWS::AccountId}:parameter/${EnvironmentName}/sqs/PHOTOWALL_BERNARD_TASKS_QUEUE_URL' # Send logs to CloudWatch Logs LogConfiguration: LogDriver: awslogs diff --git a/docker-compose.yml b/docker-compose.yml index 0c36ba3..ff9dcfb 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -20,6 +20,7 @@ services: - AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} - AWS_DEFAULT_REGION=${AWS_DEFAULT_REGION} - NODE_ENV=development + - BERNARD_QUEUE_URL=${BERNARD_QUEUE_URL} networks: default: diff --git a/package-lock.json b/package-lock.json index a9590cb..88aa605 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,7 @@ "license": "ISC", "dependencies": { "@aws-sdk/client-s3": "^3.31.0", + "@aws-sdk/client-sqs": "^3.36.1", "@aws-sdk/s3-request-presigner": "^3.31.0", "apollo-datasource": "^3.1.0", "apollo-datasource-rest": "^3.2.0", @@ -253,6 +254,716 @@ "node": ">=10.0.0" } }, + "node_modules/@aws-sdk/client-sqs": { + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sqs/-/client-sqs-3.36.1.tgz", + "integrity": "sha512-THm9ePiZJWN5eTW+3S9L4rN7iKo3eX6o/6s82uZ1zR9X7KPWfxFN36j+RYYnMhGA0zH/YM3+v5P+TbAALf9bRg==", + "dependencies": { + "@aws-crypto/sha256-browser": "^1.0.0", + "@aws-crypto/sha256-js": "^1.0.0", + "@aws-sdk/client-sts": "3.36.1", + "@aws-sdk/config-resolver": "3.36.0", + "@aws-sdk/credential-provider-node": "3.36.1", + "@aws-sdk/fetch-http-handler": "3.36.0", + "@aws-sdk/hash-node": "3.36.0", + "@aws-sdk/invalid-dependency": "3.36.0", + "@aws-sdk/md5-js": "3.36.0", + "@aws-sdk/middleware-content-length": "3.36.0", + "@aws-sdk/middleware-host-header": "3.36.0", + "@aws-sdk/middleware-logger": "3.36.0", + "@aws-sdk/middleware-retry": "3.36.0", + "@aws-sdk/middleware-sdk-sqs": "3.36.0", + "@aws-sdk/middleware-serde": "3.36.0", + "@aws-sdk/middleware-signing": "3.36.0", + "@aws-sdk/middleware-stack": "3.36.0", + "@aws-sdk/middleware-user-agent": "3.36.0", + "@aws-sdk/node-config-provider": "3.36.0", + "@aws-sdk/node-http-handler": "3.36.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/smithy-client": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/url-parser": "3.36.0", + "@aws-sdk/util-base64-browser": "3.36.0", + "@aws-sdk/util-base64-node": "3.36.0", + "@aws-sdk/util-body-length-browser": "3.36.0", + "@aws-sdk/util-body-length-node": "3.36.0", + "@aws-sdk/util-user-agent-browser": "3.36.0", + "@aws-sdk/util-user-agent-node": "3.36.0", + "@aws-sdk/util-utf8-browser": "3.36.0", + "@aws-sdk/util-utf8-node": "3.36.0", + "entities": "2.2.0", + "fast-xml-parser": "3.19.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/abort-controller": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.36.0.tgz", + "integrity": "sha512-IzOL+3x6odlo6mChPChSJepvtHncMKuCQSO0HCDp7AHdhfbZxDCrOL4byH6E3L/LXhUQX8hI0vYE1IDB1nqjhA==", + "dependencies": { + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/client-sso": { + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.36.1.tgz", + "integrity": "sha512-ZYhsmzv5aCoIvP+NqWr50jY8suA/lZkV5jRmwW6jbgEdxO2G32eV0I3jeNplZYhLx3PdfOWpTdnSsYEaiFD2iA==", + "dependencies": { + "@aws-crypto/sha256-browser": "^1.0.0", + "@aws-crypto/sha256-js": "^1.0.0", + "@aws-sdk/config-resolver": "3.36.0", + "@aws-sdk/fetch-http-handler": "3.36.0", + "@aws-sdk/hash-node": "3.36.0", + "@aws-sdk/invalid-dependency": "3.36.0", + "@aws-sdk/middleware-content-length": "3.36.0", + "@aws-sdk/middleware-host-header": "3.36.0", + "@aws-sdk/middleware-logger": "3.36.0", + "@aws-sdk/middleware-retry": "3.36.0", + "@aws-sdk/middleware-serde": "3.36.0", + "@aws-sdk/middleware-stack": "3.36.0", + "@aws-sdk/middleware-user-agent": "3.36.0", + "@aws-sdk/node-config-provider": "3.36.0", + "@aws-sdk/node-http-handler": "3.36.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/smithy-client": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/url-parser": "3.36.0", + "@aws-sdk/util-base64-browser": "3.36.0", + "@aws-sdk/util-base64-node": "3.36.0", + "@aws-sdk/util-body-length-browser": "3.36.0", + "@aws-sdk/util-body-length-node": "3.36.0", + "@aws-sdk/util-user-agent-browser": "3.36.0", + "@aws-sdk/util-user-agent-node": "3.36.0", + "@aws-sdk/util-utf8-browser": "3.36.0", + "@aws-sdk/util-utf8-node": "3.36.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/client-sts": { + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.36.1.tgz", + "integrity": "sha512-Bvpr1dquJs6lRd2hu/BjfUz2nfP/ESXsxh0YR0H7HMq+RtW2Mr+IDIV6n+EK5te21VUmc47LVpPfdiYDWyRxLQ==", + "dependencies": { + "@aws-crypto/sha256-browser": "^1.0.0", + "@aws-crypto/sha256-js": "^1.0.0", + "@aws-sdk/config-resolver": "3.36.0", + "@aws-sdk/credential-provider-node": "3.36.1", + "@aws-sdk/fetch-http-handler": "3.36.0", + "@aws-sdk/hash-node": "3.36.0", + "@aws-sdk/invalid-dependency": "3.36.0", + "@aws-sdk/middleware-content-length": "3.36.0", + "@aws-sdk/middleware-host-header": "3.36.0", + "@aws-sdk/middleware-logger": "3.36.0", + "@aws-sdk/middleware-retry": "3.36.0", + "@aws-sdk/middleware-sdk-sts": "3.36.0", + "@aws-sdk/middleware-serde": "3.36.0", + "@aws-sdk/middleware-signing": "3.36.0", + "@aws-sdk/middleware-stack": "3.36.0", + "@aws-sdk/middleware-user-agent": "3.36.0", + "@aws-sdk/node-config-provider": "3.36.0", + "@aws-sdk/node-http-handler": "3.36.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/smithy-client": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/url-parser": "3.36.0", + "@aws-sdk/util-base64-browser": "3.36.0", + "@aws-sdk/util-base64-node": "3.36.0", + "@aws-sdk/util-body-length-browser": "3.36.0", + "@aws-sdk/util-body-length-node": "3.36.0", + "@aws-sdk/util-user-agent-browser": "3.36.0", + "@aws-sdk/util-user-agent-node": "3.36.0", + "@aws-sdk/util-utf8-browser": "3.36.0", + "@aws-sdk/util-utf8-node": "3.36.0", + "entities": "2.2.0", + "fast-xml-parser": "3.19.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/config-resolver": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.36.0.tgz", + "integrity": "sha512-4UxdPrlSo1RToelV72fMustttTSWKHJm3L054jJQUCiXDIIrUTAFhI5Z6El4wqYjg15QIZkIdcN0T9Vzd/z5Lw==", + "dependencies": { + "@aws-sdk/signature-v4": "3.36.0", + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/credential-provider-env": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.36.0.tgz", + "integrity": "sha512-APQAgVmVx850lL8v2Sz/L4kA7a7ectqNZNxTBm6+H534uGsGYwNSmRcTQiXA77qCRts5ZaFQP3CHdxR8/Ixr6w==", + "dependencies": { + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/credential-provider-imds": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.36.0.tgz", + "integrity": "sha512-4hDzNZ60hgAenhAm1Sys25H2LispgtvSx+K6U/5kTJCvfqRwS13ZH9LTjlA4FoJC+zv4INSYN01oYZfhQpczUw==", + "dependencies": { + "@aws-sdk/node-config-provider": "3.36.0", + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/url-parser": "3.36.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.36.1.tgz", + "integrity": "sha512-DqApaEr6khLcPOiZBjQeZqQ8A4eI9DJrlmlP5Ov2p0ne5miXEddwXaqGAFryF+ylMdPOvfjJvza1TkRD7MxhwA==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.36.0", + "@aws-sdk/credential-provider-imds": "3.36.0", + "@aws-sdk/credential-provider-sso": "3.36.1", + "@aws-sdk/credential-provider-web-identity": "3.36.0", + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/shared-ini-file-loader": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-credentials": "3.36.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/credential-provider-node": { + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.36.1.tgz", + "integrity": "sha512-SHBZOq+jOO/9Yqdrig5ATSLifjdNeVdi5/trCQj2ynwO6N9bAde0V1ni9TdBU/4kejYdtL+vIeEg8R29n1fMoA==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.36.0", + "@aws-sdk/credential-provider-imds": "3.36.0", + "@aws-sdk/credential-provider-ini": "3.36.1", + "@aws-sdk/credential-provider-process": "3.36.0", + "@aws-sdk/credential-provider-sso": "3.36.1", + "@aws-sdk/credential-provider-web-identity": "3.36.0", + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/shared-ini-file-loader": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-credentials": "3.36.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/credential-provider-process": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.36.0.tgz", + "integrity": "sha512-2ITkLv5mwbPzDCnPpZ7GpibQD78yiF2voU3knR5XWbnSdHosV+taTwnU+HMcJhWQPR9lTKHDf4/rEtUPw/imrQ==", + "dependencies": { + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/shared-ini-file-loader": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-credentials": "3.36.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.36.1.tgz", + "integrity": "sha512-uS6ZIwq0HbBGD7lhuUr/g2RIpQzEb2gT3e86r5Fesv5eLWTqzkhmXJ5jc7cHPuQK3Ojcu2S8atVcdeUGfdamgw==", + "dependencies": { + "@aws-sdk/client-sso": "3.36.1", + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/shared-ini-file-loader": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-credentials": "3.36.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.36.0.tgz", + "integrity": "sha512-cC0WZmQhxmEw5VJud15tNDQggGFTxtz6FP5Yj46UtmNa+cTadtrruoe4PZBC1QqWgrfBpkI7W1quD3BZthiV/w==", + "dependencies": { + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/fetch-http-handler": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.36.0.tgz", + "integrity": "sha512-Xhd55V12+m8GTHdJRQVlxsdzq3k5rNUMK/5t4ehJwLoYdo3yc2tjOytgUoD9qDyGPkAV8nnP/uM03QEuovEk9w==", + "dependencies": { + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/querystring-builder": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-base64-browser": "3.36.0", + "tslib": "^2.3.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/hash-node": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.36.0.tgz", + "integrity": "sha512-+SbX7eE+DRGeK6VfxKa4SanlT3syEn512XkwGvPe51r/ojeTgAZf/PzlKh+ketGMsbwDwoF2uQaQo/dos8PGjA==", + "dependencies": { + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-buffer-from": "3.36.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/invalid-dependency": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.36.0.tgz", + "integrity": "sha512-ArRPRY/5QmxmmAoMX1ukNPyOFic7CskZwDwFxnlFOzrsSaVuLkkqTW4SLV+xjVMHX8oINggj9Ufzgh3gj2oUaA==", + "dependencies": { + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/is-array-buffer": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.36.0.tgz", + "integrity": "sha512-sglBYWZYeYmCxkVdol+W2HGazAwF6z3HvLETkDIKTzM80+xepCoEBGrJi1tWO+OMZxSJq1KV/u89fQuGouBeKQ==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/md5-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.36.0.tgz", + "integrity": "sha512-C4xOIcqIa/rkzxaV6HwXxjchTHXcS8IfkpBcuEYB1DzDfuJEXo3ZfPJI6srGaU+7CzqYgd1eQ0bWk9A3jF0x+Q==", + "dependencies": { + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-utf8-browser": "3.36.0", + "@aws-sdk/util-utf8-node": "3.36.0", + "tslib": "^2.3.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/middleware-content-length": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.36.0.tgz", + "integrity": "sha512-3+3QYgXnIukhdeP8UHXb7E8vv9d61sUAN4hbEi4/Tg6ZZOUoeVfWZrQCQNTNBV07qoATdeGE+EaPgTJEOmiDig==", + "dependencies": { + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/middleware-host-header": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.36.0.tgz", + "integrity": "sha512-hN9HSMAE6um17TygJaQjAlM5fFJRneXB794OK/hMngibotQ90FogvbEWOPBRBW+LaWWemr39xdcb51PHsUSlbg==", + "dependencies": { + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/middleware-logger": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.36.0.tgz", + "integrity": "sha512-Cl5yx5xNbm8nL6iI0iRjEmtT/ImoxZzU3eWpACglweyxgeF5nRDUMp5v9WthuCPCOjxrw2I95JOj5JOP+/QIXA==", + "dependencies": { + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/middleware-retry": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.36.0.tgz", + "integrity": "sha512-qFHFQ7KmwpD8eRCsbN4vaisidlRi/rzegns5/3PZU0wygQ2obTi2NnKJJr0dWSG6XqPhBmUv0YleIh9LQZimuQ==", + "dependencies": { + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/service-error-classification": "3.36.0", + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/middleware-sdk-sts": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.36.0.tgz", + "integrity": "sha512-W4b09/mfNqFNoxJxI0L2FjKEadhtYIBNkL8kh4fL40ax7zBL1Q7El9ZKueBezyN1EbYRui+tym39x9eEYZwTWw==", + "dependencies": { + "@aws-sdk/middleware-signing": "3.36.0", + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/signature-v4": "3.36.0", + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/middleware-serde": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.36.0.tgz", + "integrity": "sha512-KuQIt3Cq+FC2UlQ/PMYQACnSK4v/fkV0dHqTjICuCi0Tft17HtkXU6rFLbIAbkM1wCp1OhyHFjHHDESvvjdmGA==", + "dependencies": { + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/middleware-signing": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.36.0.tgz", + "integrity": "sha512-nx+IJE2YFxHF+ap4mOUSVP7WmXMgtHgC/QM97pcd03RtUhsNsu0rmv5HOmyl5MduP/NjGdRdF3Ng+MP2q2aTpg==", + "dependencies": { + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/signature-v4": "3.36.0", + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/middleware-stack": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.36.0.tgz", + "integrity": "sha512-9BWJ25nGQET23CiukmdGw0njDhl+uTUZ8CwO4VQwklmK9x8Y+NFE7k2RCp5m3GxEvn07oJ3FlWK5WE4LLmu4Pw==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.36.0.tgz", + "integrity": "sha512-n2Poao1alyrKu8a5vcOW9hFIRHrnAlKtUvlItQWSVxgVHQhrYkBJycRW/qh1BKLxt1S+EUPTMTVS4i0XGYOqSw==", + "dependencies": { + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/node-config-provider": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.36.0.tgz", + "integrity": "sha512-tn1ToARM3iPXh1BZxzv5OgqBvXIAZaWV+sZ/Ns1GY7r5oy9JA2Z3Q/VG49POrY2gL5q1QaGAs/5WiBc6TEEE6Q==", + "dependencies": { + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/shared-ini-file-loader": "3.36.0", + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/node-http-handler": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.36.0.tgz", + "integrity": "sha512-hfmiEw498YNS/maPVLqQaXvfE6zygGgCsQcD/r8AHdI3vuoNk0fMr6Ys9EhTr9cjBATRDej3Yq7PMKMylsnaiw==", + "dependencies": { + "@aws-sdk/abort-controller": "3.36.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/querystring-builder": "3.36.0", + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/property-provider": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.36.0.tgz", + "integrity": "sha512-/+XvcAClcpaV0ufcC7r7mYq7MWRk9gsSWWw2nlb8O4Yj1r7bQyg3WsR4gCd9bxL8uUJn4xCD5nvVp3pLzgOsRg==", + "dependencies": { + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/protocol-http": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.36.0.tgz", + "integrity": "sha512-8uSVHoboZh9oNG4oCf0sVmZDB5HDY0CiWcX22ELqvYpia96gIp/n1AHru7aEbD++uHB3w+VPbHABOXDD6dxqmg==", + "dependencies": { + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/querystring-builder": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.36.0.tgz", + "integrity": "sha512-l+ngIoBDKoarU8Pdi2InIKGhzl7/pnAMmAE8HMC9EIFDPwpdyOVd8HQFT8+Ot3nlvHiZC8OzpRTTwS0sXIhLEQ==", + "dependencies": { + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-uri-escape": "3.36.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/querystring-parser": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.36.0.tgz", + "integrity": "sha512-ZRqJaWnuZLx7c0iTrUr1Se4rEuAlrS3+gzNaraheJasUCVTSXGqHYSGuV8y83/hKnwMra4r9ITd8SzTHuHPTzA==", + "dependencies": { + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/service-error-classification": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.36.0.tgz", + "integrity": "sha512-y3m/Gc1kSZBX1Dvg3lnu3TxteW2WqjFGc5Y1XBqjOdmQ5JmE1GZz+s9inGfP6N/5v56qQfhTeVCABh1Anq+jEw==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/shared-ini-file-loader": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.36.0.tgz", + "integrity": "sha512-4Xb40+nmfT+qjmHfC17bC96bTME01k+axhSX1GkPH6PlrZrR3ICuq59JLn7SJprw8x7/HHa1HmYpCR1tbkXjNw==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/signature-v4": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.36.0.tgz", + "integrity": "sha512-R17pRSxUYai0rBDAQPMXp/9kC1BewciJlkfP2Lztvp09KqEOqkHTzS3/vHm5W2lStQi+LThAjtG7vADSJIJ9Vg==", + "dependencies": { + "@aws-sdk/is-array-buffer": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-hex-encoding": "3.36.0", + "@aws-sdk/util-uri-escape": "3.36.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/smithy-client": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.36.0.tgz", + "integrity": "sha512-uYX4M7pNj+Vf4JuVOL0p+tAIKNHg2i7GgNyVlcELdaLFMIFfViJ2cMF72KqHA5xssnc9BHX/pR/0LS5PhBCYRg==", + "dependencies": { + "@aws-sdk/middleware-stack": "3.36.0", + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/types": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.36.0.tgz", + "integrity": "sha512-OeaTDZqo4OfGahgsZF2viOWxSSNColEUf8RbKAWNlke3nkMu3JW8kkft1Qte6jvoQxZ3jOQWi33Z4LUxix/V7A==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/url-parser": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.36.0.tgz", + "integrity": "sha512-3l0iY9lx7dqEEyeKEB5IV92nFSYFAqwnD9cvJ6qmv5bheAgoizykugRMiT5U5DFGh5WYOHAh0Zkedqq87vJZOA==", + "dependencies": { + "@aws-sdk/querystring-parser": "3.36.0", + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/util-base64-browser": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.36.0.tgz", + "integrity": "sha512-N8Ej1C5rea8QSoU8Aomh9hpcGA1p/lEw6jIQQJ6yAKOUPk3y/XIhmJLj7nkIbL1LoRmS5seNqlaFilEBDDUxQw==", + "dependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/util-base64-node": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.36.0.tgz", + "integrity": "sha512-Lum6NUvfJuzCikeWjwBBKZR8cveVzwpGM6kCYEtLzFrc41vCf1bdUFwG05v6J0cAyUz9ULjJ/5P/RV27ddqTfQ==", + "dependencies": { + "@aws-sdk/util-buffer-from": "3.36.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/util-body-length-browser": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.36.0.tgz", + "integrity": "sha512-6iSpqACjRVaG0J//zfPCcGb4Dy+7a/SQIWPg+dvDt3kV36oUYUpjE5UurlniONL4tntXs28WsiGJkJ8SQ+wefA==", + "dependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/util-body-length-node": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.36.0.tgz", + "integrity": "sha512-19Qnr3AyInJes3LSlcf21Gw+e872ZeXHz59it91UvHX0bDqteJ7hjKG9g3PwA4z68JDTh+cL0zsUGlXQbaCv8w==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/util-buffer-from": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.36.0.tgz", + "integrity": "sha512-5HUsLHUQWOt87HeM6BO42BW1tCsD2UyJPdub7ME/r6NjpUNHsDHQP1j4MrqKFh7RbPUkdIF5s4/0VK5yoHQC4A==", + "dependencies": { + "@aws-sdk/is-array-buffer": "3.36.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/util-credentials": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-credentials/-/util-credentials-3.36.0.tgz", + "integrity": "sha512-5+XZL8ARDZGGhVDoBZNzS2Y6EJLGtsMkJbihZSMrHybljrLcYV0aM+Szqeotic9Zces5G4u5ZrN53IkXlLiY5Q==", + "dependencies": { + "@aws-sdk/shared-ini-file-loader": "3.36.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/util-hex-encoding": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.36.0.tgz", + "integrity": "sha512-idqvxxGpitTt2UryXk+oy5dFHNVER1GOzexmNZG2JDtqJRfcJyx+gy+Q/HpQFxty1q3/5jxoYQW3KIpsqx7djw==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/util-uri-escape": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.36.0.tgz", + "integrity": "sha512-2JW6lj5OUhoWxMCFpCS/ADXrzuEkjx/djjJuEJ3aFcHUH0uBUJGYtM7Kz5Vot5PcE/KBVe+fsi3wczoFpK+iag==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.36.0.tgz", + "integrity": "sha512-pCHWQF85Aexrdtgd/hVGp5nHkqVt4+Ypse0J6Q2hs4pmu70HydnDDPRCimTquTsV3ni1M7mJGBMiTn7/qcjqyQ==", + "dependencies": { + "@aws-sdk/types": "3.36.0", + "bowser": "^2.11.0", + "tslib": "^2.3.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.36.0.tgz", + "integrity": "sha512-4OXZf2IYNBDkNPvptAQVztjF2Ov9s8vx1kAoHQx9LuKXV8FrhygU9DcMFlFkAXOeUkGDtWvok0n6horQ5/KNJA==", + "dependencies": { + "@aws-sdk/node-config-provider": "3.36.0", + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/util-utf8-browser": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.36.0.tgz", + "integrity": "sha512-xVUtGIemnh2gD+1s6DZzdGNlgVxHXKlR/sT4G1afysifKrbyXMbh2Z3Ez+BgunWXQRbVXFmNQXHKHYuebMDe5w==", + "dependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@aws-sdk/client-sqs/node_modules/@aws-sdk/util-utf8-node": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.36.0.tgz", + "integrity": "sha512-Yu0I2QDAzLShC9WVHyzRgPDgbwkDHK2lthtIMpRJ3s5kedUzXxbNqFKekrUihfODJMJGnrgDQp/rUq7hWjGciA==", + "dependencies": { + "@aws-sdk/util-buffer-from": "3.36.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/@aws-sdk/client-sso": { "version": "3.31.0", "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.31.0.tgz", @@ -736,6 +1447,38 @@ "node": ">= 10.0.0" } }, + "node_modules/@aws-sdk/middleware-sdk-sqs": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sqs/-/middleware-sdk-sqs-3.36.0.tgz", + "integrity": "sha512-O7oed/0LFfE8n7k36XGhSuxcis42cR2gdqL9FjzHeB571DTi3sUprkGeBaG92X7r6YBdo21YrgRxnpg1zs0GZA==", + "dependencies": { + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-hex-encoding": "3.36.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/middleware-sdk-sqs/node_modules/@aws-sdk/types": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.36.0.tgz", + "integrity": "sha512-OeaTDZqo4OfGahgsZF2viOWxSSNColEUf8RbKAWNlke3nkMu3JW8kkft1Qte6jvoQxZ3jOQWi33Z4LUxix/V7A==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/middleware-sdk-sqs/node_modules/@aws-sdk/util-hex-encoding": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.36.0.tgz", + "integrity": "sha512-idqvxxGpitTt2UryXk+oy5dFHNVER1GOzexmNZG2JDtqJRfcJyx+gy+Q/HpQFxty1q3/5jxoYQW3KIpsqx7djw==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/@aws-sdk/middleware-sdk-sts": { "version": "3.30.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.30.0.tgz", @@ -13367,6 +14110,592 @@ "tslib": "^2.3.0" } }, + "@aws-sdk/client-sqs": { + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sqs/-/client-sqs-3.36.1.tgz", + "integrity": "sha512-THm9ePiZJWN5eTW+3S9L4rN7iKo3eX6o/6s82uZ1zR9X7KPWfxFN36j+RYYnMhGA0zH/YM3+v5P+TbAALf9bRg==", + "requires": { + "@aws-crypto/sha256-browser": "^1.0.0", + "@aws-crypto/sha256-js": "^1.0.0", + "@aws-sdk/client-sts": "3.36.1", + "@aws-sdk/config-resolver": "3.36.0", + "@aws-sdk/credential-provider-node": "3.36.1", + "@aws-sdk/fetch-http-handler": "3.36.0", + "@aws-sdk/hash-node": "3.36.0", + "@aws-sdk/invalid-dependency": "3.36.0", + "@aws-sdk/md5-js": "3.36.0", + "@aws-sdk/middleware-content-length": "3.36.0", + "@aws-sdk/middleware-host-header": "3.36.0", + "@aws-sdk/middleware-logger": "3.36.0", + "@aws-sdk/middleware-retry": "3.36.0", + "@aws-sdk/middleware-sdk-sqs": "3.36.0", + "@aws-sdk/middleware-serde": "3.36.0", + "@aws-sdk/middleware-signing": "3.36.0", + "@aws-sdk/middleware-stack": "3.36.0", + "@aws-sdk/middleware-user-agent": "3.36.0", + "@aws-sdk/node-config-provider": "3.36.0", + "@aws-sdk/node-http-handler": "3.36.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/smithy-client": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/url-parser": "3.36.0", + "@aws-sdk/util-base64-browser": "3.36.0", + "@aws-sdk/util-base64-node": "3.36.0", + "@aws-sdk/util-body-length-browser": "3.36.0", + "@aws-sdk/util-body-length-node": "3.36.0", + "@aws-sdk/util-user-agent-browser": "3.36.0", + "@aws-sdk/util-user-agent-node": "3.36.0", + "@aws-sdk/util-utf8-browser": "3.36.0", + "@aws-sdk/util-utf8-node": "3.36.0", + "entities": "2.2.0", + "fast-xml-parser": "3.19.0", + "tslib": "^2.3.0" + }, + "dependencies": { + "@aws-sdk/abort-controller": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.36.0.tgz", + "integrity": "sha512-IzOL+3x6odlo6mChPChSJepvtHncMKuCQSO0HCDp7AHdhfbZxDCrOL4byH6E3L/LXhUQX8hI0vYE1IDB1nqjhA==", + "requires": { + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/client-sso": { + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.36.1.tgz", + "integrity": "sha512-ZYhsmzv5aCoIvP+NqWr50jY8suA/lZkV5jRmwW6jbgEdxO2G32eV0I3jeNplZYhLx3PdfOWpTdnSsYEaiFD2iA==", + "requires": { + "@aws-crypto/sha256-browser": "^1.0.0", + "@aws-crypto/sha256-js": "^1.0.0", + "@aws-sdk/config-resolver": "3.36.0", + "@aws-sdk/fetch-http-handler": "3.36.0", + "@aws-sdk/hash-node": "3.36.0", + "@aws-sdk/invalid-dependency": "3.36.0", + "@aws-sdk/middleware-content-length": "3.36.0", + "@aws-sdk/middleware-host-header": "3.36.0", + "@aws-sdk/middleware-logger": "3.36.0", + "@aws-sdk/middleware-retry": "3.36.0", + "@aws-sdk/middleware-serde": "3.36.0", + "@aws-sdk/middleware-stack": "3.36.0", + "@aws-sdk/middleware-user-agent": "3.36.0", + "@aws-sdk/node-config-provider": "3.36.0", + "@aws-sdk/node-http-handler": "3.36.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/smithy-client": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/url-parser": "3.36.0", + "@aws-sdk/util-base64-browser": "3.36.0", + "@aws-sdk/util-base64-node": "3.36.0", + "@aws-sdk/util-body-length-browser": "3.36.0", + "@aws-sdk/util-body-length-node": "3.36.0", + "@aws-sdk/util-user-agent-browser": "3.36.0", + "@aws-sdk/util-user-agent-node": "3.36.0", + "@aws-sdk/util-utf8-browser": "3.36.0", + "@aws-sdk/util-utf8-node": "3.36.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/client-sts": { + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.36.1.tgz", + "integrity": "sha512-Bvpr1dquJs6lRd2hu/BjfUz2nfP/ESXsxh0YR0H7HMq+RtW2Mr+IDIV6n+EK5te21VUmc47LVpPfdiYDWyRxLQ==", + "requires": { + "@aws-crypto/sha256-browser": "^1.0.0", + "@aws-crypto/sha256-js": "^1.0.0", + "@aws-sdk/config-resolver": "3.36.0", + "@aws-sdk/credential-provider-node": "3.36.1", + "@aws-sdk/fetch-http-handler": "3.36.0", + "@aws-sdk/hash-node": "3.36.0", + "@aws-sdk/invalid-dependency": "3.36.0", + "@aws-sdk/middleware-content-length": "3.36.0", + "@aws-sdk/middleware-host-header": "3.36.0", + "@aws-sdk/middleware-logger": "3.36.0", + "@aws-sdk/middleware-retry": "3.36.0", + "@aws-sdk/middleware-sdk-sts": "3.36.0", + "@aws-sdk/middleware-serde": "3.36.0", + "@aws-sdk/middleware-signing": "3.36.0", + "@aws-sdk/middleware-stack": "3.36.0", + "@aws-sdk/middleware-user-agent": "3.36.0", + "@aws-sdk/node-config-provider": "3.36.0", + "@aws-sdk/node-http-handler": "3.36.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/smithy-client": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/url-parser": "3.36.0", + "@aws-sdk/util-base64-browser": "3.36.0", + "@aws-sdk/util-base64-node": "3.36.0", + "@aws-sdk/util-body-length-browser": "3.36.0", + "@aws-sdk/util-body-length-node": "3.36.0", + "@aws-sdk/util-user-agent-browser": "3.36.0", + "@aws-sdk/util-user-agent-node": "3.36.0", + "@aws-sdk/util-utf8-browser": "3.36.0", + "@aws-sdk/util-utf8-node": "3.36.0", + "entities": "2.2.0", + "fast-xml-parser": "3.19.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/config-resolver": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.36.0.tgz", + "integrity": "sha512-4UxdPrlSo1RToelV72fMustttTSWKHJm3L054jJQUCiXDIIrUTAFhI5Z6El4wqYjg15QIZkIdcN0T9Vzd/z5Lw==", + "requires": { + "@aws-sdk/signature-v4": "3.36.0", + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/credential-provider-env": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.36.0.tgz", + "integrity": "sha512-APQAgVmVx850lL8v2Sz/L4kA7a7ectqNZNxTBm6+H534uGsGYwNSmRcTQiXA77qCRts5ZaFQP3CHdxR8/Ixr6w==", + "requires": { + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/credential-provider-imds": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.36.0.tgz", + "integrity": "sha512-4hDzNZ60hgAenhAm1Sys25H2LispgtvSx+K6U/5kTJCvfqRwS13ZH9LTjlA4FoJC+zv4INSYN01oYZfhQpczUw==", + "requires": { + "@aws-sdk/node-config-provider": "3.36.0", + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/url-parser": "3.36.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/credential-provider-ini": { + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.36.1.tgz", + "integrity": "sha512-DqApaEr6khLcPOiZBjQeZqQ8A4eI9DJrlmlP5Ov2p0ne5miXEddwXaqGAFryF+ylMdPOvfjJvza1TkRD7MxhwA==", + "requires": { + "@aws-sdk/credential-provider-env": "3.36.0", + "@aws-sdk/credential-provider-imds": "3.36.0", + "@aws-sdk/credential-provider-sso": "3.36.1", + "@aws-sdk/credential-provider-web-identity": "3.36.0", + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/shared-ini-file-loader": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-credentials": "3.36.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/credential-provider-node": { + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.36.1.tgz", + "integrity": "sha512-SHBZOq+jOO/9Yqdrig5ATSLifjdNeVdi5/trCQj2ynwO6N9bAde0V1ni9TdBU/4kejYdtL+vIeEg8R29n1fMoA==", + "requires": { + "@aws-sdk/credential-provider-env": "3.36.0", + "@aws-sdk/credential-provider-imds": "3.36.0", + "@aws-sdk/credential-provider-ini": "3.36.1", + "@aws-sdk/credential-provider-process": "3.36.0", + "@aws-sdk/credential-provider-sso": "3.36.1", + "@aws-sdk/credential-provider-web-identity": "3.36.0", + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/shared-ini-file-loader": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-credentials": "3.36.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/credential-provider-process": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.36.0.tgz", + "integrity": "sha512-2ITkLv5mwbPzDCnPpZ7GpibQD78yiF2voU3knR5XWbnSdHosV+taTwnU+HMcJhWQPR9lTKHDf4/rEtUPw/imrQ==", + "requires": { + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/shared-ini-file-loader": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-credentials": "3.36.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/credential-provider-sso": { + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.36.1.tgz", + "integrity": "sha512-uS6ZIwq0HbBGD7lhuUr/g2RIpQzEb2gT3e86r5Fesv5eLWTqzkhmXJ5jc7cHPuQK3Ojcu2S8atVcdeUGfdamgw==", + "requires": { + "@aws-sdk/client-sso": "3.36.1", + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/shared-ini-file-loader": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-credentials": "3.36.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/credential-provider-web-identity": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.36.0.tgz", + "integrity": "sha512-cC0WZmQhxmEw5VJud15tNDQggGFTxtz6FP5Yj46UtmNa+cTadtrruoe4PZBC1QqWgrfBpkI7W1quD3BZthiV/w==", + "requires": { + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/fetch-http-handler": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.36.0.tgz", + "integrity": "sha512-Xhd55V12+m8GTHdJRQVlxsdzq3k5rNUMK/5t4ehJwLoYdo3yc2tjOytgUoD9qDyGPkAV8nnP/uM03QEuovEk9w==", + "requires": { + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/querystring-builder": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-base64-browser": "3.36.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/hash-node": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.36.0.tgz", + "integrity": "sha512-+SbX7eE+DRGeK6VfxKa4SanlT3syEn512XkwGvPe51r/ojeTgAZf/PzlKh+ketGMsbwDwoF2uQaQo/dos8PGjA==", + "requires": { + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-buffer-from": "3.36.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/invalid-dependency": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.36.0.tgz", + "integrity": "sha512-ArRPRY/5QmxmmAoMX1ukNPyOFic7CskZwDwFxnlFOzrsSaVuLkkqTW4SLV+xjVMHX8oINggj9Ufzgh3gj2oUaA==", + "requires": { + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/is-array-buffer": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.36.0.tgz", + "integrity": "sha512-sglBYWZYeYmCxkVdol+W2HGazAwF6z3HvLETkDIKTzM80+xepCoEBGrJi1tWO+OMZxSJq1KV/u89fQuGouBeKQ==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@aws-sdk/md5-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.36.0.tgz", + "integrity": "sha512-C4xOIcqIa/rkzxaV6HwXxjchTHXcS8IfkpBcuEYB1DzDfuJEXo3ZfPJI6srGaU+7CzqYgd1eQ0bWk9A3jF0x+Q==", + "requires": { + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-utf8-browser": "3.36.0", + "@aws-sdk/util-utf8-node": "3.36.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/middleware-content-length": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.36.0.tgz", + "integrity": "sha512-3+3QYgXnIukhdeP8UHXb7E8vv9d61sUAN4hbEi4/Tg6ZZOUoeVfWZrQCQNTNBV07qoATdeGE+EaPgTJEOmiDig==", + "requires": { + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/middleware-host-header": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.36.0.tgz", + "integrity": "sha512-hN9HSMAE6um17TygJaQjAlM5fFJRneXB794OK/hMngibotQ90FogvbEWOPBRBW+LaWWemr39xdcb51PHsUSlbg==", + "requires": { + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/middleware-logger": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.36.0.tgz", + "integrity": "sha512-Cl5yx5xNbm8nL6iI0iRjEmtT/ImoxZzU3eWpACglweyxgeF5nRDUMp5v9WthuCPCOjxrw2I95JOj5JOP+/QIXA==", + "requires": { + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/middleware-retry": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.36.0.tgz", + "integrity": "sha512-qFHFQ7KmwpD8eRCsbN4vaisidlRi/rzegns5/3PZU0wygQ2obTi2NnKJJr0dWSG6XqPhBmUv0YleIh9LQZimuQ==", + "requires": { + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/service-error-classification": "3.36.0", + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0", + "uuid": "^8.3.2" + } + }, + "@aws-sdk/middleware-sdk-sts": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.36.0.tgz", + "integrity": "sha512-W4b09/mfNqFNoxJxI0L2FjKEadhtYIBNkL8kh4fL40ax7zBL1Q7El9ZKueBezyN1EbYRui+tym39x9eEYZwTWw==", + "requires": { + "@aws-sdk/middleware-signing": "3.36.0", + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/signature-v4": "3.36.0", + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/middleware-serde": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.36.0.tgz", + "integrity": "sha512-KuQIt3Cq+FC2UlQ/PMYQACnSK4v/fkV0dHqTjICuCi0Tft17HtkXU6rFLbIAbkM1wCp1OhyHFjHHDESvvjdmGA==", + "requires": { + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/middleware-signing": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.36.0.tgz", + "integrity": "sha512-nx+IJE2YFxHF+ap4mOUSVP7WmXMgtHgC/QM97pcd03RtUhsNsu0rmv5HOmyl5MduP/NjGdRdF3Ng+MP2q2aTpg==", + "requires": { + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/signature-v4": "3.36.0", + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/middleware-stack": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.36.0.tgz", + "integrity": "sha512-9BWJ25nGQET23CiukmdGw0njDhl+uTUZ8CwO4VQwklmK9x8Y+NFE7k2RCp5m3GxEvn07oJ3FlWK5WE4LLmu4Pw==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@aws-sdk/middleware-user-agent": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.36.0.tgz", + "integrity": "sha512-n2Poao1alyrKu8a5vcOW9hFIRHrnAlKtUvlItQWSVxgVHQhrYkBJycRW/qh1BKLxt1S+EUPTMTVS4i0XGYOqSw==", + "requires": { + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/node-config-provider": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.36.0.tgz", + "integrity": "sha512-tn1ToARM3iPXh1BZxzv5OgqBvXIAZaWV+sZ/Ns1GY7r5oy9JA2Z3Q/VG49POrY2gL5q1QaGAs/5WiBc6TEEE6Q==", + "requires": { + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/shared-ini-file-loader": "3.36.0", + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/node-http-handler": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.36.0.tgz", + "integrity": "sha512-hfmiEw498YNS/maPVLqQaXvfE6zygGgCsQcD/r8AHdI3vuoNk0fMr6Ys9EhTr9cjBATRDej3Yq7PMKMylsnaiw==", + "requires": { + "@aws-sdk/abort-controller": "3.36.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/querystring-builder": "3.36.0", + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/property-provider": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.36.0.tgz", + "integrity": "sha512-/+XvcAClcpaV0ufcC7r7mYq7MWRk9gsSWWw2nlb8O4Yj1r7bQyg3WsR4gCd9bxL8uUJn4xCD5nvVp3pLzgOsRg==", + "requires": { + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/protocol-http": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.36.0.tgz", + "integrity": "sha512-8uSVHoboZh9oNG4oCf0sVmZDB5HDY0CiWcX22ELqvYpia96gIp/n1AHru7aEbD++uHB3w+VPbHABOXDD6dxqmg==", + "requires": { + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/querystring-builder": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.36.0.tgz", + "integrity": "sha512-l+ngIoBDKoarU8Pdi2InIKGhzl7/pnAMmAE8HMC9EIFDPwpdyOVd8HQFT8+Ot3nlvHiZC8OzpRTTwS0sXIhLEQ==", + "requires": { + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-uri-escape": "3.36.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/querystring-parser": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.36.0.tgz", + "integrity": "sha512-ZRqJaWnuZLx7c0iTrUr1Se4rEuAlrS3+gzNaraheJasUCVTSXGqHYSGuV8y83/hKnwMra4r9ITd8SzTHuHPTzA==", + "requires": { + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/service-error-classification": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.36.0.tgz", + "integrity": "sha512-y3m/Gc1kSZBX1Dvg3lnu3TxteW2WqjFGc5Y1XBqjOdmQ5JmE1GZz+s9inGfP6N/5v56qQfhTeVCABh1Anq+jEw==" + }, + "@aws-sdk/shared-ini-file-loader": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.36.0.tgz", + "integrity": "sha512-4Xb40+nmfT+qjmHfC17bC96bTME01k+axhSX1GkPH6PlrZrR3ICuq59JLn7SJprw8x7/HHa1HmYpCR1tbkXjNw==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@aws-sdk/signature-v4": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.36.0.tgz", + "integrity": "sha512-R17pRSxUYai0rBDAQPMXp/9kC1BewciJlkfP2Lztvp09KqEOqkHTzS3/vHm5W2lStQi+LThAjtG7vADSJIJ9Vg==", + "requires": { + "@aws-sdk/is-array-buffer": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-hex-encoding": "3.36.0", + "@aws-sdk/util-uri-escape": "3.36.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/smithy-client": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.36.0.tgz", + "integrity": "sha512-uYX4M7pNj+Vf4JuVOL0p+tAIKNHg2i7GgNyVlcELdaLFMIFfViJ2cMF72KqHA5xssnc9BHX/pR/0LS5PhBCYRg==", + "requires": { + "@aws-sdk/middleware-stack": "3.36.0", + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/types": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.36.0.tgz", + "integrity": "sha512-OeaTDZqo4OfGahgsZF2viOWxSSNColEUf8RbKAWNlke3nkMu3JW8kkft1Qte6jvoQxZ3jOQWi33Z4LUxix/V7A==" + }, + "@aws-sdk/url-parser": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.36.0.tgz", + "integrity": "sha512-3l0iY9lx7dqEEyeKEB5IV92nFSYFAqwnD9cvJ6qmv5bheAgoizykugRMiT5U5DFGh5WYOHAh0Zkedqq87vJZOA==", + "requires": { + "@aws-sdk/querystring-parser": "3.36.0", + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/util-base64-browser": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.36.0.tgz", + "integrity": "sha512-N8Ej1C5rea8QSoU8Aomh9hpcGA1p/lEw6jIQQJ6yAKOUPk3y/XIhmJLj7nkIbL1LoRmS5seNqlaFilEBDDUxQw==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@aws-sdk/util-base64-node": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.36.0.tgz", + "integrity": "sha512-Lum6NUvfJuzCikeWjwBBKZR8cveVzwpGM6kCYEtLzFrc41vCf1bdUFwG05v6J0cAyUz9ULjJ/5P/RV27ddqTfQ==", + "requires": { + "@aws-sdk/util-buffer-from": "3.36.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/util-body-length-browser": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.36.0.tgz", + "integrity": "sha512-6iSpqACjRVaG0J//zfPCcGb4Dy+7a/SQIWPg+dvDt3kV36oUYUpjE5UurlniONL4tntXs28WsiGJkJ8SQ+wefA==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@aws-sdk/util-body-length-node": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.36.0.tgz", + "integrity": "sha512-19Qnr3AyInJes3LSlcf21Gw+e872ZeXHz59it91UvHX0bDqteJ7hjKG9g3PwA4z68JDTh+cL0zsUGlXQbaCv8w==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@aws-sdk/util-buffer-from": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.36.0.tgz", + "integrity": "sha512-5HUsLHUQWOt87HeM6BO42BW1tCsD2UyJPdub7ME/r6NjpUNHsDHQP1j4MrqKFh7RbPUkdIF5s4/0VK5yoHQC4A==", + "requires": { + "@aws-sdk/is-array-buffer": "3.36.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/util-credentials": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-credentials/-/util-credentials-3.36.0.tgz", + "integrity": "sha512-5+XZL8ARDZGGhVDoBZNzS2Y6EJLGtsMkJbihZSMrHybljrLcYV0aM+Szqeotic9Zces5G4u5ZrN53IkXlLiY5Q==", + "requires": { + "@aws-sdk/shared-ini-file-loader": "3.36.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/util-hex-encoding": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.36.0.tgz", + "integrity": "sha512-idqvxxGpitTt2UryXk+oy5dFHNVER1GOzexmNZG2JDtqJRfcJyx+gy+Q/HpQFxty1q3/5jxoYQW3KIpsqx7djw==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@aws-sdk/util-uri-escape": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.36.0.tgz", + "integrity": "sha512-2JW6lj5OUhoWxMCFpCS/ADXrzuEkjx/djjJuEJ3aFcHUH0uBUJGYtM7Kz5Vot5PcE/KBVe+fsi3wczoFpK+iag==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@aws-sdk/util-user-agent-browser": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.36.0.tgz", + "integrity": "sha512-pCHWQF85Aexrdtgd/hVGp5nHkqVt4+Ypse0J6Q2hs4pmu70HydnDDPRCimTquTsV3ni1M7mJGBMiTn7/qcjqyQ==", + "requires": { + "@aws-sdk/types": "3.36.0", + "bowser": "^2.11.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/util-user-agent-node": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.36.0.tgz", + "integrity": "sha512-4OXZf2IYNBDkNPvptAQVztjF2Ov9s8vx1kAoHQx9LuKXV8FrhygU9DcMFlFkAXOeUkGDtWvok0n6horQ5/KNJA==", + "requires": { + "@aws-sdk/node-config-provider": "3.36.0", + "@aws-sdk/types": "3.36.0", + "tslib": "^2.3.0" + } + }, + "@aws-sdk/util-utf8-browser": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.36.0.tgz", + "integrity": "sha512-xVUtGIemnh2gD+1s6DZzdGNlgVxHXKlR/sT4G1afysifKrbyXMbh2Z3Ez+BgunWXQRbVXFmNQXHKHYuebMDe5w==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@aws-sdk/util-utf8-node": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.36.0.tgz", + "integrity": "sha512-Yu0I2QDAzLShC9WVHyzRgPDgbwkDHK2lthtIMpRJ3s5kedUzXxbNqFKekrUihfODJMJGnrgDQp/rUq7hWjGciA==", + "requires": { + "@aws-sdk/util-buffer-from": "3.36.0", + "tslib": "^2.3.0" + } + } + } + }, "@aws-sdk/client-sso": { "version": "3.31.0", "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.31.0.tgz", @@ -13769,6 +15098,31 @@ "tslib": "^2.3.0" } }, + "@aws-sdk/middleware-sdk-sqs": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sqs/-/middleware-sdk-sqs-3.36.0.tgz", + "integrity": "sha512-O7oed/0LFfE8n7k36XGhSuxcis42cR2gdqL9FjzHeB571DTi3sUprkGeBaG92X7r6YBdo21YrgRxnpg1zs0GZA==", + "requires": { + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-hex-encoding": "3.36.0", + "tslib": "^2.3.0" + }, + "dependencies": { + "@aws-sdk/types": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.36.0.tgz", + "integrity": "sha512-OeaTDZqo4OfGahgsZF2viOWxSSNColEUf8RbKAWNlke3nkMu3JW8kkft1Qte6jvoQxZ3jOQWi33Z4LUxix/V7A==" + }, + "@aws-sdk/util-hex-encoding": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.36.0.tgz", + "integrity": "sha512-idqvxxGpitTt2UryXk+oy5dFHNVER1GOzexmNZG2JDtqJRfcJyx+gy+Q/HpQFxty1q3/5jxoYQW3KIpsqx7djw==", + "requires": { + "tslib": "^2.3.0" + } + } + } + }, "@aws-sdk/middleware-sdk-sts": { "version": "3.30.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.30.0.tgz", diff --git a/package.json b/package.json index 67ec5e5..a6c723a 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "license": "ISC", "dependencies": { "@aws-sdk/client-s3": "^3.31.0", + "@aws-sdk/client-sqs": "^3.36.1", "@aws-sdk/s3-request-presigner": "^3.31.0", "apollo-datasource": "^3.1.0", "apollo-datasource-rest": "^3.2.0", diff --git a/src/bernard/client.ts b/src/bernard/client.ts new file mode 100644 index 0000000..37fac67 --- /dev/null +++ b/src/bernard/client.ts @@ -0,0 +1,38 @@ +import { + SQSClient, + SendMessageCommand, + SendMessageCommandOutput, + SendMessageCommandInput, +} from '@aws-sdk/client-sqs'; + +export async function sendPathChangedCmd( + oldPath: string, + newPath: string, +): Promise { + const msg = { + args: { + name: 'AddRedirect', + old: oldPath, + new: newPath, + }, + class: 'Bernard:Message:DefaultMessage', + timestamp: Math.round(Date.now() / 1000), // Epoch seconds + }; + await sendMessage(JSON.stringify(msg), process.env.BERNARD_QUEUE_URL); +} + +export async function sendMessage( + body: string, + queueUrl: string, +): Promise { + console.log('Senfing', body); + const client = new SQSClient({ region: 'eu-west-1' }); + + const params: SendMessageCommandInput = { + MessageBody: body, + QueueUrl: queueUrl, + }; + const sendMessageCommand = new SendMessageCommand(params); + + return client.send(sendMessageCommand); +} diff --git a/src/datasources/product-api.ts b/src/datasources/product-api.ts index 766457b..ae1df15 100644 --- a/src/datasources/product-api.ts +++ b/src/datasources/product-api.ts @@ -27,6 +27,7 @@ import { roundOrDefaultTo, } from './utils'; import { UserInputError } from 'apollo-server'; +import { sendPathChangedCmd } from '../bernard/client'; const MINUTE = 60; @@ -362,6 +363,10 @@ export class ProductAPI extends BaseSQLDataSource { ): Promise { // Check path and insert new unique path if taken const uniquePath = await this.getUniqueProductPath(info.path, productId); + const oldProd = await this.getProduct(productId); + if (oldProd.path !== uniquePath) { + sendPathChangedCmd(oldProd.path, uniquePath); + } const promises = []; promises.push( @@ -397,6 +402,7 @@ export class ProductAPI extends BaseSQLDataSource { info.printFileDpi.toString(), ), ); + return Promise.all(promises); }