diff --git a/.env.example b/.env.example index 898db7d..b44a0c0 100644 --- a/.env.example +++ b/.env.example @@ -1,5 +1,10 @@ DATABASE_URL=postgresql://fondberg:@docker.for.mac.localhost/photowall COGNITO_POOL_ID=eu-west-1_3O4VfvPn7 +COGNITO_LOGIN_CLIENT_ID= +COGNITO_LOGIN_CLIENT_SECRET= +COGNITO_LOGIN_CLIENT_URL=https://photowall-test-admin.auth.eu-west-1.amazoncognito.com +WEB_CLIENT_USERNAME=webclient +WEB_CLIENT_PASSWORD= INTERIORS_TOKEN= INTERIORS_URL=https://0hrq0zel2h.execute-api.eu-west-1.amazonaws.com/Prod AWS_SECRET_ACCESS_KEY= diff --git a/.nvmrc b/.nvmrc index 73b5943..e272c59 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v16.12 +v16.13 diff --git a/Dockerfile b/Dockerfile index cb24e7c..ed23ba9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # Uses the node base image with the latest LTS version -FROM node:16.12 +FROM node:16.13.0 # Informs Docker that the container listens on the # specified network ports at runtime EXPOSE 4000 diff --git a/Dockerfile-dev b/Dockerfile-dev index 0310fc6..6d33454 100644 --- a/Dockerfile-dev +++ b/Dockerfile-dev @@ -1,5 +1,5 @@ # Uses the node base image with the latest LTS version -FROM node:16.12.0 +FROM node:16.13.0 # Informs Docker that the container listens on the # specified network ports at runtime EXPOSE 4000 diff --git a/README.md b/README.md index f99f1bd..36e549a 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,22 @@ Apollo graphql api server for Photowall +This servers runs in two instances on AWS. `graphql.photowall.com` is used for photowall admin. `data.photowall.com` is used by the website (client). +When clients want to use the public `data.photowall.com` they use the `/login` REST endpoint to retreive a BearerToken with restricted cognito scopes. They can then access certain product and designer information with the token. + +Third party systems like Unbox (Synergy) will use the `graphql.photowall.com` to read their data like they are doing now. This is to make sure the website wont be affected by larger downloads of data like unbox does. Unbox has their own cognito app client with limited scopes. + ## Run it locally + Create an .env file (see .env.example for what to set). +`COGNITO_LOGIN_CLIENT_SECRET`, `COGNITO_LOGIN_CLIENT_ID` is found in cognito `photowall-test-staff` pool. In `photowall-web-test-client` app. + ### Development + +This project does only run in docker, so when developing start the docker environment and let it updated when changing files. Sometimes the watch for files doesnt trigger. Like when you edit the .graphql file. Then just edit a .ts file and it will reload. + Run + ``` $ npm install $ docker compose build @@ -18,8 +30,13 @@ If you wish the Bearer Token used in prodlike environment also works. If you dont have access to photowall shared lastpass please contact any collegaue. +If you use Insomnia ask a colleague for the queries that can be exported/imported from Insomnia. +To tests the data.photowall.com its possible to run the login rest endpoint to get a Bearer accessToken. Check code for username and password. + ### Run prod-like container locally + Run + ``` $ docker compose -f docker-compose-prodlike.yml build $ docker compose -f docker-compose-prodlike.yml up @@ -31,26 +48,12 @@ The token is valid for 2-3 hours. ## Run tests -Scripts will create the insert sql files for a randomized fake data postgres database. This database is based of the actual db in photowall project. +Tests ``` npm test ``` -### Writing tests +### Force update the staging -The tests are held in testcontainers [testcontainers-node](https://github.com/testcontainers/testcontainers-node). One container holding a test postgres database and one container started from the Dockerfile containing the Apollo GraphQL server. These containers have connections with each other. - -Each test is build around inserting fake data in the empty db, fetching that data through the GraphQL and with raw Sql queries and then comparing the results. - -To write new inserts into the DB generate sql files with js in the src/**test**/db_generator tool. Then load the new sql file in the containerSetup.ts file. - -When you have the data you need in the db, write tests in all.test.ts file following the pattern already set. - -### Dump database schema - -pg_dump \ - --schema-only \ - --no-owner \ - --no-acl \ - photowall > src/__test__/db/schema.sql +update 3 diff --git a/cloudformation/ecs-service.yaml b/cloudformation/ecs-service.yaml index 7f37a26..8ecebee 100644 --- a/cloudformation/ecs-service.yaml +++ b/cloudformation/ecs-service.yaml @@ -52,7 +52,7 @@ Parameters: Default: 443 HealthCheckPath: Type: String - Default: /.well-known/apollo/server-health + Default: /health Certificate: Type: String @@ -134,6 +134,16 @@ Resources: ValueFrom: !Sub 'arn:aws:ssm:${AWS::Region}:${AWS::AccountId}:parameter/${EnvironmentName}/graphql-api/DATABASE_URL' - Name: 'COGNITO_POOL_ID' ValueFrom: !Sub 'arn:aws:ssm:${AWS::Region}:${AWS::AccountId}:parameter/${EnvironmentName}/cognito/ADMIN_POOL_ID' + - Name: 'COGNITO_LOGIN_CLIENT_ID' + ValueFrom: !Sub 'arn:aws:ssm:${AWS::Region}:${AWS::AccountId}:parameter/${EnvironmentName}/cognito/GRAPHQL_WEB_CLIENT_ID' + - Name: 'COGNITO_LOGIN_CLIENT_SECRET' + ValueFrom: !Sub 'arn:aws:ssm:${AWS::Region}:${AWS::AccountId}:parameter/${EnvironmentName}/cognito/GRAPHQL_WEB_CLIENT_SECRET' + - Name: 'COGNITO_LOGIN_CLIENT_URL' + ValueFrom: !Sub 'arn:aws:ssm:${AWS::Region}:${AWS::AccountId}:parameter/${EnvironmentName}/cognito/GRAPHQL_AUTH_URL' + - Name: 'WEB_CLIENT_USERNAME' + ValueFrom: !Sub 'arn:aws:ssm:${AWS::Region}:${AWS::AccountId}:parameter/${EnvironmentName}/GRAPHQL_WEB_CLIENT_USERNAME' + - Name: 'WEB_CLIENT_PASSWORD' + ValueFrom: !Sub 'arn:aws:ssm:${AWS::Region}:${AWS::AccountId}:parameter/${EnvironmentName}/GRAPHQL_WEB_CLIENT_PASSWORD' - Name: 'INTERIORS_URL' ValueFrom: !Sub 'arn:aws:ssm:${AWS::Region}:${AWS::AccountId}:parameter/${EnvironmentName}/INTERIORS_URL' - Name: 'INTERIORS_TOKEN' diff --git a/docker-compose-prodlike.yml b/docker-compose-prodlike.yml index a8da5b3..d63205f 100644 --- a/docker-compose-prodlike.yml +++ b/docker-compose-prodlike.yml @@ -12,6 +12,9 @@ services: environment: - ENVIRONMENT_NAME=${ENVIRONMENT_NAME} - COGNITO_POOL_ID=eu-west-1_3O4VfvPn7 + - COGNITO_LOGIN_CLIENT_ID=${COGNITO_LOGIN_CLIENT_ID} + - COGNITO_LOGIN_CLIENT_SECRET=${COGNITO_LOGIN_CLIENT_SECRET} + - COGNITO_LOGIN_CLIENT_URL=${COGNITO_LOGIN_CLIENT_URL} - DATABASE_URL=${DATABASE_URL} - INTERIORS_TOKEN=${INTERIORS_TOKEN} - INTERIORS_URL=${INTERIORS_URL} diff --git a/docker-compose.yml b/docker-compose.yml index 7723b2e..570bb32 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -14,6 +14,9 @@ services: environment: - ENVIRONMENT_NAME=${ENVIRONMENT_NAME} - COGNITO_POOL_ID=eu-west-1_3O4VfvPn7 + - COGNITO_LOGIN_CLIENT_ID=${COGNITO_LOGIN_CLIENT_ID} + - COGNITO_LOGIN_CLIENT_SECRET=${COGNITO_LOGIN_CLIENT_SECRET} + - COGNITO_LOGIN_CLIENT_URL=${COGNITO_LOGIN_CLIENT_URL} - DATABASE_URL=${DATABASE_URL} - INTERIORS_TOKEN=${INTERIORS_TOKEN} - INTERIORS_URL=${INTERIORS_URL} diff --git a/package-lock.json b/package-lock.json index 77e7096..32b2164 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,47 +9,44 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "@aws-sdk/client-s3": "^3.194.0", - "@aws-sdk/client-sqs": "^3.194.0", - "@aws-sdk/client-translate": "^3.195.0", - "@aws-sdk/s3-request-presigner": "^3.194.0", - "@newrelic/apollo-server-plugin": "^2.0.1", - "apollo-datasource": "^3.3.2", - "apollo-datasource-rest": "^3.7.0", - "apollo-server": "^3.10.3", - "apollo-server-caching": "^3.3.0", - "async-redis": "^2.0.0", - "axios": "^1.1.3", + "@apollo/datasource-rest": "^4.3.2", + "@apollo/server": "^4.2.0", + "@apollo/utils.keyvaluecache": "^2.0.0", + "@aws-sdk/client-s3": "^3.216.0", + "@aws-sdk/client-sqs": "^3.216.0", + "@aws-sdk/client-translate": "^3.216.0", + "@aws-sdk/s3-request-presigner": "^3.216.0", + "@newrelic/apollo-server-plugin": "^2.1.0", + "axios": "^1.2.0", + "body-parser": "^1.20.1", + "cors": "^2.8.5", "datasource-sql": "^2.0.1", "dotenv": "^16.0.3", + "express": "^4.18.2", "graphql": "^16.6.0", - "graphql-scalars": "^1.20.0", + "graphql-scalars": "^1.20.1", "jsonwebtoken": "^8.5.1", "jwk-to-pem": "^2.0.5", "knex": "^2.3.0", "knex-stringcase": "^1.4.6", - "newrelic": "^9.4.0", + "newrelic": "^9.7.0", "nodemon": "^2.0.20", "pg": "^8.8.0", - "pg-hstore": "^2.3.4", - "prettier": "^2.7.1", + "prettier": "^2.8.0", "slug": "^8.2.2", "stringcase": "^4.3.1", "ts-node": "^10.9.1", - "typescript": "^4.8.4", - "util": "^0.12.5", - "validator": "^13.7.0" + "typescript": "^4.9.3", + "util": "^0.12.5" }, "devDependencies": { - "@types/jest": "^29.2.0", - "@typescript-eslint/eslint-plugin": "^5.41.0", - "@typescript-eslint/parser": "^5.41.0", - "eslint": "^8.26.0", + "@types/jest": "^29.2.3", + "@typescript-eslint/eslint-plugin": "^5.44.0", + "@typescript-eslint/parser": "^5.44.0", + "eslint": "^8.28.0", "eslint-config-prettier": "^8.5.0", "eslint-plugin-prettier": "^4.2.1", - "isomorphic-fetch": "^3.0.0", - "jest": "^29.2.2", - "testcontainers": "^8.16.0", + "jest": "^29.3.1", "ts-jest": "^29.0.3" }, "engines": { @@ -69,10 +66,57 @@ "node": ">=6.0.0" } }, + "node_modules/@apollo/cache-control-types": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@apollo/cache-control-types/-/cache-control-types-1.0.2.tgz", + "integrity": "sha512-Por80co1eUm4ATsvjCOoS/tIR8PHxqVjsA6z76I6Vw0rFn4cgyVElQcmQDIZiYsy41k8e5xkrMRECkM2WR8pNw==", + "peerDependencies": { + "graphql": "14.x || 15.x || 16.x" + } + }, + "node_modules/@apollo/datasource-rest": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@apollo/datasource-rest/-/datasource-rest-4.3.2.tgz", + "integrity": "sha512-qTilJGy5CnqVOvyhkK8hzcCY+Hr8UaY3EgCbKQqlxO1yxp75qGtGapLhQMC/h578V8MYR773t/kLYnQe5eJg/w==", + "dependencies": { + "@apollo/utils.fetcher": "^1.0.0", + "@apollo/utils.keyvaluecache": "1.0.1", + "http-cache-semantics": "^4.1.0", + "node-fetch": "^2.6.7" + }, + "engines": { + "node": ">=14.0" + }, + "peerDependencies": { + "graphql": "^16.5.0" + } + }, + "node_modules/@apollo/datasource-rest/node_modules/@apollo/utils.keyvaluecache": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@apollo/utils.keyvaluecache/-/utils.keyvaluecache-1.0.1.tgz", + "integrity": "sha512-nLgYLomqjVimEzQ4cdvVQkcryi970NDvcRVPfd0OPeXhBfda38WjBq+WhQFk+czSHrmrSp34YHBxpat0EtiowA==", + "dependencies": { + "@apollo/utils.logger": "^1.0.0", + "lru-cache": "^7.10.1" + } + }, + "node_modules/@apollo/datasource-rest/node_modules/@apollo/utils.logger": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@apollo/utils.logger/-/utils.logger-1.0.1.tgz", + "integrity": "sha512-XdlzoY7fYNK4OIcvMD2G94RoFZbzTQaNP0jozmqqMudmaGo2I/2Jx71xlDJ801mWA/mbYRihyaw6KJii7k5RVA==" + }, + "node_modules/@apollo/datasource-rest/node_modules/lru-cache": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", + "engines": { + "node": ">=12" + } + }, "node_modules/@apollo/protobufjs": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@apollo/protobufjs/-/protobufjs-1.2.6.tgz", - "integrity": "sha512-Wqo1oSHNUj/jxmsVp4iR3I480p6qdqHikn38lKrFhfzcDJ7lwd7Ck7cHRl4JE81tWNArl77xhnG/OkZhxKBYOw==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@apollo/protobufjs/-/protobufjs-1.2.7.tgz", + "integrity": "sha512-Lahx5zntHPZia35myYDBRuF58tlwPskwHc5CWBZC/4bMKB6siTBWwtMrkqXcsNwQiFSzSx5hKdRPUmemrEp3Gg==", "hasInstallScript": true, "dependencies": { "@protobufjs/aspromise": "^1.1.2", @@ -86,7 +130,6 @@ "@protobufjs/pool": "^1.1.0", "@protobufjs/utf8": "^1.1.0", "@types/long": "^4.0.0", - "@types/node": "^10.1.0", "long": "^4.0.0" }, "bin": { @@ -94,128 +137,272 @@ "apollo-pbts": "bin/pbts" } }, - "node_modules/@apollo/protobufjs/node_modules/@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" - }, - "node_modules/@apollo/utils.dropunuseddefinitions": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@apollo/utils.dropunuseddefinitions/-/utils.dropunuseddefinitions-1.1.0.tgz", - "integrity": "sha512-jU1XjMr6ec9pPoL+BFWzEPW7VHHulVdGKMkPAMiCigpVIT11VmCbnij0bWob8uS3ODJ65tZLYKAh/55vLw2rbg==", + "node_modules/@apollo/server": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@apollo/server/-/server-4.2.0.tgz", + "integrity": "sha512-iwJqD8wdgMW856nM4pf1Qcz5x8hHu2ZnMvIb/0cZhjE/0PN8ammPFtRYBTh5dZIAImWFrg9OsmFLBPDYMK5/rg==", + "dependencies": { + "@apollo/cache-control-types": "^1.0.2", + "@apollo/server-gateway-interface": "^1.0.6", + "@apollo/usage-reporting-protobuf": "^4.0.0", + "@apollo/utils.createhash": "^2.0.0", + "@apollo/utils.fetcher": "^2.0.0", + "@apollo/utils.isnodelike": "^2.0.0", + "@apollo/utils.keyvaluecache": "^2.0.0", + "@apollo/utils.logger": "^2.0.0", + "@apollo/utils.usagereporting": "^2.0.0", + "@apollo/utils.withrequired": "^2.0.0", + "@graphql-tools/schema": "^9.0.0", + "@josephg/resolvable": "^1.0.0", + "@types/express": "^4.17.13", + "@types/express-serve-static-core": "^4.17.30", + "@types/node-fetch": "^2.6.1", + "async-retry": "^1.2.1", + "body-parser": "^1.20.0", + "cors": "^2.8.5", + "express": "^4.17.1", + "loglevel": "^1.6.8", + "lru-cache": "^7.10.1", + "negotiator": "^0.6.3", + "node-abort-controller": "^3.0.1", + "node-fetch": "^2.6.7", + "uuid": "^9.0.0", + "whatwg-mimetype": "^3.0.0" + }, "engines": { - "node": ">=12.13.0" + "node": ">=14.16.0" + }, + "peerDependencies": { + "graphql": "^16.6.0" + } + }, + "node_modules/@apollo/server-gateway-interface": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@apollo/server-gateway-interface/-/server-gateway-interface-1.0.6.tgz", + "integrity": "sha512-7ebvJMBBzcppCHt0EpbfTjFbjUthpS/fkSiXMyi/kZ1ZkCmxW1jydG+iBmmSYtfYx9h9ZyI3kIBpzqHSHXR7IA==", + "dependencies": { + "@apollo/usage-reporting-protobuf": "^4.0.0", + "@apollo/utils.fetcher": "^2.0.0", + "@apollo/utils.keyvaluecache": "^2.0.0", + "@apollo/utils.logger": "^2.0.0" }, "peerDependencies": { "graphql": "14.x || 15.x || 16.x" } }, - "node_modules/@apollo/utils.keyvaluecache": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.keyvaluecache/-/utils.keyvaluecache-1.0.1.tgz", - "integrity": "sha512-nLgYLomqjVimEzQ4cdvVQkcryi970NDvcRVPfd0OPeXhBfda38WjBq+WhQFk+czSHrmrSp34YHBxpat0EtiowA==", + "node_modules/@apollo/server-gateway-interface/node_modules/@apollo/utils.fetcher": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.fetcher/-/utils.fetcher-2.0.0.tgz", + "integrity": "sha512-RC0twEwwBKbhk/y4B2X4YEciRG1xoKMgiPy5xQqNMd3pG78sR+ybctG/m7c/8+NaaQOS22UPUCBd6yS6WihBIg==", + "engines": { + "node": ">=14" + } + }, + "node_modules/@apollo/server/node_modules/@apollo/utils.fetcher": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.fetcher/-/utils.fetcher-2.0.0.tgz", + "integrity": "sha512-RC0twEwwBKbhk/y4B2X4YEciRG1xoKMgiPy5xQqNMd3pG78sR+ybctG/m7c/8+NaaQOS22UPUCBd6yS6WihBIg==", + "engines": { + "node": ">=14" + } + }, + "node_modules/@apollo/server/node_modules/@graphql-tools/merge": { + "version": "8.3.11", + "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.3.11.tgz", + "integrity": "sha512-IpZh8r8e8FycXaUv04xe5HQH9siD1tkS8MvaO8Wb2FaPXv15XSYP+Wsb2MUStpIqGfQxa6xY/+eEuxv+VqwXyg==", "dependencies": { - "@apollo/utils.logger": "^1.0.0", - "lru-cache": "^7.10.1" + "@graphql-tools/utils": "9.1.0", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@apollo/server/node_modules/@graphql-tools/schema": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-9.0.9.tgz", + "integrity": "sha512-hwg8trUytO5ayQ8bzL3+sAyXcu2rhKt5pLXpLO0/TMTN2nXd3DBO4mqx+Ra4Er2mE/msInGQ5EmZbxVBPv+hSg==", + "dependencies": { + "@graphql-tools/merge": "8.3.11", + "@graphql-tools/utils": "9.1.0", + "tslib": "^2.4.0", + "value-or-promise": "1.0.11" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@apollo/server/node_modules/@graphql-tools/utils": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-9.1.0.tgz", + "integrity": "sha512-4Ketxo98IwKA/56LP6cI6PgQBwUCujszQcTNkzjq7liJPa2mLjKnmVOJ0bauMwKcEazeYuZagceljb0POmEGvQ==", + "dependencies": { + "tslib": "^2.4.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@apollo/server/node_modules/lru-cache": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/@apollo/server/node_modules/uuid": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@apollo/usage-reporting-protobuf": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@apollo/usage-reporting-protobuf/-/usage-reporting-protobuf-4.0.2.tgz", + "integrity": "sha512-GfE8aDqi/lAFut95pjH9IRvH0zGsQ5G/2lYL0ZLZfML7ArX+A4UVHFANQcPCcUYGE6bI6OPhLekg4Vsjf6B1cw==", + "dependencies": { + "@apollo/protobufjs": "1.2.7" + } + }, + "node_modules/@apollo/utils.createhash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.createhash/-/utils.createhash-2.0.0.tgz", + "integrity": "sha512-9GhGGD3J0HJF/VC+odwYpKi3Cg1NWrsO8GQvyGwDS5v/78I3154Hn8s4tpW+nqoaQ/lAvxdQQr3HM1b5HLM6Ww==", + "dependencies": { + "@apollo/utils.isnodelike": "^2.0.0", + "sha.js": "^2.4.11" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@apollo/utils.dropunuseddefinitions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.dropunuseddefinitions/-/utils.dropunuseddefinitions-2.0.0.tgz", + "integrity": "sha512-BoPW+Z3kA8kLh0FCWyzOt+R77W5mVZWer5s6UyvVwZ/qROGiEgcHXFcI5TMMndpXoDo0xBSvQV0lIKYHbJQ7+g==", + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "graphql": "14.x || 15.x || 16.x" + } + }, + "node_modules/@apollo/utils.fetcher": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@apollo/utils.fetcher/-/utils.fetcher-1.1.1.tgz", + "integrity": "sha512-0vXVznO7kw5VWwxyV5wsDvYEwjDpyZ7vYQAXCseLXqBn2eWEIDViM7qRzi/Hnv4zzAQ05phdimSED99K+lg+SQ==" + }, + "node_modules/@apollo/utils.isnodelike": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.isnodelike/-/utils.isnodelike-2.0.0.tgz", + "integrity": "sha512-77CiAM2qDXn0haQYrgX0UgrboQykb+bOHaz5p3KKItMwUZ/EFphzuB2vqHvubneIc9dxJcTx2L7MFDswRw/JAQ==", + "engines": { + "node": ">=14" + } + }, + "node_modules/@apollo/utils.keyvaluecache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.keyvaluecache/-/utils.keyvaluecache-2.0.0.tgz", + "integrity": "sha512-vf4gc2xr7IKU7EwCTzA5HDl1dxUNfvaJdauxXPNIXM96L9jhqEAyUFjJEQ7Ee85LGcjYCIWbr6yzmFRBYf1bbw==", + "dependencies": { + "@apollo/utils.logger": "^2.0.0", + "lru-cache": "^7.10.1 - 7.13.1" + }, + "engines": { + "node": ">=14" } }, "node_modules/@apollo/utils.keyvaluecache/node_modules/lru-cache": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.0.tgz", - "integrity": "sha512-EIRtP1GrSJny0dqb50QXRUNBxHJhcpxHC++M5tD7RYbvLLn5KVWKsbyswSSqDuU15UFi3bgTQIY8nhDMeF6aDQ==", + "version": "7.13.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.13.1.tgz", + "integrity": "sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ==", "engines": { "node": ">=12" } }, "node_modules/@apollo/utils.logger": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.logger/-/utils.logger-1.0.1.tgz", - "integrity": "sha512-XdlzoY7fYNK4OIcvMD2G94RoFZbzTQaNP0jozmqqMudmaGo2I/2Jx71xlDJ801mWA/mbYRihyaw6KJii7k5RVA==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.logger/-/utils.logger-2.0.0.tgz", + "integrity": "sha512-o8qYwgV2sYg+PcGKIfwAZaZsQOTEfV8q3mH7Pw8GB/I/Uh2L9iaHdpiKuR++j7oe1K87lFm0z/JAezMOR9CGhg==", + "engines": { + "node": ">=14" + } }, "node_modules/@apollo/utils.printwithreducedwhitespace": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@apollo/utils.printwithreducedwhitespace/-/utils.printwithreducedwhitespace-1.1.0.tgz", - "integrity": "sha512-GfFSkAv3n1toDZ4V6u2d7L4xMwLA+lv+6hqXicMN9KELSJ9yy9RzuEXaX73c/Ry+GzRsBy/fdSUGayGqdHfT2Q==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.printwithreducedwhitespace/-/utils.printwithreducedwhitespace-2.0.0.tgz", + "integrity": "sha512-S+wyxFyuO0LJ8v+mg8c7rRwyKZ+9xlO5wXD/UgaysH3rcCe9NBHRWx/9cmdZ9nTqgKC5X01uHZ6Gsi6pOrUGgw==", "engines": { - "node": ">=12.13.0" + "node": ">=14" }, "peerDependencies": { "graphql": "14.x || 15.x || 16.x" } }, "node_modules/@apollo/utils.removealiases": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@apollo/utils.removealiases/-/utils.removealiases-1.0.0.tgz", - "integrity": "sha512-6cM8sEOJW2LaGjL/0vHV0GtRaSekrPQR4DiywaApQlL9EdROASZU5PsQibe2MWeZCOhNrPRuHh4wDMwPsWTn8A==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.removealiases/-/utils.removealiases-2.0.0.tgz", + "integrity": "sha512-PT5ICz2SfrMCRsR3DhW2E1anX6hcqVXE/uHpmRHbhqSoQODZKG34AlFm1tC8u3MC3eK5gcvtpGvPHF/cwVfakg==", "engines": { - "node": ">=12.13.0" + "node": ">=14" }, "peerDependencies": { "graphql": "14.x || 15.x || 16.x" } }, "node_modules/@apollo/utils.sortast": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@apollo/utils.sortast/-/utils.sortast-1.1.0.tgz", - "integrity": "sha512-VPlTsmUnOwzPK5yGZENN069y6uUHgeiSlpEhRnLFYwYNoJHsuJq2vXVwIaSmts015WTPa2fpz1inkLYByeuRQA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.sortast/-/utils.sortast-2.0.0.tgz", + "integrity": "sha512-VKoVOh8xkvh5HabtyGTekIYbwXdyYFPodFuHpWp333Fo2KBmpczLY+RBMHEr3v2MLoXDn/WUMtR3JZmvFJ45zw==", "dependencies": { "lodash.sortby": "^4.7.0" }, "engines": { - "node": ">=12.13.0" + "node": ">=14" }, "peerDependencies": { "graphql": "14.x || 15.x || 16.x" } }, "node_modules/@apollo/utils.stripsensitiveliterals": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@apollo/utils.stripsensitiveliterals/-/utils.stripsensitiveliterals-1.2.0.tgz", - "integrity": "sha512-E41rDUzkz/cdikM5147d8nfCFVKovXxKBcjvLEQ7bjZm/cg9zEcXvS6vFY8ugTubI3fn6zoqo0CyU8zT+BGP9w==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.stripsensitiveliterals/-/utils.stripsensitiveliterals-2.0.0.tgz", + "integrity": "sha512-pzj1XINetE54uxIjc4bN6gVzDWYP8OZ/yB0xMTgvzttu1VLgXf3BTV76d9hlqLoe8cV0JiD+xLpJktrHOzmBJQ==", "engines": { - "node": ">=12.13.0" + "node": ">=14" }, "peerDependencies": { "graphql": "14.x || 15.x || 16.x" } }, "node_modules/@apollo/utils.usagereporting": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@apollo/utils.usagereporting/-/utils.usagereporting-1.0.0.tgz", - "integrity": "sha512-5PL7hJMkTPmdo3oxPtigRrIyPxDk/ddrUryHPDaezL1lSFExpNzsDd2f1j0XJoHOg350GRd3LyD64caLA2PU1w==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.usagereporting/-/utils.usagereporting-2.0.0.tgz", + "integrity": "sha512-9VvVgA/LzKkBEYEGwE9doL1Sl+VRULkbB3D7W+ImJ028jJuTllvlQsh4Xpqz8mJWprfKx4m/i2DwHtElHWU2vg==", "dependencies": { - "@apollo/utils.dropunuseddefinitions": "^1.1.0", - "@apollo/utils.printwithreducedwhitespace": "^1.1.0", - "@apollo/utils.removealiases": "1.0.0", - "@apollo/utils.sortast": "^1.1.0", - "@apollo/utils.stripsensitiveliterals": "^1.2.0", - "apollo-reporting-protobuf": "^3.3.1" + "@apollo/usage-reporting-protobuf": "^4.0.0", + "@apollo/utils.dropunuseddefinitions": "^2.0.0", + "@apollo/utils.printwithreducedwhitespace": "^2.0.0", + "@apollo/utils.removealiases": "2.0.0", + "@apollo/utils.sortast": "^2.0.0", + "@apollo/utils.stripsensitiveliterals": "^2.0.0" }, "engines": { - "node": ">=12.13.0" + "node": ">=14" }, "peerDependencies": { "graphql": "14.x || 15.x || 16.x" } }, - "node_modules/@apollographql/apollo-tools": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@apollographql/apollo-tools/-/apollo-tools-0.5.4.tgz", - "integrity": "sha512-shM3q7rUbNyXVVRkQJQseXv6bnYM3BUma/eZhwXR4xsuM+bqWnJKvW7SAfRjP7LuSCocrexa5AXhjjawNHrIlw==", + "node_modules/@apollo/utils.withrequired": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.withrequired/-/utils.withrequired-2.0.0.tgz", + "integrity": "sha512-+djpTu6AEE/A1etryZs9tmXRyDY6XXGe3G29MS/LB09uHq3pcl3n4Q5lvDTL5JWKuJixrulg5djePLDAooG8dQ==", "engines": { - "node": ">=8", - "npm": ">=6" - }, - "peerDependencies": { - "graphql": "^14.2.1 || ^15.0.0 || ^16.0.0" - } - }, - "node_modules/@apollographql/graphql-playground-html": { - "version": "1.6.29", - "resolved": "https://registry.npmjs.org/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.29.tgz", - "integrity": "sha512-xCcXpoz52rI4ksJSdOCxeOCn2DLocxwHf9dVT/Q90Pte1LX+LY+91SFtJF3KXVHH8kEin+g1KKCQPKBjZJfWNA==", - "dependencies": { - "xss": "^1.0.8" + "node": ">=14" } }, "node_modules/@aws-crypto/crc32": { @@ -343,15 +530,15 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@aws-sdk/abort-controller": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.193.0.tgz", - "integrity": "sha512-MYPBm5PWyKP+Tq37mKs5wDbyAyVMocF5iYmx738LYXBSj8A1V4LTFrvfd4U16BRC/sM0DYB9fBFJUQ9ISFRVYw==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.215.0.tgz", + "integrity": "sha512-HTvL542nawhVqe0oC1AJchdcomEOmPivJEzYUT1LqiG3e8ikxMNa2KWSqqLPeKi2t0A/cfQy7wDUyg9+BZhDSQ==", "dependencies": { - "@aws-sdk/types": "3.193.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/chunked-blob-reader": { @@ -363,922 +550,962 @@ } }, "node_modules/@aws-sdk/chunked-blob-reader-native": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.188.0.tgz", - "integrity": "sha512-WielYjaAHfT/HAOW7Tj6yVeNdaOtts3aUm9Sf/3D+ElbCTGyaaMNfE4x0a+qn6dJZXewf1eAxybOIU5ftIeSGw==", + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.208.0.tgz", + "integrity": "sha512-JeOZ95PW+fJ6bbuqPySYqLqHk1n4+4ueEEraJsiUrPBV0S1ZtyvOGHcnGztKUjr2PYNaiexmpWuvUve9K12HRA==", "dependencies": { - "@aws-sdk/util-base64-browser": "3.188.0", + "@aws-sdk/util-base64": "3.208.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/client-s3": { - "version": "3.194.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.194.0.tgz", - "integrity": "sha512-vrC5Pj15T3jgErEOViNObaLpFBtjWk4YKs/P2HqkcQciXjikyafoUMx8GOb5edJbDlCnZSvdjJxIQT0V21fFUw==", + "version": "3.216.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.216.0.tgz", + "integrity": "sha512-zja00+kLB7Kw8X326ueXvCgMJNF5iuTPrFDUgI+JClk1rjXVMa/T1sOLTgZg9W2pbtOO+3GloxwNGVygXNjt8A==", "dependencies": { "@aws-crypto/sha1-browser": "2.0.0", "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/client-sts": "3.194.0", - "@aws-sdk/config-resolver": "3.193.0", - "@aws-sdk/credential-provider-node": "3.193.0", - "@aws-sdk/eventstream-serde-browser": "3.193.0", - "@aws-sdk/eventstream-serde-config-resolver": "3.193.0", - "@aws-sdk/eventstream-serde-node": "3.193.0", - "@aws-sdk/fetch-http-handler": "3.193.0", - "@aws-sdk/hash-blob-browser": "3.193.0", - "@aws-sdk/hash-node": "3.193.0", - "@aws-sdk/hash-stream-node": "3.193.0", - "@aws-sdk/invalid-dependency": "3.193.0", - "@aws-sdk/md5-js": "3.193.0", - "@aws-sdk/middleware-bucket-endpoint": "3.193.0", - "@aws-sdk/middleware-content-length": "3.193.0", - "@aws-sdk/middleware-endpoint": "3.193.0", - "@aws-sdk/middleware-expect-continue": "3.193.0", - "@aws-sdk/middleware-flexible-checksums": "3.193.0", - "@aws-sdk/middleware-host-header": "3.193.0", - "@aws-sdk/middleware-location-constraint": "3.193.0", - "@aws-sdk/middleware-logger": "3.193.0", - "@aws-sdk/middleware-recursion-detection": "3.193.0", - "@aws-sdk/middleware-retry": "3.193.0", - "@aws-sdk/middleware-sdk-s3": "3.193.0", - "@aws-sdk/middleware-serde": "3.193.0", - "@aws-sdk/middleware-signing": "3.193.0", - "@aws-sdk/middleware-ssec": "3.193.0", - "@aws-sdk/middleware-stack": "3.193.0", - "@aws-sdk/middleware-user-agent": "3.193.0", - "@aws-sdk/node-config-provider": "3.193.0", - "@aws-sdk/node-http-handler": "3.193.0", - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/signature-v4-multi-region": "3.193.0", - "@aws-sdk/smithy-client": "3.193.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/url-parser": "3.193.0", - "@aws-sdk/util-base64-browser": "3.188.0", - "@aws-sdk/util-base64-node": "3.188.0", + "@aws-sdk/client-sts": "3.216.0", + "@aws-sdk/config-resolver": "3.215.0", + "@aws-sdk/credential-provider-node": "3.216.0", + "@aws-sdk/eventstream-serde-browser": "3.215.0", + "@aws-sdk/eventstream-serde-config-resolver": "3.215.0", + "@aws-sdk/eventstream-serde-node": "3.215.0", + "@aws-sdk/fetch-http-handler": "3.215.0", + "@aws-sdk/hash-blob-browser": "3.215.0", + "@aws-sdk/hash-node": "3.215.0", + "@aws-sdk/hash-stream-node": "3.215.0", + "@aws-sdk/invalid-dependency": "3.215.0", + "@aws-sdk/md5-js": "3.215.0", + "@aws-sdk/middleware-bucket-endpoint": "3.215.0", + "@aws-sdk/middleware-content-length": "3.215.0", + "@aws-sdk/middleware-endpoint": "3.215.0", + "@aws-sdk/middleware-expect-continue": "3.215.0", + "@aws-sdk/middleware-flexible-checksums": "3.215.0", + "@aws-sdk/middleware-host-header": "3.215.0", + "@aws-sdk/middleware-location-constraint": "3.215.0", + "@aws-sdk/middleware-logger": "3.215.0", + "@aws-sdk/middleware-recursion-detection": "3.215.0", + "@aws-sdk/middleware-retry": "3.215.0", + "@aws-sdk/middleware-sdk-s3": "3.215.0", + "@aws-sdk/middleware-serde": "3.215.0", + "@aws-sdk/middleware-signing": "3.215.0", + "@aws-sdk/middleware-ssec": "3.215.0", + "@aws-sdk/middleware-stack": "3.215.0", + "@aws-sdk/middleware-user-agent": "3.215.0", + "@aws-sdk/node-config-provider": "3.215.0", + "@aws-sdk/node-http-handler": "3.215.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/signature-v4-multi-region": "3.215.0", + "@aws-sdk/smithy-client": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/url-parser": "3.215.0", + "@aws-sdk/util-base64": "3.208.0", "@aws-sdk/util-body-length-browser": "3.188.0", - "@aws-sdk/util-body-length-node": "3.188.0", - "@aws-sdk/util-defaults-mode-browser": "3.193.0", - "@aws-sdk/util-defaults-mode-node": "3.193.0", - "@aws-sdk/util-endpoints": "3.194.0", - "@aws-sdk/util-stream-browser": "3.193.0", - "@aws-sdk/util-stream-node": "3.193.0", - "@aws-sdk/util-user-agent-browser": "3.193.0", - "@aws-sdk/util-user-agent-node": "3.193.0", + "@aws-sdk/util-body-length-node": "3.208.0", + "@aws-sdk/util-defaults-mode-browser": "3.215.0", + "@aws-sdk/util-defaults-mode-node": "3.215.0", + "@aws-sdk/util-endpoints": "3.216.0", + "@aws-sdk/util-stream-browser": "3.215.0", + "@aws-sdk/util-stream-node": "3.215.0", + "@aws-sdk/util-user-agent-browser": "3.215.0", + "@aws-sdk/util-user-agent-node": "3.215.0", "@aws-sdk/util-utf8-browser": "3.188.0", - "@aws-sdk/util-utf8-node": "3.188.0", - "@aws-sdk/util-waiter": "3.193.0", - "@aws-sdk/xml-builder": "3.188.0", + "@aws-sdk/util-utf8-node": "3.208.0", + "@aws-sdk/util-waiter": "3.215.0", + "@aws-sdk/xml-builder": "3.201.0", "fast-xml-parser": "4.0.11", "tslib": "^2.3.1" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/client-sqs": { - "version": "3.194.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sqs/-/client-sqs-3.194.0.tgz", - "integrity": "sha512-PBD29pnolaiP7DhGEH/3BJSGJ0BGifzc65+FiL9L4myodhhyngJGwJvopTAE6HpBIjP8Qq3gGMPEsz5LIglxow==", + "version": "3.216.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sqs/-/client-sqs-3.216.0.tgz", + "integrity": "sha512-4MtQknvbhQZ0JTJ3ZqBsuH+cJT2ih2JmrdfTGWgV5ZS0rEMearafd2vU1MUhPljxq+giwgzUE6S9GlG4QAGgGw==", "dependencies": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/client-sts": "3.194.0", - "@aws-sdk/config-resolver": "3.193.0", - "@aws-sdk/credential-provider-node": "3.193.0", - "@aws-sdk/fetch-http-handler": "3.193.0", - "@aws-sdk/hash-node": "3.193.0", - "@aws-sdk/invalid-dependency": "3.193.0", - "@aws-sdk/md5-js": "3.193.0", - "@aws-sdk/middleware-content-length": "3.193.0", - "@aws-sdk/middleware-endpoint": "3.193.0", - "@aws-sdk/middleware-host-header": "3.193.0", - "@aws-sdk/middleware-logger": "3.193.0", - "@aws-sdk/middleware-recursion-detection": "3.193.0", - "@aws-sdk/middleware-retry": "3.193.0", - "@aws-sdk/middleware-sdk-sqs": "3.193.0", - "@aws-sdk/middleware-serde": "3.193.0", - "@aws-sdk/middleware-signing": "3.193.0", - "@aws-sdk/middleware-stack": "3.193.0", - "@aws-sdk/middleware-user-agent": "3.193.0", - "@aws-sdk/node-config-provider": "3.193.0", - "@aws-sdk/node-http-handler": "3.193.0", - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/smithy-client": "3.193.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/url-parser": "3.193.0", - "@aws-sdk/util-base64-browser": "3.188.0", - "@aws-sdk/util-base64-node": "3.188.0", + "@aws-sdk/client-sts": "3.216.0", + "@aws-sdk/config-resolver": "3.215.0", + "@aws-sdk/credential-provider-node": "3.216.0", + "@aws-sdk/fetch-http-handler": "3.215.0", + "@aws-sdk/hash-node": "3.215.0", + "@aws-sdk/invalid-dependency": "3.215.0", + "@aws-sdk/md5-js": "3.215.0", + "@aws-sdk/middleware-content-length": "3.215.0", + "@aws-sdk/middleware-endpoint": "3.215.0", + "@aws-sdk/middleware-host-header": "3.215.0", + "@aws-sdk/middleware-logger": "3.215.0", + "@aws-sdk/middleware-recursion-detection": "3.215.0", + "@aws-sdk/middleware-retry": "3.215.0", + "@aws-sdk/middleware-sdk-sqs": "3.215.0", + "@aws-sdk/middleware-serde": "3.215.0", + "@aws-sdk/middleware-signing": "3.215.0", + "@aws-sdk/middleware-stack": "3.215.0", + "@aws-sdk/middleware-user-agent": "3.215.0", + "@aws-sdk/node-config-provider": "3.215.0", + "@aws-sdk/node-http-handler": "3.215.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/smithy-client": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/url-parser": "3.215.0", + "@aws-sdk/util-base64": "3.208.0", "@aws-sdk/util-body-length-browser": "3.188.0", - "@aws-sdk/util-body-length-node": "3.188.0", - "@aws-sdk/util-defaults-mode-browser": "3.193.0", - "@aws-sdk/util-defaults-mode-node": "3.193.0", - "@aws-sdk/util-endpoints": "3.194.0", - "@aws-sdk/util-user-agent-browser": "3.193.0", - "@aws-sdk/util-user-agent-node": "3.193.0", + "@aws-sdk/util-body-length-node": "3.208.0", + "@aws-sdk/util-defaults-mode-browser": "3.215.0", + "@aws-sdk/util-defaults-mode-node": "3.215.0", + "@aws-sdk/util-endpoints": "3.216.0", + "@aws-sdk/util-user-agent-browser": "3.215.0", + "@aws-sdk/util-user-agent-node": "3.215.0", "@aws-sdk/util-utf8-browser": "3.188.0", - "@aws-sdk/util-utf8-node": "3.188.0", + "@aws-sdk/util-utf8-node": "3.208.0", "fast-xml-parser": "4.0.11", "tslib": "^2.3.1" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/client-sso": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.193.0.tgz", - "integrity": "sha512-NxDckym95mtimYp9uWRA1lcyJHDyS8OZEaDC+dZ/tt5wGyPoc3ftHZNWDLzZM1PUjzgo+XzjMBVkWMvk/SRSYw==", + "version": "3.216.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.216.0.tgz", + "integrity": "sha512-9F7JLx9RXEXovg6V4ylqQtpH+sIqQBMIPIrRSGWiQu65rmQQLskRkUka94JsGsBzq1IQwrnqtsuP3Lb0XtwLRA==", "dependencies": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.193.0", - "@aws-sdk/fetch-http-handler": "3.193.0", - "@aws-sdk/hash-node": "3.193.0", - "@aws-sdk/invalid-dependency": "3.193.0", - "@aws-sdk/middleware-content-length": "3.193.0", - "@aws-sdk/middleware-host-header": "3.193.0", - "@aws-sdk/middleware-logger": "3.193.0", - "@aws-sdk/middleware-recursion-detection": "3.193.0", - "@aws-sdk/middleware-retry": "3.193.0", - "@aws-sdk/middleware-serde": "3.193.0", - "@aws-sdk/middleware-stack": "3.193.0", - "@aws-sdk/middleware-user-agent": "3.193.0", - "@aws-sdk/node-config-provider": "3.193.0", - "@aws-sdk/node-http-handler": "3.193.0", - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/smithy-client": "3.193.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/url-parser": "3.193.0", - "@aws-sdk/util-base64-browser": "3.188.0", - "@aws-sdk/util-base64-node": "3.188.0", + "@aws-sdk/config-resolver": "3.215.0", + "@aws-sdk/fetch-http-handler": "3.215.0", + "@aws-sdk/hash-node": "3.215.0", + "@aws-sdk/invalid-dependency": "3.215.0", + "@aws-sdk/middleware-content-length": "3.215.0", + "@aws-sdk/middleware-endpoint": "3.215.0", + "@aws-sdk/middleware-host-header": "3.215.0", + "@aws-sdk/middleware-logger": "3.215.0", + "@aws-sdk/middleware-recursion-detection": "3.215.0", + "@aws-sdk/middleware-retry": "3.215.0", + "@aws-sdk/middleware-serde": "3.215.0", + "@aws-sdk/middleware-stack": "3.215.0", + "@aws-sdk/middleware-user-agent": "3.215.0", + "@aws-sdk/node-config-provider": "3.215.0", + "@aws-sdk/node-http-handler": "3.215.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/smithy-client": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/url-parser": "3.215.0", + "@aws-sdk/util-base64": "3.208.0", "@aws-sdk/util-body-length-browser": "3.188.0", - "@aws-sdk/util-body-length-node": "3.188.0", - "@aws-sdk/util-defaults-mode-browser": "3.193.0", - "@aws-sdk/util-defaults-mode-node": "3.193.0", - "@aws-sdk/util-user-agent-browser": "3.193.0", - "@aws-sdk/util-user-agent-node": "3.193.0", + "@aws-sdk/util-body-length-node": "3.208.0", + "@aws-sdk/util-defaults-mode-browser": "3.215.0", + "@aws-sdk/util-defaults-mode-node": "3.215.0", + "@aws-sdk/util-endpoints": "3.216.0", + "@aws-sdk/util-user-agent-browser": "3.215.0", + "@aws-sdk/util-user-agent-node": "3.215.0", "@aws-sdk/util-utf8-browser": "3.188.0", - "@aws-sdk/util-utf8-node": "3.188.0", + "@aws-sdk/util-utf8-node": "3.208.0", "tslib": "^2.3.1" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-sts": { - "version": "3.194.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.194.0.tgz", - "integrity": "sha512-duolI7KLvRLMrL0ZpiVvmhaC5stKcNp5tfJ7gUW24tyf+7ImAmk2odSMIgcq54EWQ3XppTKBhEGCjOJ9th7+Qg==", + "node_modules/@aws-sdk/client-sso-oidc": { + "version": "3.216.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.216.0.tgz", + "integrity": "sha512-O8kmM86BHwiSwyNoIe+iHXuSpUE9PBWl3re8u+/igt/w5W5VmMVz+zQr7gRUDQ1FDgLWNEdAJa0r+JFx3pZdzA==", "dependencies": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.193.0", - "@aws-sdk/credential-provider-node": "3.193.0", - "@aws-sdk/fetch-http-handler": "3.193.0", - "@aws-sdk/hash-node": "3.193.0", - "@aws-sdk/invalid-dependency": "3.193.0", - "@aws-sdk/middleware-content-length": "3.193.0", - "@aws-sdk/middleware-endpoint": "3.193.0", - "@aws-sdk/middleware-host-header": "3.193.0", - "@aws-sdk/middleware-logger": "3.193.0", - "@aws-sdk/middleware-recursion-detection": "3.193.0", - "@aws-sdk/middleware-retry": "3.193.0", - "@aws-sdk/middleware-sdk-sts": "3.193.0", - "@aws-sdk/middleware-serde": "3.193.0", - "@aws-sdk/middleware-signing": "3.193.0", - "@aws-sdk/middleware-stack": "3.193.0", - "@aws-sdk/middleware-user-agent": "3.193.0", - "@aws-sdk/node-config-provider": "3.193.0", - "@aws-sdk/node-http-handler": "3.193.0", - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/smithy-client": "3.193.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/url-parser": "3.193.0", - "@aws-sdk/util-base64-browser": "3.188.0", - "@aws-sdk/util-base64-node": "3.188.0", + "@aws-sdk/config-resolver": "3.215.0", + "@aws-sdk/fetch-http-handler": "3.215.0", + "@aws-sdk/hash-node": "3.215.0", + "@aws-sdk/invalid-dependency": "3.215.0", + "@aws-sdk/middleware-content-length": "3.215.0", + "@aws-sdk/middleware-endpoint": "3.215.0", + "@aws-sdk/middleware-host-header": "3.215.0", + "@aws-sdk/middleware-logger": "3.215.0", + "@aws-sdk/middleware-recursion-detection": "3.215.0", + "@aws-sdk/middleware-retry": "3.215.0", + "@aws-sdk/middleware-serde": "3.215.0", + "@aws-sdk/middleware-stack": "3.215.0", + "@aws-sdk/middleware-user-agent": "3.215.0", + "@aws-sdk/node-config-provider": "3.215.0", + "@aws-sdk/node-http-handler": "3.215.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/smithy-client": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/url-parser": "3.215.0", + "@aws-sdk/util-base64": "3.208.0", "@aws-sdk/util-body-length-browser": "3.188.0", - "@aws-sdk/util-body-length-node": "3.188.0", - "@aws-sdk/util-defaults-mode-browser": "3.193.0", - "@aws-sdk/util-defaults-mode-node": "3.193.0", - "@aws-sdk/util-endpoints": "3.194.0", - "@aws-sdk/util-user-agent-browser": "3.193.0", - "@aws-sdk/util-user-agent-node": "3.193.0", + "@aws-sdk/util-body-length-node": "3.208.0", + "@aws-sdk/util-defaults-mode-browser": "3.215.0", + "@aws-sdk/util-defaults-mode-node": "3.215.0", + "@aws-sdk/util-endpoints": "3.216.0", + "@aws-sdk/util-user-agent-browser": "3.215.0", + "@aws-sdk/util-user-agent-node": "3.215.0", "@aws-sdk/util-utf8-browser": "3.188.0", - "@aws-sdk/util-utf8-node": "3.188.0", + "@aws-sdk/util-utf8-node": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-sts": { + "version": "3.216.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.216.0.tgz", + "integrity": "sha512-8rpMZhZXh1kjsAvQ0WNBMDrnP4XneKkBQtt5XcDEmv/GpULt8jOIJnSIJQxt2gkRfd/I9MUC9C3aZNQoSMxa+g==", + "dependencies": { + "@aws-crypto/sha256-browser": "2.0.0", + "@aws-crypto/sha256-js": "2.0.0", + "@aws-sdk/config-resolver": "3.215.0", + "@aws-sdk/credential-provider-node": "3.216.0", + "@aws-sdk/fetch-http-handler": "3.215.0", + "@aws-sdk/hash-node": "3.215.0", + "@aws-sdk/invalid-dependency": "3.215.0", + "@aws-sdk/middleware-content-length": "3.215.0", + "@aws-sdk/middleware-endpoint": "3.215.0", + "@aws-sdk/middleware-host-header": "3.215.0", + "@aws-sdk/middleware-logger": "3.215.0", + "@aws-sdk/middleware-recursion-detection": "3.215.0", + "@aws-sdk/middleware-retry": "3.215.0", + "@aws-sdk/middleware-sdk-sts": "3.215.0", + "@aws-sdk/middleware-serde": "3.215.0", + "@aws-sdk/middleware-signing": "3.215.0", + "@aws-sdk/middleware-stack": "3.215.0", + "@aws-sdk/middleware-user-agent": "3.215.0", + "@aws-sdk/node-config-provider": "3.215.0", + "@aws-sdk/node-http-handler": "3.215.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/smithy-client": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/url-parser": "3.215.0", + "@aws-sdk/util-base64": "3.208.0", + "@aws-sdk/util-body-length-browser": "3.188.0", + "@aws-sdk/util-body-length-node": "3.208.0", + "@aws-sdk/util-defaults-mode-browser": "3.215.0", + "@aws-sdk/util-defaults-mode-node": "3.215.0", + "@aws-sdk/util-endpoints": "3.216.0", + "@aws-sdk/util-user-agent-browser": "3.215.0", + "@aws-sdk/util-user-agent-node": "3.215.0", + "@aws-sdk/util-utf8-browser": "3.188.0", + "@aws-sdk/util-utf8-node": "3.208.0", "fast-xml-parser": "4.0.11", "tslib": "^2.3.1" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/client-translate": { - "version": "3.195.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-translate/-/client-translate-3.195.0.tgz", - "integrity": "sha512-CSZnlTgaZ/St+rIpq76k6zMbzPyJeRlqYwAXb1/TAzciv5O9aLyiYU0AFF60WDTqnQ6cwcY+uWVFc4KYNeM94g==", + "version": "3.216.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-translate/-/client-translate-3.216.0.tgz", + "integrity": "sha512-PJ2BgDzCr4CalPbbT7a4YVbX9LVNoUKz0aFAGywY62+9z6IOqr12r9Xa0s1T/fmkMtd6PpOxy6T9EXTXQwXyWg==", "dependencies": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/client-sts": "3.194.0", - "@aws-sdk/config-resolver": "3.193.0", - "@aws-sdk/credential-provider-node": "3.193.0", - "@aws-sdk/fetch-http-handler": "3.193.0", - "@aws-sdk/hash-node": "3.193.0", - "@aws-sdk/invalid-dependency": "3.193.0", - "@aws-sdk/middleware-content-length": "3.193.0", - "@aws-sdk/middleware-endpoint": "3.193.0", - "@aws-sdk/middleware-host-header": "3.193.0", - "@aws-sdk/middleware-logger": "3.193.0", - "@aws-sdk/middleware-recursion-detection": "3.193.0", - "@aws-sdk/middleware-retry": "3.193.0", - "@aws-sdk/middleware-serde": "3.193.0", - "@aws-sdk/middleware-signing": "3.193.0", - "@aws-sdk/middleware-stack": "3.193.0", - "@aws-sdk/middleware-user-agent": "3.193.0", - "@aws-sdk/node-config-provider": "3.193.0", - "@aws-sdk/node-http-handler": "3.193.0", - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/smithy-client": "3.193.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/url-parser": "3.193.0", - "@aws-sdk/util-base64-browser": "3.188.0", - "@aws-sdk/util-base64-node": "3.188.0", + "@aws-sdk/client-sts": "3.216.0", + "@aws-sdk/config-resolver": "3.215.0", + "@aws-sdk/credential-provider-node": "3.216.0", + "@aws-sdk/fetch-http-handler": "3.215.0", + "@aws-sdk/hash-node": "3.215.0", + "@aws-sdk/invalid-dependency": "3.215.0", + "@aws-sdk/middleware-content-length": "3.215.0", + "@aws-sdk/middleware-endpoint": "3.215.0", + "@aws-sdk/middleware-host-header": "3.215.0", + "@aws-sdk/middleware-logger": "3.215.0", + "@aws-sdk/middleware-recursion-detection": "3.215.0", + "@aws-sdk/middleware-retry": "3.215.0", + "@aws-sdk/middleware-serde": "3.215.0", + "@aws-sdk/middleware-signing": "3.215.0", + "@aws-sdk/middleware-stack": "3.215.0", + "@aws-sdk/middleware-user-agent": "3.215.0", + "@aws-sdk/node-config-provider": "3.215.0", + "@aws-sdk/node-http-handler": "3.215.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/smithy-client": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/url-parser": "3.215.0", + "@aws-sdk/util-base64": "3.208.0", "@aws-sdk/util-body-length-browser": "3.188.0", - "@aws-sdk/util-body-length-node": "3.188.0", - "@aws-sdk/util-defaults-mode-browser": "3.193.0", - "@aws-sdk/util-defaults-mode-node": "3.193.0", - "@aws-sdk/util-endpoints": "3.194.0", - "@aws-sdk/util-user-agent-browser": "3.193.0", - "@aws-sdk/util-user-agent-node": "3.193.0", + "@aws-sdk/util-body-length-node": "3.208.0", + "@aws-sdk/util-defaults-mode-browser": "3.215.0", + "@aws-sdk/util-defaults-mode-node": "3.215.0", + "@aws-sdk/util-endpoints": "3.216.0", + "@aws-sdk/util-user-agent-browser": "3.215.0", + "@aws-sdk/util-user-agent-node": "3.215.0", "@aws-sdk/util-utf8-browser": "3.188.0", - "@aws-sdk/util-utf8-node": "3.188.0", + "@aws-sdk/util-utf8-node": "3.208.0", "tslib": "^2.3.1", "uuid": "^8.3.2" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/config-resolver": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.193.0.tgz", - "integrity": "sha512-HIjuv2A1glgkXy9g/A8bfsiz3jTFaRbwGZheoHFZod6iEQQEbbeAsBe3u2AZyzOrVLgs8lOvBtgU8XKSJWjDkw==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.215.0.tgz", + "integrity": "sha512-DxX4R+YYLQOtg0qfceKBrjVD4t1mQBG1eb7IVr2QSlckFCX8ztUNymFMuaSEo3938Jyy/NpgfUDpFqPDaSKnng==", "dependencies": { - "@aws-sdk/signature-v4": "3.193.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/util-config-provider": "3.188.0", - "@aws-sdk/util-middleware": "3.193.0", + "@aws-sdk/signature-v4": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/util-config-provider": "3.208.0", + "@aws-sdk/util-middleware": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.193.0.tgz", - "integrity": "sha512-pRqZoIaqCdWB4JJdR6DqDn3u+CwKJchwiCPnRtChwC8KXCMkT4njq9J1bWG3imYeTxP/G06O1PDONEuD4pPtNQ==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.215.0.tgz", + "integrity": "sha512-n5G7I7Pxfsn81+tNsSOzspKp9SYai78oRfImsfFY4JLTcWutv7szMgFUbtEzBfUUINHpOxLiO2Lk5yu5K1C7IQ==", "dependencies": { - "@aws-sdk/property-provider": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/property-provider": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/credential-provider-imds": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.193.0.tgz", - "integrity": "sha512-jC7uT7uVpO/iitz49toHMGFKXQ2igWQQG2SKirREqDRaz5HSXwEP1V3rcOlNNyGIBPMggDjZnxYgJHqBXSq9Ag==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.215.0.tgz", + "integrity": "sha512-/4FUUR6u9gkNfxB6mEwBr0kk0myIkrDcXbAocWN3fPd/t7otzxpx/JqPZXgM6kcVP7M4T/QT75l1E1RRHLWCCQ==", "dependencies": { - "@aws-sdk/node-config-provider": "3.193.0", - "@aws-sdk/property-provider": "3.193.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/url-parser": "3.193.0", + "@aws-sdk/node-config-provider": "3.215.0", + "@aws-sdk/property-provider": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/url-parser": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.193.0.tgz", - "integrity": "sha512-JQ4tyeLjwsa9Jo95yTrLgFFspAP5GwaZDqDJArG98waKDzxhl7FeBs+N32+oux6WB7RKRB0svOK02nnoWnrjVg==", + "version": "3.216.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.216.0.tgz", + "integrity": "sha512-tSfrhgRO/l83Ou6WSOE4HauTLbDCOLMo/23Q6oGO8cs/d874J5rE4UM7a9OzE3QdM3eVbdAP7kXUgUS6i71cUw==", "dependencies": { - "@aws-sdk/credential-provider-env": "3.193.0", - "@aws-sdk/credential-provider-imds": "3.193.0", - "@aws-sdk/credential-provider-sso": "3.193.0", - "@aws-sdk/credential-provider-web-identity": "3.193.0", - "@aws-sdk/property-provider": "3.193.0", - "@aws-sdk/shared-ini-file-loader": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/credential-provider-env": "3.215.0", + "@aws-sdk/credential-provider-imds": "3.215.0", + "@aws-sdk/credential-provider-sso": "3.216.0", + "@aws-sdk/credential-provider-web-identity": "3.215.0", + "@aws-sdk/property-provider": "3.215.0", + "@aws-sdk/shared-ini-file-loader": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.193.0.tgz", - "integrity": "sha512-2E8yWVw1vLb6IumZxA0w4mes759YSCTHLdfp5nMBpn+d+Otz26mczKSe7xr7AaVONq+/sVPUl2GfTFTWM4B0eA==", + "version": "3.216.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.216.0.tgz", + "integrity": "sha512-Tumt53phB454DTkNB7a1tyCfrkA4JUGHzNLya14VLResGIGW5Re64atahUcO/WS7aTEs5vfAhBXO+p9o4K1rhQ==", "dependencies": { - "@aws-sdk/credential-provider-env": "3.193.0", - "@aws-sdk/credential-provider-imds": "3.193.0", - "@aws-sdk/credential-provider-ini": "3.193.0", - "@aws-sdk/credential-provider-process": "3.193.0", - "@aws-sdk/credential-provider-sso": "3.193.0", - "@aws-sdk/credential-provider-web-identity": "3.193.0", - "@aws-sdk/property-provider": "3.193.0", - "@aws-sdk/shared-ini-file-loader": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/credential-provider-env": "3.215.0", + "@aws-sdk/credential-provider-imds": "3.215.0", + "@aws-sdk/credential-provider-ini": "3.216.0", + "@aws-sdk/credential-provider-process": "3.215.0", + "@aws-sdk/credential-provider-sso": "3.216.0", + "@aws-sdk/credential-provider-web-identity": "3.215.0", + "@aws-sdk/property-provider": "3.215.0", + "@aws-sdk/shared-ini-file-loader": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.193.0.tgz", - "integrity": "sha512-zpXxtQzQqkaUuFqmHW9dSkh9p/1k+XNKlwEkG8FTwAJNUWmy2ZMJv+8NTVn4s4vaRu7xJ1er9chspYr7mvxHlA==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.215.0.tgz", + "integrity": "sha512-JNvj4L5B7W8byoFdfn/8Y4scoPiwCi+Ha/fRsFCrdSC7C+snDuxM/oQj33HI8DpKY1cjuigzEnpnxiNWaA09EA==", "dependencies": { - "@aws-sdk/property-provider": "3.193.0", - "@aws-sdk/shared-ini-file-loader": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/property-provider": "3.215.0", + "@aws-sdk/shared-ini-file-loader": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.193.0.tgz", - "integrity": "sha512-jBFWreNFZUgnGyCkpxDGf+LrXTuzEfjYkJYti1HnnsUF4vF0PsVZS6/FQi1mDl3pqorrtgknI59ENnAhKVxtBg==", + "version": "3.216.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.216.0.tgz", + "integrity": "sha512-1Cag6AUPU4wkeMnZDJvcXXJgwrlrIxbTcRsresJYBFvs1vGJGcTbjtWV0K6fiBRP66GtvuOL9WzQ/eqRf2J7Ag==", "dependencies": { - "@aws-sdk/client-sso": "3.193.0", - "@aws-sdk/property-provider": "3.193.0", - "@aws-sdk/shared-ini-file-loader": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/client-sso": "3.216.0", + "@aws-sdk/property-provider": "3.215.0", + "@aws-sdk/shared-ini-file-loader": "3.215.0", + "@aws-sdk/token-providers": "3.216.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.193.0.tgz", - "integrity": "sha512-MIQY9KwLCBnRyIt7an4EtMrFQZz2HC1E8vQDdKVzmeQBBePhW61fnX9XDP9bfc3Ypg1NggLG00KBPEC88twLFg==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.215.0.tgz", + "integrity": "sha512-AWaDDEE3VU1HeLrXvyUrkQ6Wb3PQij5bvvrMil9L0da3b1yrcpoDanQQy7wBFBXcZIVmcmSFe5MMA/nyh2Le4g==", "dependencies": { - "@aws-sdk/property-provider": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/property-provider": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/eventstream-codec": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.193.0.tgz", - "integrity": "sha512-K6rPYZAxexCyohR+w/G0hVxfHtY4H8e5QXj945YBmF8jfAmrjSbKDLmgPypqiENebvD1qTisXpraWjqWIABSHg==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.215.0.tgz", + "integrity": "sha512-Uwgkq6ViQnfd1l+qhWPGdzxh+YhD1N6RYL0kEcp1ovsR+rC/0qUsM9VZrSckZn4jB+0ATqIoOXtcUYP4+xrNmg==", "dependencies": { "@aws-crypto/crc32": "2.0.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/util-hex-encoding": "3.188.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/util-hex-encoding": "3.201.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/eventstream-serde-browser": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.193.0.tgz", - "integrity": "sha512-V6qTzyaxxcZz5/8A1sV6SWtRZzbjKtdqfrTrh8oM86svpRHOfDcacbwMZqXt+L1tbZsv0ZPEn8j1MDiiv17P9g==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.215.0.tgz", + "integrity": "sha512-VfTl69/C/cOjm47blgvdBz2pw8//6qkLPvQetfDOgf40JvsjBp9afUDNiKV08ulzoUeVZBosgHs09oZ2VDj09Q==", "dependencies": { - "@aws-sdk/eventstream-serde-universal": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/eventstream-serde-universal": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/eventstream-serde-config-resolver": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.193.0.tgz", - "integrity": "sha512-RnnjEcl8NSIEb8+mQL+Zkro+ke3qrXpPmwolB752HIEBu9U0iG1wYuaBeXaxXNk4K+UGe/eNHM5UXh6Uur4ioQ==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.215.0.tgz", + "integrity": "sha512-NrVb8HA0tUsruAj8yVWTaRIfcAB9lsajzksCqS7W917x/esoIRwoeF2zua63Ivro7hLeCjzS2Mws5IhvSl+/tQ==", "dependencies": { - "@aws-sdk/types": "3.193.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/eventstream-serde-node": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.193.0.tgz", - "integrity": "sha512-hNSVB7kEkgUtOvB1iUF0MYXkScB97++0uqJ/TLAdmFmBFaF/yPcvVJtCwyolcAmgHQRnDtVILpa4URM/Jh8viw==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.215.0.tgz", + "integrity": "sha512-DxABFUIpmFV1NOfwF8FtX+l7kzmMTTJf2BfXvGoYemmBtv9Cc31Qg83ouD8xuNSx9qlbFOgpWaNpzEZ400porA==", "dependencies": { - "@aws-sdk/eventstream-serde-universal": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/eventstream-serde-universal": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/eventstream-serde-universal": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.193.0.tgz", - "integrity": "sha512-r+uo+UWPU72BCOQ3DK80OjM6O52ZIo7NT1Fw65tBXHP55AVp15V4OKivyWTcIhLfCtWAeoeJJTbQvq+u8uI4JA==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.215.0.tgz", + "integrity": "sha512-8DmY3vVZtXAKzW0wOSC0bN+WF8qNZKaCqe5JCM3WwS1Wu6F6qI7b064VSe5b3d9BbJzeMccOcJeCg3ZU/3nYUQ==", "dependencies": { - "@aws-sdk/eventstream-codec": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/eventstream-codec": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/fetch-http-handler": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.193.0.tgz", - "integrity": "sha512-UhIS2LtCK9hqBzYVon6BI8WebJW1KC0GGIL/Gse5bqzU9iAGgFLAe66qg9k+/h3Jjc5LNAYzqXNVizMwn7689Q==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.215.0.tgz", + "integrity": "sha512-JfZyrJOE+0ik1PumsIUZd0NfgEx4sZ43VSdPCD9GRhssRWudNsSF1B5fz3xA5v+1y5oQPjXZyaWCzKtnYruiWw==", "dependencies": { - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/querystring-builder": "3.193.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/util-base64-browser": "3.188.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/querystring-builder": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/util-base64": "3.208.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/hash-blob-browser": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.193.0.tgz", - "integrity": "sha512-jku1nk5mw82t3tZN0ehpG7f/cGXM4MT60OBLVV2eRsaUbZtZyYrP4jy3cKhhsZV0cNfZJUf1/yHDIZKEocr06Q==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.215.0.tgz", + "integrity": "sha512-plHPFOSEHig0g/ou1H4QW31AyPGzwR0qgUKIEUFf3lWIfBI3BnvA4t24cJ87I204oqENj/+ZSNAj5qeAZfMFXw==", "dependencies": { "@aws-sdk/chunked-blob-reader": "3.188.0", - "@aws-sdk/chunked-blob-reader-native": "3.188.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/chunked-blob-reader-native": "3.208.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/hash-node": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.193.0.tgz", - "integrity": "sha512-O2SLPVBjrCUo+4ouAdRUoHBYsyurO9LcjNZNYD7YQOotBTbVFA3cx7kTZu+K4B6kX7FDaGbqbE1C/T1/eg/r+w==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.215.0.tgz", + "integrity": "sha512-MkSRuZvo1RCRmI0VNEmRYCGGD/DkMd9lqnLtOyglMPnSX1mhyD4/DyXmcc3rYa7PsjDRAfykGWJRiMqpoMLjiQ==", "dependencies": { - "@aws-sdk/types": "3.193.0", - "@aws-sdk/util-buffer-from": "3.188.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/util-buffer-from": "3.208.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/hash-stream-node": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.193.0.tgz", - "integrity": "sha512-lNQwS76zd2RBoIDV0eEd82I8IfTPgAH+/ZLW+TzOx7WoWcvVh7cWEEjJyiq/Pc0Pu6W9lgIcMkjOh8+4ejZeQg==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.215.0.tgz", + "integrity": "sha512-1VEpiXu0jH7bSRYfEeSrznYq41zpUV4TtStoBXdcEVaOqT4LNQ5k1g1602544UWKUJ7D+E9NCNXpjM6TSMmG4A==", "dependencies": { - "@aws-sdk/types": "3.193.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/invalid-dependency": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.193.0.tgz", - "integrity": "sha512-54DCknekLwJAI1os76XJ8XCzfAH7BGkBGtlWk5WCNkZTfj3rf5RUiXz4uoKUMWE1rZmyMDoDDS1PBo+yTVKW5w==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.215.0.tgz", + "integrity": "sha512-++bK4BUQe8/CL/YcLZcQB8qPOhiXxhbuhYzfFS7PNVvW1QOLqKRZL/lKs24gzjcOmw7IhAbCybDZwvu2TM4DAg==", "dependencies": { - "@aws-sdk/types": "3.193.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/is-array-buffer": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.188.0.tgz", - "integrity": "sha512-n69N4zJZCNd87Rf4NzufPzhactUeM877Y0Tp/F3KiHqGeTnVjYUa4Lv1vLBjqtfjYb2HWT3NKlYn5yzrhaEwiQ==", + "version": "3.201.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.201.0.tgz", + "integrity": "sha512-UPez5qLh3dNgt0DYnPD/q0mVJY84rA17QE26hVNOW3fAji8W2wrwrxdacWOxyXvlxWsVRcKmr+lay1MDqpAMfg==", "dependencies": { "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/md5-js": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.193.0.tgz", - "integrity": "sha512-ifoCUGltLVGd3IN32SbKEYTREjeLBCuPVr+adjSyTrM+dZ2cIUrhnaid5KL0srMO/rgNwktDqVnxLdi90Sa2Uw==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.215.0.tgz", + "integrity": "sha512-2f5r2raNDG9USKHKRgAW2r1MzCrkemLASlDXASgAuAD3gYGURVi4ZDhI3I1GECY5dPEgGC+3B2rkEb9MfQAaEg==", "dependencies": { - "@aws-sdk/types": "3.193.0", + "@aws-sdk/types": "3.215.0", "@aws-sdk/util-utf8-browser": "3.188.0", - "@aws-sdk/util-utf8-node": "3.188.0", + "@aws-sdk/util-utf8-node": "3.208.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/middleware-bucket-endpoint": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.193.0.tgz", - "integrity": "sha512-0wZWsgwSKghPFpE0B8togI64uMcjj7HIZoHGSsFUjuwr1vXMQm1pcR4ScJ7JAGWsuvXmkDtY0382rQOdc58hnA==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.215.0.tgz", + "integrity": "sha512-zMeYrnHX8S9VFDPH3fryXdPXW1DWeX9URKAkU1oxZLGpBX91CsWzUDjaMhbkDgvwO2oeKgjnZ2vCwcNNKP266w==", "dependencies": { - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/util-arn-parser": "3.188.0", - "@aws-sdk/util-config-provider": "3.188.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/util-arn-parser": "3.208.0", + "@aws-sdk/util-config-provider": "3.208.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-content-length": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.193.0.tgz", - "integrity": "sha512-em0Sqo7O7DFOcVXU460pbcYuIjblDTZqK2YE62nQ0T+5Nbj+MSjuoite+rRRdRww9VqBkUROGKON45bUNjogtQ==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.215.0.tgz", + "integrity": "sha512-zKJRb6jDLFl9nl/muSFbiQHA4uK3skinuDRcyLbpMvvzhuK/PVodv9QI1+wIUsFdXkaSxAlva1oG4bL8ZFi+sQ==", "dependencies": { - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-endpoint": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.193.0.tgz", - "integrity": "sha512-Inbpt7jcHGvzF7UOJOCxx9wih0+eAQYERikokidWJa7M405EJpVYq1mGbeOcQUPANU3uWF1AObmUUFhbkriHQw==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.215.0.tgz", + "integrity": "sha512-W0QXL5emcN9IXtMbnWT/abLxBFH2tGIfnre2jPNmZ9M7uVFxUwwv5OTUXxNLGNehJHKhiJPwhfQvMy20IDzVcw==", "dependencies": { - "@aws-sdk/middleware-serde": "3.193.0", - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/signature-v4": "3.193.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/url-parser": "3.193.0", - "@aws-sdk/util-config-provider": "3.188.0", - "@aws-sdk/util-middleware": "3.193.0", + "@aws-sdk/middleware-serde": "3.215.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/signature-v4": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/url-parser": "3.215.0", + "@aws-sdk/util-config-provider": "3.208.0", + "@aws-sdk/util-middleware": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-expect-continue": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.193.0.tgz", - "integrity": "sha512-9VME6p1SLaXP49SHPsfCAd0m45W2XgAtD13bLPgqW80zWpD6OwcYER2LvqDJch9rm9fX9IB19xRqrpiJx8imfw==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.215.0.tgz", + "integrity": "sha512-X2G7MnBSYPPmLqqd9xDGl2ik9dUsGYcYzulf2Z1HVEGJO6btZJtPfC+IIwuJjsiCWCgbypM1X/oOSxdrmRkUNQ==", "dependencies": { - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-flexible-checksums": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.193.0.tgz", - "integrity": "sha512-eMnziJ3WCTu07A47Xv7p9ntBv02j3PsB/+ficwDiG9AUA33dZDdoHS1D1JE7WfQJLrK5mFNUKRXGEGlhZGC9Gw==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.215.0.tgz", + "integrity": "sha512-fAFcR+QsrGPCgYssdTYmayoCXDKYzlv0a14jaJtZsacXQNGefXly9D856lri+yG2jxqQ6Sa0FzU4Pm7s3j4mvg==", "dependencies": { "@aws-crypto/crc32": "2.0.0", "@aws-crypto/crc32c": "2.0.0", - "@aws-sdk/is-array-buffer": "3.188.0", - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/is-array-buffer": "3.201.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.193.0.tgz", - "integrity": "sha512-aegzj5oRWd//lmfmkzRmgG2b4l3140v8Ey4QkqCxcowvAEX5a7rh23yuKaGtmiePwv2RQalCKz+tN6JXCm8g6Q==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.215.0.tgz", + "integrity": "sha512-GOqI7VwoENZwn+6tIMrrJ4SipIqL2JCh+BNvORVcy7CQxn1ViKkna7iaCx+QMjpg/kn9cR6kfY0n1FmgZR1w9A==", "dependencies": { - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-location-constraint": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.193.0.tgz", - "integrity": "sha512-Z084OP+nG95DDaHehk8nYDoQQUaPe02IvQ6U5ZMSAMNTKxwIBn1wRrRAgYfnH1zSpAe3cEz27sF+UPRnafeLjQ==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.215.0.tgz", + "integrity": "sha512-taDOIGv2rsAyDEJxSm/nhKS4nsBPUKKCvIpK26E7uGshQZFLtTLTJMp8zGb1IBfUSxRngdWljRmOS5AJUexNbQ==", "dependencies": { - "@aws-sdk/types": "3.193.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-logger": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.193.0.tgz", - "integrity": "sha512-D/h1pU5tAcyJpJ8ZeD1Sta0S9QZPcxERYRBiJdEl8VUrYwfy3Cl1WJedVOmd5nG73ZLRSyHeXHewb/ohge3yKQ==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.215.0.tgz", + "integrity": "sha512-0h4GGF0rV3jnY3jxmcAWsOdqHCYf25s0biSjmgTei+l/5S+geOGrovRPCNep0LLg0i9D8bkZsXISojilETbf+g==", "dependencies": { - "@aws-sdk/types": "3.193.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.193.0.tgz", - "integrity": "sha512-fMWP76Q1GOb/9OzS1arizm6Dbfo02DPZ6xp7OoAN3PS6ybH3Eb47s/gP3jzgBPAITQacFj4St/4a06YWYrN3NA==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.215.0.tgz", + "integrity": "sha512-KQ+kiEsaluM4i6opjusUukxY78+UhfR7vzXHDkzZK/GplQ1hY0B+rwVO1eaULmlnmf3FK+Wd6lwrPV7xS2W+EA==", "dependencies": { - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-retry": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.193.0.tgz", - "integrity": "sha512-zTQkHLBQBJi6ns655WYcYLyLPc1tgbEYU080Oc8zlveLUqoDn1ogkcmNhG7XMeQuBvWZBYN7J3/wFaXlDzeCKg==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.215.0.tgz", + "integrity": "sha512-I/dnUPVg2Kp3lW+MywBoPp06EOng8IfuaS9ph4bcJpQKrhNU5ekRgCHH2C4k1A6GcP8uyHxQ5TVV6j+l0QPIsA==", "dependencies": { - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/service-error-classification": "3.193.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/util-middleware": "3.193.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/service-error-classification": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/util-middleware": "3.215.0", "tslib": "^2.3.1", "uuid": "^8.3.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-sdk-s3": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.193.0.tgz", - "integrity": "sha512-SynIfwLxXhMKEK7cR6xWQ4WuMCZt7CtyN3WMYN5ywwhR3nOTndrYfX/+RjFRStvad17Blj32hZXO74wMArN1vA==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.215.0.tgz", + "integrity": "sha512-+SM+xCIFNSFIKM9KyvgIu4Ah5Z/SbHS8mDkinHkY8X/iUryrsKKBs7xnpMAaJCTFkK/8gO6Lhdda1nbvGozhdA==", "dependencies": { - "@aws-sdk/middleware-bucket-endpoint": "3.193.0", - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/util-arn-parser": "3.188.0", + "@aws-sdk/middleware-bucket-endpoint": "3.215.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/util-arn-parser": "3.208.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-sdk-sqs": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sqs/-/middleware-sdk-sqs-3.193.0.tgz", - "integrity": "sha512-zl4kSzzdZKHK4V465femLup+ALOUdlNCLSv0xPKF1QFEVHsfjq08o2l21uIhkbqxVH/JnLHFMfNWF7WIykLysA==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sqs/-/middleware-sdk-sqs-3.215.0.tgz", + "integrity": "sha512-Y4IdzgsHuBnsKinKp0WWc4FZPwD1e1DFZUcJj0iAsjCT/+cH0MCPe34mv6BALc6lHd2+CSGiXQ/6+GckK7Sajw==", "dependencies": { - "@aws-sdk/types": "3.193.0", - "@aws-sdk/util-hex-encoding": "3.188.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/util-hex-encoding": "3.201.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-sdk-sts": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.193.0.tgz", - "integrity": "sha512-TafiDkeflUsnbNa89TLkDnAiRRp1gAaZLDAjt75AzriRKZnhtFfYUXWb+qAuN50T+CkJ/gZI9LHDZL5ogz/HxQ==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.215.0.tgz", + "integrity": "sha512-wJRxoDf+2egbRgochaQL8+zzADx8FM/2W0spKNj8x+t/3iqw70QwxCfuEKW/uFQ3ph6eaIrv7gYc8RRjwhD8rg==", "dependencies": { - "@aws-sdk/middleware-signing": "3.193.0", - "@aws-sdk/property-provider": "3.193.0", - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/signature-v4": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/middleware-signing": "3.215.0", + "@aws-sdk/property-provider": "3.215.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/signature-v4": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-serde": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.193.0.tgz", - "integrity": "sha512-dH93EJYVztY+ZDPzSMRi9LfAZfKO+luH62raNy49hlNa4jiyE1Tc/+qwlmOEpfGsrtcZ9TgsON1uFF9sgBXXaA==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.215.0.tgz", + "integrity": "sha512-+uhLXdKvvQZcRRFc3UmemSr/YUHA4Jc+1YMjHxc3v8vvfztFJBb0wgBx999myOi8PmkYThlRBQDzXy9UCIhIJw==", "dependencies": { - "@aws-sdk/types": "3.193.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-signing": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.193.0.tgz", - "integrity": "sha512-obBoELGPf5ikvHYZwbzllLeuODiokdDfe92Ve2ufeOa/d8+xsmbqNzNdCTLNNTmr1tEIaEE7ngZVTOiHqAVhyw==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.215.0.tgz", + "integrity": "sha512-3BqzYqkmdPeOxjI8DVQE7Bm7J5QIvDy30abglXqrDg6npw6KonKI2Q3FIPFf+oLpZTMStwkoQOnwXHTPrSZ6Tg==", "dependencies": { - "@aws-sdk/property-provider": "3.193.0", - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/signature-v4": "3.193.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/util-middleware": "3.193.0", + "@aws-sdk/property-provider": "3.215.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/signature-v4": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/util-middleware": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-ssec": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.193.0.tgz", - "integrity": "sha512-ZpvD5Zpl3ocLXNFYdkSMxiDW4QyL/6XRwDfeSqXy8iWhVs/WmES2W+KWBRNh6K8mp5/ZDuycwLWeAYFNqZLUaA==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.215.0.tgz", + "integrity": "sha512-iIiB2fGneR8iZN2tgQoACq1jQlG50zU49cus/jAAKjy6B7QeKXy5Ld8/+eNnzcjLuBzzeLtER2YWwFLWqUOZpw==", "dependencies": { - "@aws-sdk/types": "3.193.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-stack": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.193.0.tgz", - "integrity": "sha512-Ix5d7gE6bZwFNIVf0dGnjYuymz1gjitNoAZDPpv1nEZlUMek/jcno5lmzWFzUZXY/azpbIyaPwq/wm/c69au5A==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.215.0.tgz", + "integrity": "sha512-rdSVL7LxRgjlvoluqwODD4ypBy2k/YVl6FrDplyCMSi8m2WHZG99FzdmR9bpnWK+0DGzYZSMRYx6ynJ9N9PsSw==", "dependencies": { "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.193.0.tgz", - "integrity": "sha512-0vT6F9NwYQK7ARUUJeHTUIUPnupsO3IbmjHSi1+clkssFlJm2UfmSGeafiWe4AYH3anATTvZEtcxX5DZT/ExbA==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.215.0.tgz", + "integrity": "sha512-X6GfoMNoEITTw7rGL/gWs8UZ0cmmmezvKcl+KtHsA642R05OR4mY5G7LdbWAw0bcrwKsuKOGmwUrC9lzGqbWUw==", "dependencies": { - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/node-config-provider": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.193.0.tgz", - "integrity": "sha512-5RLdjQLH69ISRG8TX9klSLOpEySXxj+z9E9Em39HRvw0/rDcd8poCTADvjYIOqRVvMka0z/hm+elvUTIVn/DRw==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.215.0.tgz", + "integrity": "sha512-notckD94QwwxC0GsfpTxB7VH8SREIIlMsUSddqGtpModa0cq/wRb9rqnydZSoznbYpK1ND6h0C9hr/2PNz89zw==", "dependencies": { - "@aws-sdk/property-provider": "3.193.0", - "@aws-sdk/shared-ini-file-loader": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/property-provider": "3.215.0", + "@aws-sdk/shared-ini-file-loader": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/node-http-handler": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.193.0.tgz", - "integrity": "sha512-DP4BmFw64HOShgpAPEEMZedVnRmKKjHOwMEoXcnNlAkMXnYUFHiKvudYq87Q2AnSlT6OHkyMviB61gEvIk73dA==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.215.0.tgz", + "integrity": "sha512-btKWSR7m0UuWIN3p5MfSIvhqeYik7xri7U6nWuVI5GVzIYjzxEZOMvPAinDLDxL5wipodi0ZvTUNdDJdm7BcGQ==", "dependencies": { - "@aws-sdk/abort-controller": "3.193.0", - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/querystring-builder": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/abort-controller": "3.215.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/querystring-builder": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/property-provider": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.193.0.tgz", - "integrity": "sha512-IaDR/PdZjKlAeSq2E/6u6nkPsZF9wvhHZckwH7uumq4ocWsWXFzaT+hKpV4YZPHx9n+K2YV4Gn/bDedpz99W1Q==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.215.0.tgz", + "integrity": "sha512-dDPjMCCopkRURAmOJCMSlpIQ5BGWCpYj0+FIfZ5qWQs24fn1PAkQHecOiBhJO0ZSVuQy3xcIyWsAp1NE5e+7ug==", "dependencies": { - "@aws-sdk/types": "3.193.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/protocol-http": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.193.0.tgz", - "integrity": "sha512-r0wbTwFJyXq0uiImI6giqG3g/RO1N/y4wwPA7qr7OC+KXJ0NkyVxIf6e7Vx8h06aM1ATtngbwJaMP59kVCp85A==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.215.0.tgz", + "integrity": "sha512-qp6Y6v4S534LAjadiVl9p7ErK7ImphOKq6yhFyQwxko6iITLcz8ib3yU27fs4QJcnNj5ZooqW/YlL/0EikDxCQ==", "dependencies": { - "@aws-sdk/types": "3.193.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/querystring-builder": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.193.0.tgz", - "integrity": "sha512-PRaK6649iw0UO45UjUoiUzFcOKXZb8pMjjFJpqALpEvdZT3twxqhlPXujT7GWPKrSwO4uPLNnyYEtPY82wx2vw==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.215.0.tgz", + "integrity": "sha512-eilk8CqG37BVhQklLif00K2dOJgDzacUi8h3KVQ72ry1V3h345i4HsmaFIxvnz8XtNyDvV8qFAzeYg9n2P9RQA==", "dependencies": { - "@aws-sdk/types": "3.193.0", - "@aws-sdk/util-uri-escape": "3.188.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/util-uri-escape": "3.201.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/querystring-parser": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.193.0.tgz", - "integrity": "sha512-dGEPCe8SK4/td5dSpiaEI3SvT5eHXrbJWbLGyD4FL3n7WCGMy2xVWAB/yrgzD0GdLDjDa8L5vLVz6yT1P9i+hA==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.215.0.tgz", + "integrity": "sha512-8h/9H8dWM4fZO27UGzo8W5JXln4yJMugPyUl4qFA437gzPgNFN95+oLJWXtHMlfCHC5T/PDKetY9TarMDgBD0Q==", "dependencies": { - "@aws-sdk/types": "3.193.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/s3-request-presigner": { - "version": "3.194.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.194.0.tgz", - "integrity": "sha512-WQIiOrNYGXbCKVwbYceyUOk8toPmpaOrWgjT9dkn9MhA3sExJUDPfwgQtqsmgG23TZd2VCcZhDgzSeZNhvqMHg==", + "version": "3.216.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.216.0.tgz", + "integrity": "sha512-JK7W/F3yFh0Bm585mBBTqYdkGPDelDT8OO6vv/NwzjxHkqfN3MTc1/sGPWd0XqJ4EHnscck+rq4jYHyYcem7mQ==", "dependencies": { - "@aws-sdk/middleware-endpoint": "3.193.0", - "@aws-sdk/middleware-sdk-s3": "3.193.0", - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/signature-v4-multi-region": "3.193.0", - "@aws-sdk/smithy-client": "3.193.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/util-create-request": "3.193.0", - "@aws-sdk/util-format-url": "3.193.0", + "@aws-sdk/middleware-endpoint": "3.215.0", + "@aws-sdk/middleware-sdk-s3": "3.215.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/signature-v4-multi-region": "3.215.0", + "@aws-sdk/smithy-client": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/util-create-request": "3.215.0", + "@aws-sdk/util-format-url": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/service-error-classification": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.193.0.tgz", - "integrity": "sha512-bPnXVu8ErE1RfWVVQKc2TE7EuoImUi4dSPW9g80fGRzJdQNwXb636C+7OUuWvSDzmFwuBYqZza8GZjVd+rz2zQ==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.215.0.tgz", + "integrity": "sha512-SKBvClGFGzMPsjBBKjneaUazLCNr6bSxe9eFvOr3gCwuwE2jPQwW3VE1mb62howuvm6cLthEDwLQp/FsT1gMsw==", "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/shared-ini-file-loader": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.193.0.tgz", - "integrity": "sha512-hnvZup8RSpFXfah7Rrn6+lQJnAOCO+OiDJ2R/iMgZQh475GRQpLbu3cPhCOkjB14vVLygJtW8trK/0+zKq93bQ==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.215.0.tgz", + "integrity": "sha512-unzQeLOyUiYHr8WxxandHo0OaCj31gx0wpt8dn2cZcHm/MdCqHcHcsQqOVnQsWQrrxY/XZ27cPyMVQeicNKYwQ==", "dependencies": { - "@aws-sdk/types": "3.193.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/signature-v4": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.193.0.tgz", - "integrity": "sha512-JEqqOB8wQZz6g1ERNUOIBFDFt8OJtz5G5Uh1CdkS5W66gyWnJEz/dE1hA2VTqqQwHGGEsIEV/hlzruU1lXsvFA==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.215.0.tgz", + "integrity": "sha512-Rc73uUCi3eJneO25DydLTfJYamXeuKS9YIhNMTKlpvcN1UQAmAnUbAmCuEmqvkYOiGD1i4/kd8kBga708iIikQ==", "dependencies": { - "@aws-sdk/is-array-buffer": "3.188.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/util-hex-encoding": "3.188.0", - "@aws-sdk/util-middleware": "3.193.0", - "@aws-sdk/util-uri-escape": "3.188.0", + "@aws-sdk/is-array-buffer": "3.201.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/util-hex-encoding": "3.201.0", + "@aws-sdk/util-middleware": "3.215.0", + "@aws-sdk/util-uri-escape": "3.201.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/signature-v4-multi-region": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.193.0.tgz", - "integrity": "sha512-NUlTZVu7kB9LWk290ofWhDGK3O2qTx+RtAoCQbifn5mLe2d0FPIe9CibPg+IY4rkbXTyEBbSs2FaxFjcAlW8JA==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.215.0.tgz", + "integrity": "sha512-XOUUNWs6I4vAa+Byj6qL/+DCWA5CjcRyA9sitYy8sNqhLcet8WoYf7vJL2LW1nvdzRb/pGBNWLiQOZ+9sadYeg==", "dependencies": { - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/signature-v4": "3.193.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/util-arn-parser": "3.188.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/signature-v4": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/util-arn-parser": "3.208.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" }, "peerDependencies": { "@aws-sdk/signature-v4-crt": "^3.118.0" @@ -1290,65 +1517,72 @@ } }, "node_modules/@aws-sdk/smithy-client": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.193.0.tgz", - "integrity": "sha512-BY0jhfW76vyXr7ODMaKO3eyS98RSrZgOMl6DTQV9sk7eFP/MPVlG7p7nfX/CDIgPBIO1z0A0i2CVIzYur9uGgQ==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.215.0.tgz", + "integrity": "sha512-PiZfCdZkPohzMPrRmJ46TPOf2Tr/dhKYdwQArRnOOIsJABUGXjlzCUE8vysDN35XZYRx5f9hd+/U7kayhniq2w==", "dependencies": { - "@aws-sdk/middleware-stack": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/middleware-stack": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/token-providers": { + "version": "3.216.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.216.0.tgz", + "integrity": "sha512-cEmOfG7njWl0OA5lR65Sp2SW1i8ZLjf7C95TZ1e6t2Oo5aUFeN3aKBxMOV//1yc+BNzcFBnoHP/f29GhWxUOxA==", + "dependencies": { + "@aws-sdk/client-sso-oidc": "3.216.0", + "@aws-sdk/property-provider": "3.215.0", + "@aws-sdk/shared-ini-file-loader": "3.215.0", + "@aws-sdk/types": "3.215.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/types": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.193.0.tgz", - "integrity": "sha512-LV/wcPolRZKORrcHwkH59QMCkiDR5sM+9ZtuTxvyUGG2QFW/kjoxs08fUF10OWNJMrotBI+czDc5QJRgN8BlAw==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.215.0.tgz", + "integrity": "sha512-eRbCVjwzTYd9C5e2mceScJ6D2kYDDEC3PLkYfJa+1wH9iiF2JlbiYozAokyeYBHQ+AjmD93MK58RBoM8iZfH0Q==", "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/url-parser": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.193.0.tgz", - "integrity": "sha512-hwD1koJlOu2a6GvaSbNbdo7I6a3tmrsNTZr8bCjAcbqpc5pDThcpnl/Uaz3zHmMPs92U8I6BvWoK6pH8By06qw==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.215.0.tgz", + "integrity": "sha512-r/qIk3TUlV36JvoRjTErFm0LzzgNKLB1YUG8zVZCGAc2TEATi8OVEmsZvi+KfTmsbszulITJVcjZKbHLbGoUzg==", "dependencies": { - "@aws-sdk/querystring-parser": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/querystring-parser": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/util-arn-parser": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.188.0.tgz", - "integrity": "sha512-q4nZzt/g3sRY9a3sj1PaNFwql5bXfKSW4fRy0zLdbZHcYdgq2oQfVsJTIlL9lUNjifkXiIsmk61Q16JExtrLyw==", + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.208.0.tgz", + "integrity": "sha512-QV4af+kscova9dv4VuHOgH8wEr/IIYHDGcnyVtkUEqahCejWr1Kuk+SBK0xMwnZY5LSycOtQ8aeqHOn9qOjZtA==", "dependencies": { "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/util-base64-browser": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.188.0.tgz", - "integrity": "sha512-qlH+5NZBLiyKziL335BEPedYxX6j+p7KFRWXvDQox9S+s+gLCayednpK+fteOhBenCcR9fUZOVuAPScy1I8qCg==", + "node_modules/@aws-sdk/util-base64": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64/-/util-base64-3.208.0.tgz", + "integrity": "sha512-PQniZph5A6N7uuEOQi+1hnMz/FSOK/8kMFyFO+4DgA1dZ5pcKcn5wiFwHkcTb/BsgVqQa3Jx0VHNnvhlS8JyTg==", "dependencies": { - "tslib": "^2.3.1" - } - }, - "node_modules/@aws-sdk/util-base64-node": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.188.0.tgz", - "integrity": "sha512-r1dccRsRjKq+OhVRUfqFiW3sGgZBjHbMeHLbrAs9jrOjU2PTQ8PSzAXLvX/9lmp7YjmX17Qvlsg0NCr1tbB9OA==", - "dependencies": { - "@aws-sdk/util-buffer-from": "3.188.0", + "@aws-sdk/util-buffer-from": "3.208.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/util-body-length-browser": { @@ -1360,60 +1594,60 @@ } }, "node_modules/@aws-sdk/util-body-length-node": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.188.0.tgz", - "integrity": "sha512-XwqP3vxk60MKp4YDdvDeCD6BPOiG2e+/Ou4AofZOy5/toB6NKz2pFNibQIUg2+jc7mPMnGnvOW3MQEgSJ+gu/Q==", + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.208.0.tgz", + "integrity": "sha512-3zj50e5g7t/MQf53SsuuSf0hEELzMtD8RX8C76f12OSRo2Bca4FLLYHe0TZbxcfQHom8/hOaeZEyTyMogMglqg==", "dependencies": { "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/util-buffer-from": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.188.0.tgz", - "integrity": "sha512-NX1WXZ8TH20IZb4jPFT2CnLKSqZWddGxtfiWxD9M47YOtq/SSQeR82fhqqVjJn4P8w2F5E28f+Du4ntg/sGcxA==", + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.208.0.tgz", + "integrity": "sha512-7L0XUixNEFcLUGPeBF35enCvB9Xl+K6SQsmbrPk1P3mlV9mguWSDQqbOBwY1Ir0OVbD6H/ZOQU7hI/9RtRI0Zw==", "dependencies": { - "@aws-sdk/is-array-buffer": "3.188.0", + "@aws-sdk/is-array-buffer": "3.201.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/util-config-provider": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.188.0.tgz", - "integrity": "sha512-LBA7tLbi7v4uvbOJhSnjJrxbcRifKK/1ZVK94JTV2MNSCCyNkFotyEI5UWDl10YKriTIUyf7o5cakpiDZ3O4xg==", + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.208.0.tgz", + "integrity": "sha512-DSRqwrERUsT34ug+anlMBIFooBEGwM8GejC7q00Y/9IPrQy50KnG5PW2NiTjuLKNi7pdEOlwTSEocJE15eDZIg==", "dependencies": { "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/util-create-request": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-create-request/-/util-create-request-3.193.0.tgz", - "integrity": "sha512-cEuWTB47dRvqBrHcaJTC+EV2EUbjKujNoa5uPPDV8R/LBTWi68mzlQSxPzRuhYHDbb7nxmEMMgwgKQBbC32J6Q==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-create-request/-/util-create-request-3.215.0.tgz", + "integrity": "sha512-V+f6YYSUHGNWVLQpdTgpbCPgnkXmHtC9uEk/rQjzJAvzAZmqYuPc2hheBSAt7gN6yzLoMeDBmjhZMh79fFZ3UQ==", "dependencies": { - "@aws-sdk/middleware-stack": "3.193.0", - "@aws-sdk/smithy-client": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/middleware-stack": "3.215.0", + "@aws-sdk/smithy-client": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/util-defaults-mode-browser": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.193.0.tgz", - "integrity": "sha512-9riQKFrSJcsNAMnPA/3ltpSxNykeO20klE/UKjxEoD7UWjxLwsPK22UJjFwMRaHoAFcZD0LU/SgPxbC0ktCYCg==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.215.0.tgz", + "integrity": "sha512-MiNfZgB0I4dR8CBxH163W7c9KvE38sgCHNPWopMqSX5ezz7cuCPohCU0XsWd4I7K31PvzuqmKgOiKBAZraQJMA==", "dependencies": { - "@aws-sdk/property-provider": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/property-provider": "3.215.0", + "@aws-sdk/types": "3.215.0", "bowser": "^2.11.0", "tslib": "^2.3.1" }, @@ -1422,15 +1656,15 @@ } }, "node_modules/@aws-sdk/util-defaults-mode-node": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.193.0.tgz", - "integrity": "sha512-occQmckvPRiM4YQIZnulfKKKjykGKWloa5ByGC5gOEGlyeP9zJpfs4zc/M2kArTAt+d2r3wkBtsKe5yKSlVEhA==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.215.0.tgz", + "integrity": "sha512-mSp3R8GljQ+4UT3QMOksQk9L0cWbFLvR7bBmAlt4+GobgTjpRfzFjBP3uwrCqFa3BKDUR3FeJq3qwo+xeY1Krg==", "dependencies": { - "@aws-sdk/config-resolver": "3.193.0", - "@aws-sdk/credential-provider-imds": "3.193.0", - "@aws-sdk/node-config-provider": "3.193.0", - "@aws-sdk/property-provider": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/config-resolver": "3.215.0", + "@aws-sdk/credential-provider-imds": "3.215.0", + "@aws-sdk/node-config-provider": "3.215.0", + "@aws-sdk/property-provider": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { @@ -1438,39 +1672,39 @@ } }, "node_modules/@aws-sdk/util-endpoints": { - "version": "3.194.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.194.0.tgz", - "integrity": "sha512-G+DGC3Zx0GnQpt4DpRmVcCfliNxf3nwBtZ3JIdCptkUZgDEpLYzOfjbf3bUyPTQh+oGHeqfnVAF+rFjTnYql3A==", + "version": "3.216.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.216.0.tgz", + "integrity": "sha512-uHje4H6Qj/z/op8UZoSuvGpEZhz/r+AGY0rCihFo7XjhT4RYVxb2Eb9uHRK/IAeHU4kjHAdpQiWGMSmnT/UacA==", "dependencies": { - "@aws-sdk/types": "3.193.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/util-format-url": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.193.0.tgz", - "integrity": "sha512-GSoH093CXU4RKHTWiVzN8LScdmp8U0aQpEvzMBVsbl+BrzKeD2Q7wyO4iJIIx4phlLZHSGEQw4Zr0D3UPGzMwg==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.215.0.tgz", + "integrity": "sha512-j8X2pIwpSxtS23Za6t36pQjeVe5ouunoMuOj4wdj2uB3Cbf2vvd84J5lF8bUHQA35f5PRqdYtU1KyolQudCXsA==", "dependencies": { - "@aws-sdk/querystring-builder": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/querystring-builder": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/util-hex-encoding": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.188.0.tgz", - "integrity": "sha512-QyWovTtjQ2RYxqVM+STPh65owSqzuXURnfoof778spyX4iQ4z46wOge1YV2ZtwS8w5LWd9eeVvDrLu5POPYOnA==", + "version": "3.201.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.201.0.tgz", + "integrity": "sha512-7t1vR1pVxKx0motd3X9rI3m/xNp78p3sHtP5yo4NP4ARpxyJ0fokBomY8ScaH2D/B+U5o9ARxldJUdMqyBlJcA==", "dependencies": { "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/util-locate-window": { @@ -1485,75 +1719,75 @@ } }, "node_modules/@aws-sdk/util-middleware": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.193.0.tgz", - "integrity": "sha512-+aC6pmkcGgpxaMWCH/FXTsGWl2W342oQGs1OYKGi+W8z9UguXrqamWjdkdMqgunvj9qOEG2KBMKz1FWFFZlUyA==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.215.0.tgz", + "integrity": "sha512-DfHGlFlQCr+T/xhjS36HH8JEThDVB5lg5NZ6x4Cibhyeps9YX/4ovLAIx3B19H34sdWhZi7q6LfslCHLRu2+7Q==", "dependencies": { "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/util-stream-browser": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.193.0.tgz", - "integrity": "sha512-+KaNWRsRiRodQYlGGuYHgjbEa6Qu4fOTrG3NXEBDYIEGH705OCnlLlkvFRWMcDbTPuJN7c4N4jB89KF3c19hsg==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.215.0.tgz", + "integrity": "sha512-UVyCJJ5sCYLVHCW4Lpm8+ae+ISHPHZ/OqAoLbUpehk2RLGP6QhpQOrpJADLXPuB8YuWFMkoLLIVL8VE7mmTPWA==", "dependencies": { - "@aws-sdk/fetch-http-handler": "3.193.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/util-base64-browser": "3.188.0", - "@aws-sdk/util-hex-encoding": "3.188.0", + "@aws-sdk/fetch-http-handler": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/util-base64": "3.208.0", + "@aws-sdk/util-hex-encoding": "3.201.0", "@aws-sdk/util-utf8-browser": "3.188.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/util-stream-node": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-node/-/util-stream-node-3.193.0.tgz", - "integrity": "sha512-XwcXpa1tYuj/0CLVg3C64YT5JDLykc0NrV23mje0hCwBgteG0w6pu5F5M1zXWofSVNOVYERYtmdmUAvx7XPm5w==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-node/-/util-stream-node-3.215.0.tgz", + "integrity": "sha512-7Vyp61P/2dGA9Fzn6uN/KdRd+Z7n8gCGmXBd/dQSrHx3UFIm1TuEmMwROzbWWxPOS6qDWY/dwQgMZH/tq78Llg==", "dependencies": { - "@aws-sdk/node-http-handler": "3.193.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/util-buffer-from": "3.188.0", + "@aws-sdk/node-http-handler": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/util-buffer-from": "3.208.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/util-uri-escape": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.188.0.tgz", - "integrity": "sha512-4Y6AYZMT483Tiuq8dxz5WHIiPNdSFPGrl6tRTo2Oi2FcwypwmFhqgEGcqxeXDUJktvaCBxeA08DLr/AemVhPCg==", + "version": "3.201.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.201.0.tgz", + "integrity": "sha512-TeTWbGx4LU2c5rx0obHeDFeO9HvwYwQtMh1yniBz00pQb6Qt6YVOETVQikRZ+XRQwEyCg/dA375UplIpiy54mA==", "dependencies": { "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.193.0.tgz", - "integrity": "sha512-1EkGYsUtOMEyJG/UBIR4PtmO3lVjKNoUImoMpLtEucoGbWz5RG9zFSwLevjFyFs5roUBFlxkSpTMo8xQ3aRzQg==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.215.0.tgz", + "integrity": "sha512-uZz6BJWr8sJcA+onveS1lFqnbIXBHwvkyHLgCuuGhAxd5yY6YNLhpJBnhy9Fb8/aSbk6yao3qxlokqw9gthmAw==", "dependencies": { - "@aws-sdk/types": "3.193.0", + "@aws-sdk/types": "3.215.0", "bowser": "^2.11.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.193.0.tgz", - "integrity": "sha512-G/2/1cSgsxVtREAm8Eq8Duib5PXzXknFRHuDpAxJ5++lsJMXoYMReS278KgV54cojOkAVfcODDTqmY3Av0WHhQ==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.215.0.tgz", + "integrity": "sha512-4lrdd1oGRwJEwfvgvg1jcJ2O0bwElsvtiqZfTRHN6MNTFUqsKl0xHlgFChQsz3Hfrc1niWtZCmbqQKGdO5ARpw==", "dependencies": { - "@aws-sdk/node-config-provider": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/node-config-provider": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" }, "peerDependencies": { "aws-crt": ">=1.0.0" @@ -1573,39 +1807,39 @@ } }, "node_modules/@aws-sdk/util-utf8-node": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.188.0.tgz", - "integrity": "sha512-hCgP4+C0Lekjpjt2zFJ2R/iHes5sBGljXa5bScOFAEkRUc0Qw0VNgTv7LpEbIOAwGmqyxBoCwBW0YHPW1DfmYQ==", + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.208.0.tgz", + "integrity": "sha512-jKY87Acv0yWBdFxx6bveagy5FYjz+dtV8IPT7ay1E2WPWH1czoIdMAkc8tSInK31T6CRnHWkLZ1qYwCbgRfERQ==", "dependencies": { - "@aws-sdk/util-buffer-from": "3.188.0", + "@aws-sdk/util-buffer-from": "3.208.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/util-waiter": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.193.0.tgz", - "integrity": "sha512-CGdTZqvZHzffaQ2lKYTAhNLssts2W0fFM8079zF6/4uuBmwr8oDxpGKtoaMhI5zfyV1MtEp7P4JzEuH+xJ5oQg==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.215.0.tgz", + "integrity": "sha512-RX/EkRcuDjWKP/5K6XOnbq5cPaO9KSJ5Etotn+z5sPGUJ0xmGWEyFyfXKSL51az32tHcNoGAqboBTFDISB0LyA==", "dependencies": { - "@aws-sdk/abort-controller": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/abort-controller": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/xml-builder": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.188.0.tgz", - "integrity": "sha512-/Hah3gAtrBpEaDInX3eSS0nXw/IUeb+rWiGspXxb5O8bh5kyjQqeu8/sVJQlpOtq4aPDbMDmloH4k696qTqgbw==", + "version": "3.201.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.201.0.tgz", + "integrity": "sha512-brRdB1wwMgjWEnOQsv7zSUhIQuh7DEicrfslAqHop4S4FtSI3GQAShpQqgOpMTNFYcpaWKmE/Y1MJmNY7xLCnw==", "dependencies": { "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@babel/code-frame": { @@ -2101,12 +2335,12 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", - "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", + "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.19.0" }, "engines": { "node": ">=6.9.0" @@ -2173,12 +2407,6 @@ "node": ">=6.9.0" } }, - "node_modules/@balena/dockerignore": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@balena/dockerignore/-/dockerignore-1.0.2.tgz", - "integrity": "sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q==", - "dev": true - }, "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", @@ -2236,105 +2464,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/@graphql-tools/merge": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.3.1.tgz", - "integrity": "sha512-BMm99mqdNZbEYeTPK3it9r9S6rsZsQKtlqJsSBknAclXq2pGEfOxjcIZi+kBSkHZKPKCRrYDd5vY0+rUmIHVLg==", - "dependencies": { - "@graphql-tools/utils": "8.9.0", - "tslib": "^2.4.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/merge/node_modules/@graphql-tools/utils": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.9.0.tgz", - "integrity": "sha512-pjJIWH0XOVnYGXCqej8g/u/tsfV4LvLlj0eATKQu5zwnxd/TiTHq7Cg313qUPTFFHZ3PP5wJ15chYVtLDwaymg==", - "dependencies": { - "tslib": "^2.4.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/mock": { - "version": "8.7.6", - "resolved": "https://registry.npmjs.org/@graphql-tools/mock/-/mock-8.7.6.tgz", - "integrity": "sha512-cQGPyY6dF4x28552zjAg9En2WWVury62u1/xzipCNUSCdKRVOsAupTNBcAGdMjsKPLcGzzk1cPA8dP0DUfNqzg==", - "dependencies": { - "@graphql-tools/schema": "9.0.4", - "@graphql-tools/utils": "8.12.0", - "fast-json-stable-stringify": "^2.1.0", - "tslib": "^2.4.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/mock/node_modules/@graphql-tools/merge": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.3.6.tgz", - "integrity": "sha512-uUBokxXi89bj08P+iCvQk3Vew4vcfL5ZM6NTylWi8PIpoq4r5nJ625bRuN8h2uubEdRiH8ntN9M4xkd/j7AybQ==", - "dependencies": { - "@graphql-tools/utils": "8.12.0", - "tslib": "^2.4.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/mock/node_modules/@graphql-tools/schema": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-9.0.4.tgz", - "integrity": "sha512-B/b8ukjs18fq+/s7p97P8L1VMrwapYc3N2KvdG/uNThSazRRn8GsBK0Nr+FH+mVKiUfb4Dno79e3SumZVoHuOQ==", - "dependencies": { - "@graphql-tools/merge": "8.3.6", - "@graphql-tools/utils": "8.12.0", - "tslib": "^2.4.0", - "value-or-promise": "1.0.11" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/schema": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.5.1.tgz", - "integrity": "sha512-0Esilsh0P/qYcB5DKQpiKeQs/jevzIadNTaT0jeWklPMwNbT7yMX4EqZany7mbeRRlSRwMzNzL5olyFdffHBZg==", - "dependencies": { - "@graphql-tools/merge": "8.3.1", - "@graphql-tools/utils": "8.9.0", - "tslib": "^2.4.0", - "value-or-promise": "1.0.11" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/schema/node_modules/@graphql-tools/utils": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.9.0.tgz", - "integrity": "sha512-pjJIWH0XOVnYGXCqej8g/u/tsfV4LvLlj0eATKQu5zwnxd/TiTHq7Cg313qUPTFFHZ3PP5wJ15chYVtLDwaymg==", - "dependencies": { - "tslib": "^2.4.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/utils": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.12.0.tgz", - "integrity": "sha512-TeO+MJWGXjUTS52qfK4R8HiPoF/R7X+qmgtOYd8DTH0l6b+5Y/tlg5aGeUJefqImRq7nvi93Ms40k/Uz4D5CWw==", - "dependencies": { - "tslib": "^2.4.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, "node_modules/@grpc/grpc-js": { "version": "1.6.7", "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.6.7.tgz", @@ -2472,16 +2601,16 @@ } }, "node_modules/@jest/console": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.2.1.tgz", - "integrity": "sha512-MF8Adcw+WPLZGBiNxn76DOuczG3BhODTcMlDCA4+cFi41OkaY/lyI0XUUhi73F88Y+7IHoGmD80pN5CtxQUdSw==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.3.1.tgz", + "integrity": "sha512-IRE6GD47KwcqA09RIWrabKdHPiKDGgtAL31xDxbi/RjQMsr+lY+ppxmHwY0dUEV3qvvxZzoe5Hl0RXZJOjQNUg==", "dev": true, "dependencies": { - "@jest/types": "^29.2.1", + "@jest/types": "^29.3.1", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^29.2.1", - "jest-util": "^29.2.1", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1", "slash": "^3.0.0" }, "engines": { @@ -2489,16 +2618,16 @@ } }, "node_modules/@jest/core": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.2.2.tgz", - "integrity": "sha512-susVl8o2KYLcZhhkvSB+b7xX575CX3TmSvxfeDjpRko7KmT89rHkXj6XkDkNpSeFMBzIENw5qIchO9HC9Sem+A==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.3.1.tgz", + "integrity": "sha512-0ohVjjRex985w5MmO5L3u5GR1O30DexhBSpuwx2P+9ftyqHdJXnk7IUWiP80oHMvt7ubHCJHxV0a0vlKVuZirw==", "dev": true, "dependencies": { - "@jest/console": "^29.2.1", - "@jest/reporters": "^29.2.2", - "@jest/test-result": "^29.2.1", - "@jest/transform": "^29.2.2", - "@jest/types": "^29.2.1", + "@jest/console": "^29.3.1", + "@jest/reporters": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", @@ -2506,20 +2635,20 @@ "exit": "^0.1.2", "graceful-fs": "^4.2.9", "jest-changed-files": "^29.2.0", - "jest-config": "^29.2.2", - "jest-haste-map": "^29.2.1", - "jest-message-util": "^29.2.1", + "jest-config": "^29.3.1", + "jest-haste-map": "^29.3.1", + "jest-message-util": "^29.3.1", "jest-regex-util": "^29.2.0", - "jest-resolve": "^29.2.2", - "jest-resolve-dependencies": "^29.2.2", - "jest-runner": "^29.2.2", - "jest-runtime": "^29.2.2", - "jest-snapshot": "^29.2.2", - "jest-util": "^29.2.1", - "jest-validate": "^29.2.2", - "jest-watcher": "^29.2.2", + "jest-resolve": "^29.3.1", + "jest-resolve-dependencies": "^29.3.1", + "jest-runner": "^29.3.1", + "jest-runtime": "^29.3.1", + "jest-snapshot": "^29.3.1", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", + "jest-watcher": "^29.3.1", "micromatch": "^4.0.4", - "pretty-format": "^29.2.1", + "pretty-format": "^29.3.1", "slash": "^3.0.0", "strip-ansi": "^6.0.0" }, @@ -2536,37 +2665,37 @@ } }, "node_modules/@jest/environment": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.2.2.tgz", - "integrity": "sha512-OWn+Vhu0I1yxuGBJEFFekMYc8aGBGrY4rt47SOh/IFaI+D7ZHCk7pKRiSoZ2/Ml7b0Ony3ydmEHRx/tEOC7H1A==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.3.1.tgz", + "integrity": "sha512-pMmvfOPmoa1c1QpfFW0nXYtNLpofqo4BrCIk6f2kW4JFeNlHV2t3vd+3iDLf31e2ot2Mec0uqZfmI+U0K2CFag==", "dev": true, "dependencies": { - "@jest/fake-timers": "^29.2.2", - "@jest/types": "^29.2.1", + "@jest/fake-timers": "^29.3.1", + "@jest/types": "^29.3.1", "@types/node": "*", - "jest-mock": "^29.2.2" + "jest-mock": "^29.3.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/expect": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.2.2.tgz", - "integrity": "sha512-zwblIZnrIVt8z/SiEeJ7Q9wKKuB+/GS4yZe9zw7gMqfGf4C5hBLGrVyxu1SzDbVSqyMSlprKl3WL1r80cBNkgg==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.3.1.tgz", + "integrity": "sha512-QivM7GlSHSsIAWzgfyP8dgeExPRZ9BIe2LsdPyEhCGkZkoyA+kGsoIzbKAfZCvvRzfZioKwPtCZIt5SaoxYCvg==", "dev": true, "dependencies": { - "expect": "^29.2.2", - "jest-snapshot": "^29.2.2" + "expect": "^29.3.1", + "jest-snapshot": "^29.3.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/expect-utils": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.2.2.tgz", - "integrity": "sha512-vwnVmrVhTmGgQzyvcpze08br91OL61t9O0lJMDyb6Y/D8EKQ9V7rGUb/p7PDt0GPzK0zFYqXWFo4EO2legXmkg==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.3.1.tgz", + "integrity": "sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g==", "dev": true, "dependencies": { "jest-get-type": "^29.2.0" @@ -2576,48 +2705,48 @@ } }, "node_modules/@jest/fake-timers": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.2.2.tgz", - "integrity": "sha512-nqaW3y2aSyZDl7zQ7t1XogsxeavNpH6kkdq+EpXncIDvAkjvFD7hmhcIs1nWloengEWUoWqkqSA6MSbf9w6DgA==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.3.1.tgz", + "integrity": "sha512-iHTL/XpnDlFki9Tq0Q1GGuVeQ8BHZGIYsvCO5eN/O/oJaRzofG9Xndd9HuSDBI/0ZS79pg0iwn07OMTQ7ngF2A==", "dev": true, "dependencies": { - "@jest/types": "^29.2.1", + "@jest/types": "^29.3.1", "@sinonjs/fake-timers": "^9.1.2", "@types/node": "*", - "jest-message-util": "^29.2.1", - "jest-mock": "^29.2.2", - "jest-util": "^29.2.1" + "jest-message-util": "^29.3.1", + "jest-mock": "^29.3.1", + "jest-util": "^29.3.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/globals": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.2.2.tgz", - "integrity": "sha512-/nt+5YMh65kYcfBhj38B3Hm0Trk4IsuMXNDGKE/swp36yydBWfz3OXkLqkSvoAtPW8IJMSJDFCbTM2oj5SNprw==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.3.1.tgz", + "integrity": "sha512-cTicd134vOcwO59OPaB6AmdHQMCtWOe+/DitpTZVxWgMJ+YvXL1HNAmPyiGbSHmF/mXVBkvlm8YYtQhyHPnV6Q==", "dev": true, "dependencies": { - "@jest/environment": "^29.2.2", - "@jest/expect": "^29.2.2", - "@jest/types": "^29.2.1", - "jest-mock": "^29.2.2" + "@jest/environment": "^29.3.1", + "@jest/expect": "^29.3.1", + "@jest/types": "^29.3.1", + "jest-mock": "^29.3.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/reporters": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.2.2.tgz", - "integrity": "sha512-AzjL2rl2zJC0njIzcooBvjA4sJjvdoq98sDuuNs4aNugtLPSQ+91nysGKRF0uY1to5k0MdGMdOBggUsPqvBcpA==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.3.1.tgz", + "integrity": "sha512-GhBu3YFuDrcAYW/UESz1JphEAbvUjaY2vShRZRoRY1mxpCMB3yGSJ4j9n0GxVlEOdCf7qjvUfBCrTUUqhVfbRA==", "dev": true, "dependencies": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.2.1", - "@jest/test-result": "^29.2.1", - "@jest/transform": "^29.2.2", - "@jest/types": "^29.2.1", + "@jest/console": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", "@jridgewell/trace-mapping": "^0.3.15", "@types/node": "*", "chalk": "^4.0.0", @@ -2630,9 +2759,9 @@ "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.2.1", - "jest-util": "^29.2.1", - "jest-worker": "^29.2.1", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1", + "jest-worker": "^29.3.1", "slash": "^3.0.0", "string-length": "^4.0.1", "strip-ansi": "^6.0.0", @@ -2677,13 +2806,13 @@ } }, "node_modules/@jest/test-result": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.2.1.tgz", - "integrity": "sha512-lS4+H+VkhbX6z64tZP7PAUwPqhwj3kbuEHcaLuaBuB+riyaX7oa1txe0tXgrFj5hRWvZKvqO7LZDlNWeJ7VTPA==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.3.1.tgz", + "integrity": "sha512-qeLa6qc0ddB0kuOZyZIhfN5q0e2htngokyTWsGriedsDhItisW7SDYZ7ceOe57Ii03sL988/03wAcBh3TChMGw==", "dev": true, "dependencies": { - "@jest/console": "^29.2.1", - "@jest/types": "^29.2.1", + "@jest/console": "^29.3.1", + "@jest/types": "^29.3.1", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" }, @@ -2692,14 +2821,14 @@ } }, "node_modules/@jest/test-sequencer": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.2.2.tgz", - "integrity": "sha512-Cuc1znc1pl4v9REgmmLf0jBd3Y65UXJpioGYtMr/JNpQEIGEzkmHhy6W6DLbSsXeUA13TDzymPv0ZGZ9jH3eIw==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.3.1.tgz", + "integrity": "sha512-IqYvLbieTv20ArgKoAMyhLHNrVHJfzO6ARZAbQRlY4UGWfdDnLlZEF0BvKOMd77uIiIjSZRwq3Jb3Fa3I8+2UA==", "dev": true, "dependencies": { - "@jest/test-result": "^29.2.1", + "@jest/test-result": "^29.3.1", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.2.1", + "jest-haste-map": "^29.3.1", "slash": "^3.0.0" }, "engines": { @@ -2707,22 +2836,22 @@ } }, "node_modules/@jest/transform": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.2.2.tgz", - "integrity": "sha512-aPe6rrletyuEIt2axxgdtxljmzH8O/nrov4byy6pDw9S8inIrTV+2PnjyP/oFHMSynzGxJ2s6OHowBNMXp/Jzg==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.3.1.tgz", + "integrity": "sha512-8wmCFBTVGYqFNLWfcOWoVuMuKYPUBTnTMDkdvFtAYELwDOl9RGwOsvQWGPFxDJ8AWY9xM/8xCXdqmPK3+Q5Lug==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", - "@jest/types": "^29.2.1", + "@jest/types": "^29.3.1", "@jridgewell/trace-mapping": "^0.3.15", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", + "convert-source-map": "^2.0.0", "fast-json-stable-stringify": "^2.1.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.2.1", + "jest-haste-map": "^29.3.1", "jest-regex-util": "^29.2.0", - "jest-util": "^29.2.1", + "jest-util": "^29.3.1", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", @@ -2732,10 +2861,16 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/@jest/transform/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, "node_modules/@jest/types": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", - "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.3.1.tgz", + "integrity": "sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -2800,14 +2935,13 @@ } }, "node_modules/@newrelic/apollo-server-plugin": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@newrelic/apollo-server-plugin/-/apollo-server-plugin-2.0.1.tgz", - "integrity": "sha512-2yqsQFAhhWLw66eHA09BCbnWKmAK/vH+QuAA7d6C9XE0zYRao7f1rus+BiKnTnVYE516spW0Udde6m9NvJQvzA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@newrelic/apollo-server-plugin/-/apollo-server-plugin-2.1.0.tgz", + "integrity": "sha512-SQz9xpkwV5hAorFG0X5idSSJqtpyfXlVQWU1WQyrgQogKfWnLSCN+8dcVhV1AN8VMYgmbB1QF32oGOm2EAHKSg==", "engines": { "node": ">=14.0.0" }, "peerDependencies": { - "apollo-server-plugin-base": ">=0.10.1", "newrelic": ">=6.13.0" } }, @@ -2956,9 +3090,9 @@ "dev": true }, "node_modules/@sinonjs/commons": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", - "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.5.tgz", + "integrity": "sha512-rTpCA0wG1wUxglBSFdMMY0oTrKYvgf4fNgv/sXbfCVAdf+FnPBdKJR/7XbpTCwbCrvCbdPYnlWaUUYz4V2fPDA==", "dev": true, "dependencies": { "type-detect": "4.0.8" @@ -2993,23 +3127,6 @@ "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==" }, - "node_modules/@types/accepts": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.5.tgz", - "integrity": "sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/archiver": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-5.3.1.tgz", - "integrity": "sha512-wKYZaSXaDvTZuInAWjCeGG7BEAgTWG2zZW0/f7IYFcoHB2X2d9lkVFnrOlXl3W6NrvO6Ml3FLLu8Uksyymcpnw==", - "dev": true, - "dependencies": { - "@types/glob": "*" - } - }, "node_modules/@types/babel__core": { "version": "7.1.19", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", @@ -3068,31 +3185,6 @@ "@types/node": "*" } }, - "node_modules/@types/cors": { - "version": "2.8.12", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", - "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==" - }, - "node_modules/@types/docker-modem": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/docker-modem/-/docker-modem-3.0.2.tgz", - "integrity": "sha512-qC7prjoEYR2QEe6SmCVfB1x3rfcQtUr1n4x89+3e0wSTMQ/KYCyf+/RAA9n2tllkkNc6//JMUZePdFRiGIWfaQ==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/ssh2": "*" - } - }, - "node_modules/@types/dockerode": { - "version": "3.3.9", - "resolved": "https://registry.npmjs.org/@types/dockerode/-/dockerode-3.3.9.tgz", - "integrity": "sha512-SYRN5FF/qmwpxUT6snJP5D8k0wgoUKOGVs625XvpRJOOUi6s//UYI4F0tbyE3OmzpI70Fo1+aqpzX27zCrInww==", - "dev": true, - "dependencies": { - "@types/docker-modem": "*", - "@types/node": "*" - } - }, "node_modules/@types/express": { "version": "4.17.14", "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz", @@ -3114,16 +3206,6 @@ "@types/range-parser": "*" } }, - "node_modules/@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", - "dev": true, - "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, "node_modules/@types/graceful-fs": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", @@ -3158,9 +3240,9 @@ } }, "node_modules/@types/jest": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.2.0.tgz", - "integrity": "sha512-KO7bPV21d65PKwv3LLsD8Jn3E05pjNjRZvkm+YTacWhVmykAb07wW6IkZUmQAltwQafNcDUEUrMO2h3jeBSisg==", + "version": "29.2.3", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.2.3.tgz", + "integrity": "sha512-6XwoEbmatfyoCjWRX7z0fKMmgYKe9+/HrviJ5k0X/tjJWHGAezZOfYaxqQKuzG/TvQyr+ktjm4jgbk0s4/oF2w==", "dev": true, "dependencies": { "expect": "^29.0.0", @@ -3183,17 +3265,33 @@ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==" }, - "node_modules/@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "dev": true - }, "node_modules/@types/node": { "version": "14.14.37", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.37.tgz", "integrity": "sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw==" }, + "node_modules/@types/node-fetch": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.2.tgz", + "integrity": "sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==", + "dependencies": { + "@types/node": "*", + "form-data": "^3.0.0" + } + }, + "node_modules/@types/node-fetch/node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/@types/prettier": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz", @@ -3211,9 +3309,9 @@ "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" }, "node_modules/@types/semver": { - "version": "7.3.12", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.12.tgz", - "integrity": "sha512-WwA1MW0++RfXmCr12xeYOOC5baSC9mSb0ZqCquFzKhcoF4TvHu5MKOuXsncgZcpVFhB1pXd5hZmM0ryAoCp12A==", + "version": "7.3.13", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", + "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", "dev": true }, "node_modules/@types/serve-static": { @@ -3225,25 +3323,6 @@ "@types/node": "*" } }, - "node_modules/@types/ssh2": { - "version": "0.5.48", - "resolved": "https://registry.npmjs.org/@types/ssh2/-/ssh2-0.5.48.tgz", - "integrity": "sha512-cmQu0gp/6RtDXe1r2xXGgi0V0TeCdueDSRMEvBX8cTRT/sSREkUpgCYZLyh+iI8Ql+VNV8Az9toQoYa/IdgHbQ==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/ssh2-streams": "*" - } - }, - "node_modules/@types/ssh2-streams": { - "version": "0.1.9", - "resolved": "https://registry.npmjs.org/@types/ssh2-streams/-/ssh2-streams-0.1.9.tgz", - "integrity": "sha512-I2J9jKqfmvXLR5GomDiCoHrEJ58hAOmFrekfFqmCFd+A6gaEStvWnPykoWUwld1PNg4G5ag1LwdA+Lz1doRJqg==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/stack-utils": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", @@ -3266,16 +3345,17 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.41.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.41.0.tgz", - "integrity": "sha512-DXUS22Y57/LAFSg3x7Vi6RNAuLpTXwxB9S2nIA7msBb/Zt8p7XqMwdpdc1IU7CkOQUPgAqR5fWvxuKCbneKGmA==", + "version": "5.44.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.44.0.tgz", + "integrity": "sha512-j5ULd7FmmekcyWeArx+i8x7sdRHzAtXTkmDPthE4amxZOWKFK7bomoJ4r7PJ8K7PoMzD16U8MmuZFAonr1ERvw==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.41.0", - "@typescript-eslint/type-utils": "5.41.0", - "@typescript-eslint/utils": "5.41.0", + "@typescript-eslint/scope-manager": "5.44.0", + "@typescript-eslint/type-utils": "5.44.0", + "@typescript-eslint/utils": "5.44.0", "debug": "^4.3.4", "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", "regexpp": "^3.2.0", "semver": "^7.3.7", "tsutils": "^3.21.0" @@ -3313,14 +3393,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.41.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.41.0.tgz", - "integrity": "sha512-HQVfix4+RL5YRWZboMD1pUfFN8MpRH4laziWkkAzyO1fvNOY/uinZcvo3QiFJVS/siNHupV8E5+xSwQZrl6PZA==", + "version": "5.44.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.44.0.tgz", + "integrity": "sha512-H7LCqbZnKqkkgQHaKLGC6KUjt3pjJDx8ETDqmwncyb6PuoigYajyAwBGz08VU/l86dZWZgI4zm5k2VaKqayYyA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.41.0", - "@typescript-eslint/types": "5.41.0", - "@typescript-eslint/typescript-estree": "5.41.0", + "@typescript-eslint/scope-manager": "5.44.0", + "@typescript-eslint/types": "5.44.0", + "@typescript-eslint/typescript-estree": "5.44.0", "debug": "^4.3.4" }, "engines": { @@ -3340,13 +3420,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.41.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.41.0.tgz", - "integrity": "sha512-xOxPJCnuktUkY2xoEZBKXO5DBCugFzjrVndKdUnyQr3+9aDWZReKq9MhaoVnbL+maVwWJu/N0SEtrtEUNb62QQ==", + "version": "5.44.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.44.0.tgz", + "integrity": "sha512-2pKml57KusI0LAhgLKae9kwWeITZ7IsZs77YxyNyIVOwQ1kToyXRaJLl+uDEXzMN5hnobKUOo2gKntK9H1YL8g==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.41.0", - "@typescript-eslint/visitor-keys": "5.41.0" + "@typescript-eslint/types": "5.44.0", + "@typescript-eslint/visitor-keys": "5.44.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -3357,13 +3437,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.41.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.41.0.tgz", - "integrity": "sha512-L30HNvIG6A1Q0R58e4hu4h+fZqaO909UcnnPbwKiN6Rc3BUEx6ez2wgN7aC0cBfcAjZfwkzE+E2PQQ9nEuoqfA==", + "version": "5.44.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.44.0.tgz", + "integrity": "sha512-A1u0Yo5wZxkXPQ7/noGkRhV4J9opcymcr31XQtOzcc5nO/IHN2E2TPMECKWYpM3e6olWEM63fq/BaL1wEYnt/w==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.41.0", - "@typescript-eslint/utils": "5.41.0", + "@typescript-eslint/typescript-estree": "5.44.0", + "@typescript-eslint/utils": "5.44.0", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -3384,9 +3464,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.41.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.41.0.tgz", - "integrity": "sha512-5BejraMXMC+2UjefDvrH0Fo/eLwZRV6859SXRg+FgbhA0R0l6lDqDGAQYhKbXhPN2ofk2kY5sgGyLNL907UXpA==", + "version": "5.44.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.44.0.tgz", + "integrity": "sha512-Tp+zDnHmGk4qKR1l+Y1rBvpjpm5tGXX339eAlRBDg+kgZkz9Bw+pqi4dyseOZMsGuSH69fYfPJCBKBrbPCxYFQ==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -3397,13 +3477,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.41.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.41.0.tgz", - "integrity": "sha512-SlzFYRwFSvswzDSQ/zPkIWcHv8O5y42YUskko9c4ki+fV6HATsTODUPbRbcGDFYP86gaJL5xohUEytvyNNcXWg==", + "version": "5.44.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.44.0.tgz", + "integrity": "sha512-M6Jr+RM7M5zeRj2maSfsZK2660HKAJawv4Ud0xT+yauyvgrsHu276VtXlKDFnEmhG+nVEd0fYZNXGoAgxwDWJw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.41.0", - "@typescript-eslint/visitor-keys": "5.41.0", + "@typescript-eslint/types": "5.44.0", + "@typescript-eslint/visitor-keys": "5.44.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -3439,16 +3519,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.41.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.41.0.tgz", - "integrity": "sha512-QlvfwaN9jaMga9EBazQ+5DDx/4sAdqDkcs05AsQHMaopluVCUyu1bTRUVKzXbgjDlrRAQrYVoi/sXJ9fmG+KLQ==", + "version": "5.44.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.44.0.tgz", + "integrity": "sha512-fMzA8LLQ189gaBjS0MZszw5HBdZgVwxVFShCO3QN+ws3GlPkcy9YuS3U4wkT6su0w+Byjq3mS3uamy9HE4Yfjw==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.41.0", - "@typescript-eslint/types": "5.41.0", - "@typescript-eslint/typescript-estree": "5.41.0", + "@typescript-eslint/scope-manager": "5.44.0", + "@typescript-eslint/types": "5.44.0", + "@typescript-eslint/typescript-estree": "5.44.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0", "semver": "^7.3.7" @@ -3480,12 +3560,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.41.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.41.0.tgz", - "integrity": "sha512-vilqeHj267v8uzzakbm13HkPMl7cbYpKVjgFWZPIOHIJHZtinvypUhJ5xBXfWYg4eFKqztbMMpOgFpT9Gfx4fw==", + "version": "5.44.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.44.0.tgz", + "integrity": "sha512-a48tLG8/4m62gPFbJ27FxwCOqPKxsb8KC3HkmYoq2As/4YyjQl1jDbRr1s63+g4FS/iIehjmN3L5UjmKva1HzQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.41.0", + "@typescript-eslint/types": "5.44.0", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -3643,44 +3723,26 @@ "node": ">=12.0" } }, - "node_modules/apollo-datasource-rest": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-3.7.0.tgz", - "integrity": "sha512-MeORtXZtc9drAvsarAGAUI4GZKoYFVc1OXIvehIZ/6pJrOdKGziGbraos2s/A+u8mpNPfbpk7W6f7uKtmwV0AA==", + "node_modules/apollo-datasource/node_modules/@apollo/utils.keyvaluecache": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@apollo/utils.keyvaluecache/-/utils.keyvaluecache-1.0.1.tgz", + "integrity": "sha512-nLgYLomqjVimEzQ4cdvVQkcryi970NDvcRVPfd0OPeXhBfda38WjBq+WhQFk+czSHrmrSp34YHBxpat0EtiowA==", "dependencies": { - "@apollo/utils.keyvaluecache": "^1.0.1", - "apollo-datasource": "^3.3.2", - "apollo-server-env": "^4.2.1", - "apollo-server-errors": "^3.3.1", - "http-cache-semantics": "^4.1.0" - }, + "@apollo/utils.logger": "^1.0.0", + "lru-cache": "^7.10.1" + } + }, + "node_modules/apollo-datasource/node_modules/@apollo/utils.logger": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@apollo/utils.logger/-/utils.logger-1.0.1.tgz", + "integrity": "sha512-XdlzoY7fYNK4OIcvMD2G94RoFZbzTQaNP0jozmqqMudmaGo2I/2Jx71xlDJ801mWA/mbYRihyaw6KJii7k5RVA==" + }, + "node_modules/apollo-datasource/node_modules/lru-cache": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", "engines": { - "node": ">=12.0" - }, - "peerDependencies": { - "graphql": "^15.3.0 || ^16.0.0" - } - }, - "node_modules/apollo-reporting-protobuf": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/apollo-reporting-protobuf/-/apollo-reporting-protobuf-3.3.3.tgz", - "integrity": "sha512-L3+DdClhLMaRZWVmMbBcwl4Ic77CnEBPXLW53F7hkYhkaZD88ivbCVB1w/x5gunO6ZHrdzhjq0FHmTsBvPo7aQ==", - "dependencies": { - "@apollo/protobufjs": "1.2.6" - } - }, - "node_modules/apollo-server": { - "version": "3.10.3", - "resolved": "https://registry.npmjs.org/apollo-server/-/apollo-server-3.10.3.tgz", - "integrity": "sha512-qWaCVKmMpUmDPiug93kWbqVPt9/T9RwFsPP6cZ4MUF/0X931WrWPpYzyETPUhnVgdPzWbdVcvbXjgyKYc4NB2g==", - "dependencies": { - "@types/express": "4.17.14", - "apollo-server-core": "^3.10.3", - "apollo-server-express": "^3.10.3", - "express": "^4.17.1" - }, - "peerDependencies": { - "graphql": "^15.3.0 || ^16.0.0" + "node": ">=12" } }, "node_modules/apollo-server-caching": { @@ -3694,49 +3756,6 @@ "node": ">=12.0" } }, - "node_modules/apollo-server-core": { - "version": "3.10.3", - "resolved": "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-3.10.3.tgz", - "integrity": "sha512-PiTirlcaszgnJGzSsGui9XWh0KAh0BUW+GvRKN6O0H0qOSXSLmoqqyL83J+u+HaUZGyyiE0+VOkyCcuF+kKbEw==", - "dependencies": { - "@apollo/utils.keyvaluecache": "^1.0.1", - "@apollo/utils.logger": "^1.0.0", - "@apollo/utils.usagereporting": "^1.0.0", - "@apollographql/apollo-tools": "^0.5.3", - "@apollographql/graphql-playground-html": "1.6.29", - "@graphql-tools/mock": "^8.1.2", - "@graphql-tools/schema": "^8.0.0", - "@josephg/resolvable": "^1.0.0", - "apollo-datasource": "^3.3.2", - "apollo-reporting-protobuf": "^3.3.3", - "apollo-server-env": "^4.2.1", - "apollo-server-errors": "^3.3.1", - "apollo-server-plugin-base": "^3.6.3", - "apollo-server-types": "^3.6.3", - "async-retry": "^1.2.1", - "fast-json-stable-stringify": "^2.1.0", - "graphql-tag": "^2.11.0", - "loglevel": "^1.6.8", - "lru-cache": "^6.0.0", - "sha.js": "^2.4.11", - "uuid": "^9.0.0", - "whatwg-mimetype": "^3.0.0" - }, - "engines": { - "node": ">=12.0" - }, - "peerDependencies": { - "graphql": "^15.3.0 || ^16.0.0" - } - }, - "node_modules/apollo-server-core/node_modules/uuid": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", - "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", - "bin": { - "uuid": "dist/bin/uuid" - } - }, "node_modules/apollo-server-env": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/apollo-server-env/-/apollo-server-env-4.2.1.tgz", @@ -3748,142 +3767,6 @@ "node": ">=12.0" } }, - "node_modules/apollo-server-errors": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/apollo-server-errors/-/apollo-server-errors-3.3.1.tgz", - "integrity": "sha512-xnZJ5QWs6FixHICXHxUfm+ZWqqxrNuPlQ+kj5m6RtEgIpekOPssH/SD9gf2B4HuWV0QozorrygwZnux8POvyPA==", - "engines": { - "node": ">=12.0" - }, - "peerDependencies": { - "graphql": "^15.3.0 || ^16.0.0" - } - }, - "node_modules/apollo-server-express": { - "version": "3.10.3", - "resolved": "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-3.10.3.tgz", - "integrity": "sha512-Z8m0r10mX8KlGS3noYeRPcWxWR2hX6NHJicjuwZ62PeTZlrDJF5cwGmXqbUg/sCTPx7Ny//ZEASBTwFFp8DOeQ==", - "dependencies": { - "@types/accepts": "^1.3.5", - "@types/body-parser": "1.19.2", - "@types/cors": "2.8.12", - "@types/express": "4.17.14", - "@types/express-serve-static-core": "4.17.31", - "accepts": "^1.3.5", - "apollo-server-core": "^3.10.3", - "apollo-server-types": "^3.6.3", - "body-parser": "^1.19.0", - "cors": "^2.8.5", - "parseurl": "^1.3.3" - }, - "engines": { - "node": ">=12.0" - }, - "peerDependencies": { - "express": "^4.17.1", - "graphql": "^15.3.0 || ^16.0.0" - } - }, - "node_modules/apollo-server-plugin-base": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/apollo-server-plugin-base/-/apollo-server-plugin-base-3.6.3.tgz", - "integrity": "sha512-/Q0Zx8N8La97faKV0siGHDzfZ56ygN6ovtUpPbr+1GIbNmUzkte3lWW2YV08HmxiRmC2i2OGN80exNJEvbKvNA==", - "dependencies": { - "apollo-server-types": "^3.6.3" - }, - "engines": { - "node": ">=12.0" - }, - "peerDependencies": { - "graphql": "^15.3.0 || ^16.0.0" - } - }, - "node_modules/apollo-server-types": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/apollo-server-types/-/apollo-server-types-3.6.3.tgz", - "integrity": "sha512-+7caNTLdevpWI2dGKSa7CWdyudO3NBuJ3HzcrYxjBei6Bth9YdRUNzPSFmBjlm2baHF0GsrMwLpjO+HStJzm3A==", - "dependencies": { - "@apollo/utils.keyvaluecache": "^1.0.1", - "@apollo/utils.logger": "^1.0.0", - "apollo-reporting-protobuf": "^3.3.3", - "apollo-server-env": "^4.2.1" - }, - "engines": { - "node": ">=12.0" - }, - "peerDependencies": { - "graphql": "^15.3.0 || ^16.0.0" - } - }, - "node_modules/archiver": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.1.tgz", - "integrity": "sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==", - "dev": true, - "dependencies": { - "archiver-utils": "^2.1.0", - "async": "^3.2.3", - "buffer-crc32": "^0.2.1", - "readable-stream": "^3.6.0", - "readdir-glob": "^1.0.0", - "tar-stream": "^2.2.0", - "zip-stream": "^4.1.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/archiver-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", - "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", - "dev": true, - "dependencies": { - "glob": "^7.1.4", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^2.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/archiver-utils/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/archiver-utils/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/archiver-utils/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", @@ -3909,15 +3792,6 @@ "node": ">=8" } }, - "node_modules/asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, "node_modules/asn1.js": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", @@ -3929,23 +3803,6 @@ "safer-buffer": "^2.1.0" } }, - "node_modules/async": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", - "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==", - "dev": true - }, - "node_modules/async-redis": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/async-redis/-/async-redis-2.0.0.tgz", - "integrity": "sha512-cGv40n9h3gpAGMGnX1v5ncgHJ2C3TsRmK6Ekt282jVftiky3v0X13PSfnLoRix9uva7ctb2j9lwA3d2qc4KKTA==", - "dependencies": { - "redis": "3.1.2" - }, - "engines": { - "node": ">=7.6.0" - } - }, "node_modules/async-retry": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz", @@ -3968,9 +3825,9 @@ } }, "node_modules/axios": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.1.3.tgz", - "integrity": "sha512-00tXVRwKx/FZr/IDVFt4C+f9FYairX517WoGCL6dpOntqLkZofjhu43F/Xl44UOpqa+9sLFDrG/XAnFsUYgkDA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.2.0.tgz", + "integrity": "sha512-zT7wZyNYu3N5Bu0wuZ6QccIf93Qk1eV8LOewxgjOZFd2DenOs98cJ7+Y6703d0wkaXGY6/nZd4EweJaHz9uzQw==", "dependencies": { "follow-redirects": "^1.15.0", "form-data": "^4.0.0", @@ -3978,12 +3835,12 @@ } }, "node_modules/babel-jest": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.2.2.tgz", - "integrity": "sha512-kkq2QSDIuvpgfoac3WZ1OOcHsQQDU5xYk2Ql7tLdJ8BVAYbefEXal+NfS45Y5LVZA7cxC8KYcQMObpCt1J025w==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.3.1.tgz", + "integrity": "sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA==", "dev": true, "dependencies": { - "@jest/transform": "^29.2.2", + "@jest/transform": "^29.3.1", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", "babel-preset-jest": "^29.2.0", @@ -4073,21 +3930,6 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true - }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -4096,17 +3938,6 @@ "node": ">=8" } }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, "node_modules/bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", @@ -4227,25 +4058,6 @@ "node-int64": "^0.4.0" } }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "dev": true, - "engines": { - "node": "*" - } - }, "node_modules/buffer-equal-constant-time": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", @@ -4264,15 +4076,6 @@ "node": ">=4" } }, - "node_modules/byline": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", - "integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/bytes": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", @@ -4384,12 +4187,6 @@ "fsevents": "~2.3.2" } }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, "node_modules/ci-info": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.5.0.tgz", @@ -4468,21 +4265,6 @@ "node": "^12.20.0 || >=14" } }, - "node_modules/compress-commons": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz", - "integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==", - "dev": true, - "dependencies": { - "buffer-crc32": "^0.2.13", - "crc32-stream": "^4.0.2", - "normalize-path": "^3.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">= 10" - } - }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -4540,12 +4322,6 @@ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true - }, "node_modules/cors": { "version": "2.8.5", "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", @@ -4558,45 +4334,6 @@ "node": ">= 0.10" } }, - "node_modules/cpu-features": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/cpu-features/-/cpu-features-0.0.2.tgz", - "integrity": "sha512-/2yieBqvMcRj8McNzkycjW2v3OIUOibBfd2dLEJ0nWts8NobAxwiyw9phVNS6oDL8x8tz9F7uNVFEVpJncQpeA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "dependencies": { - "nan": "^2.14.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", - "dev": true, - "bin": { - "crc32": "bin/crc32.njs" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/crc32-stream": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz", - "integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==", - "dev": true, - "dependencies": { - "crc-32": "^1.2.0", - "readable-stream": "^3.4.0" - }, - "engines": { - "node": ">= 10" - } - }, "node_modules/create-require": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", @@ -4631,11 +4368,6 @@ "node": ">= 8" } }, - "node_modules/cssfilter": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz", - "integrity": "sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==" - }, "node_modules/datasource-sql": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/datasource-sql/-/datasource-sql-2.0.1.tgz", @@ -4714,14 +4446,6 @@ "node": ">=0.4.0" } }, - "node_modules/denque": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/denque/-/denque-1.5.0.tgz", - "integrity": "sha512-CYiCSgIF1p6EUByQPlGkKnP1M9g0ZV3qMIrqMqZqdwazygIA/YP2vrbcyl1h/WppKJTdl1F85cXIle+394iDAQ==", - "engines": { - "node": ">=0.10" - } - }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -4757,9 +4481,9 @@ } }, "node_modules/diff-sequences": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.2.0.tgz", - "integrity": "sha512-413SY5JpYeSBZxmenGEmCVQ8mCgtFJF0w9PROdaS6z987XC2Pd2GOKqOITLtMftmyFZqgtCOb/QA7/Z3ZXfzIw==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.3.1.tgz", + "integrity": "sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==", "dev": true, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -4777,58 +4501,6 @@ "node": ">=8" } }, - "node_modules/docker-compose": { - "version": "0.23.17", - "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.23.17.tgz", - "integrity": "sha512-YJV18YoYIcxOdJKeFcCFihE6F4M2NExWM/d4S1ITcS9samHKnNUihz9kjggr0dNtsrbpFNc7/Yzd19DWs+m1xg==", - "dev": true, - "dependencies": { - "yaml": "^1.10.2" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/docker-modem": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-3.0.3.tgz", - "integrity": "sha512-Tgkn2a+yiNP9FoZgMa/D9Wk+D2Db///0KOyKSYZRJa8w4+DzKyzQMkczKSdR/adQ0x46BOpeNkoyEOKjPhCzjw==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "readable-stream": "^3.5.0", - "split-ca": "^1.0.1", - "ssh2": "^1.4.0" - }, - "engines": { - "node": ">= 8.0" - } - }, - "node_modules/dockerode": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-3.3.1.tgz", - "integrity": "sha512-AS2mr8Lp122aa5n6d99HkuTNdRV1wkkhHwBdcnY6V0+28D3DSYwhxAk85/mM9XwD3RMliTxyr63iuvn5ZblFYQ==", - "dev": true, - "dependencies": { - "docker-modem": "^3.0.0", - "tar-fs": "~2.0.1" - }, - "engines": { - "node": ">= 8.0" - } - }, - "node_modules/dockerode/node_modules/tar-fs": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.0.1.tgz", - "integrity": "sha512-6tzWDMeroL87uF/+lin46k+Q+46rAJ0SyPGz7OW7wTgblI273hsBqk2C1j0/xNadNLKDTUL9BukSjB7cwgmlPA==", - "dev": true, - "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.0.0" - } - }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -4902,15 +4574,6 @@ "node": ">= 0.8" } }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "dependencies": { - "once": "^1.4.0" - } - }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -4992,9 +4655,9 @@ } }, "node_modules/eslint": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.26.0.tgz", - "integrity": "sha512-kzJkpaw1Bfwheq4VXUezFriD1GxszX6dUekM7Z3aC2o4hju+tsR/XyTC3RcoSD7jmy9VkPU3+N6YjVU2e96Oyg==", + "version": "8.28.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.28.0.tgz", + "integrity": "sha512-S27Di+EVyMxcHiwDrFzk8dJYAaD+/5SoWKxL1ri/71CRHsnJnRDPNt2Kzj24+MT9FDupf4aqqyqPrvI8MvQ4VQ==", "dev": true, "dependencies": { "@eslint/eslintrc": "^1.3.3", @@ -5348,16 +5011,16 @@ } }, "node_modules/expect": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.2.2.tgz", - "integrity": "sha512-hE09QerxZ5wXiOhqkXy5d2G9ar+EqOyifnCXCpMNu+vZ6DG9TJ6CO2c2kPDSLqERTTWrO7OZj8EkYHQqSd78Yw==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.3.1.tgz", + "integrity": "sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA==", "dev": true, "dependencies": { - "@jest/expect-utils": "^29.2.2", + "@jest/expect-utils": "^29.3.1", "jest-get-type": "^29.2.0", - "jest-matcher-utils": "^29.2.2", - "jest-message-util": "^29.2.1", - "jest-util": "^29.2.1" + "jest-matcher-utils": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -5448,7 +5111,8 @@ "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true }, "node_modules/fast-levenshtein": { "version": "2.0.6", @@ -5632,12 +5296,6 @@ "node": ">= 0.6" } }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true - }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -5721,15 +5379,6 @@ "node": ">=8.0.0" } }, - "node_modules/get-port": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz", - "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -5849,9 +5498,9 @@ } }, "node_modules/graphql-scalars": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/graphql-scalars/-/graphql-scalars-1.20.0.tgz", - "integrity": "sha512-1KV9Uyr64bbBlmtNzn/vp5mp1+Cob8jG7AKF7RLsKq50ocV6yNhW3+pVvh5jJs1np5Wh+Wg9bDapwQ7q2saS6A==", + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/graphql-scalars/-/graphql-scalars-1.20.1.tgz", + "integrity": "sha512-HCSosMh8l/DVYL3/wCesnZOb+gbiaO/XlZQEIKOkWDJUGBrc15xWAs5TCQVmrycT0tbEInii+J8eoOyMwxx8zg==", "dependencies": { "tslib": "~2.4.0" }, @@ -5862,20 +5511,6 @@ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" } }, - "node_modules/graphql-tag": { - "version": "2.12.6", - "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz", - "integrity": "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==", - "dependencies": { - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" - } - }, "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -6016,12 +5651,6 @@ "node": ">=0.10.0" } }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true - }, "node_modules/ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", @@ -6375,28 +6004,12 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, - "node_modules/isomorphic-fetch": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz", - "integrity": "sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==", - "dev": true, - "dependencies": { - "node-fetch": "^2.6.1", - "whatwg-fetch": "^3.4.1" - } - }, "node_modules/istanbul-lib-coverage": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", @@ -6494,15 +6107,15 @@ } }, "node_modules/jest": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.2.2.tgz", - "integrity": "sha512-r+0zCN9kUqoON6IjDdjbrsWobXM/09Nd45kIPRD8kloaRh1z5ZCMdVsgLXGxmlL7UpAJsvCYOQNO+NjvG/gqiQ==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.3.1.tgz", + "integrity": "sha512-6iWfL5DTT0Np6UYs/y5Niu7WIfNv/wRTtN5RSXt2DIEft3dx3zPuw/3WJQBCJfmEzvDiEKwoqMbGD9n49+qLSA==", "dev": true, "dependencies": { - "@jest/core": "^29.2.2", - "@jest/types": "^29.2.1", + "@jest/core": "^29.3.1", + "@jest/types": "^29.3.1", "import-local": "^3.0.2", - "jest-cli": "^29.2.2" + "jest-cli": "^29.3.1" }, "bin": { "jest": "bin/jest.js" @@ -6533,28 +6146,28 @@ } }, "node_modules/jest-circus": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.2.2.tgz", - "integrity": "sha512-upSdWxx+Mh4DV7oueuZndJ1NVdgtTsqM4YgywHEx05UMH5nxxA2Qu9T9T9XVuR021XxqSoaKvSmmpAbjwwwxMw==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.3.1.tgz", + "integrity": "sha512-wpr26sEvwb3qQQbdlmei+gzp6yoSSoSL6GsLPxnuayZSMrSd5Ka7IjAvatpIernBvT2+Ic6RLTg+jSebScmasg==", "dev": true, "dependencies": { - "@jest/environment": "^29.2.2", - "@jest/expect": "^29.2.2", - "@jest/test-result": "^29.2.1", - "@jest/types": "^29.2.1", + "@jest/environment": "^29.3.1", + "@jest/expect": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/types": "^29.3.1", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^0.7.0", "is-generator-fn": "^2.0.0", - "jest-each": "^29.2.1", - "jest-matcher-utils": "^29.2.2", - "jest-message-util": "^29.2.1", - "jest-runtime": "^29.2.2", - "jest-snapshot": "^29.2.2", - "jest-util": "^29.2.1", + "jest-each": "^29.3.1", + "jest-matcher-utils": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-runtime": "^29.3.1", + "jest-snapshot": "^29.3.1", + "jest-util": "^29.3.1", "p-limit": "^3.1.0", - "pretty-format": "^29.2.1", + "pretty-format": "^29.3.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -6563,21 +6176,21 @@ } }, "node_modules/jest-cli": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.2.2.tgz", - "integrity": "sha512-R45ygnnb2CQOfd8rTPFR+/fls0d+1zXS6JPYTBBrnLPrhr58SSuPTiA5Tplv8/PXpz4zXR/AYNxmwIj6J6nrvg==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.3.1.tgz", + "integrity": "sha512-TO/ewvwyvPOiBBuWZ0gm04z3WWP8TIK8acgPzE4IxgsLKQgb377NYGrQLc3Wl/7ndWzIH2CDNNsUjGxwLL43VQ==", "dev": true, "dependencies": { - "@jest/core": "^29.2.2", - "@jest/test-result": "^29.2.1", - "@jest/types": "^29.2.1", + "@jest/core": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/types": "^29.3.1", "chalk": "^4.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", "import-local": "^3.0.2", - "jest-config": "^29.2.2", - "jest-util": "^29.2.1", - "jest-validate": "^29.2.2", + "jest-config": "^29.3.1", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", "prompts": "^2.0.1", "yargs": "^17.3.1" }, @@ -6597,31 +6210,31 @@ } }, "node_modules/jest-config": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.2.2.tgz", - "integrity": "sha512-Q0JX54a5g1lP63keRfKR8EuC7n7wwny2HoTRDb8cx78IwQOiaYUVZAdjViY3WcTxpR02rPUpvNVmZ1fkIlZPcw==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.3.1.tgz", + "integrity": "sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.2.2", - "@jest/types": "^29.2.1", - "babel-jest": "^29.2.2", + "@jest/test-sequencer": "^29.3.1", + "@jest/types": "^29.3.1", + "babel-jest": "^29.3.1", "chalk": "^4.0.0", "ci-info": "^3.2.0", "deepmerge": "^4.2.2", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-circus": "^29.2.2", - "jest-environment-node": "^29.2.2", + "jest-circus": "^29.3.1", + "jest-environment-node": "^29.3.1", "jest-get-type": "^29.2.0", "jest-regex-util": "^29.2.0", - "jest-resolve": "^29.2.2", - "jest-runner": "^29.2.2", - "jest-util": "^29.2.1", - "jest-validate": "^29.2.2", + "jest-resolve": "^29.3.1", + "jest-runner": "^29.3.1", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", "micromatch": "^4.0.4", "parse-json": "^5.2.0", - "pretty-format": "^29.2.1", + "pretty-format": "^29.3.1", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" }, @@ -6642,15 +6255,15 @@ } }, "node_modules/jest-diff": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.2.1.tgz", - "integrity": "sha512-gfh/SMNlQmP3MOUgdzxPOd4XETDJifADpT937fN1iUGz+9DgOu2eUPHH25JDkLVcLwwqxv3GzVyK4VBUr9fjfA==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.3.1.tgz", + "integrity": "sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "diff-sequences": "^29.2.0", + "diff-sequences": "^29.3.1", "jest-get-type": "^29.2.0", - "pretty-format": "^29.2.1" + "pretty-format": "^29.3.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -6669,33 +6282,33 @@ } }, "node_modules/jest-each": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.2.1.tgz", - "integrity": "sha512-sGP86H/CpWHMyK3qGIGFCgP6mt+o5tu9qG4+tobl0LNdgny0aitLXs9/EBacLy3Bwqy+v4uXClqJgASJWcruYw==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.3.1.tgz", + "integrity": "sha512-qrZH7PmFB9rEzCSl00BWjZYuS1BSOH8lLuC0azQE9lQrAx3PWGKHTDudQiOSwIy5dGAJh7KA0ScYlCP7JxvFYA==", "dev": true, "dependencies": { - "@jest/types": "^29.2.1", + "@jest/types": "^29.3.1", "chalk": "^4.0.0", "jest-get-type": "^29.2.0", - "jest-util": "^29.2.1", - "pretty-format": "^29.2.1" + "jest-util": "^29.3.1", + "pretty-format": "^29.3.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-environment-node": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.2.2.tgz", - "integrity": "sha512-B7qDxQjkIakQf+YyrqV5dICNs7tlCO55WJ4OMSXsqz1lpI/0PmeuXdx2F7eU8rnPbRkUR/fItSSUh0jvE2y/tw==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.3.1.tgz", + "integrity": "sha512-xm2THL18Xf5sIHoU7OThBPtuH6Lerd+Y1NLYiZJlkE3hbE+7N7r8uvHIl/FkZ5ymKXJe/11SQuf3fv4v6rUMag==", "dev": true, "dependencies": { - "@jest/environment": "^29.2.2", - "@jest/fake-timers": "^29.2.2", - "@jest/types": "^29.2.1", + "@jest/environment": "^29.3.1", + "@jest/fake-timers": "^29.3.1", + "@jest/types": "^29.3.1", "@types/node": "*", - "jest-mock": "^29.2.2", - "jest-util": "^29.2.1" + "jest-mock": "^29.3.1", + "jest-util": "^29.3.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -6711,20 +6324,20 @@ } }, "node_modules/jest-haste-map": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.2.1.tgz", - "integrity": "sha512-wF460rAFmYc6ARcCFNw4MbGYQjYkvjovb9GBT+W10Um8q5nHq98jD6fHZMDMO3tA56S8XnmNkM8GcA8diSZfnA==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.3.1.tgz", + "integrity": "sha512-/FFtvoG1xjbbPXQLFef+WSU4yrc0fc0Dds6aRPBojUid7qlPqZvxdUBA03HW0fnVHXVCnCdkuoghYItKNzc/0A==", "dev": true, "dependencies": { - "@jest/types": "^29.2.1", + "@jest/types": "^29.3.1", "@types/graceful-fs": "^4.1.3", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "graceful-fs": "^4.2.9", "jest-regex-util": "^29.2.0", - "jest-util": "^29.2.1", - "jest-worker": "^29.2.1", + "jest-util": "^29.3.1", + "jest-worker": "^29.3.1", "micromatch": "^4.0.4", "walker": "^1.0.8" }, @@ -6736,46 +6349,46 @@ } }, "node_modules/jest-leak-detector": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.2.1.tgz", - "integrity": "sha512-1YvSqYoiurxKOJtySc+CGVmw/e1v4yNY27BjWTVzp0aTduQeA7pdieLiW05wTYG/twlKOp2xS/pWuikQEmklug==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.3.1.tgz", + "integrity": "sha512-3DA/VVXj4zFOPagGkuqHnSQf1GZBmmlagpguxEERO6Pla2g84Q1MaVIB3YMxgUaFIaYag8ZnTyQgiZ35YEqAQA==", "dev": true, "dependencies": { "jest-get-type": "^29.2.0", - "pretty-format": "^29.2.1" + "pretty-format": "^29.3.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-matcher-utils": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.2.2.tgz", - "integrity": "sha512-4DkJ1sDPT+UX2MR7Y3od6KtvRi9Im1ZGLGgdLFLm4lPexbTaCgJW5NN3IOXlQHF7NSHY/VHhflQ+WoKtD/vyCw==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz", + "integrity": "sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "jest-diff": "^29.2.1", + "jest-diff": "^29.3.1", "jest-get-type": "^29.2.0", - "pretty-format": "^29.2.1" + "pretty-format": "^29.3.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-message-util": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.1.tgz", - "integrity": "sha512-Dx5nEjw9V8C1/Yj10S/8ivA8F439VS8vTq1L7hEgwHFn9ovSKNpYW/kwNh7UglaEgXO42XxzKJB+2x0nSglFVw==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.3.1.tgz", + "integrity": "sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.2.1", + "@jest/types": "^29.3.1", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.2.1", + "pretty-format": "^29.3.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -6784,23 +6397,23 @@ } }, "node_modules/jest-mock": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.2.2.tgz", - "integrity": "sha512-1leySQxNAnivvbcx0sCB37itu8f4OX2S/+gxLAV4Z62shT4r4dTG9tACDywUAEZoLSr36aYUTsVp3WKwWt4PMQ==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.3.1.tgz", + "integrity": "sha512-H8/qFDtDVMFvFP4X8NuOT3XRDzOUTz+FeACjufHzsOIBAxivLqkB1PoLCaJx9iPPQ8dZThHPp/G3WRWyMgA3JA==", "dev": true, "dependencies": { - "@jest/types": "^29.2.1", + "@jest/types": "^29.3.1", "@types/node": "*", - "jest-util": "^29.2.1" + "jest-util": "^29.3.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, "engines": { "node": ">=6" @@ -6824,17 +6437,17 @@ } }, "node_modules/jest-resolve": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.2.2.tgz", - "integrity": "sha512-3gaLpiC3kr14rJR3w7vWh0CBX2QAhfpfiQTwrFPvVrcHe5VUBtIXaR004aWE/X9B2CFrITOQAp5gxLONGrk6GA==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.3.1.tgz", + "integrity": "sha512-amXJgH/Ng712w3Uz5gqzFBBjxV8WFLSmNjoreBGMqxgCz5cH7swmBZzgBaCIOsvb0NbpJ0vgaSFdJqMdT+rADw==", "dev": true, "dependencies": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.2.1", + "jest-haste-map": "^29.3.1", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.2.1", - "jest-validate": "^29.2.2", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", "resolve": "^1.20.0", "resolve.exports": "^1.1.0", "slash": "^3.0.0" @@ -6844,43 +6457,43 @@ } }, "node_modules/jest-resolve-dependencies": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.2.2.tgz", - "integrity": "sha512-wWOmgbkbIC2NmFsq8Lb+3EkHuW5oZfctffTGvwsA4JcJ1IRk8b2tg+hz44f0lngvRTeHvp3Kyix9ACgudHH9aQ==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.3.1.tgz", + "integrity": "sha512-Vk0cYq0byRw2WluNmNWGqPeRnZ3p3hHmjJMp2dyyZeYIfiBskwq4rpiuGFR6QGAdbj58WC7HN4hQHjf2mpvrLA==", "dev": true, "dependencies": { "jest-regex-util": "^29.2.0", - "jest-snapshot": "^29.2.2" + "jest-snapshot": "^29.3.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runner": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.2.2.tgz", - "integrity": "sha512-1CpUxXDrbsfy9Hr9/1zCUUhT813kGGK//58HeIw/t8fa/DmkecEwZSWlb1N/xDKXg3uCFHQp1GCvlSClfImMxg==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.3.1.tgz", + "integrity": "sha512-oFvcwRNrKMtE6u9+AQPMATxFcTySyKfLhvso7Sdk/rNpbhg4g2GAGCopiInk1OP4q6gz3n6MajW4+fnHWlU3bA==", "dev": true, "dependencies": { - "@jest/console": "^29.2.1", - "@jest/environment": "^29.2.2", - "@jest/test-result": "^29.2.1", - "@jest/transform": "^29.2.2", - "@jest/types": "^29.2.1", + "@jest/console": "^29.3.1", + "@jest/environment": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", "@types/node": "*", "chalk": "^4.0.0", "emittery": "^0.13.1", "graceful-fs": "^4.2.9", "jest-docblock": "^29.2.0", - "jest-environment-node": "^29.2.2", - "jest-haste-map": "^29.2.1", - "jest-leak-detector": "^29.2.1", - "jest-message-util": "^29.2.1", - "jest-resolve": "^29.2.2", - "jest-runtime": "^29.2.2", - "jest-util": "^29.2.1", - "jest-watcher": "^29.2.2", - "jest-worker": "^29.2.1", + "jest-environment-node": "^29.3.1", + "jest-haste-map": "^29.3.1", + "jest-leak-detector": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-resolve": "^29.3.1", + "jest-runtime": "^29.3.1", + "jest-util": "^29.3.1", + "jest-watcher": "^29.3.1", + "jest-worker": "^29.3.1", "p-limit": "^3.1.0", "source-map-support": "0.5.13" }, @@ -6889,31 +6502,31 @@ } }, "node_modules/jest-runtime": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.2.2.tgz", - "integrity": "sha512-TpR1V6zRdLynckKDIQaY41od4o0xWL+KOPUCZvJK2bu5P1UXhjobt5nJ2ICNeIxgyj9NGkO0aWgDqYPVhDNKjA==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.3.1.tgz", + "integrity": "sha512-jLzkIxIqXwBEOZx7wx9OO9sxoZmgT2NhmQKzHQm1xwR1kNW/dn0OjxR424VwHHf1SPN6Qwlb5pp1oGCeFTQ62A==", "dev": true, "dependencies": { - "@jest/environment": "^29.2.2", - "@jest/fake-timers": "^29.2.2", - "@jest/globals": "^29.2.2", + "@jest/environment": "^29.3.1", + "@jest/fake-timers": "^29.3.1", + "@jest/globals": "^29.3.1", "@jest/source-map": "^29.2.0", - "@jest/test-result": "^29.2.1", - "@jest/transform": "^29.2.2", - "@jest/types": "^29.2.1", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", "@types/node": "*", "chalk": "^4.0.0", "cjs-module-lexer": "^1.0.0", "collect-v8-coverage": "^1.0.0", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.2.1", - "jest-message-util": "^29.2.1", - "jest-mock": "^29.2.2", + "jest-haste-map": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-mock": "^29.3.1", "jest-regex-util": "^29.2.0", - "jest-resolve": "^29.2.2", - "jest-snapshot": "^29.2.2", - "jest-util": "^29.2.1", + "jest-resolve": "^29.3.1", + "jest-snapshot": "^29.3.1", + "jest-util": "^29.3.1", "slash": "^3.0.0", "strip-bom": "^4.0.0" }, @@ -6922,9 +6535,9 @@ } }, "node_modules/jest-snapshot": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.2.2.tgz", - "integrity": "sha512-GfKJrpZ5SMqhli3NJ+mOspDqtZfJBryGA8RIBxF+G+WbDoC7HCqKaeAss4Z/Sab6bAW11ffasx8/vGsj83jyjA==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.3.1.tgz", + "integrity": "sha512-+3JOc+s28upYLI2OJM4PWRGK9AgpsMs/ekNryUV0yMBClT9B1DF2u2qay8YxcQd338PPYSFNb0lsar1B49sLDA==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", @@ -6933,23 +6546,23 @@ "@babel/plugin-syntax-typescript": "^7.7.2", "@babel/traverse": "^7.7.2", "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.2.2", - "@jest/transform": "^29.2.2", - "@jest/types": "^29.2.1", + "@jest/expect-utils": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", "@types/babel__traverse": "^7.0.6", "@types/prettier": "^2.1.5", "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^29.2.2", + "expect": "^29.3.1", "graceful-fs": "^4.2.9", - "jest-diff": "^29.2.1", + "jest-diff": "^29.3.1", "jest-get-type": "^29.2.0", - "jest-haste-map": "^29.2.1", - "jest-matcher-utils": "^29.2.2", - "jest-message-util": "^29.2.1", - "jest-util": "^29.2.1", + "jest-haste-map": "^29.3.1", + "jest-matcher-utils": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1", "natural-compare": "^1.4.0", - "pretty-format": "^29.2.1", + "pretty-format": "^29.3.1", "semver": "^7.3.5" }, "engines": { @@ -6972,12 +6585,12 @@ } }, "node_modules/jest-util": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", - "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.3.1.tgz", + "integrity": "sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ==", "dev": true, "dependencies": { - "@jest/types": "^29.2.1", + "@jest/types": "^29.3.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -6989,17 +6602,17 @@ } }, "node_modules/jest-validate": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.2.2.tgz", - "integrity": "sha512-eJXATaKaSnOuxNfs8CLHgdABFgUrd0TtWS8QckiJ4L/QVDF4KVbZFBBOwCBZHOS0Rc5fOxqngXeGXE3nGQkpQA==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.3.1.tgz", + "integrity": "sha512-N9Lr3oYR2Mpzuelp1F8negJR3YE+L1ebk1rYA5qYo9TTY3f9OWdptLoNSPP9itOCBIRBqjt/S5XHlzYglLN67g==", "dev": true, "dependencies": { - "@jest/types": "^29.2.1", + "@jest/types": "^29.3.1", "camelcase": "^6.2.0", "chalk": "^4.0.0", "jest-get-type": "^29.2.0", "leven": "^3.1.0", - "pretty-format": "^29.2.1" + "pretty-format": "^29.3.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -7018,18 +6631,18 @@ } }, "node_modules/jest-watcher": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.2.2.tgz", - "integrity": "sha512-j2otfqh7mOvMgN2WlJ0n7gIx9XCMWntheYGlBK7+5g3b1Su13/UAK7pdKGyd4kDlrLwtH2QPvRv5oNIxWvsJ1w==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.3.1.tgz", + "integrity": "sha512-RspXG2BQFDsZSRKGCT/NiNa8RkQ1iKAjrO0//soTMWx/QUt+OcxMqMSBxz23PYGqUuWm2+m2mNNsmj0eIoOaFg==", "dev": true, "dependencies": { - "@jest/test-result": "^29.2.1", - "@jest/types": "^29.2.1", + "@jest/test-result": "^29.3.1", + "@jest/types": "^29.3.1", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "emittery": "^0.13.1", - "jest-util": "^29.2.1", + "jest-util": "^29.3.1", "string-length": "^4.0.1" }, "engines": { @@ -7037,13 +6650,13 @@ } }, "node_modules/jest-worker": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.2.1.tgz", - "integrity": "sha512-ROHTZ+oj7sBrgtv46zZ84uWky71AoYi0vEV9CdEtc1FQunsoAGe5HbQmW76nI5QWdvECVPrSi1MCVUmizSavMg==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.3.1.tgz", + "integrity": "sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw==", "dev": true, "dependencies": { "@types/node": "*", - "jest-util": "^29.2.1", + "jest-util": "^29.3.1", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, @@ -7282,48 +6895,6 @@ "node": ">=8" } }, - "node_modules/lazystream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", - "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", - "dev": true, - "dependencies": { - "readable-stream": "^2.0.5" - }, - "engines": { - "node": ">= 0.6.3" - } - }, - "node_modules/lazystream/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/lazystream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/lazystream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -7374,24 +6945,6 @@ "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" }, - "node_modules/lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=", - "dev": true - }, - "node_modules/lodash.difference": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", - "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=", - "dev": true - }, - "node_modules/lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", - "dev": true - }, "node_modules/lodash.includes": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", @@ -7444,12 +6997,6 @@ "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" }, - "node_modules/lodash.union": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", - "integrity": "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=", - "dev": true - }, "node_modules/logform": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/logform/-/logform-2.4.2.tgz", @@ -7637,24 +7184,6 @@ "node": "*" } }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", - "dev": true - }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -7672,6 +7201,12 @@ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, "node_modules/negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", @@ -7681,9 +7216,9 @@ } }, "node_modules/newrelic": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/newrelic/-/newrelic-9.4.0.tgz", - "integrity": "sha512-Z7bwyf0y1FbBPfUgo6QaZwjot3OZBTq/p0SONyD/p/HaS7QxPS8tCXHPFkXFG2xg6ITGf4TVgNLvNfQx7FPdWA==", + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/newrelic/-/newrelic-9.7.0.tgz", + "integrity": "sha512-m8+1eLwSyStF3c5Or5qpnXaPfEyg90eIN8t4PzJU/tJ1Xlj9pSg6VZgRjPfmbwtkt7+n+Girg5iXPC0/lTARjA==", "dependencies": { "@grpc/grpc-js": "^1.5.5", "@grpc/proto-loader": "^0.6.13", @@ -7709,6 +7244,11 @@ "@newrelic/native-metrics": "^9.0.0" } }, + "node_modules/node-abort-controller": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.0.1.tgz", + "integrity": "sha512-/ujIVxthRs+7q6hsdjHMaj8hRG9NuWmwrz+JdRwZ14jdFoKSkm+vDsCbF9PLpnSqjaWQJuTmVtcWHNLr+vrOFw==" + }, "node_modules/node-fetch": { "version": "2.6.7", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", @@ -8085,17 +7625,6 @@ "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz", "integrity": "sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==" }, - "node_modules/pg-hstore": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/pg-hstore/-/pg-hstore-2.3.4.tgz", - "integrity": "sha512-N3SGs/Rf+xA1M2/n0JBiXFDVMzdekwLZLAO0g7mpDY9ouX+fDI7jS6kTq3JujmYbtNSJ53TJ0q4G98KVZSM4EA==", - "dependencies": { - "underscore": "^1.13.1" - }, - "engines": { - "node": ">= 0.8.x" - } - }, "node_modules/pg-int8": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", @@ -8223,9 +7752,9 @@ } }, "node_modules/prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.0.tgz", + "integrity": "sha512-9Lmg8hTFZKG0Asr/kW9Bp8tJjRVluO8EJQVfY2T7FMw9T5jy4I/Uvx0Rca/XWf50QQ1/SS48+6IJWnrb+2yemA==", "bin": { "prettier": "bin-prettier.js" }, @@ -8249,9 +7778,9 @@ } }, "node_modules/pretty-format": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", - "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz", + "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -8274,12 +7803,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, "node_modules/prompts": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", @@ -8293,18 +7816,6 @@ "node": ">= 6" } }, - "node_modules/properties-reader": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/properties-reader/-/properties-reader-2.2.0.tgz", - "integrity": "sha512-CgVcr8MwGoBKK24r9TwHfZkLLaNFHQ6y4wgT9w/XzdpacOOi5ciH4hcuLechSDAwXsfrGQtI2JTutY2djOx2Ow==", - "dev": true, - "dependencies": { - "mkdirp": "^1.0.4" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/protobufjs": { "version": "6.11.3", "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz", @@ -8352,16 +7863,6 @@ "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==" }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, "node_modules/punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", @@ -8446,15 +7947,6 @@ "node": ">= 6" } }, - "node_modules/readdir-glob": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.1.tgz", - "integrity": "sha512-91/k1EzZwDx6HbERR+zucygRFfiPl2zkIYZtv3Jjr6Mn7SkKcVct8aVO+sSRiGMc6fLf72du3d92/uY63YPdEA==", - "dev": true, - "dependencies": { - "minimatch": "^3.0.4" - } - }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -8477,44 +7969,6 @@ "node": ">= 10.13.0" } }, - "node_modules/redis": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/redis/-/redis-3.1.2.tgz", - "integrity": "sha512-grn5KoZLr/qrRQVwoSkmzdbw6pwF+/rwODtrOr6vuBRiR/f3rjSTGupbF90Zpqm2oenix8Do6RV7pYEkGwlKkw==", - "dependencies": { - "denque": "^1.5.0", - "redis-commands": "^1.7.0", - "redis-errors": "^1.2.0", - "redis-parser": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/redis-commands": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.7.0.tgz", - "integrity": "sha512-nJWqw3bTFy21hX/CPKHth6sfhZbdiHP6bTawSgQBlKOVRG7EZkfHbbHwQJnrE4vsQf0CMNE+3gJ4Fmm16vdVlQ==" - }, - "node_modules/redis-errors": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz", - "integrity": "sha1-62LSrbFeTq9GEMBK/hUpOEJQq60=", - "engines": { - "node": ">=4" - } - }, - "node_modules/redis-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz", - "integrity": "sha1-tm2CjNyv5rS4pCin3vTGvKwxyLQ=", - "dependencies": { - "redis-errors": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/regexp.prototype.flags": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", @@ -8855,12 +8309,6 @@ "source-map": "^0.6.0" } }, - "node_modules/split-ca": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", - "integrity": "sha1-bIOv82kvphJW4M0ZfgXp3hV2kaY=", - "dev": true - }, "node_modules/split2": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", @@ -8875,34 +8323,6 @@ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, - "node_modules/ssh-remote-port-forward": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/ssh-remote-port-forward/-/ssh-remote-port-forward-1.0.4.tgz", - "integrity": "sha512-x0LV1eVDwjf1gmG7TTnfqIzf+3VPRz7vrNIjX6oYLbeCrf/PeVY6hkT68Mg+q02qXxQhrLjB0jfgvhevoCRmLQ==", - "dev": true, - "dependencies": { - "@types/ssh2": "^0.5.48", - "ssh2": "^1.4.0" - } - }, - "node_modules/ssh2": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/ssh2/-/ssh2-1.5.0.tgz", - "integrity": "sha512-iUmRkhH9KGeszQwDW7YyyqjsMTf4z+0o48Cp4xOwlY5LjtbIAvyd3fwnsoUZW/hXmTCRA3yt7S/Jb9uVjErVlA==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "asn1": "^0.2.4", - "bcrypt-pbkdf": "^1.0.2" - }, - "engines": { - "node": ">=10.16.0" - }, - "optionalDependencies": { - "cpu-features": "0.0.2", - "nan": "^2.15.0" - } - }, "node_modules/stack-utils": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", @@ -9082,34 +8502,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "dev": true, - "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dev": true, - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/tarn": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/tarn/-/tarn-3.0.2.tgz", @@ -9132,26 +8524,6 @@ "node": ">=8" } }, - "node_modules/testcontainers": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/testcontainers/-/testcontainers-8.16.0.tgz", - "integrity": "sha512-4wVmnzj4mAVXSQ8kU4uyNiXPs5W8UHdwCRbUuyeOSSODcgmDGQ8Te/YOYuF12HnxyzABEm1nR2I0ZCsQw/GZ/Q==", - "dev": true, - "dependencies": { - "@balena/dockerignore": "^1.0.2", - "@types/archiver": "^5.3.1", - "@types/dockerode": "^3.3.8", - "archiver": "^5.3.1", - "byline": "^5.0.0", - "debug": "^4.3.4", - "docker-compose": "^0.23.17", - "dockerode": "^3.3.1", - "get-port": "^5.1.1", - "properties-reader": "^2.2.0", - "ssh-remote-port-forward": "^1.0.4", - "tar-fs": "^2.1.1" - } - }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -9351,12 +8723,6 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -9408,9 +8774,9 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, "node_modules/typescript": { - "version": "4.8.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", - "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", + "version": "4.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.3.tgz", + "integrity": "sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -9438,11 +8804,6 @@ "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==" }, - "node_modules/underscore": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz", - "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==" - }, "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -9538,14 +8899,6 @@ "node": ">=10.12.0" } }, - "node_modules/validator": { - "version": "13.7.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz", - "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==", - "engines": { - "node": ">= 0.10" - } - }, "node_modules/value-or-promise": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/value-or-promise/-/value-or-promise-1.0.11.tgz", @@ -9571,12 +8924,6 @@ "makeerror": "1.0.12" } }, - "node_modules/whatwg-fetch": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz", - "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==", - "dev": true - }, "node_modules/whatwg-mimetype": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", @@ -9671,26 +9018,6 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/xss": { - "version": "1.0.14", - "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.14.tgz", - "integrity": "sha512-og7TEJhXvn1a7kzZGQ7ETjdQVS2UfZyTlsEdDOqvQF7GoxNfY+0YLCzBy1kPdsDDx4QuNAonQPddpsn6Xl/7sw==", - "dependencies": { - "commander": "^2.20.3", - "cssfilter": "0.0.10" - }, - "bin": { - "xss": "bin/xss" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/xss/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", @@ -9712,19 +9039,10 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, "node_modules/yargs": { - "version": "17.6.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.0.tgz", - "integrity": "sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g==", + "version": "17.6.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", + "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", "dev": true, "dependencies": { "cliui": "^8.0.1", @@ -9733,7 +9051,7 @@ "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", - "yargs-parser": "^21.0.0" + "yargs-parser": "^21.1.1" }, "engines": { "node": ">=12" @@ -9789,20 +9107,6 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } - }, - "node_modules/zip-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz", - "integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==", - "dev": true, - "dependencies": { - "archiver-utils": "^2.1.0", - "compress-commons": "^4.1.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">= 10" - } } }, "dependencies": { @@ -9816,10 +9120,48 @@ "@jridgewell/trace-mapping": "^0.3.9" } }, + "@apollo/cache-control-types": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@apollo/cache-control-types/-/cache-control-types-1.0.2.tgz", + "integrity": "sha512-Por80co1eUm4ATsvjCOoS/tIR8PHxqVjsA6z76I6Vw0rFn4cgyVElQcmQDIZiYsy41k8e5xkrMRECkM2WR8pNw==", + "requires": {} + }, + "@apollo/datasource-rest": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@apollo/datasource-rest/-/datasource-rest-4.3.2.tgz", + "integrity": "sha512-qTilJGy5CnqVOvyhkK8hzcCY+Hr8UaY3EgCbKQqlxO1yxp75qGtGapLhQMC/h578V8MYR773t/kLYnQe5eJg/w==", + "requires": { + "@apollo/utils.fetcher": "^1.0.0", + "@apollo/utils.keyvaluecache": "1.0.1", + "http-cache-semantics": "^4.1.0", + "node-fetch": "^2.6.7" + }, + "dependencies": { + "@apollo/utils.keyvaluecache": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@apollo/utils.keyvaluecache/-/utils.keyvaluecache-1.0.1.tgz", + "integrity": "sha512-nLgYLomqjVimEzQ4cdvVQkcryi970NDvcRVPfd0OPeXhBfda38WjBq+WhQFk+czSHrmrSp34YHBxpat0EtiowA==", + "requires": { + "@apollo/utils.logger": "^1.0.0", + "lru-cache": "^7.10.1" + } + }, + "@apollo/utils.logger": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@apollo/utils.logger/-/utils.logger-1.0.1.tgz", + "integrity": "sha512-XdlzoY7fYNK4OIcvMD2G94RoFZbzTQaNP0jozmqqMudmaGo2I/2Jx71xlDJ801mWA/mbYRihyaw6KJii7k5RVA==" + }, + "lru-cache": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==" + } + } + }, "@apollo/protobufjs": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@apollo/protobufjs/-/protobufjs-1.2.6.tgz", - "integrity": "sha512-Wqo1oSHNUj/jxmsVp4iR3I480p6qdqHikn38lKrFhfzcDJ7lwd7Ck7cHRl4JE81tWNArl77xhnG/OkZhxKBYOw==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@apollo/protobufjs/-/protobufjs-1.2.7.tgz", + "integrity": "sha512-Lahx5zntHPZia35myYDBRuF58tlwPskwHc5CWBZC/4bMKB6siTBWwtMrkqXcsNwQiFSzSx5hKdRPUmemrEp3Gg==", "requires": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", @@ -9832,96 +9174,202 @@ "@protobufjs/pool": "^1.1.0", "@protobufjs/utf8": "^1.1.0", "@types/long": "^4.0.0", - "@types/node": "^10.1.0", "long": "^4.0.0" + } + }, + "@apollo/server": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@apollo/server/-/server-4.2.0.tgz", + "integrity": "sha512-iwJqD8wdgMW856nM4pf1Qcz5x8hHu2ZnMvIb/0cZhjE/0PN8ammPFtRYBTh5dZIAImWFrg9OsmFLBPDYMK5/rg==", + "requires": { + "@apollo/cache-control-types": "^1.0.2", + "@apollo/server-gateway-interface": "^1.0.6", + "@apollo/usage-reporting-protobuf": "^4.0.0", + "@apollo/utils.createhash": "^2.0.0", + "@apollo/utils.fetcher": "^2.0.0", + "@apollo/utils.isnodelike": "^2.0.0", + "@apollo/utils.keyvaluecache": "^2.0.0", + "@apollo/utils.logger": "^2.0.0", + "@apollo/utils.usagereporting": "^2.0.0", + "@apollo/utils.withrequired": "^2.0.0", + "@graphql-tools/schema": "^9.0.0", + "@josephg/resolvable": "^1.0.0", + "@types/express": "^4.17.13", + "@types/express-serve-static-core": "^4.17.30", + "@types/node-fetch": "^2.6.1", + "async-retry": "^1.2.1", + "body-parser": "^1.20.0", + "cors": "^2.8.5", + "express": "^4.17.1", + "loglevel": "^1.6.8", + "lru-cache": "^7.10.1", + "negotiator": "^0.6.3", + "node-abort-controller": "^3.0.1", + "node-fetch": "^2.6.7", + "uuid": "^9.0.0", + "whatwg-mimetype": "^3.0.0" }, "dependencies": { - "@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" + "@apollo/utils.fetcher": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.fetcher/-/utils.fetcher-2.0.0.tgz", + "integrity": "sha512-RC0twEwwBKbhk/y4B2X4YEciRG1xoKMgiPy5xQqNMd3pG78sR+ybctG/m7c/8+NaaQOS22UPUCBd6yS6WihBIg==" + }, + "@graphql-tools/merge": { + "version": "8.3.11", + "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.3.11.tgz", + "integrity": "sha512-IpZh8r8e8FycXaUv04xe5HQH9siD1tkS8MvaO8Wb2FaPXv15XSYP+Wsb2MUStpIqGfQxa6xY/+eEuxv+VqwXyg==", + "requires": { + "@graphql-tools/utils": "9.1.0", + "tslib": "^2.4.0" + } + }, + "@graphql-tools/schema": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-9.0.9.tgz", + "integrity": "sha512-hwg8trUytO5ayQ8bzL3+sAyXcu2rhKt5pLXpLO0/TMTN2nXd3DBO4mqx+Ra4Er2mE/msInGQ5EmZbxVBPv+hSg==", + "requires": { + "@graphql-tools/merge": "8.3.11", + "@graphql-tools/utils": "9.1.0", + "tslib": "^2.4.0", + "value-or-promise": "1.0.11" + } + }, + "@graphql-tools/utils": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-9.1.0.tgz", + "integrity": "sha512-4Ketxo98IwKA/56LP6cI6PgQBwUCujszQcTNkzjq7liJPa2mLjKnmVOJ0bauMwKcEazeYuZagceljb0POmEGvQ==", + "requires": { + "tslib": "^2.4.0" + } + }, + "lru-cache": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==" + }, + "uuid": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==" } } }, + "@apollo/server-gateway-interface": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@apollo/server-gateway-interface/-/server-gateway-interface-1.0.6.tgz", + "integrity": "sha512-7ebvJMBBzcppCHt0EpbfTjFbjUthpS/fkSiXMyi/kZ1ZkCmxW1jydG+iBmmSYtfYx9h9ZyI3kIBpzqHSHXR7IA==", + "requires": { + "@apollo/usage-reporting-protobuf": "^4.0.0", + "@apollo/utils.fetcher": "^2.0.0", + "@apollo/utils.keyvaluecache": "^2.0.0", + "@apollo/utils.logger": "^2.0.0" + }, + "dependencies": { + "@apollo/utils.fetcher": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.fetcher/-/utils.fetcher-2.0.0.tgz", + "integrity": "sha512-RC0twEwwBKbhk/y4B2X4YEciRG1xoKMgiPy5xQqNMd3pG78sR+ybctG/m7c/8+NaaQOS22UPUCBd6yS6WihBIg==" + } + } + }, + "@apollo/usage-reporting-protobuf": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@apollo/usage-reporting-protobuf/-/usage-reporting-protobuf-4.0.2.tgz", + "integrity": "sha512-GfE8aDqi/lAFut95pjH9IRvH0zGsQ5G/2lYL0ZLZfML7ArX+A4UVHFANQcPCcUYGE6bI6OPhLekg4Vsjf6B1cw==", + "requires": { + "@apollo/protobufjs": "1.2.7" + } + }, + "@apollo/utils.createhash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.createhash/-/utils.createhash-2.0.0.tgz", + "integrity": "sha512-9GhGGD3J0HJF/VC+odwYpKi3Cg1NWrsO8GQvyGwDS5v/78I3154Hn8s4tpW+nqoaQ/lAvxdQQr3HM1b5HLM6Ww==", + "requires": { + "@apollo/utils.isnodelike": "^2.0.0", + "sha.js": "^2.4.11" + } + }, "@apollo/utils.dropunuseddefinitions": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@apollo/utils.dropunuseddefinitions/-/utils.dropunuseddefinitions-1.1.0.tgz", - "integrity": "sha512-jU1XjMr6ec9pPoL+BFWzEPW7VHHulVdGKMkPAMiCigpVIT11VmCbnij0bWob8uS3ODJ65tZLYKAh/55vLw2rbg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.dropunuseddefinitions/-/utils.dropunuseddefinitions-2.0.0.tgz", + "integrity": "sha512-BoPW+Z3kA8kLh0FCWyzOt+R77W5mVZWer5s6UyvVwZ/qROGiEgcHXFcI5TMMndpXoDo0xBSvQV0lIKYHbJQ7+g==", "requires": {} }, + "@apollo/utils.fetcher": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@apollo/utils.fetcher/-/utils.fetcher-1.1.1.tgz", + "integrity": "sha512-0vXVznO7kw5VWwxyV5wsDvYEwjDpyZ7vYQAXCseLXqBn2eWEIDViM7qRzi/Hnv4zzAQ05phdimSED99K+lg+SQ==" + }, + "@apollo/utils.isnodelike": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.isnodelike/-/utils.isnodelike-2.0.0.tgz", + "integrity": "sha512-77CiAM2qDXn0haQYrgX0UgrboQykb+bOHaz5p3KKItMwUZ/EFphzuB2vqHvubneIc9dxJcTx2L7MFDswRw/JAQ==" + }, "@apollo/utils.keyvaluecache": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.keyvaluecache/-/utils.keyvaluecache-1.0.1.tgz", - "integrity": "sha512-nLgYLomqjVimEzQ4cdvVQkcryi970NDvcRVPfd0OPeXhBfda38WjBq+WhQFk+czSHrmrSp34YHBxpat0EtiowA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.keyvaluecache/-/utils.keyvaluecache-2.0.0.tgz", + "integrity": "sha512-vf4gc2xr7IKU7EwCTzA5HDl1dxUNfvaJdauxXPNIXM96L9jhqEAyUFjJEQ7Ee85LGcjYCIWbr6yzmFRBYf1bbw==", "requires": { - "@apollo/utils.logger": "^1.0.0", - "lru-cache": "^7.10.1" + "@apollo/utils.logger": "^2.0.0", + "lru-cache": "^7.10.1 - 7.13.1" }, "dependencies": { "lru-cache": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.0.tgz", - "integrity": "sha512-EIRtP1GrSJny0dqb50QXRUNBxHJhcpxHC++M5tD7RYbvLLn5KVWKsbyswSSqDuU15UFi3bgTQIY8nhDMeF6aDQ==" + "version": "7.13.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.13.1.tgz", + "integrity": "sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ==" } } }, "@apollo/utils.logger": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.logger/-/utils.logger-1.0.1.tgz", - "integrity": "sha512-XdlzoY7fYNK4OIcvMD2G94RoFZbzTQaNP0jozmqqMudmaGo2I/2Jx71xlDJ801mWA/mbYRihyaw6KJii7k5RVA==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.logger/-/utils.logger-2.0.0.tgz", + "integrity": "sha512-o8qYwgV2sYg+PcGKIfwAZaZsQOTEfV8q3mH7Pw8GB/I/Uh2L9iaHdpiKuR++j7oe1K87lFm0z/JAezMOR9CGhg==" }, "@apollo/utils.printwithreducedwhitespace": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@apollo/utils.printwithreducedwhitespace/-/utils.printwithreducedwhitespace-1.1.0.tgz", - "integrity": "sha512-GfFSkAv3n1toDZ4V6u2d7L4xMwLA+lv+6hqXicMN9KELSJ9yy9RzuEXaX73c/Ry+GzRsBy/fdSUGayGqdHfT2Q==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.printwithreducedwhitespace/-/utils.printwithreducedwhitespace-2.0.0.tgz", + "integrity": "sha512-S+wyxFyuO0LJ8v+mg8c7rRwyKZ+9xlO5wXD/UgaysH3rcCe9NBHRWx/9cmdZ9nTqgKC5X01uHZ6Gsi6pOrUGgw==", "requires": {} }, "@apollo/utils.removealiases": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@apollo/utils.removealiases/-/utils.removealiases-1.0.0.tgz", - "integrity": "sha512-6cM8sEOJW2LaGjL/0vHV0GtRaSekrPQR4DiywaApQlL9EdROASZU5PsQibe2MWeZCOhNrPRuHh4wDMwPsWTn8A==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.removealiases/-/utils.removealiases-2.0.0.tgz", + "integrity": "sha512-PT5ICz2SfrMCRsR3DhW2E1anX6hcqVXE/uHpmRHbhqSoQODZKG34AlFm1tC8u3MC3eK5gcvtpGvPHF/cwVfakg==", "requires": {} }, "@apollo/utils.sortast": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@apollo/utils.sortast/-/utils.sortast-1.1.0.tgz", - "integrity": "sha512-VPlTsmUnOwzPK5yGZENN069y6uUHgeiSlpEhRnLFYwYNoJHsuJq2vXVwIaSmts015WTPa2fpz1inkLYByeuRQA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.sortast/-/utils.sortast-2.0.0.tgz", + "integrity": "sha512-VKoVOh8xkvh5HabtyGTekIYbwXdyYFPodFuHpWp333Fo2KBmpczLY+RBMHEr3v2MLoXDn/WUMtR3JZmvFJ45zw==", "requires": { "lodash.sortby": "^4.7.0" } }, "@apollo/utils.stripsensitiveliterals": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@apollo/utils.stripsensitiveliterals/-/utils.stripsensitiveliterals-1.2.0.tgz", - "integrity": "sha512-E41rDUzkz/cdikM5147d8nfCFVKovXxKBcjvLEQ7bjZm/cg9zEcXvS6vFY8ugTubI3fn6zoqo0CyU8zT+BGP9w==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.stripsensitiveliterals/-/utils.stripsensitiveliterals-2.0.0.tgz", + "integrity": "sha512-pzj1XINetE54uxIjc4bN6gVzDWYP8OZ/yB0xMTgvzttu1VLgXf3BTV76d9hlqLoe8cV0JiD+xLpJktrHOzmBJQ==", "requires": {} }, "@apollo/utils.usagereporting": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@apollo/utils.usagereporting/-/utils.usagereporting-1.0.0.tgz", - "integrity": "sha512-5PL7hJMkTPmdo3oxPtigRrIyPxDk/ddrUryHPDaezL1lSFExpNzsDd2f1j0XJoHOg350GRd3LyD64caLA2PU1w==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.usagereporting/-/utils.usagereporting-2.0.0.tgz", + "integrity": "sha512-9VvVgA/LzKkBEYEGwE9doL1Sl+VRULkbB3D7W+ImJ028jJuTllvlQsh4Xpqz8mJWprfKx4m/i2DwHtElHWU2vg==", "requires": { - "@apollo/utils.dropunuseddefinitions": "^1.1.0", - "@apollo/utils.printwithreducedwhitespace": "^1.1.0", - "@apollo/utils.removealiases": "1.0.0", - "@apollo/utils.sortast": "^1.1.0", - "@apollo/utils.stripsensitiveliterals": "^1.2.0", - "apollo-reporting-protobuf": "^3.3.1" + "@apollo/usage-reporting-protobuf": "^4.0.0", + "@apollo/utils.dropunuseddefinitions": "^2.0.0", + "@apollo/utils.printwithreducedwhitespace": "^2.0.0", + "@apollo/utils.removealiases": "2.0.0", + "@apollo/utils.sortast": "^2.0.0", + "@apollo/utils.stripsensitiveliterals": "^2.0.0" } }, - "@apollographql/apollo-tools": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@apollographql/apollo-tools/-/apollo-tools-0.5.4.tgz", - "integrity": "sha512-shM3q7rUbNyXVVRkQJQseXv6bnYM3BUma/eZhwXR4xsuM+bqWnJKvW7SAfRjP7LuSCocrexa5AXhjjawNHrIlw==", - "requires": {} - }, - "@apollographql/graphql-playground-html": { - "version": "1.6.29", - "resolved": "https://registry.npmjs.org/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.29.tgz", - "integrity": "sha512-xCcXpoz52rI4ksJSdOCxeOCn2DLocxwHf9dVT/Q90Pte1LX+LY+91SFtJF3KXVHH8kEin+g1KKCQPKBjZJfWNA==", - "requires": { - "xss": "^1.0.8" - } + "@apollo/utils.withrequired": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.withrequired/-/utils.withrequired-2.0.0.tgz", + "integrity": "sha512-+djpTu6AEE/A1etryZs9tmXRyDY6XXGe3G29MS/LB09uHq3pcl3n4Q5lvDTL5JWKuJixrulg5djePLDAooG8dQ==" }, "@aws-crypto/crc32": { "version": "2.0.0", @@ -10064,11 +9512,11 @@ } }, "@aws-sdk/abort-controller": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.193.0.tgz", - "integrity": "sha512-MYPBm5PWyKP+Tq37mKs5wDbyAyVMocF5iYmx738LYXBSj8A1V4LTFrvfd4U16BRC/sM0DYB9fBFJUQ9ISFRVYw==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.215.0.tgz", + "integrity": "sha512-HTvL542nawhVqe0oC1AJchdcomEOmPivJEzYUT1LqiG3e8ikxMNa2KWSqqLPeKi2t0A/cfQy7wDUyg9+BZhDSQ==", "requires": { - "@aws-sdk/types": "3.193.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, @@ -10081,824 +9529,865 @@ } }, "@aws-sdk/chunked-blob-reader-native": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.188.0.tgz", - "integrity": "sha512-WielYjaAHfT/HAOW7Tj6yVeNdaOtts3aUm9Sf/3D+ElbCTGyaaMNfE4x0a+qn6dJZXewf1eAxybOIU5ftIeSGw==", + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.208.0.tgz", + "integrity": "sha512-JeOZ95PW+fJ6bbuqPySYqLqHk1n4+4ueEEraJsiUrPBV0S1ZtyvOGHcnGztKUjr2PYNaiexmpWuvUve9K12HRA==", "requires": { - "@aws-sdk/util-base64-browser": "3.188.0", + "@aws-sdk/util-base64": "3.208.0", "tslib": "^2.3.1" } }, "@aws-sdk/client-s3": { - "version": "3.194.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.194.0.tgz", - "integrity": "sha512-vrC5Pj15T3jgErEOViNObaLpFBtjWk4YKs/P2HqkcQciXjikyafoUMx8GOb5edJbDlCnZSvdjJxIQT0V21fFUw==", + "version": "3.216.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.216.0.tgz", + "integrity": "sha512-zja00+kLB7Kw8X326ueXvCgMJNF5iuTPrFDUgI+JClk1rjXVMa/T1sOLTgZg9W2pbtOO+3GloxwNGVygXNjt8A==", "requires": { "@aws-crypto/sha1-browser": "2.0.0", "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/client-sts": "3.194.0", - "@aws-sdk/config-resolver": "3.193.0", - "@aws-sdk/credential-provider-node": "3.193.0", - "@aws-sdk/eventstream-serde-browser": "3.193.0", - "@aws-sdk/eventstream-serde-config-resolver": "3.193.0", - "@aws-sdk/eventstream-serde-node": "3.193.0", - "@aws-sdk/fetch-http-handler": "3.193.0", - "@aws-sdk/hash-blob-browser": "3.193.0", - "@aws-sdk/hash-node": "3.193.0", - "@aws-sdk/hash-stream-node": "3.193.0", - "@aws-sdk/invalid-dependency": "3.193.0", - "@aws-sdk/md5-js": "3.193.0", - "@aws-sdk/middleware-bucket-endpoint": "3.193.0", - "@aws-sdk/middleware-content-length": "3.193.0", - "@aws-sdk/middleware-endpoint": "3.193.0", - "@aws-sdk/middleware-expect-continue": "3.193.0", - "@aws-sdk/middleware-flexible-checksums": "3.193.0", - "@aws-sdk/middleware-host-header": "3.193.0", - "@aws-sdk/middleware-location-constraint": "3.193.0", - "@aws-sdk/middleware-logger": "3.193.0", - "@aws-sdk/middleware-recursion-detection": "3.193.0", - "@aws-sdk/middleware-retry": "3.193.0", - "@aws-sdk/middleware-sdk-s3": "3.193.0", - "@aws-sdk/middleware-serde": "3.193.0", - "@aws-sdk/middleware-signing": "3.193.0", - "@aws-sdk/middleware-ssec": "3.193.0", - "@aws-sdk/middleware-stack": "3.193.0", - "@aws-sdk/middleware-user-agent": "3.193.0", - "@aws-sdk/node-config-provider": "3.193.0", - "@aws-sdk/node-http-handler": "3.193.0", - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/signature-v4-multi-region": "3.193.0", - "@aws-sdk/smithy-client": "3.193.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/url-parser": "3.193.0", - "@aws-sdk/util-base64-browser": "3.188.0", - "@aws-sdk/util-base64-node": "3.188.0", + "@aws-sdk/client-sts": "3.216.0", + "@aws-sdk/config-resolver": "3.215.0", + "@aws-sdk/credential-provider-node": "3.216.0", + "@aws-sdk/eventstream-serde-browser": "3.215.0", + "@aws-sdk/eventstream-serde-config-resolver": "3.215.0", + "@aws-sdk/eventstream-serde-node": "3.215.0", + "@aws-sdk/fetch-http-handler": "3.215.0", + "@aws-sdk/hash-blob-browser": "3.215.0", + "@aws-sdk/hash-node": "3.215.0", + "@aws-sdk/hash-stream-node": "3.215.0", + "@aws-sdk/invalid-dependency": "3.215.0", + "@aws-sdk/md5-js": "3.215.0", + "@aws-sdk/middleware-bucket-endpoint": "3.215.0", + "@aws-sdk/middleware-content-length": "3.215.0", + "@aws-sdk/middleware-endpoint": "3.215.0", + "@aws-sdk/middleware-expect-continue": "3.215.0", + "@aws-sdk/middleware-flexible-checksums": "3.215.0", + "@aws-sdk/middleware-host-header": "3.215.0", + "@aws-sdk/middleware-location-constraint": "3.215.0", + "@aws-sdk/middleware-logger": "3.215.0", + "@aws-sdk/middleware-recursion-detection": "3.215.0", + "@aws-sdk/middleware-retry": "3.215.0", + "@aws-sdk/middleware-sdk-s3": "3.215.0", + "@aws-sdk/middleware-serde": "3.215.0", + "@aws-sdk/middleware-signing": "3.215.0", + "@aws-sdk/middleware-ssec": "3.215.0", + "@aws-sdk/middleware-stack": "3.215.0", + "@aws-sdk/middleware-user-agent": "3.215.0", + "@aws-sdk/node-config-provider": "3.215.0", + "@aws-sdk/node-http-handler": "3.215.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/signature-v4-multi-region": "3.215.0", + "@aws-sdk/smithy-client": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/url-parser": "3.215.0", + "@aws-sdk/util-base64": "3.208.0", "@aws-sdk/util-body-length-browser": "3.188.0", - "@aws-sdk/util-body-length-node": "3.188.0", - "@aws-sdk/util-defaults-mode-browser": "3.193.0", - "@aws-sdk/util-defaults-mode-node": "3.193.0", - "@aws-sdk/util-endpoints": "3.194.0", - "@aws-sdk/util-stream-browser": "3.193.0", - "@aws-sdk/util-stream-node": "3.193.0", - "@aws-sdk/util-user-agent-browser": "3.193.0", - "@aws-sdk/util-user-agent-node": "3.193.0", + "@aws-sdk/util-body-length-node": "3.208.0", + "@aws-sdk/util-defaults-mode-browser": "3.215.0", + "@aws-sdk/util-defaults-mode-node": "3.215.0", + "@aws-sdk/util-endpoints": "3.216.0", + "@aws-sdk/util-stream-browser": "3.215.0", + "@aws-sdk/util-stream-node": "3.215.0", + "@aws-sdk/util-user-agent-browser": "3.215.0", + "@aws-sdk/util-user-agent-node": "3.215.0", "@aws-sdk/util-utf8-browser": "3.188.0", - "@aws-sdk/util-utf8-node": "3.188.0", - "@aws-sdk/util-waiter": "3.193.0", - "@aws-sdk/xml-builder": "3.188.0", + "@aws-sdk/util-utf8-node": "3.208.0", + "@aws-sdk/util-waiter": "3.215.0", + "@aws-sdk/xml-builder": "3.201.0", "fast-xml-parser": "4.0.11", "tslib": "^2.3.1" } }, "@aws-sdk/client-sqs": { - "version": "3.194.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sqs/-/client-sqs-3.194.0.tgz", - "integrity": "sha512-PBD29pnolaiP7DhGEH/3BJSGJ0BGifzc65+FiL9L4myodhhyngJGwJvopTAE6HpBIjP8Qq3gGMPEsz5LIglxow==", + "version": "3.216.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sqs/-/client-sqs-3.216.0.tgz", + "integrity": "sha512-4MtQknvbhQZ0JTJ3ZqBsuH+cJT2ih2JmrdfTGWgV5ZS0rEMearafd2vU1MUhPljxq+giwgzUE6S9GlG4QAGgGw==", "requires": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/client-sts": "3.194.0", - "@aws-sdk/config-resolver": "3.193.0", - "@aws-sdk/credential-provider-node": "3.193.0", - "@aws-sdk/fetch-http-handler": "3.193.0", - "@aws-sdk/hash-node": "3.193.0", - "@aws-sdk/invalid-dependency": "3.193.0", - "@aws-sdk/md5-js": "3.193.0", - "@aws-sdk/middleware-content-length": "3.193.0", - "@aws-sdk/middleware-endpoint": "3.193.0", - "@aws-sdk/middleware-host-header": "3.193.0", - "@aws-sdk/middleware-logger": "3.193.0", - "@aws-sdk/middleware-recursion-detection": "3.193.0", - "@aws-sdk/middleware-retry": "3.193.0", - "@aws-sdk/middleware-sdk-sqs": "3.193.0", - "@aws-sdk/middleware-serde": "3.193.0", - "@aws-sdk/middleware-signing": "3.193.0", - "@aws-sdk/middleware-stack": "3.193.0", - "@aws-sdk/middleware-user-agent": "3.193.0", - "@aws-sdk/node-config-provider": "3.193.0", - "@aws-sdk/node-http-handler": "3.193.0", - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/smithy-client": "3.193.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/url-parser": "3.193.0", - "@aws-sdk/util-base64-browser": "3.188.0", - "@aws-sdk/util-base64-node": "3.188.0", + "@aws-sdk/client-sts": "3.216.0", + "@aws-sdk/config-resolver": "3.215.0", + "@aws-sdk/credential-provider-node": "3.216.0", + "@aws-sdk/fetch-http-handler": "3.215.0", + "@aws-sdk/hash-node": "3.215.0", + "@aws-sdk/invalid-dependency": "3.215.0", + "@aws-sdk/md5-js": "3.215.0", + "@aws-sdk/middleware-content-length": "3.215.0", + "@aws-sdk/middleware-endpoint": "3.215.0", + "@aws-sdk/middleware-host-header": "3.215.0", + "@aws-sdk/middleware-logger": "3.215.0", + "@aws-sdk/middleware-recursion-detection": "3.215.0", + "@aws-sdk/middleware-retry": "3.215.0", + "@aws-sdk/middleware-sdk-sqs": "3.215.0", + "@aws-sdk/middleware-serde": "3.215.0", + "@aws-sdk/middleware-signing": "3.215.0", + "@aws-sdk/middleware-stack": "3.215.0", + "@aws-sdk/middleware-user-agent": "3.215.0", + "@aws-sdk/node-config-provider": "3.215.0", + "@aws-sdk/node-http-handler": "3.215.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/smithy-client": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/url-parser": "3.215.0", + "@aws-sdk/util-base64": "3.208.0", "@aws-sdk/util-body-length-browser": "3.188.0", - "@aws-sdk/util-body-length-node": "3.188.0", - "@aws-sdk/util-defaults-mode-browser": "3.193.0", - "@aws-sdk/util-defaults-mode-node": "3.193.0", - "@aws-sdk/util-endpoints": "3.194.0", - "@aws-sdk/util-user-agent-browser": "3.193.0", - "@aws-sdk/util-user-agent-node": "3.193.0", + "@aws-sdk/util-body-length-node": "3.208.0", + "@aws-sdk/util-defaults-mode-browser": "3.215.0", + "@aws-sdk/util-defaults-mode-node": "3.215.0", + "@aws-sdk/util-endpoints": "3.216.0", + "@aws-sdk/util-user-agent-browser": "3.215.0", + "@aws-sdk/util-user-agent-node": "3.215.0", "@aws-sdk/util-utf8-browser": "3.188.0", - "@aws-sdk/util-utf8-node": "3.188.0", + "@aws-sdk/util-utf8-node": "3.208.0", "fast-xml-parser": "4.0.11", "tslib": "^2.3.1" } }, "@aws-sdk/client-sso": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.193.0.tgz", - "integrity": "sha512-NxDckym95mtimYp9uWRA1lcyJHDyS8OZEaDC+dZ/tt5wGyPoc3ftHZNWDLzZM1PUjzgo+XzjMBVkWMvk/SRSYw==", + "version": "3.216.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.216.0.tgz", + "integrity": "sha512-9F7JLx9RXEXovg6V4ylqQtpH+sIqQBMIPIrRSGWiQu65rmQQLskRkUka94JsGsBzq1IQwrnqtsuP3Lb0XtwLRA==", "requires": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.193.0", - "@aws-sdk/fetch-http-handler": "3.193.0", - "@aws-sdk/hash-node": "3.193.0", - "@aws-sdk/invalid-dependency": "3.193.0", - "@aws-sdk/middleware-content-length": "3.193.0", - "@aws-sdk/middleware-host-header": "3.193.0", - "@aws-sdk/middleware-logger": "3.193.0", - "@aws-sdk/middleware-recursion-detection": "3.193.0", - "@aws-sdk/middleware-retry": "3.193.0", - "@aws-sdk/middleware-serde": "3.193.0", - "@aws-sdk/middleware-stack": "3.193.0", - "@aws-sdk/middleware-user-agent": "3.193.0", - "@aws-sdk/node-config-provider": "3.193.0", - "@aws-sdk/node-http-handler": "3.193.0", - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/smithy-client": "3.193.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/url-parser": "3.193.0", - "@aws-sdk/util-base64-browser": "3.188.0", - "@aws-sdk/util-base64-node": "3.188.0", + "@aws-sdk/config-resolver": "3.215.0", + "@aws-sdk/fetch-http-handler": "3.215.0", + "@aws-sdk/hash-node": "3.215.0", + "@aws-sdk/invalid-dependency": "3.215.0", + "@aws-sdk/middleware-content-length": "3.215.0", + "@aws-sdk/middleware-endpoint": "3.215.0", + "@aws-sdk/middleware-host-header": "3.215.0", + "@aws-sdk/middleware-logger": "3.215.0", + "@aws-sdk/middleware-recursion-detection": "3.215.0", + "@aws-sdk/middleware-retry": "3.215.0", + "@aws-sdk/middleware-serde": "3.215.0", + "@aws-sdk/middleware-stack": "3.215.0", + "@aws-sdk/middleware-user-agent": "3.215.0", + "@aws-sdk/node-config-provider": "3.215.0", + "@aws-sdk/node-http-handler": "3.215.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/smithy-client": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/url-parser": "3.215.0", + "@aws-sdk/util-base64": "3.208.0", "@aws-sdk/util-body-length-browser": "3.188.0", - "@aws-sdk/util-body-length-node": "3.188.0", - "@aws-sdk/util-defaults-mode-browser": "3.193.0", - "@aws-sdk/util-defaults-mode-node": "3.193.0", - "@aws-sdk/util-user-agent-browser": "3.193.0", - "@aws-sdk/util-user-agent-node": "3.193.0", + "@aws-sdk/util-body-length-node": "3.208.0", + "@aws-sdk/util-defaults-mode-browser": "3.215.0", + "@aws-sdk/util-defaults-mode-node": "3.215.0", + "@aws-sdk/util-endpoints": "3.216.0", + "@aws-sdk/util-user-agent-browser": "3.215.0", + "@aws-sdk/util-user-agent-node": "3.215.0", "@aws-sdk/util-utf8-browser": "3.188.0", - "@aws-sdk/util-utf8-node": "3.188.0", + "@aws-sdk/util-utf8-node": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/client-sso-oidc": { + "version": "3.216.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.216.0.tgz", + "integrity": "sha512-O8kmM86BHwiSwyNoIe+iHXuSpUE9PBWl3re8u+/igt/w5W5VmMVz+zQr7gRUDQ1FDgLWNEdAJa0r+JFx3pZdzA==", + "requires": { + "@aws-crypto/sha256-browser": "2.0.0", + "@aws-crypto/sha256-js": "2.0.0", + "@aws-sdk/config-resolver": "3.215.0", + "@aws-sdk/fetch-http-handler": "3.215.0", + "@aws-sdk/hash-node": "3.215.0", + "@aws-sdk/invalid-dependency": "3.215.0", + "@aws-sdk/middleware-content-length": "3.215.0", + "@aws-sdk/middleware-endpoint": "3.215.0", + "@aws-sdk/middleware-host-header": "3.215.0", + "@aws-sdk/middleware-logger": "3.215.0", + "@aws-sdk/middleware-recursion-detection": "3.215.0", + "@aws-sdk/middleware-retry": "3.215.0", + "@aws-sdk/middleware-serde": "3.215.0", + "@aws-sdk/middleware-stack": "3.215.0", + "@aws-sdk/middleware-user-agent": "3.215.0", + "@aws-sdk/node-config-provider": "3.215.0", + "@aws-sdk/node-http-handler": "3.215.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/smithy-client": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/url-parser": "3.215.0", + "@aws-sdk/util-base64": "3.208.0", + "@aws-sdk/util-body-length-browser": "3.188.0", + "@aws-sdk/util-body-length-node": "3.208.0", + "@aws-sdk/util-defaults-mode-browser": "3.215.0", + "@aws-sdk/util-defaults-mode-node": "3.215.0", + "@aws-sdk/util-endpoints": "3.216.0", + "@aws-sdk/util-user-agent-browser": "3.215.0", + "@aws-sdk/util-user-agent-node": "3.215.0", + "@aws-sdk/util-utf8-browser": "3.188.0", + "@aws-sdk/util-utf8-node": "3.208.0", "tslib": "^2.3.1" } }, "@aws-sdk/client-sts": { - "version": "3.194.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.194.0.tgz", - "integrity": "sha512-duolI7KLvRLMrL0ZpiVvmhaC5stKcNp5tfJ7gUW24tyf+7ImAmk2odSMIgcq54EWQ3XppTKBhEGCjOJ9th7+Qg==", + "version": "3.216.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.216.0.tgz", + "integrity": "sha512-8rpMZhZXh1kjsAvQ0WNBMDrnP4XneKkBQtt5XcDEmv/GpULt8jOIJnSIJQxt2gkRfd/I9MUC9C3aZNQoSMxa+g==", "requires": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.193.0", - "@aws-sdk/credential-provider-node": "3.193.0", - "@aws-sdk/fetch-http-handler": "3.193.0", - "@aws-sdk/hash-node": "3.193.0", - "@aws-sdk/invalid-dependency": "3.193.0", - "@aws-sdk/middleware-content-length": "3.193.0", - "@aws-sdk/middleware-endpoint": "3.193.0", - "@aws-sdk/middleware-host-header": "3.193.0", - "@aws-sdk/middleware-logger": "3.193.0", - "@aws-sdk/middleware-recursion-detection": "3.193.0", - "@aws-sdk/middleware-retry": "3.193.0", - "@aws-sdk/middleware-sdk-sts": "3.193.0", - "@aws-sdk/middleware-serde": "3.193.0", - "@aws-sdk/middleware-signing": "3.193.0", - "@aws-sdk/middleware-stack": "3.193.0", - "@aws-sdk/middleware-user-agent": "3.193.0", - "@aws-sdk/node-config-provider": "3.193.0", - "@aws-sdk/node-http-handler": "3.193.0", - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/smithy-client": "3.193.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/url-parser": "3.193.0", - "@aws-sdk/util-base64-browser": "3.188.0", - "@aws-sdk/util-base64-node": "3.188.0", + "@aws-sdk/config-resolver": "3.215.0", + "@aws-sdk/credential-provider-node": "3.216.0", + "@aws-sdk/fetch-http-handler": "3.215.0", + "@aws-sdk/hash-node": "3.215.0", + "@aws-sdk/invalid-dependency": "3.215.0", + "@aws-sdk/middleware-content-length": "3.215.0", + "@aws-sdk/middleware-endpoint": "3.215.0", + "@aws-sdk/middleware-host-header": "3.215.0", + "@aws-sdk/middleware-logger": "3.215.0", + "@aws-sdk/middleware-recursion-detection": "3.215.0", + "@aws-sdk/middleware-retry": "3.215.0", + "@aws-sdk/middleware-sdk-sts": "3.215.0", + "@aws-sdk/middleware-serde": "3.215.0", + "@aws-sdk/middleware-signing": "3.215.0", + "@aws-sdk/middleware-stack": "3.215.0", + "@aws-sdk/middleware-user-agent": "3.215.0", + "@aws-sdk/node-config-provider": "3.215.0", + "@aws-sdk/node-http-handler": "3.215.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/smithy-client": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/url-parser": "3.215.0", + "@aws-sdk/util-base64": "3.208.0", "@aws-sdk/util-body-length-browser": "3.188.0", - "@aws-sdk/util-body-length-node": "3.188.0", - "@aws-sdk/util-defaults-mode-browser": "3.193.0", - "@aws-sdk/util-defaults-mode-node": "3.193.0", - "@aws-sdk/util-endpoints": "3.194.0", - "@aws-sdk/util-user-agent-browser": "3.193.0", - "@aws-sdk/util-user-agent-node": "3.193.0", + "@aws-sdk/util-body-length-node": "3.208.0", + "@aws-sdk/util-defaults-mode-browser": "3.215.0", + "@aws-sdk/util-defaults-mode-node": "3.215.0", + "@aws-sdk/util-endpoints": "3.216.0", + "@aws-sdk/util-user-agent-browser": "3.215.0", + "@aws-sdk/util-user-agent-node": "3.215.0", "@aws-sdk/util-utf8-browser": "3.188.0", - "@aws-sdk/util-utf8-node": "3.188.0", + "@aws-sdk/util-utf8-node": "3.208.0", "fast-xml-parser": "4.0.11", "tslib": "^2.3.1" } }, "@aws-sdk/client-translate": { - "version": "3.195.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-translate/-/client-translate-3.195.0.tgz", - "integrity": "sha512-CSZnlTgaZ/St+rIpq76k6zMbzPyJeRlqYwAXb1/TAzciv5O9aLyiYU0AFF60WDTqnQ6cwcY+uWVFc4KYNeM94g==", + "version": "3.216.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-translate/-/client-translate-3.216.0.tgz", + "integrity": "sha512-PJ2BgDzCr4CalPbbT7a4YVbX9LVNoUKz0aFAGywY62+9z6IOqr12r9Xa0s1T/fmkMtd6PpOxy6T9EXTXQwXyWg==", "requires": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/client-sts": "3.194.0", - "@aws-sdk/config-resolver": "3.193.0", - "@aws-sdk/credential-provider-node": "3.193.0", - "@aws-sdk/fetch-http-handler": "3.193.0", - "@aws-sdk/hash-node": "3.193.0", - "@aws-sdk/invalid-dependency": "3.193.0", - "@aws-sdk/middleware-content-length": "3.193.0", - "@aws-sdk/middleware-endpoint": "3.193.0", - "@aws-sdk/middleware-host-header": "3.193.0", - "@aws-sdk/middleware-logger": "3.193.0", - "@aws-sdk/middleware-recursion-detection": "3.193.0", - "@aws-sdk/middleware-retry": "3.193.0", - "@aws-sdk/middleware-serde": "3.193.0", - "@aws-sdk/middleware-signing": "3.193.0", - "@aws-sdk/middleware-stack": "3.193.0", - "@aws-sdk/middleware-user-agent": "3.193.0", - "@aws-sdk/node-config-provider": "3.193.0", - "@aws-sdk/node-http-handler": "3.193.0", - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/smithy-client": "3.193.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/url-parser": "3.193.0", - "@aws-sdk/util-base64-browser": "3.188.0", - "@aws-sdk/util-base64-node": "3.188.0", + "@aws-sdk/client-sts": "3.216.0", + "@aws-sdk/config-resolver": "3.215.0", + "@aws-sdk/credential-provider-node": "3.216.0", + "@aws-sdk/fetch-http-handler": "3.215.0", + "@aws-sdk/hash-node": "3.215.0", + "@aws-sdk/invalid-dependency": "3.215.0", + "@aws-sdk/middleware-content-length": "3.215.0", + "@aws-sdk/middleware-endpoint": "3.215.0", + "@aws-sdk/middleware-host-header": "3.215.0", + "@aws-sdk/middleware-logger": "3.215.0", + "@aws-sdk/middleware-recursion-detection": "3.215.0", + "@aws-sdk/middleware-retry": "3.215.0", + "@aws-sdk/middleware-serde": "3.215.0", + "@aws-sdk/middleware-signing": "3.215.0", + "@aws-sdk/middleware-stack": "3.215.0", + "@aws-sdk/middleware-user-agent": "3.215.0", + "@aws-sdk/node-config-provider": "3.215.0", + "@aws-sdk/node-http-handler": "3.215.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/smithy-client": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/url-parser": "3.215.0", + "@aws-sdk/util-base64": "3.208.0", "@aws-sdk/util-body-length-browser": "3.188.0", - "@aws-sdk/util-body-length-node": "3.188.0", - "@aws-sdk/util-defaults-mode-browser": "3.193.0", - "@aws-sdk/util-defaults-mode-node": "3.193.0", - "@aws-sdk/util-endpoints": "3.194.0", - "@aws-sdk/util-user-agent-browser": "3.193.0", - "@aws-sdk/util-user-agent-node": "3.193.0", + "@aws-sdk/util-body-length-node": "3.208.0", + "@aws-sdk/util-defaults-mode-browser": "3.215.0", + "@aws-sdk/util-defaults-mode-node": "3.215.0", + "@aws-sdk/util-endpoints": "3.216.0", + "@aws-sdk/util-user-agent-browser": "3.215.0", + "@aws-sdk/util-user-agent-node": "3.215.0", "@aws-sdk/util-utf8-browser": "3.188.0", - "@aws-sdk/util-utf8-node": "3.188.0", + "@aws-sdk/util-utf8-node": "3.208.0", "tslib": "^2.3.1", "uuid": "^8.3.2" } }, "@aws-sdk/config-resolver": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.193.0.tgz", - "integrity": "sha512-HIjuv2A1glgkXy9g/A8bfsiz3jTFaRbwGZheoHFZod6iEQQEbbeAsBe3u2AZyzOrVLgs8lOvBtgU8XKSJWjDkw==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.215.0.tgz", + "integrity": "sha512-DxX4R+YYLQOtg0qfceKBrjVD4t1mQBG1eb7IVr2QSlckFCX8ztUNymFMuaSEo3938Jyy/NpgfUDpFqPDaSKnng==", "requires": { - "@aws-sdk/signature-v4": "3.193.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/util-config-provider": "3.188.0", - "@aws-sdk/util-middleware": "3.193.0", + "@aws-sdk/signature-v4": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/util-config-provider": "3.208.0", + "@aws-sdk/util-middleware": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-env": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.193.0.tgz", - "integrity": "sha512-pRqZoIaqCdWB4JJdR6DqDn3u+CwKJchwiCPnRtChwC8KXCMkT4njq9J1bWG3imYeTxP/G06O1PDONEuD4pPtNQ==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.215.0.tgz", + "integrity": "sha512-n5G7I7Pxfsn81+tNsSOzspKp9SYai78oRfImsfFY4JLTcWutv7szMgFUbtEzBfUUINHpOxLiO2Lk5yu5K1C7IQ==", "requires": { - "@aws-sdk/property-provider": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/property-provider": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-imds": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.193.0.tgz", - "integrity": "sha512-jC7uT7uVpO/iitz49toHMGFKXQ2igWQQG2SKirREqDRaz5HSXwEP1V3rcOlNNyGIBPMggDjZnxYgJHqBXSq9Ag==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.215.0.tgz", + "integrity": "sha512-/4FUUR6u9gkNfxB6mEwBr0kk0myIkrDcXbAocWN3fPd/t7otzxpx/JqPZXgM6kcVP7M4T/QT75l1E1RRHLWCCQ==", "requires": { - "@aws-sdk/node-config-provider": "3.193.0", - "@aws-sdk/property-provider": "3.193.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/url-parser": "3.193.0", + "@aws-sdk/node-config-provider": "3.215.0", + "@aws-sdk/property-provider": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/url-parser": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-ini": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.193.0.tgz", - "integrity": "sha512-JQ4tyeLjwsa9Jo95yTrLgFFspAP5GwaZDqDJArG98waKDzxhl7FeBs+N32+oux6WB7RKRB0svOK02nnoWnrjVg==", + "version": "3.216.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.216.0.tgz", + "integrity": "sha512-tSfrhgRO/l83Ou6WSOE4HauTLbDCOLMo/23Q6oGO8cs/d874J5rE4UM7a9OzE3QdM3eVbdAP7kXUgUS6i71cUw==", "requires": { - "@aws-sdk/credential-provider-env": "3.193.0", - "@aws-sdk/credential-provider-imds": "3.193.0", - "@aws-sdk/credential-provider-sso": "3.193.0", - "@aws-sdk/credential-provider-web-identity": "3.193.0", - "@aws-sdk/property-provider": "3.193.0", - "@aws-sdk/shared-ini-file-loader": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/credential-provider-env": "3.215.0", + "@aws-sdk/credential-provider-imds": "3.215.0", + "@aws-sdk/credential-provider-sso": "3.216.0", + "@aws-sdk/credential-provider-web-identity": "3.215.0", + "@aws-sdk/property-provider": "3.215.0", + "@aws-sdk/shared-ini-file-loader": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-node": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.193.0.tgz", - "integrity": "sha512-2E8yWVw1vLb6IumZxA0w4mes759YSCTHLdfp5nMBpn+d+Otz26mczKSe7xr7AaVONq+/sVPUl2GfTFTWM4B0eA==", + "version": "3.216.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.216.0.tgz", + "integrity": "sha512-Tumt53phB454DTkNB7a1tyCfrkA4JUGHzNLya14VLResGIGW5Re64atahUcO/WS7aTEs5vfAhBXO+p9o4K1rhQ==", "requires": { - "@aws-sdk/credential-provider-env": "3.193.0", - "@aws-sdk/credential-provider-imds": "3.193.0", - "@aws-sdk/credential-provider-ini": "3.193.0", - "@aws-sdk/credential-provider-process": "3.193.0", - "@aws-sdk/credential-provider-sso": "3.193.0", - "@aws-sdk/credential-provider-web-identity": "3.193.0", - "@aws-sdk/property-provider": "3.193.0", - "@aws-sdk/shared-ini-file-loader": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/credential-provider-env": "3.215.0", + "@aws-sdk/credential-provider-imds": "3.215.0", + "@aws-sdk/credential-provider-ini": "3.216.0", + "@aws-sdk/credential-provider-process": "3.215.0", + "@aws-sdk/credential-provider-sso": "3.216.0", + "@aws-sdk/credential-provider-web-identity": "3.215.0", + "@aws-sdk/property-provider": "3.215.0", + "@aws-sdk/shared-ini-file-loader": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-process": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.193.0.tgz", - "integrity": "sha512-zpXxtQzQqkaUuFqmHW9dSkh9p/1k+XNKlwEkG8FTwAJNUWmy2ZMJv+8NTVn4s4vaRu7xJ1er9chspYr7mvxHlA==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.215.0.tgz", + "integrity": "sha512-JNvj4L5B7W8byoFdfn/8Y4scoPiwCi+Ha/fRsFCrdSC7C+snDuxM/oQj33HI8DpKY1cjuigzEnpnxiNWaA09EA==", "requires": { - "@aws-sdk/property-provider": "3.193.0", - "@aws-sdk/shared-ini-file-loader": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/property-provider": "3.215.0", + "@aws-sdk/shared-ini-file-loader": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-sso": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.193.0.tgz", - "integrity": "sha512-jBFWreNFZUgnGyCkpxDGf+LrXTuzEfjYkJYti1HnnsUF4vF0PsVZS6/FQi1mDl3pqorrtgknI59ENnAhKVxtBg==", + "version": "3.216.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.216.0.tgz", + "integrity": "sha512-1Cag6AUPU4wkeMnZDJvcXXJgwrlrIxbTcRsresJYBFvs1vGJGcTbjtWV0K6fiBRP66GtvuOL9WzQ/eqRf2J7Ag==", "requires": { - "@aws-sdk/client-sso": "3.193.0", - "@aws-sdk/property-provider": "3.193.0", - "@aws-sdk/shared-ini-file-loader": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/client-sso": "3.216.0", + "@aws-sdk/property-provider": "3.215.0", + "@aws-sdk/shared-ini-file-loader": "3.215.0", + "@aws-sdk/token-providers": "3.216.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-web-identity": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.193.0.tgz", - "integrity": "sha512-MIQY9KwLCBnRyIt7an4EtMrFQZz2HC1E8vQDdKVzmeQBBePhW61fnX9XDP9bfc3Ypg1NggLG00KBPEC88twLFg==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.215.0.tgz", + "integrity": "sha512-AWaDDEE3VU1HeLrXvyUrkQ6Wb3PQij5bvvrMil9L0da3b1yrcpoDanQQy7wBFBXcZIVmcmSFe5MMA/nyh2Le4g==", "requires": { - "@aws-sdk/property-provider": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/property-provider": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/eventstream-codec": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.193.0.tgz", - "integrity": "sha512-K6rPYZAxexCyohR+w/G0hVxfHtY4H8e5QXj945YBmF8jfAmrjSbKDLmgPypqiENebvD1qTisXpraWjqWIABSHg==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.215.0.tgz", + "integrity": "sha512-Uwgkq6ViQnfd1l+qhWPGdzxh+YhD1N6RYL0kEcp1ovsR+rC/0qUsM9VZrSckZn4jB+0ATqIoOXtcUYP4+xrNmg==", "requires": { "@aws-crypto/crc32": "2.0.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/util-hex-encoding": "3.188.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/util-hex-encoding": "3.201.0", "tslib": "^2.3.1" } }, "@aws-sdk/eventstream-serde-browser": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.193.0.tgz", - "integrity": "sha512-V6qTzyaxxcZz5/8A1sV6SWtRZzbjKtdqfrTrh8oM86svpRHOfDcacbwMZqXt+L1tbZsv0ZPEn8j1MDiiv17P9g==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.215.0.tgz", + "integrity": "sha512-VfTl69/C/cOjm47blgvdBz2pw8//6qkLPvQetfDOgf40JvsjBp9afUDNiKV08ulzoUeVZBosgHs09oZ2VDj09Q==", "requires": { - "@aws-sdk/eventstream-serde-universal": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/eventstream-serde-universal": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/eventstream-serde-config-resolver": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.193.0.tgz", - "integrity": "sha512-RnnjEcl8NSIEb8+mQL+Zkro+ke3qrXpPmwolB752HIEBu9U0iG1wYuaBeXaxXNk4K+UGe/eNHM5UXh6Uur4ioQ==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.215.0.tgz", + "integrity": "sha512-NrVb8HA0tUsruAj8yVWTaRIfcAB9lsajzksCqS7W917x/esoIRwoeF2zua63Ivro7hLeCjzS2Mws5IhvSl+/tQ==", "requires": { - "@aws-sdk/types": "3.193.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/eventstream-serde-node": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.193.0.tgz", - "integrity": "sha512-hNSVB7kEkgUtOvB1iUF0MYXkScB97++0uqJ/TLAdmFmBFaF/yPcvVJtCwyolcAmgHQRnDtVILpa4URM/Jh8viw==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.215.0.tgz", + "integrity": "sha512-DxABFUIpmFV1NOfwF8FtX+l7kzmMTTJf2BfXvGoYemmBtv9Cc31Qg83ouD8xuNSx9qlbFOgpWaNpzEZ400porA==", "requires": { - "@aws-sdk/eventstream-serde-universal": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/eventstream-serde-universal": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/eventstream-serde-universal": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.193.0.tgz", - "integrity": "sha512-r+uo+UWPU72BCOQ3DK80OjM6O52ZIo7NT1Fw65tBXHP55AVp15V4OKivyWTcIhLfCtWAeoeJJTbQvq+u8uI4JA==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.215.0.tgz", + "integrity": "sha512-8DmY3vVZtXAKzW0wOSC0bN+WF8qNZKaCqe5JCM3WwS1Wu6F6qI7b064VSe5b3d9BbJzeMccOcJeCg3ZU/3nYUQ==", "requires": { - "@aws-sdk/eventstream-codec": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/eventstream-codec": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/fetch-http-handler": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.193.0.tgz", - "integrity": "sha512-UhIS2LtCK9hqBzYVon6BI8WebJW1KC0GGIL/Gse5bqzU9iAGgFLAe66qg9k+/h3Jjc5LNAYzqXNVizMwn7689Q==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.215.0.tgz", + "integrity": "sha512-JfZyrJOE+0ik1PumsIUZd0NfgEx4sZ43VSdPCD9GRhssRWudNsSF1B5fz3xA5v+1y5oQPjXZyaWCzKtnYruiWw==", "requires": { - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/querystring-builder": "3.193.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/util-base64-browser": "3.188.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/querystring-builder": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/util-base64": "3.208.0", "tslib": "^2.3.1" } }, "@aws-sdk/hash-blob-browser": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.193.0.tgz", - "integrity": "sha512-jku1nk5mw82t3tZN0ehpG7f/cGXM4MT60OBLVV2eRsaUbZtZyYrP4jy3cKhhsZV0cNfZJUf1/yHDIZKEocr06Q==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.215.0.tgz", + "integrity": "sha512-plHPFOSEHig0g/ou1H4QW31AyPGzwR0qgUKIEUFf3lWIfBI3BnvA4t24cJ87I204oqENj/+ZSNAj5qeAZfMFXw==", "requires": { "@aws-sdk/chunked-blob-reader": "3.188.0", - "@aws-sdk/chunked-blob-reader-native": "3.188.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/chunked-blob-reader-native": "3.208.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/hash-node": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.193.0.tgz", - "integrity": "sha512-O2SLPVBjrCUo+4ouAdRUoHBYsyurO9LcjNZNYD7YQOotBTbVFA3cx7kTZu+K4B6kX7FDaGbqbE1C/T1/eg/r+w==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.215.0.tgz", + "integrity": "sha512-MkSRuZvo1RCRmI0VNEmRYCGGD/DkMd9lqnLtOyglMPnSX1mhyD4/DyXmcc3rYa7PsjDRAfykGWJRiMqpoMLjiQ==", "requires": { - "@aws-sdk/types": "3.193.0", - "@aws-sdk/util-buffer-from": "3.188.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/util-buffer-from": "3.208.0", "tslib": "^2.3.1" } }, "@aws-sdk/hash-stream-node": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.193.0.tgz", - "integrity": "sha512-lNQwS76zd2RBoIDV0eEd82I8IfTPgAH+/ZLW+TzOx7WoWcvVh7cWEEjJyiq/Pc0Pu6W9lgIcMkjOh8+4ejZeQg==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.215.0.tgz", + "integrity": "sha512-1VEpiXu0jH7bSRYfEeSrznYq41zpUV4TtStoBXdcEVaOqT4LNQ5k1g1602544UWKUJ7D+E9NCNXpjM6TSMmG4A==", "requires": { - "@aws-sdk/types": "3.193.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/invalid-dependency": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.193.0.tgz", - "integrity": "sha512-54DCknekLwJAI1os76XJ8XCzfAH7BGkBGtlWk5WCNkZTfj3rf5RUiXz4uoKUMWE1rZmyMDoDDS1PBo+yTVKW5w==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.215.0.tgz", + "integrity": "sha512-++bK4BUQe8/CL/YcLZcQB8qPOhiXxhbuhYzfFS7PNVvW1QOLqKRZL/lKs24gzjcOmw7IhAbCybDZwvu2TM4DAg==", "requires": { - "@aws-sdk/types": "3.193.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/is-array-buffer": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.188.0.tgz", - "integrity": "sha512-n69N4zJZCNd87Rf4NzufPzhactUeM877Y0Tp/F3KiHqGeTnVjYUa4Lv1vLBjqtfjYb2HWT3NKlYn5yzrhaEwiQ==", + "version": "3.201.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.201.0.tgz", + "integrity": "sha512-UPez5qLh3dNgt0DYnPD/q0mVJY84rA17QE26hVNOW3fAji8W2wrwrxdacWOxyXvlxWsVRcKmr+lay1MDqpAMfg==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/md5-js": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.193.0.tgz", - "integrity": "sha512-ifoCUGltLVGd3IN32SbKEYTREjeLBCuPVr+adjSyTrM+dZ2cIUrhnaid5KL0srMO/rgNwktDqVnxLdi90Sa2Uw==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.215.0.tgz", + "integrity": "sha512-2f5r2raNDG9USKHKRgAW2r1MzCrkemLASlDXASgAuAD3gYGURVi4ZDhI3I1GECY5dPEgGC+3B2rkEb9MfQAaEg==", "requires": { - "@aws-sdk/types": "3.193.0", + "@aws-sdk/types": "3.215.0", "@aws-sdk/util-utf8-browser": "3.188.0", - "@aws-sdk/util-utf8-node": "3.188.0", + "@aws-sdk/util-utf8-node": "3.208.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-bucket-endpoint": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.193.0.tgz", - "integrity": "sha512-0wZWsgwSKghPFpE0B8togI64uMcjj7HIZoHGSsFUjuwr1vXMQm1pcR4ScJ7JAGWsuvXmkDtY0382rQOdc58hnA==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.215.0.tgz", + "integrity": "sha512-zMeYrnHX8S9VFDPH3fryXdPXW1DWeX9URKAkU1oxZLGpBX91CsWzUDjaMhbkDgvwO2oeKgjnZ2vCwcNNKP266w==", "requires": { - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/util-arn-parser": "3.188.0", - "@aws-sdk/util-config-provider": "3.188.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/util-arn-parser": "3.208.0", + "@aws-sdk/util-config-provider": "3.208.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-content-length": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.193.0.tgz", - "integrity": "sha512-em0Sqo7O7DFOcVXU460pbcYuIjblDTZqK2YE62nQ0T+5Nbj+MSjuoite+rRRdRww9VqBkUROGKON45bUNjogtQ==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.215.0.tgz", + "integrity": "sha512-zKJRb6jDLFl9nl/muSFbiQHA4uK3skinuDRcyLbpMvvzhuK/PVodv9QI1+wIUsFdXkaSxAlva1oG4bL8ZFi+sQ==", "requires": { - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-endpoint": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.193.0.tgz", - "integrity": "sha512-Inbpt7jcHGvzF7UOJOCxx9wih0+eAQYERikokidWJa7M405EJpVYq1mGbeOcQUPANU3uWF1AObmUUFhbkriHQw==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.215.0.tgz", + "integrity": "sha512-W0QXL5emcN9IXtMbnWT/abLxBFH2tGIfnre2jPNmZ9M7uVFxUwwv5OTUXxNLGNehJHKhiJPwhfQvMy20IDzVcw==", "requires": { - "@aws-sdk/middleware-serde": "3.193.0", - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/signature-v4": "3.193.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/url-parser": "3.193.0", - "@aws-sdk/util-config-provider": "3.188.0", - "@aws-sdk/util-middleware": "3.193.0", + "@aws-sdk/middleware-serde": "3.215.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/signature-v4": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/url-parser": "3.215.0", + "@aws-sdk/util-config-provider": "3.208.0", + "@aws-sdk/util-middleware": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-expect-continue": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.193.0.tgz", - "integrity": "sha512-9VME6p1SLaXP49SHPsfCAd0m45W2XgAtD13bLPgqW80zWpD6OwcYER2LvqDJch9rm9fX9IB19xRqrpiJx8imfw==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.215.0.tgz", + "integrity": "sha512-X2G7MnBSYPPmLqqd9xDGl2ik9dUsGYcYzulf2Z1HVEGJO6btZJtPfC+IIwuJjsiCWCgbypM1X/oOSxdrmRkUNQ==", "requires": { - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-flexible-checksums": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.193.0.tgz", - "integrity": "sha512-eMnziJ3WCTu07A47Xv7p9ntBv02j3PsB/+ficwDiG9AUA33dZDdoHS1D1JE7WfQJLrK5mFNUKRXGEGlhZGC9Gw==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.215.0.tgz", + "integrity": "sha512-fAFcR+QsrGPCgYssdTYmayoCXDKYzlv0a14jaJtZsacXQNGefXly9D856lri+yG2jxqQ6Sa0FzU4Pm7s3j4mvg==", "requires": { "@aws-crypto/crc32": "2.0.0", "@aws-crypto/crc32c": "2.0.0", - "@aws-sdk/is-array-buffer": "3.188.0", - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/is-array-buffer": "3.201.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-host-header": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.193.0.tgz", - "integrity": "sha512-aegzj5oRWd//lmfmkzRmgG2b4l3140v8Ey4QkqCxcowvAEX5a7rh23yuKaGtmiePwv2RQalCKz+tN6JXCm8g6Q==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.215.0.tgz", + "integrity": "sha512-GOqI7VwoENZwn+6tIMrrJ4SipIqL2JCh+BNvORVcy7CQxn1ViKkna7iaCx+QMjpg/kn9cR6kfY0n1FmgZR1w9A==", "requires": { - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-location-constraint": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.193.0.tgz", - "integrity": "sha512-Z084OP+nG95DDaHehk8nYDoQQUaPe02IvQ6U5ZMSAMNTKxwIBn1wRrRAgYfnH1zSpAe3cEz27sF+UPRnafeLjQ==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.215.0.tgz", + "integrity": "sha512-taDOIGv2rsAyDEJxSm/nhKS4nsBPUKKCvIpK26E7uGshQZFLtTLTJMp8zGb1IBfUSxRngdWljRmOS5AJUexNbQ==", "requires": { - "@aws-sdk/types": "3.193.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-logger": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.193.0.tgz", - "integrity": "sha512-D/h1pU5tAcyJpJ8ZeD1Sta0S9QZPcxERYRBiJdEl8VUrYwfy3Cl1WJedVOmd5nG73ZLRSyHeXHewb/ohge3yKQ==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.215.0.tgz", + "integrity": "sha512-0h4GGF0rV3jnY3jxmcAWsOdqHCYf25s0biSjmgTei+l/5S+geOGrovRPCNep0LLg0i9D8bkZsXISojilETbf+g==", "requires": { - "@aws-sdk/types": "3.193.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-recursion-detection": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.193.0.tgz", - "integrity": "sha512-fMWP76Q1GOb/9OzS1arizm6Dbfo02DPZ6xp7OoAN3PS6ybH3Eb47s/gP3jzgBPAITQacFj4St/4a06YWYrN3NA==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.215.0.tgz", + "integrity": "sha512-KQ+kiEsaluM4i6opjusUukxY78+UhfR7vzXHDkzZK/GplQ1hY0B+rwVO1eaULmlnmf3FK+Wd6lwrPV7xS2W+EA==", "requires": { - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-retry": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.193.0.tgz", - "integrity": "sha512-zTQkHLBQBJi6ns655WYcYLyLPc1tgbEYU080Oc8zlveLUqoDn1ogkcmNhG7XMeQuBvWZBYN7J3/wFaXlDzeCKg==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.215.0.tgz", + "integrity": "sha512-I/dnUPVg2Kp3lW+MywBoPp06EOng8IfuaS9ph4bcJpQKrhNU5ekRgCHH2C4k1A6GcP8uyHxQ5TVV6j+l0QPIsA==", "requires": { - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/service-error-classification": "3.193.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/util-middleware": "3.193.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/service-error-classification": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/util-middleware": "3.215.0", "tslib": "^2.3.1", "uuid": "^8.3.2" } }, "@aws-sdk/middleware-sdk-s3": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.193.0.tgz", - "integrity": "sha512-SynIfwLxXhMKEK7cR6xWQ4WuMCZt7CtyN3WMYN5ywwhR3nOTndrYfX/+RjFRStvad17Blj32hZXO74wMArN1vA==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.215.0.tgz", + "integrity": "sha512-+SM+xCIFNSFIKM9KyvgIu4Ah5Z/SbHS8mDkinHkY8X/iUryrsKKBs7xnpMAaJCTFkK/8gO6Lhdda1nbvGozhdA==", "requires": { - "@aws-sdk/middleware-bucket-endpoint": "3.193.0", - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/util-arn-parser": "3.188.0", + "@aws-sdk/middleware-bucket-endpoint": "3.215.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/util-arn-parser": "3.208.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-sdk-sqs": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sqs/-/middleware-sdk-sqs-3.193.0.tgz", - "integrity": "sha512-zl4kSzzdZKHK4V465femLup+ALOUdlNCLSv0xPKF1QFEVHsfjq08o2l21uIhkbqxVH/JnLHFMfNWF7WIykLysA==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sqs/-/middleware-sdk-sqs-3.215.0.tgz", + "integrity": "sha512-Y4IdzgsHuBnsKinKp0WWc4FZPwD1e1DFZUcJj0iAsjCT/+cH0MCPe34mv6BALc6lHd2+CSGiXQ/6+GckK7Sajw==", "requires": { - "@aws-sdk/types": "3.193.0", - "@aws-sdk/util-hex-encoding": "3.188.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/util-hex-encoding": "3.201.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-sdk-sts": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.193.0.tgz", - "integrity": "sha512-TafiDkeflUsnbNa89TLkDnAiRRp1gAaZLDAjt75AzriRKZnhtFfYUXWb+qAuN50T+CkJ/gZI9LHDZL5ogz/HxQ==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.215.0.tgz", + "integrity": "sha512-wJRxoDf+2egbRgochaQL8+zzADx8FM/2W0spKNj8x+t/3iqw70QwxCfuEKW/uFQ3ph6eaIrv7gYc8RRjwhD8rg==", "requires": { - "@aws-sdk/middleware-signing": "3.193.0", - "@aws-sdk/property-provider": "3.193.0", - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/signature-v4": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/middleware-signing": "3.215.0", + "@aws-sdk/property-provider": "3.215.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/signature-v4": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-serde": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.193.0.tgz", - "integrity": "sha512-dH93EJYVztY+ZDPzSMRi9LfAZfKO+luH62raNy49hlNa4jiyE1Tc/+qwlmOEpfGsrtcZ9TgsON1uFF9sgBXXaA==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.215.0.tgz", + "integrity": "sha512-+uhLXdKvvQZcRRFc3UmemSr/YUHA4Jc+1YMjHxc3v8vvfztFJBb0wgBx999myOi8PmkYThlRBQDzXy9UCIhIJw==", "requires": { - "@aws-sdk/types": "3.193.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-signing": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.193.0.tgz", - "integrity": "sha512-obBoELGPf5ikvHYZwbzllLeuODiokdDfe92Ve2ufeOa/d8+xsmbqNzNdCTLNNTmr1tEIaEE7ngZVTOiHqAVhyw==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.215.0.tgz", + "integrity": "sha512-3BqzYqkmdPeOxjI8DVQE7Bm7J5QIvDy30abglXqrDg6npw6KonKI2Q3FIPFf+oLpZTMStwkoQOnwXHTPrSZ6Tg==", "requires": { - "@aws-sdk/property-provider": "3.193.0", - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/signature-v4": "3.193.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/util-middleware": "3.193.0", + "@aws-sdk/property-provider": "3.215.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/signature-v4": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/util-middleware": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-ssec": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.193.0.tgz", - "integrity": "sha512-ZpvD5Zpl3ocLXNFYdkSMxiDW4QyL/6XRwDfeSqXy8iWhVs/WmES2W+KWBRNh6K8mp5/ZDuycwLWeAYFNqZLUaA==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.215.0.tgz", + "integrity": "sha512-iIiB2fGneR8iZN2tgQoACq1jQlG50zU49cus/jAAKjy6B7QeKXy5Ld8/+eNnzcjLuBzzeLtER2YWwFLWqUOZpw==", "requires": { - "@aws-sdk/types": "3.193.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-stack": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.193.0.tgz", - "integrity": "sha512-Ix5d7gE6bZwFNIVf0dGnjYuymz1gjitNoAZDPpv1nEZlUMek/jcno5lmzWFzUZXY/azpbIyaPwq/wm/c69au5A==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.215.0.tgz", + "integrity": "sha512-rdSVL7LxRgjlvoluqwODD4ypBy2k/YVl6FrDplyCMSi8m2WHZG99FzdmR9bpnWK+0DGzYZSMRYx6ynJ9N9PsSw==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/middleware-user-agent": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.193.0.tgz", - "integrity": "sha512-0vT6F9NwYQK7ARUUJeHTUIUPnupsO3IbmjHSi1+clkssFlJm2UfmSGeafiWe4AYH3anATTvZEtcxX5DZT/ExbA==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.215.0.tgz", + "integrity": "sha512-X6GfoMNoEITTw7rGL/gWs8UZ0cmmmezvKcl+KtHsA642R05OR4mY5G7LdbWAw0bcrwKsuKOGmwUrC9lzGqbWUw==", "requires": { - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/node-config-provider": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.193.0.tgz", - "integrity": "sha512-5RLdjQLH69ISRG8TX9klSLOpEySXxj+z9E9Em39HRvw0/rDcd8poCTADvjYIOqRVvMka0z/hm+elvUTIVn/DRw==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.215.0.tgz", + "integrity": "sha512-notckD94QwwxC0GsfpTxB7VH8SREIIlMsUSddqGtpModa0cq/wRb9rqnydZSoznbYpK1ND6h0C9hr/2PNz89zw==", "requires": { - "@aws-sdk/property-provider": "3.193.0", - "@aws-sdk/shared-ini-file-loader": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/property-provider": "3.215.0", + "@aws-sdk/shared-ini-file-loader": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/node-http-handler": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.193.0.tgz", - "integrity": "sha512-DP4BmFw64HOShgpAPEEMZedVnRmKKjHOwMEoXcnNlAkMXnYUFHiKvudYq87Q2AnSlT6OHkyMviB61gEvIk73dA==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.215.0.tgz", + "integrity": "sha512-btKWSR7m0UuWIN3p5MfSIvhqeYik7xri7U6nWuVI5GVzIYjzxEZOMvPAinDLDxL5wipodi0ZvTUNdDJdm7BcGQ==", "requires": { - "@aws-sdk/abort-controller": "3.193.0", - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/querystring-builder": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/abort-controller": "3.215.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/querystring-builder": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/property-provider": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.193.0.tgz", - "integrity": "sha512-IaDR/PdZjKlAeSq2E/6u6nkPsZF9wvhHZckwH7uumq4ocWsWXFzaT+hKpV4YZPHx9n+K2YV4Gn/bDedpz99W1Q==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.215.0.tgz", + "integrity": "sha512-dDPjMCCopkRURAmOJCMSlpIQ5BGWCpYj0+FIfZ5qWQs24fn1PAkQHecOiBhJO0ZSVuQy3xcIyWsAp1NE5e+7ug==", "requires": { - "@aws-sdk/types": "3.193.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/protocol-http": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.193.0.tgz", - "integrity": "sha512-r0wbTwFJyXq0uiImI6giqG3g/RO1N/y4wwPA7qr7OC+KXJ0NkyVxIf6e7Vx8h06aM1ATtngbwJaMP59kVCp85A==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.215.0.tgz", + "integrity": "sha512-qp6Y6v4S534LAjadiVl9p7ErK7ImphOKq6yhFyQwxko6iITLcz8ib3yU27fs4QJcnNj5ZooqW/YlL/0EikDxCQ==", "requires": { - "@aws-sdk/types": "3.193.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/querystring-builder": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.193.0.tgz", - "integrity": "sha512-PRaK6649iw0UO45UjUoiUzFcOKXZb8pMjjFJpqALpEvdZT3twxqhlPXujT7GWPKrSwO4uPLNnyYEtPY82wx2vw==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.215.0.tgz", + "integrity": "sha512-eilk8CqG37BVhQklLif00K2dOJgDzacUi8h3KVQ72ry1V3h345i4HsmaFIxvnz8XtNyDvV8qFAzeYg9n2P9RQA==", "requires": { - "@aws-sdk/types": "3.193.0", - "@aws-sdk/util-uri-escape": "3.188.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/util-uri-escape": "3.201.0", "tslib": "^2.3.1" } }, "@aws-sdk/querystring-parser": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.193.0.tgz", - "integrity": "sha512-dGEPCe8SK4/td5dSpiaEI3SvT5eHXrbJWbLGyD4FL3n7WCGMy2xVWAB/yrgzD0GdLDjDa8L5vLVz6yT1P9i+hA==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.215.0.tgz", + "integrity": "sha512-8h/9H8dWM4fZO27UGzo8W5JXln4yJMugPyUl4qFA437gzPgNFN95+oLJWXtHMlfCHC5T/PDKetY9TarMDgBD0Q==", "requires": { - "@aws-sdk/types": "3.193.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/s3-request-presigner": { - "version": "3.194.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.194.0.tgz", - "integrity": "sha512-WQIiOrNYGXbCKVwbYceyUOk8toPmpaOrWgjT9dkn9MhA3sExJUDPfwgQtqsmgG23TZd2VCcZhDgzSeZNhvqMHg==", + "version": "3.216.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.216.0.tgz", + "integrity": "sha512-JK7W/F3yFh0Bm585mBBTqYdkGPDelDT8OO6vv/NwzjxHkqfN3MTc1/sGPWd0XqJ4EHnscck+rq4jYHyYcem7mQ==", "requires": { - "@aws-sdk/middleware-endpoint": "3.193.0", - "@aws-sdk/middleware-sdk-s3": "3.193.0", - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/signature-v4-multi-region": "3.193.0", - "@aws-sdk/smithy-client": "3.193.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/util-create-request": "3.193.0", - "@aws-sdk/util-format-url": "3.193.0", + "@aws-sdk/middleware-endpoint": "3.215.0", + "@aws-sdk/middleware-sdk-s3": "3.215.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/signature-v4-multi-region": "3.215.0", + "@aws-sdk/smithy-client": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/util-create-request": "3.215.0", + "@aws-sdk/util-format-url": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/service-error-classification": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.193.0.tgz", - "integrity": "sha512-bPnXVu8ErE1RfWVVQKc2TE7EuoImUi4dSPW9g80fGRzJdQNwXb636C+7OUuWvSDzmFwuBYqZza8GZjVd+rz2zQ==" + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.215.0.tgz", + "integrity": "sha512-SKBvClGFGzMPsjBBKjneaUazLCNr6bSxe9eFvOr3gCwuwE2jPQwW3VE1mb62howuvm6cLthEDwLQp/FsT1gMsw==" }, "@aws-sdk/shared-ini-file-loader": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.193.0.tgz", - "integrity": "sha512-hnvZup8RSpFXfah7Rrn6+lQJnAOCO+OiDJ2R/iMgZQh475GRQpLbu3cPhCOkjB14vVLygJtW8trK/0+zKq93bQ==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.215.0.tgz", + "integrity": "sha512-unzQeLOyUiYHr8WxxandHo0OaCj31gx0wpt8dn2cZcHm/MdCqHcHcsQqOVnQsWQrrxY/XZ27cPyMVQeicNKYwQ==", "requires": { - "@aws-sdk/types": "3.193.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/signature-v4": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.193.0.tgz", - "integrity": "sha512-JEqqOB8wQZz6g1ERNUOIBFDFt8OJtz5G5Uh1CdkS5W66gyWnJEz/dE1hA2VTqqQwHGGEsIEV/hlzruU1lXsvFA==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.215.0.tgz", + "integrity": "sha512-Rc73uUCi3eJneO25DydLTfJYamXeuKS9YIhNMTKlpvcN1UQAmAnUbAmCuEmqvkYOiGD1i4/kd8kBga708iIikQ==", "requires": { - "@aws-sdk/is-array-buffer": "3.188.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/util-hex-encoding": "3.188.0", - "@aws-sdk/util-middleware": "3.193.0", - "@aws-sdk/util-uri-escape": "3.188.0", + "@aws-sdk/is-array-buffer": "3.201.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/util-hex-encoding": "3.201.0", + "@aws-sdk/util-middleware": "3.215.0", + "@aws-sdk/util-uri-escape": "3.201.0", "tslib": "^2.3.1" } }, "@aws-sdk/signature-v4-multi-region": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.193.0.tgz", - "integrity": "sha512-NUlTZVu7kB9LWk290ofWhDGK3O2qTx+RtAoCQbifn5mLe2d0FPIe9CibPg+IY4rkbXTyEBbSs2FaxFjcAlW8JA==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.215.0.tgz", + "integrity": "sha512-XOUUNWs6I4vAa+Byj6qL/+DCWA5CjcRyA9sitYy8sNqhLcet8WoYf7vJL2LW1nvdzRb/pGBNWLiQOZ+9sadYeg==", "requires": { - "@aws-sdk/protocol-http": "3.193.0", - "@aws-sdk/signature-v4": "3.193.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/util-arn-parser": "3.188.0", + "@aws-sdk/protocol-http": "3.215.0", + "@aws-sdk/signature-v4": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/util-arn-parser": "3.208.0", "tslib": "^2.3.1" } }, "@aws-sdk/smithy-client": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.193.0.tgz", - "integrity": "sha512-BY0jhfW76vyXr7ODMaKO3eyS98RSrZgOMl6DTQV9sk7eFP/MPVlG7p7nfX/CDIgPBIO1z0A0i2CVIzYur9uGgQ==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.215.0.tgz", + "integrity": "sha512-PiZfCdZkPohzMPrRmJ46TPOf2Tr/dhKYdwQArRnOOIsJABUGXjlzCUE8vysDN35XZYRx5f9hd+/U7kayhniq2w==", "requires": { - "@aws-sdk/middleware-stack": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/middleware-stack": "3.215.0", + "@aws-sdk/types": "3.215.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/token-providers": { + "version": "3.216.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.216.0.tgz", + "integrity": "sha512-cEmOfG7njWl0OA5lR65Sp2SW1i8ZLjf7C95TZ1e6t2Oo5aUFeN3aKBxMOV//1yc+BNzcFBnoHP/f29GhWxUOxA==", + "requires": { + "@aws-sdk/client-sso-oidc": "3.216.0", + "@aws-sdk/property-provider": "3.215.0", + "@aws-sdk/shared-ini-file-loader": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/types": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.193.0.tgz", - "integrity": "sha512-LV/wcPolRZKORrcHwkH59QMCkiDR5sM+9ZtuTxvyUGG2QFW/kjoxs08fUF10OWNJMrotBI+czDc5QJRgN8BlAw==" + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.215.0.tgz", + "integrity": "sha512-eRbCVjwzTYd9C5e2mceScJ6D2kYDDEC3PLkYfJa+1wH9iiF2JlbiYozAokyeYBHQ+AjmD93MK58RBoM8iZfH0Q==" }, "@aws-sdk/url-parser": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.193.0.tgz", - "integrity": "sha512-hwD1koJlOu2a6GvaSbNbdo7I6a3tmrsNTZr8bCjAcbqpc5pDThcpnl/Uaz3zHmMPs92U8I6BvWoK6pH8By06qw==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.215.0.tgz", + "integrity": "sha512-r/qIk3TUlV36JvoRjTErFm0LzzgNKLB1YUG8zVZCGAc2TEATi8OVEmsZvi+KfTmsbszulITJVcjZKbHLbGoUzg==", "requires": { - "@aws-sdk/querystring-parser": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/querystring-parser": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-arn-parser": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.188.0.tgz", - "integrity": "sha512-q4nZzt/g3sRY9a3sj1PaNFwql5bXfKSW4fRy0zLdbZHcYdgq2oQfVsJTIlL9lUNjifkXiIsmk61Q16JExtrLyw==", + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.208.0.tgz", + "integrity": "sha512-QV4af+kscova9dv4VuHOgH8wEr/IIYHDGcnyVtkUEqahCejWr1Kuk+SBK0xMwnZY5LSycOtQ8aeqHOn9qOjZtA==", "requires": { "tslib": "^2.3.1" } }, - "@aws-sdk/util-base64-browser": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.188.0.tgz", - "integrity": "sha512-qlH+5NZBLiyKziL335BEPedYxX6j+p7KFRWXvDQox9S+s+gLCayednpK+fteOhBenCcR9fUZOVuAPScy1I8qCg==", + "@aws-sdk/util-base64": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64/-/util-base64-3.208.0.tgz", + "integrity": "sha512-PQniZph5A6N7uuEOQi+1hnMz/FSOK/8kMFyFO+4DgA1dZ5pcKcn5wiFwHkcTb/BsgVqQa3Jx0VHNnvhlS8JyTg==", "requires": { - "tslib": "^2.3.1" - } - }, - "@aws-sdk/util-base64-node": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.188.0.tgz", - "integrity": "sha512-r1dccRsRjKq+OhVRUfqFiW3sGgZBjHbMeHLbrAs9jrOjU2PTQ8PSzAXLvX/9lmp7YjmX17Qvlsg0NCr1tbB9OA==", - "requires": { - "@aws-sdk/util-buffer-from": "3.188.0", + "@aws-sdk/util-buffer-from": "3.208.0", "tslib": "^2.3.1" } }, @@ -10911,88 +10400,88 @@ } }, "@aws-sdk/util-body-length-node": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.188.0.tgz", - "integrity": "sha512-XwqP3vxk60MKp4YDdvDeCD6BPOiG2e+/Ou4AofZOy5/toB6NKz2pFNibQIUg2+jc7mPMnGnvOW3MQEgSJ+gu/Q==", + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.208.0.tgz", + "integrity": "sha512-3zj50e5g7t/MQf53SsuuSf0hEELzMtD8RX8C76f12OSRo2Bca4FLLYHe0TZbxcfQHom8/hOaeZEyTyMogMglqg==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/util-buffer-from": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.188.0.tgz", - "integrity": "sha512-NX1WXZ8TH20IZb4jPFT2CnLKSqZWddGxtfiWxD9M47YOtq/SSQeR82fhqqVjJn4P8w2F5E28f+Du4ntg/sGcxA==", + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.208.0.tgz", + "integrity": "sha512-7L0XUixNEFcLUGPeBF35enCvB9Xl+K6SQsmbrPk1P3mlV9mguWSDQqbOBwY1Ir0OVbD6H/ZOQU7hI/9RtRI0Zw==", "requires": { - "@aws-sdk/is-array-buffer": "3.188.0", + "@aws-sdk/is-array-buffer": "3.201.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-config-provider": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.188.0.tgz", - "integrity": "sha512-LBA7tLbi7v4uvbOJhSnjJrxbcRifKK/1ZVK94JTV2MNSCCyNkFotyEI5UWDl10YKriTIUyf7o5cakpiDZ3O4xg==", + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.208.0.tgz", + "integrity": "sha512-DSRqwrERUsT34ug+anlMBIFooBEGwM8GejC7q00Y/9IPrQy50KnG5PW2NiTjuLKNi7pdEOlwTSEocJE15eDZIg==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/util-create-request": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-create-request/-/util-create-request-3.193.0.tgz", - "integrity": "sha512-cEuWTB47dRvqBrHcaJTC+EV2EUbjKujNoa5uPPDV8R/LBTWi68mzlQSxPzRuhYHDbb7nxmEMMgwgKQBbC32J6Q==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-create-request/-/util-create-request-3.215.0.tgz", + "integrity": "sha512-V+f6YYSUHGNWVLQpdTgpbCPgnkXmHtC9uEk/rQjzJAvzAZmqYuPc2hheBSAt7gN6yzLoMeDBmjhZMh79fFZ3UQ==", "requires": { - "@aws-sdk/middleware-stack": "3.193.0", - "@aws-sdk/smithy-client": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/middleware-stack": "3.215.0", + "@aws-sdk/smithy-client": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-defaults-mode-browser": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.193.0.tgz", - "integrity": "sha512-9riQKFrSJcsNAMnPA/3ltpSxNykeO20klE/UKjxEoD7UWjxLwsPK22UJjFwMRaHoAFcZD0LU/SgPxbC0ktCYCg==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.215.0.tgz", + "integrity": "sha512-MiNfZgB0I4dR8CBxH163W7c9KvE38sgCHNPWopMqSX5ezz7cuCPohCU0XsWd4I7K31PvzuqmKgOiKBAZraQJMA==", "requires": { - "@aws-sdk/property-provider": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/property-provider": "3.215.0", + "@aws-sdk/types": "3.215.0", "bowser": "^2.11.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-defaults-mode-node": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.193.0.tgz", - "integrity": "sha512-occQmckvPRiM4YQIZnulfKKKjykGKWloa5ByGC5gOEGlyeP9zJpfs4zc/M2kArTAt+d2r3wkBtsKe5yKSlVEhA==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.215.0.tgz", + "integrity": "sha512-mSp3R8GljQ+4UT3QMOksQk9L0cWbFLvR7bBmAlt4+GobgTjpRfzFjBP3uwrCqFa3BKDUR3FeJq3qwo+xeY1Krg==", "requires": { - "@aws-sdk/config-resolver": "3.193.0", - "@aws-sdk/credential-provider-imds": "3.193.0", - "@aws-sdk/node-config-provider": "3.193.0", - "@aws-sdk/property-provider": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/config-resolver": "3.215.0", + "@aws-sdk/credential-provider-imds": "3.215.0", + "@aws-sdk/node-config-provider": "3.215.0", + "@aws-sdk/property-provider": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-endpoints": { - "version": "3.194.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.194.0.tgz", - "integrity": "sha512-G+DGC3Zx0GnQpt4DpRmVcCfliNxf3nwBtZ3JIdCptkUZgDEpLYzOfjbf3bUyPTQh+oGHeqfnVAF+rFjTnYql3A==", + "version": "3.216.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.216.0.tgz", + "integrity": "sha512-uHje4H6Qj/z/op8UZoSuvGpEZhz/r+AGY0rCihFo7XjhT4RYVxb2Eb9uHRK/IAeHU4kjHAdpQiWGMSmnT/UacA==", "requires": { - "@aws-sdk/types": "3.193.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-format-url": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.193.0.tgz", - "integrity": "sha512-GSoH093CXU4RKHTWiVzN8LScdmp8U0aQpEvzMBVsbl+BrzKeD2Q7wyO4iJIIx4phlLZHSGEQw4Zr0D3UPGzMwg==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.215.0.tgz", + "integrity": "sha512-j8X2pIwpSxtS23Za6t36pQjeVe5ouunoMuOj4wdj2uB3Cbf2vvd84J5lF8bUHQA35f5PRqdYtU1KyolQudCXsA==", "requires": { - "@aws-sdk/querystring-builder": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/querystring-builder": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-hex-encoding": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.188.0.tgz", - "integrity": "sha512-QyWovTtjQ2RYxqVM+STPh65owSqzuXURnfoof778spyX4iQ4z46wOge1YV2ZtwS8w5LWd9eeVvDrLu5POPYOnA==", + "version": "3.201.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.201.0.tgz", + "integrity": "sha512-7t1vR1pVxKx0motd3X9rI3m/xNp78p3sHtP5yo4NP4ARpxyJ0fokBomY8ScaH2D/B+U5o9ARxldJUdMqyBlJcA==", "requires": { "tslib": "^2.3.1" } @@ -11006,62 +10495,62 @@ } }, "@aws-sdk/util-middleware": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.193.0.tgz", - "integrity": "sha512-+aC6pmkcGgpxaMWCH/FXTsGWl2W342oQGs1OYKGi+W8z9UguXrqamWjdkdMqgunvj9qOEG2KBMKz1FWFFZlUyA==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.215.0.tgz", + "integrity": "sha512-DfHGlFlQCr+T/xhjS36HH8JEThDVB5lg5NZ6x4Cibhyeps9YX/4ovLAIx3B19H34sdWhZi7q6LfslCHLRu2+7Q==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/util-stream-browser": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.193.0.tgz", - "integrity": "sha512-+KaNWRsRiRodQYlGGuYHgjbEa6Qu4fOTrG3NXEBDYIEGH705OCnlLlkvFRWMcDbTPuJN7c4N4jB89KF3c19hsg==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.215.0.tgz", + "integrity": "sha512-UVyCJJ5sCYLVHCW4Lpm8+ae+ISHPHZ/OqAoLbUpehk2RLGP6QhpQOrpJADLXPuB8YuWFMkoLLIVL8VE7mmTPWA==", "requires": { - "@aws-sdk/fetch-http-handler": "3.193.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/util-base64-browser": "3.188.0", - "@aws-sdk/util-hex-encoding": "3.188.0", + "@aws-sdk/fetch-http-handler": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/util-base64": "3.208.0", + "@aws-sdk/util-hex-encoding": "3.201.0", "@aws-sdk/util-utf8-browser": "3.188.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-stream-node": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-node/-/util-stream-node-3.193.0.tgz", - "integrity": "sha512-XwcXpa1tYuj/0CLVg3C64YT5JDLykc0NrV23mje0hCwBgteG0w6pu5F5M1zXWofSVNOVYERYtmdmUAvx7XPm5w==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-node/-/util-stream-node-3.215.0.tgz", + "integrity": "sha512-7Vyp61P/2dGA9Fzn6uN/KdRd+Z7n8gCGmXBd/dQSrHx3UFIm1TuEmMwROzbWWxPOS6qDWY/dwQgMZH/tq78Llg==", "requires": { - "@aws-sdk/node-http-handler": "3.193.0", - "@aws-sdk/types": "3.193.0", - "@aws-sdk/util-buffer-from": "3.188.0", + "@aws-sdk/node-http-handler": "3.215.0", + "@aws-sdk/types": "3.215.0", + "@aws-sdk/util-buffer-from": "3.208.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-uri-escape": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.188.0.tgz", - "integrity": "sha512-4Y6AYZMT483Tiuq8dxz5WHIiPNdSFPGrl6tRTo2Oi2FcwypwmFhqgEGcqxeXDUJktvaCBxeA08DLr/AemVhPCg==", + "version": "3.201.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.201.0.tgz", + "integrity": "sha512-TeTWbGx4LU2c5rx0obHeDFeO9HvwYwQtMh1yniBz00pQb6Qt6YVOETVQikRZ+XRQwEyCg/dA375UplIpiy54mA==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/util-user-agent-browser": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.193.0.tgz", - "integrity": "sha512-1EkGYsUtOMEyJG/UBIR4PtmO3lVjKNoUImoMpLtEucoGbWz5RG9zFSwLevjFyFs5roUBFlxkSpTMo8xQ3aRzQg==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.215.0.tgz", + "integrity": "sha512-uZz6BJWr8sJcA+onveS1lFqnbIXBHwvkyHLgCuuGhAxd5yY6YNLhpJBnhy9Fb8/aSbk6yao3qxlokqw9gthmAw==", "requires": { - "@aws-sdk/types": "3.193.0", + "@aws-sdk/types": "3.215.0", "bowser": "^2.11.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-user-agent-node": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.193.0.tgz", - "integrity": "sha512-G/2/1cSgsxVtREAm8Eq8Duib5PXzXknFRHuDpAxJ5++lsJMXoYMReS278KgV54cojOkAVfcODDTqmY3Av0WHhQ==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.215.0.tgz", + "integrity": "sha512-4lrdd1oGRwJEwfvgvg1jcJ2O0bwElsvtiqZfTRHN6MNTFUqsKl0xHlgFChQsz3Hfrc1niWtZCmbqQKGdO5ARpw==", "requires": { - "@aws-sdk/node-config-provider": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/node-config-provider": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, @@ -11074,28 +10563,28 @@ } }, "@aws-sdk/util-utf8-node": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.188.0.tgz", - "integrity": "sha512-hCgP4+C0Lekjpjt2zFJ2R/iHes5sBGljXa5bScOFAEkRUc0Qw0VNgTv7LpEbIOAwGmqyxBoCwBW0YHPW1DfmYQ==", + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.208.0.tgz", + "integrity": "sha512-jKY87Acv0yWBdFxx6bveagy5FYjz+dtV8IPT7ay1E2WPWH1czoIdMAkc8tSInK31T6CRnHWkLZ1qYwCbgRfERQ==", "requires": { - "@aws-sdk/util-buffer-from": "3.188.0", + "@aws-sdk/util-buffer-from": "3.208.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-waiter": { - "version": "3.193.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.193.0.tgz", - "integrity": "sha512-CGdTZqvZHzffaQ2lKYTAhNLssts2W0fFM8079zF6/4uuBmwr8oDxpGKtoaMhI5zfyV1MtEp7P4JzEuH+xJ5oQg==", + "version": "3.215.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.215.0.tgz", + "integrity": "sha512-RX/EkRcuDjWKP/5K6XOnbq5cPaO9KSJ5Etotn+z5sPGUJ0xmGWEyFyfXKSL51az32tHcNoGAqboBTFDISB0LyA==", "requires": { - "@aws-sdk/abort-controller": "3.193.0", - "@aws-sdk/types": "3.193.0", + "@aws-sdk/abort-controller": "3.215.0", + "@aws-sdk/types": "3.215.0", "tslib": "^2.3.1" } }, "@aws-sdk/xml-builder": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.188.0.tgz", - "integrity": "sha512-/Hah3gAtrBpEaDInX3eSS0nXw/IUeb+rWiGspXxb5O8bh5kyjQqeu8/sVJQlpOtq4aPDbMDmloH4k696qTqgbw==", + "version": "3.201.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.201.0.tgz", + "integrity": "sha512-brRdB1wwMgjWEnOQsv7zSUhIQuh7DEicrfslAqHop4S4FtSI3GQAShpQqgOpMTNFYcpaWKmE/Y1MJmNY7xLCnw==", "requires": { "tslib": "^2.3.1" } @@ -11471,12 +10960,12 @@ } }, "@babel/plugin-syntax-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", - "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", + "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.19.0" } }, "@babel/template": { @@ -11527,12 +11016,6 @@ "to-fast-properties": "^2.0.0" } }, - "@balena/dockerignore": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@balena/dockerignore/-/dockerignore-1.0.2.tgz", - "integrity": "sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q==", - "dev": true - }, "@bcoe/v8-coverage": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", @@ -11580,87 +11063,6 @@ "strip-json-comments": "^3.1.1" } }, - "@graphql-tools/merge": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.3.1.tgz", - "integrity": "sha512-BMm99mqdNZbEYeTPK3it9r9S6rsZsQKtlqJsSBknAclXq2pGEfOxjcIZi+kBSkHZKPKCRrYDd5vY0+rUmIHVLg==", - "requires": { - "@graphql-tools/utils": "8.9.0", - "tslib": "^2.4.0" - }, - "dependencies": { - "@graphql-tools/utils": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.9.0.tgz", - "integrity": "sha512-pjJIWH0XOVnYGXCqej8g/u/tsfV4LvLlj0eATKQu5zwnxd/TiTHq7Cg313qUPTFFHZ3PP5wJ15chYVtLDwaymg==", - "requires": { - "tslib": "^2.4.0" - } - } - } - }, - "@graphql-tools/mock": { - "version": "8.7.6", - "resolved": "https://registry.npmjs.org/@graphql-tools/mock/-/mock-8.7.6.tgz", - "integrity": "sha512-cQGPyY6dF4x28552zjAg9En2WWVury62u1/xzipCNUSCdKRVOsAupTNBcAGdMjsKPLcGzzk1cPA8dP0DUfNqzg==", - "requires": { - "@graphql-tools/schema": "9.0.4", - "@graphql-tools/utils": "8.12.0", - "fast-json-stable-stringify": "^2.1.0", - "tslib": "^2.4.0" - }, - "dependencies": { - "@graphql-tools/merge": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.3.6.tgz", - "integrity": "sha512-uUBokxXi89bj08P+iCvQk3Vew4vcfL5ZM6NTylWi8PIpoq4r5nJ625bRuN8h2uubEdRiH8ntN9M4xkd/j7AybQ==", - "requires": { - "@graphql-tools/utils": "8.12.0", - "tslib": "^2.4.0" - } - }, - "@graphql-tools/schema": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-9.0.4.tgz", - "integrity": "sha512-B/b8ukjs18fq+/s7p97P8L1VMrwapYc3N2KvdG/uNThSazRRn8GsBK0Nr+FH+mVKiUfb4Dno79e3SumZVoHuOQ==", - "requires": { - "@graphql-tools/merge": "8.3.6", - "@graphql-tools/utils": "8.12.0", - "tslib": "^2.4.0", - "value-or-promise": "1.0.11" - } - } - } - }, - "@graphql-tools/schema": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.5.1.tgz", - "integrity": "sha512-0Esilsh0P/qYcB5DKQpiKeQs/jevzIadNTaT0jeWklPMwNbT7yMX4EqZany7mbeRRlSRwMzNzL5olyFdffHBZg==", - "requires": { - "@graphql-tools/merge": "8.3.1", - "@graphql-tools/utils": "8.9.0", - "tslib": "^2.4.0", - "value-or-promise": "1.0.11" - }, - "dependencies": { - "@graphql-tools/utils": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.9.0.tgz", - "integrity": "sha512-pjJIWH0XOVnYGXCqej8g/u/tsfV4LvLlj0eATKQu5zwnxd/TiTHq7Cg313qUPTFFHZ3PP5wJ15chYVtLDwaymg==", - "requires": { - "tslib": "^2.4.0" - } - } - } - }, - "@graphql-tools/utils": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.12.0.tgz", - "integrity": "sha512-TeO+MJWGXjUTS52qfK4R8HiPoF/R7X+qmgtOYd8DTH0l6b+5Y/tlg5aGeUJefqImRq7nvi93Ms40k/Uz4D5CWw==", - "requires": { - "tslib": "^2.4.0" - } - }, "@grpc/grpc-js": { "version": "1.6.7", "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.6.7.tgz", @@ -11768,30 +11170,30 @@ "dev": true }, "@jest/console": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.2.1.tgz", - "integrity": "sha512-MF8Adcw+WPLZGBiNxn76DOuczG3BhODTcMlDCA4+cFi41OkaY/lyI0XUUhi73F88Y+7IHoGmD80pN5CtxQUdSw==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.3.1.tgz", + "integrity": "sha512-IRE6GD47KwcqA09RIWrabKdHPiKDGgtAL31xDxbi/RjQMsr+lY+ppxmHwY0dUEV3qvvxZzoe5Hl0RXZJOjQNUg==", "dev": true, "requires": { - "@jest/types": "^29.2.1", + "@jest/types": "^29.3.1", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^29.2.1", - "jest-util": "^29.2.1", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1", "slash": "^3.0.0" } }, "@jest/core": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.2.2.tgz", - "integrity": "sha512-susVl8o2KYLcZhhkvSB+b7xX575CX3TmSvxfeDjpRko7KmT89rHkXj6XkDkNpSeFMBzIENw5qIchO9HC9Sem+A==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.3.1.tgz", + "integrity": "sha512-0ohVjjRex985w5MmO5L3u5GR1O30DexhBSpuwx2P+9ftyqHdJXnk7IUWiP80oHMvt7ubHCJHxV0a0vlKVuZirw==", "dev": true, "requires": { - "@jest/console": "^29.2.1", - "@jest/reporters": "^29.2.2", - "@jest/test-result": "^29.2.1", - "@jest/transform": "^29.2.2", - "@jest/types": "^29.2.1", + "@jest/console": "^29.3.1", + "@jest/reporters": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", @@ -11799,92 +11201,92 @@ "exit": "^0.1.2", "graceful-fs": "^4.2.9", "jest-changed-files": "^29.2.0", - "jest-config": "^29.2.2", - "jest-haste-map": "^29.2.1", - "jest-message-util": "^29.2.1", + "jest-config": "^29.3.1", + "jest-haste-map": "^29.3.1", + "jest-message-util": "^29.3.1", "jest-regex-util": "^29.2.0", - "jest-resolve": "^29.2.2", - "jest-resolve-dependencies": "^29.2.2", - "jest-runner": "^29.2.2", - "jest-runtime": "^29.2.2", - "jest-snapshot": "^29.2.2", - "jest-util": "^29.2.1", - "jest-validate": "^29.2.2", - "jest-watcher": "^29.2.2", + "jest-resolve": "^29.3.1", + "jest-resolve-dependencies": "^29.3.1", + "jest-runner": "^29.3.1", + "jest-runtime": "^29.3.1", + "jest-snapshot": "^29.3.1", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", + "jest-watcher": "^29.3.1", "micromatch": "^4.0.4", - "pretty-format": "^29.2.1", + "pretty-format": "^29.3.1", "slash": "^3.0.0", "strip-ansi": "^6.0.0" } }, "@jest/environment": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.2.2.tgz", - "integrity": "sha512-OWn+Vhu0I1yxuGBJEFFekMYc8aGBGrY4rt47SOh/IFaI+D7ZHCk7pKRiSoZ2/Ml7b0Ony3ydmEHRx/tEOC7H1A==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.3.1.tgz", + "integrity": "sha512-pMmvfOPmoa1c1QpfFW0nXYtNLpofqo4BrCIk6f2kW4JFeNlHV2t3vd+3iDLf31e2ot2Mec0uqZfmI+U0K2CFag==", "dev": true, "requires": { - "@jest/fake-timers": "^29.2.2", - "@jest/types": "^29.2.1", + "@jest/fake-timers": "^29.3.1", + "@jest/types": "^29.3.1", "@types/node": "*", - "jest-mock": "^29.2.2" + "jest-mock": "^29.3.1" } }, "@jest/expect": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.2.2.tgz", - "integrity": "sha512-zwblIZnrIVt8z/SiEeJ7Q9wKKuB+/GS4yZe9zw7gMqfGf4C5hBLGrVyxu1SzDbVSqyMSlprKl3WL1r80cBNkgg==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.3.1.tgz", + "integrity": "sha512-QivM7GlSHSsIAWzgfyP8dgeExPRZ9BIe2LsdPyEhCGkZkoyA+kGsoIzbKAfZCvvRzfZioKwPtCZIt5SaoxYCvg==", "dev": true, "requires": { - "expect": "^29.2.2", - "jest-snapshot": "^29.2.2" + "expect": "^29.3.1", + "jest-snapshot": "^29.3.1" } }, "@jest/expect-utils": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.2.2.tgz", - "integrity": "sha512-vwnVmrVhTmGgQzyvcpze08br91OL61t9O0lJMDyb6Y/D8EKQ9V7rGUb/p7PDt0GPzK0zFYqXWFo4EO2legXmkg==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.3.1.tgz", + "integrity": "sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g==", "dev": true, "requires": { "jest-get-type": "^29.2.0" } }, "@jest/fake-timers": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.2.2.tgz", - "integrity": "sha512-nqaW3y2aSyZDl7zQ7t1XogsxeavNpH6kkdq+EpXncIDvAkjvFD7hmhcIs1nWloengEWUoWqkqSA6MSbf9w6DgA==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.3.1.tgz", + "integrity": "sha512-iHTL/XpnDlFki9Tq0Q1GGuVeQ8BHZGIYsvCO5eN/O/oJaRzofG9Xndd9HuSDBI/0ZS79pg0iwn07OMTQ7ngF2A==", "dev": true, "requires": { - "@jest/types": "^29.2.1", + "@jest/types": "^29.3.1", "@sinonjs/fake-timers": "^9.1.2", "@types/node": "*", - "jest-message-util": "^29.2.1", - "jest-mock": "^29.2.2", - "jest-util": "^29.2.1" + "jest-message-util": "^29.3.1", + "jest-mock": "^29.3.1", + "jest-util": "^29.3.1" } }, "@jest/globals": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.2.2.tgz", - "integrity": "sha512-/nt+5YMh65kYcfBhj38B3Hm0Trk4IsuMXNDGKE/swp36yydBWfz3OXkLqkSvoAtPW8IJMSJDFCbTM2oj5SNprw==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.3.1.tgz", + "integrity": "sha512-cTicd134vOcwO59OPaB6AmdHQMCtWOe+/DitpTZVxWgMJ+YvXL1HNAmPyiGbSHmF/mXVBkvlm8YYtQhyHPnV6Q==", "dev": true, "requires": { - "@jest/environment": "^29.2.2", - "@jest/expect": "^29.2.2", - "@jest/types": "^29.2.1", - "jest-mock": "^29.2.2" + "@jest/environment": "^29.3.1", + "@jest/expect": "^29.3.1", + "@jest/types": "^29.3.1", + "jest-mock": "^29.3.1" } }, "@jest/reporters": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.2.2.tgz", - "integrity": "sha512-AzjL2rl2zJC0njIzcooBvjA4sJjvdoq98sDuuNs4aNugtLPSQ+91nysGKRF0uY1to5k0MdGMdOBggUsPqvBcpA==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.3.1.tgz", + "integrity": "sha512-GhBu3YFuDrcAYW/UESz1JphEAbvUjaY2vShRZRoRY1mxpCMB3yGSJ4j9n0GxVlEOdCf7qjvUfBCrTUUqhVfbRA==", "dev": true, "requires": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.2.1", - "@jest/test-result": "^29.2.1", - "@jest/transform": "^29.2.2", - "@jest/types": "^29.2.1", + "@jest/console": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", "@jridgewell/trace-mapping": "^0.3.15", "@types/node": "*", "chalk": "^4.0.0", @@ -11897,9 +11299,9 @@ "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.2.1", - "jest-util": "^29.2.1", - "jest-worker": "^29.2.1", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1", + "jest-worker": "^29.3.1", "slash": "^3.0.0", "string-length": "^4.0.1", "strip-ansi": "^6.0.0", @@ -11927,56 +11329,64 @@ } }, "@jest/test-result": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.2.1.tgz", - "integrity": "sha512-lS4+H+VkhbX6z64tZP7PAUwPqhwj3kbuEHcaLuaBuB+riyaX7oa1txe0tXgrFj5hRWvZKvqO7LZDlNWeJ7VTPA==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.3.1.tgz", + "integrity": "sha512-qeLa6qc0ddB0kuOZyZIhfN5q0e2htngokyTWsGriedsDhItisW7SDYZ7ceOe57Ii03sL988/03wAcBh3TChMGw==", "dev": true, "requires": { - "@jest/console": "^29.2.1", - "@jest/types": "^29.2.1", + "@jest/console": "^29.3.1", + "@jest/types": "^29.3.1", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" } }, "@jest/test-sequencer": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.2.2.tgz", - "integrity": "sha512-Cuc1znc1pl4v9REgmmLf0jBd3Y65UXJpioGYtMr/JNpQEIGEzkmHhy6W6DLbSsXeUA13TDzymPv0ZGZ9jH3eIw==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.3.1.tgz", + "integrity": "sha512-IqYvLbieTv20ArgKoAMyhLHNrVHJfzO6ARZAbQRlY4UGWfdDnLlZEF0BvKOMd77uIiIjSZRwq3Jb3Fa3I8+2UA==", "dev": true, "requires": { - "@jest/test-result": "^29.2.1", + "@jest/test-result": "^29.3.1", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.2.1", + "jest-haste-map": "^29.3.1", "slash": "^3.0.0" } }, "@jest/transform": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.2.2.tgz", - "integrity": "sha512-aPe6rrletyuEIt2axxgdtxljmzH8O/nrov4byy6pDw9S8inIrTV+2PnjyP/oFHMSynzGxJ2s6OHowBNMXp/Jzg==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.3.1.tgz", + "integrity": "sha512-8wmCFBTVGYqFNLWfcOWoVuMuKYPUBTnTMDkdvFtAYELwDOl9RGwOsvQWGPFxDJ8AWY9xM/8xCXdqmPK3+Q5Lug==", "dev": true, "requires": { "@babel/core": "^7.11.6", - "@jest/types": "^29.2.1", + "@jest/types": "^29.3.1", "@jridgewell/trace-mapping": "^0.3.15", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", + "convert-source-map": "^2.0.0", "fast-json-stable-stringify": "^2.1.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.2.1", + "jest-haste-map": "^29.3.1", "jest-regex-util": "^29.2.0", - "jest-util": "^29.2.1", + "jest-util": "^29.3.1", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", "write-file-atomic": "^4.0.1" + }, + "dependencies": { + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + } } }, "@jest/types": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", - "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.3.1.tgz", + "integrity": "sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -12029,9 +11439,9 @@ } }, "@newrelic/apollo-server-plugin": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@newrelic/apollo-server-plugin/-/apollo-server-plugin-2.0.1.tgz", - "integrity": "sha512-2yqsQFAhhWLw66eHA09BCbnWKmAK/vH+QuAA7d6C9XE0zYRao7f1rus+BiKnTnVYE516spW0Udde6m9NvJQvzA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@newrelic/apollo-server-plugin/-/apollo-server-plugin-2.1.0.tgz", + "integrity": "sha512-SQz9xpkwV5hAorFG0X5idSSJqtpyfXlVQWU1WQyrgQogKfWnLSCN+8dcVhV1AN8VMYgmbB1QF32oGOm2EAHKSg==", "requires": {} }, "@newrelic/aws-sdk": { @@ -12150,9 +11560,9 @@ "dev": true }, "@sinonjs/commons": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", - "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.5.tgz", + "integrity": "sha512-rTpCA0wG1wUxglBSFdMMY0oTrKYvgf4fNgv/sXbfCVAdf+FnPBdKJR/7XbpTCwbCrvCbdPYnlWaUUYz4V2fPDA==", "dev": true, "requires": { "type-detect": "4.0.8" @@ -12187,23 +11597,6 @@ "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==" }, - "@types/accepts": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.5.tgz", - "integrity": "sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==", - "requires": { - "@types/node": "*" - } - }, - "@types/archiver": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-5.3.1.tgz", - "integrity": "sha512-wKYZaSXaDvTZuInAWjCeGG7BEAgTWG2zZW0/f7IYFcoHB2X2d9lkVFnrOlXl3W6NrvO6Ml3FLLu8Uksyymcpnw==", - "dev": true, - "requires": { - "@types/glob": "*" - } - }, "@types/babel__core": { "version": "7.1.19", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", @@ -12262,31 +11655,6 @@ "@types/node": "*" } }, - "@types/cors": { - "version": "2.8.12", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", - "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==" - }, - "@types/docker-modem": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/docker-modem/-/docker-modem-3.0.2.tgz", - "integrity": "sha512-qC7prjoEYR2QEe6SmCVfB1x3rfcQtUr1n4x89+3e0wSTMQ/KYCyf+/RAA9n2tllkkNc6//JMUZePdFRiGIWfaQ==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/ssh2": "*" - } - }, - "@types/dockerode": { - "version": "3.3.9", - "resolved": "https://registry.npmjs.org/@types/dockerode/-/dockerode-3.3.9.tgz", - "integrity": "sha512-SYRN5FF/qmwpxUT6snJP5D8k0wgoUKOGVs625XvpRJOOUi6s//UYI4F0tbyE3OmzpI70Fo1+aqpzX27zCrInww==", - "dev": true, - "requires": { - "@types/docker-modem": "*", - "@types/node": "*" - } - }, "@types/express": { "version": "4.17.14", "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz", @@ -12308,16 +11676,6 @@ "@types/range-parser": "*" } }, - "@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", - "dev": true, - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, "@types/graceful-fs": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", @@ -12352,9 +11710,9 @@ } }, "@types/jest": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.2.0.tgz", - "integrity": "sha512-KO7bPV21d65PKwv3LLsD8Jn3E05pjNjRZvkm+YTacWhVmykAb07wW6IkZUmQAltwQafNcDUEUrMO2h3jeBSisg==", + "version": "29.2.3", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.2.3.tgz", + "integrity": "sha512-6XwoEbmatfyoCjWRX7z0fKMmgYKe9+/HrviJ5k0X/tjJWHGAezZOfYaxqQKuzG/TvQyr+ktjm4jgbk0s4/oF2w==", "dev": true, "requires": { "expect": "^29.0.0", @@ -12377,17 +11735,32 @@ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==" }, - "@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "dev": true - }, "@types/node": { "version": "14.14.37", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.37.tgz", "integrity": "sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw==" }, + "@types/node-fetch": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.2.tgz", + "integrity": "sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==", + "requires": { + "@types/node": "*", + "form-data": "^3.0.0" + }, + "dependencies": { + "form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + } + } + }, "@types/prettier": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz", @@ -12405,9 +11778,9 @@ "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" }, "@types/semver": { - "version": "7.3.12", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.12.tgz", - "integrity": "sha512-WwA1MW0++RfXmCr12xeYOOC5baSC9mSb0ZqCquFzKhcoF4TvHu5MKOuXsncgZcpVFhB1pXd5hZmM0ryAoCp12A==", + "version": "7.3.13", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", + "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", "dev": true }, "@types/serve-static": { @@ -12419,25 +11792,6 @@ "@types/node": "*" } }, - "@types/ssh2": { - "version": "0.5.48", - "resolved": "https://registry.npmjs.org/@types/ssh2/-/ssh2-0.5.48.tgz", - "integrity": "sha512-cmQu0gp/6RtDXe1r2xXGgi0V0TeCdueDSRMEvBX8cTRT/sSREkUpgCYZLyh+iI8Ql+VNV8Az9toQoYa/IdgHbQ==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/ssh2-streams": "*" - } - }, - "@types/ssh2-streams": { - "version": "0.1.9", - "resolved": "https://registry.npmjs.org/@types/ssh2-streams/-/ssh2-streams-0.1.9.tgz", - "integrity": "sha512-I2J9jKqfmvXLR5GomDiCoHrEJ58hAOmFrekfFqmCFd+A6gaEStvWnPykoWUwld1PNg4G5ag1LwdA+Lz1doRJqg==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, "@types/stack-utils": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", @@ -12460,16 +11814,17 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.41.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.41.0.tgz", - "integrity": "sha512-DXUS22Y57/LAFSg3x7Vi6RNAuLpTXwxB9S2nIA7msBb/Zt8p7XqMwdpdc1IU7CkOQUPgAqR5fWvxuKCbneKGmA==", + "version": "5.44.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.44.0.tgz", + "integrity": "sha512-j5ULd7FmmekcyWeArx+i8x7sdRHzAtXTkmDPthE4amxZOWKFK7bomoJ4r7PJ8K7PoMzD16U8MmuZFAonr1ERvw==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.41.0", - "@typescript-eslint/type-utils": "5.41.0", - "@typescript-eslint/utils": "5.41.0", + "@typescript-eslint/scope-manager": "5.44.0", + "@typescript-eslint/type-utils": "5.44.0", + "@typescript-eslint/utils": "5.44.0", "debug": "^4.3.4", "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", "regexpp": "^3.2.0", "semver": "^7.3.7", "tsutils": "^3.21.0" @@ -12487,53 +11842,53 @@ } }, "@typescript-eslint/parser": { - "version": "5.41.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.41.0.tgz", - "integrity": "sha512-HQVfix4+RL5YRWZboMD1pUfFN8MpRH4laziWkkAzyO1fvNOY/uinZcvo3QiFJVS/siNHupV8E5+xSwQZrl6PZA==", + "version": "5.44.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.44.0.tgz", + "integrity": "sha512-H7LCqbZnKqkkgQHaKLGC6KUjt3pjJDx8ETDqmwncyb6PuoigYajyAwBGz08VU/l86dZWZgI4zm5k2VaKqayYyA==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.41.0", - "@typescript-eslint/types": "5.41.0", - "@typescript-eslint/typescript-estree": "5.41.0", + "@typescript-eslint/scope-manager": "5.44.0", + "@typescript-eslint/types": "5.44.0", + "@typescript-eslint/typescript-estree": "5.44.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.41.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.41.0.tgz", - "integrity": "sha512-xOxPJCnuktUkY2xoEZBKXO5DBCugFzjrVndKdUnyQr3+9aDWZReKq9MhaoVnbL+maVwWJu/N0SEtrtEUNb62QQ==", + "version": "5.44.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.44.0.tgz", + "integrity": "sha512-2pKml57KusI0LAhgLKae9kwWeITZ7IsZs77YxyNyIVOwQ1kToyXRaJLl+uDEXzMN5hnobKUOo2gKntK9H1YL8g==", "dev": true, "requires": { - "@typescript-eslint/types": "5.41.0", - "@typescript-eslint/visitor-keys": "5.41.0" + "@typescript-eslint/types": "5.44.0", + "@typescript-eslint/visitor-keys": "5.44.0" } }, "@typescript-eslint/type-utils": { - "version": "5.41.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.41.0.tgz", - "integrity": "sha512-L30HNvIG6A1Q0R58e4hu4h+fZqaO909UcnnPbwKiN6Rc3BUEx6ez2wgN7aC0cBfcAjZfwkzE+E2PQQ9nEuoqfA==", + "version": "5.44.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.44.0.tgz", + "integrity": "sha512-A1u0Yo5wZxkXPQ7/noGkRhV4J9opcymcr31XQtOzcc5nO/IHN2E2TPMECKWYpM3e6olWEM63fq/BaL1wEYnt/w==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "5.41.0", - "@typescript-eslint/utils": "5.41.0", + "@typescript-eslint/typescript-estree": "5.44.0", + "@typescript-eslint/utils": "5.44.0", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.41.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.41.0.tgz", - "integrity": "sha512-5BejraMXMC+2UjefDvrH0Fo/eLwZRV6859SXRg+FgbhA0R0l6lDqDGAQYhKbXhPN2ofk2kY5sgGyLNL907UXpA==", + "version": "5.44.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.44.0.tgz", + "integrity": "sha512-Tp+zDnHmGk4qKR1l+Y1rBvpjpm5tGXX339eAlRBDg+kgZkz9Bw+pqi4dyseOZMsGuSH69fYfPJCBKBrbPCxYFQ==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.41.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.41.0.tgz", - "integrity": "sha512-SlzFYRwFSvswzDSQ/zPkIWcHv8O5y42YUskko9c4ki+fV6HATsTODUPbRbcGDFYP86gaJL5xohUEytvyNNcXWg==", + "version": "5.44.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.44.0.tgz", + "integrity": "sha512-M6Jr+RM7M5zeRj2maSfsZK2660HKAJawv4Ud0xT+yauyvgrsHu276VtXlKDFnEmhG+nVEd0fYZNXGoAgxwDWJw==", "dev": true, "requires": { - "@typescript-eslint/types": "5.41.0", - "@typescript-eslint/visitor-keys": "5.41.0", + "@typescript-eslint/types": "5.44.0", + "@typescript-eslint/visitor-keys": "5.44.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -12553,16 +11908,16 @@ } }, "@typescript-eslint/utils": { - "version": "5.41.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.41.0.tgz", - "integrity": "sha512-QlvfwaN9jaMga9EBazQ+5DDx/4sAdqDkcs05AsQHMaopluVCUyu1bTRUVKzXbgjDlrRAQrYVoi/sXJ9fmG+KLQ==", + "version": "5.44.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.44.0.tgz", + "integrity": "sha512-fMzA8LLQ189gaBjS0MZszw5HBdZgVwxVFShCO3QN+ws3GlPkcy9YuS3U4wkT6su0w+Byjq3mS3uamy9HE4Yfjw==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.41.0", - "@typescript-eslint/types": "5.41.0", - "@typescript-eslint/typescript-estree": "5.41.0", + "@typescript-eslint/scope-manager": "5.44.0", + "@typescript-eslint/types": "5.44.0", + "@typescript-eslint/typescript-estree": "5.44.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0", "semver": "^7.3.7" @@ -12580,12 +11935,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "5.41.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.41.0.tgz", - "integrity": "sha512-vilqeHj267v8uzzakbm13HkPMl7cbYpKVjgFWZPIOHIJHZtinvypUhJ5xBXfWYg4eFKqztbMMpOgFpT9Gfx4fw==", + "version": "5.44.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.44.0.tgz", + "integrity": "sha512-a48tLG8/4m62gPFbJ27FxwCOqPKxsb8KC3HkmYoq2As/4YyjQl1jDbRr1s63+g4FS/iIehjmN3L5UjmKva1HzQ==", "dev": true, "requires": { - "@typescript-eslint/types": "5.41.0", + "@typescript-eslint/types": "5.44.0", "eslint-visitor-keys": "^3.3.0" } }, @@ -12691,37 +12046,27 @@ "requires": { "@apollo/utils.keyvaluecache": "^1.0.1", "apollo-server-env": "^4.2.1" - } - }, - "apollo-datasource-rest": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-3.7.0.tgz", - "integrity": "sha512-MeORtXZtc9drAvsarAGAUI4GZKoYFVc1OXIvehIZ/6pJrOdKGziGbraos2s/A+u8mpNPfbpk7W6f7uKtmwV0AA==", - "requires": { - "@apollo/utils.keyvaluecache": "^1.0.1", - "apollo-datasource": "^3.3.2", - "apollo-server-env": "^4.2.1", - "apollo-server-errors": "^3.3.1", - "http-cache-semantics": "^4.1.0" - } - }, - "apollo-reporting-protobuf": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/apollo-reporting-protobuf/-/apollo-reporting-protobuf-3.3.3.tgz", - "integrity": "sha512-L3+DdClhLMaRZWVmMbBcwl4Ic77CnEBPXLW53F7hkYhkaZD88ivbCVB1w/x5gunO6ZHrdzhjq0FHmTsBvPo7aQ==", - "requires": { - "@apollo/protobufjs": "1.2.6" - } - }, - "apollo-server": { - "version": "3.10.3", - "resolved": "https://registry.npmjs.org/apollo-server/-/apollo-server-3.10.3.tgz", - "integrity": "sha512-qWaCVKmMpUmDPiug93kWbqVPt9/T9RwFsPP6cZ4MUF/0X931WrWPpYzyETPUhnVgdPzWbdVcvbXjgyKYc4NB2g==", - "requires": { - "@types/express": "4.17.14", - "apollo-server-core": "^3.10.3", - "apollo-server-express": "^3.10.3", - "express": "^4.17.1" + }, + "dependencies": { + "@apollo/utils.keyvaluecache": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@apollo/utils.keyvaluecache/-/utils.keyvaluecache-1.0.1.tgz", + "integrity": "sha512-nLgYLomqjVimEzQ4cdvVQkcryi970NDvcRVPfd0OPeXhBfda38WjBq+WhQFk+czSHrmrSp34YHBxpat0EtiowA==", + "requires": { + "@apollo/utils.logger": "^1.0.0", + "lru-cache": "^7.10.1" + } + }, + "@apollo/utils.logger": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@apollo/utils.logger/-/utils.logger-1.0.1.tgz", + "integrity": "sha512-XdlzoY7fYNK4OIcvMD2G94RoFZbzTQaNP0jozmqqMudmaGo2I/2Jx71xlDJ801mWA/mbYRihyaw6KJii7k5RVA==" + }, + "lru-cache": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==" + } } }, "apollo-server-caching": { @@ -12732,42 +12077,6 @@ "lru-cache": "^6.0.0" } }, - "apollo-server-core": { - "version": "3.10.3", - "resolved": "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-3.10.3.tgz", - "integrity": "sha512-PiTirlcaszgnJGzSsGui9XWh0KAh0BUW+GvRKN6O0H0qOSXSLmoqqyL83J+u+HaUZGyyiE0+VOkyCcuF+kKbEw==", - "requires": { - "@apollo/utils.keyvaluecache": "^1.0.1", - "@apollo/utils.logger": "^1.0.0", - "@apollo/utils.usagereporting": "^1.0.0", - "@apollographql/apollo-tools": "^0.5.3", - "@apollographql/graphql-playground-html": "1.6.29", - "@graphql-tools/mock": "^8.1.2", - "@graphql-tools/schema": "^8.0.0", - "@josephg/resolvable": "^1.0.0", - "apollo-datasource": "^3.3.2", - "apollo-reporting-protobuf": "^3.3.3", - "apollo-server-env": "^4.2.1", - "apollo-server-errors": "^3.3.1", - "apollo-server-plugin-base": "^3.6.3", - "apollo-server-types": "^3.6.3", - "async-retry": "^1.2.1", - "fast-json-stable-stringify": "^2.1.0", - "graphql-tag": "^2.11.0", - "loglevel": "^1.6.8", - "lru-cache": "^6.0.0", - "sha.js": "^2.4.11", - "uuid": "^9.0.0", - "whatwg-mimetype": "^3.0.0" - }, - "dependencies": { - "uuid": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", - "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==" - } - } - }, "apollo-server-env": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/apollo-server-env/-/apollo-server-env-4.2.1.tgz", @@ -12776,114 +12085,6 @@ "node-fetch": "^2.6.7" } }, - "apollo-server-errors": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/apollo-server-errors/-/apollo-server-errors-3.3.1.tgz", - "integrity": "sha512-xnZJ5QWs6FixHICXHxUfm+ZWqqxrNuPlQ+kj5m6RtEgIpekOPssH/SD9gf2B4HuWV0QozorrygwZnux8POvyPA==", - "requires": {} - }, - "apollo-server-express": { - "version": "3.10.3", - "resolved": "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-3.10.3.tgz", - "integrity": "sha512-Z8m0r10mX8KlGS3noYeRPcWxWR2hX6NHJicjuwZ62PeTZlrDJF5cwGmXqbUg/sCTPx7Ny//ZEASBTwFFp8DOeQ==", - "requires": { - "@types/accepts": "^1.3.5", - "@types/body-parser": "1.19.2", - "@types/cors": "2.8.12", - "@types/express": "4.17.14", - "@types/express-serve-static-core": "4.17.31", - "accepts": "^1.3.5", - "apollo-server-core": "^3.10.3", - "apollo-server-types": "^3.6.3", - "body-parser": "^1.19.0", - "cors": "^2.8.5", - "parseurl": "^1.3.3" - } - }, - "apollo-server-plugin-base": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/apollo-server-plugin-base/-/apollo-server-plugin-base-3.6.3.tgz", - "integrity": "sha512-/Q0Zx8N8La97faKV0siGHDzfZ56ygN6ovtUpPbr+1GIbNmUzkte3lWW2YV08HmxiRmC2i2OGN80exNJEvbKvNA==", - "requires": { - "apollo-server-types": "^3.6.3" - } - }, - "apollo-server-types": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/apollo-server-types/-/apollo-server-types-3.6.3.tgz", - "integrity": "sha512-+7caNTLdevpWI2dGKSa7CWdyudO3NBuJ3HzcrYxjBei6Bth9YdRUNzPSFmBjlm2baHF0GsrMwLpjO+HStJzm3A==", - "requires": { - "@apollo/utils.keyvaluecache": "^1.0.1", - "@apollo/utils.logger": "^1.0.0", - "apollo-reporting-protobuf": "^3.3.3", - "apollo-server-env": "^4.2.1" - } - }, - "archiver": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.1.tgz", - "integrity": "sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==", - "dev": true, - "requires": { - "archiver-utils": "^2.1.0", - "async": "^3.2.3", - "buffer-crc32": "^0.2.1", - "readable-stream": "^3.6.0", - "readdir-glob": "^1.0.0", - "tar-stream": "^2.2.0", - "zip-stream": "^4.1.0" - } - }, - "archiver-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", - "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", - "dev": true, - "requires": { - "glob": "^7.1.4", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^2.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, "arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", @@ -12906,15 +12107,6 @@ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, "asn1.js": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", @@ -12926,20 +12118,6 @@ "safer-buffer": "^2.1.0" } }, - "async": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", - "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==", - "dev": true - }, - "async-redis": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/async-redis/-/async-redis-2.0.0.tgz", - "integrity": "sha512-cGv40n9h3gpAGMGnX1v5ncgHJ2C3TsRmK6Ekt282jVftiky3v0X13PSfnLoRix9uva7ctb2j9lwA3d2qc4KKTA==", - "requires": { - "redis": "3.1.2" - } - }, "async-retry": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz", @@ -12959,9 +12137,9 @@ "integrity": "sha512-SA5mXJWrId1TaQjfxUYghbqQ/hYioKmLJvPJyDuYRtXXenFNMjj4hSSt1Cf1xsuXSXrtxrVC5Ot4eU6cOtBDdA==" }, "axios": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.1.3.tgz", - "integrity": "sha512-00tXVRwKx/FZr/IDVFt4C+f9FYairX517WoGCL6dpOntqLkZofjhu43F/Xl44UOpqa+9sLFDrG/XAnFsUYgkDA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.2.0.tgz", + "integrity": "sha512-zT7wZyNYu3N5Bu0wuZ6QccIf93Qk1eV8LOewxgjOZFd2DenOs98cJ7+Y6703d0wkaXGY6/nZd4EweJaHz9uzQw==", "requires": { "follow-redirects": "^1.15.0", "form-data": "^4.0.0", @@ -12969,12 +12147,12 @@ } }, "babel-jest": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.2.2.tgz", - "integrity": "sha512-kkq2QSDIuvpgfoac3WZ1OOcHsQQDU5xYk2Ql7tLdJ8BVAYbefEXal+NfS45Y5LVZA7cxC8KYcQMObpCt1J025w==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.3.1.tgz", + "integrity": "sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA==", "dev": true, "requires": { - "@jest/transform": "^29.2.2", + "@jest/transform": "^29.3.1", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", "babel-preset-jest": "^29.2.0", @@ -13043,37 +12221,11 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" }, - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, "bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", @@ -13170,22 +12322,6 @@ "node-int64": "^0.4.0" } }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "dev": true - }, "buffer-equal-constant-time": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", @@ -13201,12 +12337,6 @@ "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz", "integrity": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==" }, - "byline": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", - "integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=", - "dev": true - }, "bytes": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", @@ -13284,12 +12414,6 @@ "readdirp": "~3.6.0" } }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, "ci-info": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.5.0.tgz", @@ -13355,18 +12479,6 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-9.2.0.tgz", "integrity": "sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==" }, - "compress-commons": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz", - "integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==", - "dev": true, - "requires": { - "buffer-crc32": "^0.2.13", - "crc32-stream": "^4.0.2", - "normalize-path": "^3.0.0", - "readable-stream": "^3.6.0" - } - }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -13412,12 +12524,6 @@ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true - }, "cors": { "version": "2.8.5", "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", @@ -13427,32 +12533,6 @@ "vary": "^1" } }, - "cpu-features": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/cpu-features/-/cpu-features-0.0.2.tgz", - "integrity": "sha512-/2yieBqvMcRj8McNzkycjW2v3OIUOibBfd2dLEJ0nWts8NobAxwiyw9phVNS6oDL8x8tz9F7uNVFEVpJncQpeA==", - "dev": true, - "optional": true, - "requires": { - "nan": "^2.14.1" - } - }, - "crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", - "dev": true - }, - "crc32-stream": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz", - "integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==", - "dev": true, - "requires": { - "crc-32": "^1.2.0", - "readable-stream": "^3.4.0" - } - }, "create-require": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", @@ -13480,11 +12560,6 @@ } } }, - "cssfilter": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz", - "integrity": "sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==" - }, "datasource-sql": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/datasource-sql/-/datasource-sql-2.0.1.tgz", @@ -13535,11 +12610,6 @@ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, - "denque": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/denque/-/denque-1.5.0.tgz", - "integrity": "sha512-CYiCSgIF1p6EUByQPlGkKnP1M9g0ZV3qMIrqMqZqdwazygIA/YP2vrbcyl1h/WppKJTdl1F85cXIle+394iDAQ==" - }, "depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -13562,9 +12632,9 @@ "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" }, "diff-sequences": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.2.0.tgz", - "integrity": "sha512-413SY5JpYeSBZxmenGEmCVQ8mCgtFJF0w9PROdaS6z987XC2Pd2GOKqOITLtMftmyFZqgtCOb/QA7/Z3ZXfzIw==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.3.1.tgz", + "integrity": "sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==", "dev": true }, "dir-glob": { @@ -13576,51 +12646,6 @@ "path-type": "^4.0.0" } }, - "docker-compose": { - "version": "0.23.17", - "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.23.17.tgz", - "integrity": "sha512-YJV18YoYIcxOdJKeFcCFihE6F4M2NExWM/d4S1ITcS9samHKnNUihz9kjggr0dNtsrbpFNc7/Yzd19DWs+m1xg==", - "dev": true, - "requires": { - "yaml": "^1.10.2" - } - }, - "docker-modem": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-3.0.3.tgz", - "integrity": "sha512-Tgkn2a+yiNP9FoZgMa/D9Wk+D2Db///0KOyKSYZRJa8w4+DzKyzQMkczKSdR/adQ0x46BOpeNkoyEOKjPhCzjw==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "readable-stream": "^3.5.0", - "split-ca": "^1.0.1", - "ssh2": "^1.4.0" - } - }, - "dockerode": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-3.3.1.tgz", - "integrity": "sha512-AS2mr8Lp122aa5n6d99HkuTNdRV1wkkhHwBdcnY6V0+28D3DSYwhxAk85/mM9XwD3RMliTxyr63iuvn5ZblFYQ==", - "dev": true, - "requires": { - "docker-modem": "^3.0.0", - "tar-fs": "~2.0.1" - }, - "dependencies": { - "tar-fs": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.0.1.tgz", - "integrity": "sha512-6tzWDMeroL87uF/+lin46k+Q+46rAJ0SyPGz7OW7wTgblI273hsBqk2C1j0/xNadNLKDTUL9BukSjB7cwgmlPA==", - "dev": true, - "requires": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.0.0" - } - } - } - }, "doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -13679,15 +12704,6 @@ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -13754,9 +12770,9 @@ "dev": true }, "eslint": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.26.0.tgz", - "integrity": "sha512-kzJkpaw1Bfwheq4VXUezFriD1GxszX6dUekM7Z3aC2o4hju+tsR/XyTC3RcoSD7jmy9VkPU3+N6YjVU2e96Oyg==", + "version": "8.28.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.28.0.tgz", + "integrity": "sha512-S27Di+EVyMxcHiwDrFzk8dJYAaD+/5SoWKxL1ri/71CRHsnJnRDPNt2Kzj24+MT9FDupf4aqqyqPrvI8MvQ4VQ==", "dev": true, "requires": { "@eslint/eslintrc": "^1.3.3", @@ -14001,16 +13017,16 @@ "dev": true }, "expect": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.2.2.tgz", - "integrity": "sha512-hE09QerxZ5wXiOhqkXy5d2G9ar+EqOyifnCXCpMNu+vZ6DG9TJ6CO2c2kPDSLqERTTWrO7OZj8EkYHQqSd78Yw==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.3.1.tgz", + "integrity": "sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA==", "dev": true, "requires": { - "@jest/expect-utils": "^29.2.2", + "@jest/expect-utils": "^29.3.1", "jest-get-type": "^29.2.0", - "jest-matcher-utils": "^29.2.2", - "jest-message-util": "^29.2.1", - "jest-util": "^29.2.1" + "jest-matcher-utils": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1" } }, "express": { @@ -14094,7 +13110,8 @@ "fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true }, "fast-levenshtein": { "version": "2.0.6", @@ -14235,12 +13252,6 @@ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true - }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -14300,12 +13311,6 @@ "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" }, - "get-port": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz", - "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==", - "dev": true - }, "get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -14389,21 +13394,13 @@ "integrity": "sha512-KPIBPDlW7NxrbT/eh4qPXz5FiFdL5UbaA0XUNz2Rp3Z3hqBSkbj0GVjwFDztsWVauZUWsbKHgMg++sk8UX0bkw==" }, "graphql-scalars": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/graphql-scalars/-/graphql-scalars-1.20.0.tgz", - "integrity": "sha512-1KV9Uyr64bbBlmtNzn/vp5mp1+Cob8jG7AKF7RLsKq50ocV6yNhW3+pVvh5jJs1np5Wh+Wg9bDapwQ7q2saS6A==", + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/graphql-scalars/-/graphql-scalars-1.20.1.tgz", + "integrity": "sha512-HCSosMh8l/DVYL3/wCesnZOb+gbiaO/XlZQEIKOkWDJUGBrc15xWAs5TCQVmrycT0tbEInii+J8eoOyMwxx8zg==", "requires": { "tslib": "~2.4.0" } }, - "graphql-tag": { - "version": "2.12.6", - "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz", - "integrity": "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==", - "requires": { - "tslib": "^2.1.0" - } - }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -14508,12 +13505,6 @@ "safer-buffer": ">= 2.1.2 < 3" } }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true - }, "ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", @@ -14750,28 +13741,12 @@ "call-bind": "^1.0.2" } }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, - "isomorphic-fetch": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz", - "integrity": "sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==", - "dev": true, - "requires": { - "node-fetch": "^2.6.1", - "whatwg-fetch": "^3.4.1" - } - }, "istanbul-lib-coverage": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", @@ -14849,15 +13824,15 @@ } }, "jest": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.2.2.tgz", - "integrity": "sha512-r+0zCN9kUqoON6IjDdjbrsWobXM/09Nd45kIPRD8kloaRh1z5ZCMdVsgLXGxmlL7UpAJsvCYOQNO+NjvG/gqiQ==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.3.1.tgz", + "integrity": "sha512-6iWfL5DTT0Np6UYs/y5Niu7WIfNv/wRTtN5RSXt2DIEft3dx3zPuw/3WJQBCJfmEzvDiEKwoqMbGD9n49+qLSA==", "dev": true, "requires": { - "@jest/core": "^29.2.2", - "@jest/types": "^29.2.1", + "@jest/core": "^29.3.1", + "@jest/types": "^29.3.1", "import-local": "^3.0.2", - "jest-cli": "^29.2.2" + "jest-cli": "^29.3.1" } }, "jest-changed-files": { @@ -14871,92 +13846,92 @@ } }, "jest-circus": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.2.2.tgz", - "integrity": "sha512-upSdWxx+Mh4DV7oueuZndJ1NVdgtTsqM4YgywHEx05UMH5nxxA2Qu9T9T9XVuR021XxqSoaKvSmmpAbjwwwxMw==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.3.1.tgz", + "integrity": "sha512-wpr26sEvwb3qQQbdlmei+gzp6yoSSoSL6GsLPxnuayZSMrSd5Ka7IjAvatpIernBvT2+Ic6RLTg+jSebScmasg==", "dev": true, "requires": { - "@jest/environment": "^29.2.2", - "@jest/expect": "^29.2.2", - "@jest/test-result": "^29.2.1", - "@jest/types": "^29.2.1", + "@jest/environment": "^29.3.1", + "@jest/expect": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/types": "^29.3.1", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^0.7.0", "is-generator-fn": "^2.0.0", - "jest-each": "^29.2.1", - "jest-matcher-utils": "^29.2.2", - "jest-message-util": "^29.2.1", - "jest-runtime": "^29.2.2", - "jest-snapshot": "^29.2.2", - "jest-util": "^29.2.1", + "jest-each": "^29.3.1", + "jest-matcher-utils": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-runtime": "^29.3.1", + "jest-snapshot": "^29.3.1", + "jest-util": "^29.3.1", "p-limit": "^3.1.0", - "pretty-format": "^29.2.1", + "pretty-format": "^29.3.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "jest-cli": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.2.2.tgz", - "integrity": "sha512-R45ygnnb2CQOfd8rTPFR+/fls0d+1zXS6JPYTBBrnLPrhr58SSuPTiA5Tplv8/PXpz4zXR/AYNxmwIj6J6nrvg==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.3.1.tgz", + "integrity": "sha512-TO/ewvwyvPOiBBuWZ0gm04z3WWP8TIK8acgPzE4IxgsLKQgb377NYGrQLc3Wl/7ndWzIH2CDNNsUjGxwLL43VQ==", "dev": true, "requires": { - "@jest/core": "^29.2.2", - "@jest/test-result": "^29.2.1", - "@jest/types": "^29.2.1", + "@jest/core": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/types": "^29.3.1", "chalk": "^4.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", "import-local": "^3.0.2", - "jest-config": "^29.2.2", - "jest-util": "^29.2.1", - "jest-validate": "^29.2.2", + "jest-config": "^29.3.1", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", "prompts": "^2.0.1", "yargs": "^17.3.1" } }, "jest-config": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.2.2.tgz", - "integrity": "sha512-Q0JX54a5g1lP63keRfKR8EuC7n7wwny2HoTRDb8cx78IwQOiaYUVZAdjViY3WcTxpR02rPUpvNVmZ1fkIlZPcw==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.3.1.tgz", + "integrity": "sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg==", "dev": true, "requires": { "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.2.2", - "@jest/types": "^29.2.1", - "babel-jest": "^29.2.2", + "@jest/test-sequencer": "^29.3.1", + "@jest/types": "^29.3.1", + "babel-jest": "^29.3.1", "chalk": "^4.0.0", "ci-info": "^3.2.0", "deepmerge": "^4.2.2", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-circus": "^29.2.2", - "jest-environment-node": "^29.2.2", + "jest-circus": "^29.3.1", + "jest-environment-node": "^29.3.1", "jest-get-type": "^29.2.0", "jest-regex-util": "^29.2.0", - "jest-resolve": "^29.2.2", - "jest-runner": "^29.2.2", - "jest-util": "^29.2.1", - "jest-validate": "^29.2.2", + "jest-resolve": "^29.3.1", + "jest-runner": "^29.3.1", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", "micromatch": "^4.0.4", "parse-json": "^5.2.0", - "pretty-format": "^29.2.1", + "pretty-format": "^29.3.1", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" } }, "jest-diff": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.2.1.tgz", - "integrity": "sha512-gfh/SMNlQmP3MOUgdzxPOd4XETDJifADpT937fN1iUGz+9DgOu2eUPHH25JDkLVcLwwqxv3GzVyK4VBUr9fjfA==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.3.1.tgz", + "integrity": "sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw==", "dev": true, "requires": { "chalk": "^4.0.0", - "diff-sequences": "^29.2.0", + "diff-sequences": "^29.3.1", "jest-get-type": "^29.2.0", - "pretty-format": "^29.2.1" + "pretty-format": "^29.3.1" } }, "jest-docblock": { @@ -14969,30 +13944,30 @@ } }, "jest-each": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.2.1.tgz", - "integrity": "sha512-sGP86H/CpWHMyK3qGIGFCgP6mt+o5tu9qG4+tobl0LNdgny0aitLXs9/EBacLy3Bwqy+v4uXClqJgASJWcruYw==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.3.1.tgz", + "integrity": "sha512-qrZH7PmFB9rEzCSl00BWjZYuS1BSOH8lLuC0azQE9lQrAx3PWGKHTDudQiOSwIy5dGAJh7KA0ScYlCP7JxvFYA==", "dev": true, "requires": { - "@jest/types": "^29.2.1", + "@jest/types": "^29.3.1", "chalk": "^4.0.0", "jest-get-type": "^29.2.0", - "jest-util": "^29.2.1", - "pretty-format": "^29.2.1" + "jest-util": "^29.3.1", + "pretty-format": "^29.3.1" } }, "jest-environment-node": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.2.2.tgz", - "integrity": "sha512-B7qDxQjkIakQf+YyrqV5dICNs7tlCO55WJ4OMSXsqz1lpI/0PmeuXdx2F7eU8rnPbRkUR/fItSSUh0jvE2y/tw==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.3.1.tgz", + "integrity": "sha512-xm2THL18Xf5sIHoU7OThBPtuH6Lerd+Y1NLYiZJlkE3hbE+7N7r8uvHIl/FkZ5ymKXJe/11SQuf3fv4v6rUMag==", "dev": true, "requires": { - "@jest/environment": "^29.2.2", - "@jest/fake-timers": "^29.2.2", - "@jest/types": "^29.2.1", + "@jest/environment": "^29.3.1", + "@jest/fake-timers": "^29.3.1", + "@jest/types": "^29.3.1", "@types/node": "*", - "jest-mock": "^29.2.2", - "jest-util": "^29.2.1" + "jest-mock": "^29.3.1", + "jest-util": "^29.3.1" } }, "jest-get-type": { @@ -15002,12 +13977,12 @@ "dev": true }, "jest-haste-map": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.2.1.tgz", - "integrity": "sha512-wF460rAFmYc6ARcCFNw4MbGYQjYkvjovb9GBT+W10Um8q5nHq98jD6fHZMDMO3tA56S8XnmNkM8GcA8diSZfnA==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.3.1.tgz", + "integrity": "sha512-/FFtvoG1xjbbPXQLFef+WSU4yrc0fc0Dds6aRPBojUid7qlPqZvxdUBA03HW0fnVHXVCnCdkuoghYItKNzc/0A==", "dev": true, "requires": { - "@jest/types": "^29.2.1", + "@jest/types": "^29.3.1", "@types/graceful-fs": "^4.1.3", "@types/node": "*", "anymatch": "^3.0.3", @@ -15015,66 +13990,66 @@ "fsevents": "^2.3.2", "graceful-fs": "^4.2.9", "jest-regex-util": "^29.2.0", - "jest-util": "^29.2.1", - "jest-worker": "^29.2.1", + "jest-util": "^29.3.1", + "jest-worker": "^29.3.1", "micromatch": "^4.0.4", "walker": "^1.0.8" } }, "jest-leak-detector": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.2.1.tgz", - "integrity": "sha512-1YvSqYoiurxKOJtySc+CGVmw/e1v4yNY27BjWTVzp0aTduQeA7pdieLiW05wTYG/twlKOp2xS/pWuikQEmklug==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.3.1.tgz", + "integrity": "sha512-3DA/VVXj4zFOPagGkuqHnSQf1GZBmmlagpguxEERO6Pla2g84Q1MaVIB3YMxgUaFIaYag8ZnTyQgiZ35YEqAQA==", "dev": true, "requires": { "jest-get-type": "^29.2.0", - "pretty-format": "^29.2.1" + "pretty-format": "^29.3.1" } }, "jest-matcher-utils": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.2.2.tgz", - "integrity": "sha512-4DkJ1sDPT+UX2MR7Y3od6KtvRi9Im1ZGLGgdLFLm4lPexbTaCgJW5NN3IOXlQHF7NSHY/VHhflQ+WoKtD/vyCw==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz", + "integrity": "sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ==", "dev": true, "requires": { "chalk": "^4.0.0", - "jest-diff": "^29.2.1", + "jest-diff": "^29.3.1", "jest-get-type": "^29.2.0", - "pretty-format": "^29.2.1" + "pretty-format": "^29.3.1" } }, "jest-message-util": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.1.tgz", - "integrity": "sha512-Dx5nEjw9V8C1/Yj10S/8ivA8F439VS8vTq1L7hEgwHFn9ovSKNpYW/kwNh7UglaEgXO42XxzKJB+2x0nSglFVw==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.3.1.tgz", + "integrity": "sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.2.1", + "@jest/types": "^29.3.1", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.2.1", + "pretty-format": "^29.3.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "jest-mock": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.2.2.tgz", - "integrity": "sha512-1leySQxNAnivvbcx0sCB37itu8f4OX2S/+gxLAV4Z62shT4r4dTG9tACDywUAEZoLSr36aYUTsVp3WKwWt4PMQ==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.3.1.tgz", + "integrity": "sha512-H8/qFDtDVMFvFP4X8NuOT3XRDzOUTz+FeACjufHzsOIBAxivLqkB1PoLCaJx9iPPQ8dZThHPp/G3WRWyMgA3JA==", "dev": true, "requires": { - "@jest/types": "^29.2.1", + "@jest/types": "^29.3.1", "@types/node": "*", - "jest-util": "^29.2.1" + "jest-util": "^29.3.1" } }, "jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, "requires": {} }, @@ -15085,95 +14060,95 @@ "dev": true }, "jest-resolve": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.2.2.tgz", - "integrity": "sha512-3gaLpiC3kr14rJR3w7vWh0CBX2QAhfpfiQTwrFPvVrcHe5VUBtIXaR004aWE/X9B2CFrITOQAp5gxLONGrk6GA==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.3.1.tgz", + "integrity": "sha512-amXJgH/Ng712w3Uz5gqzFBBjxV8WFLSmNjoreBGMqxgCz5cH7swmBZzgBaCIOsvb0NbpJ0vgaSFdJqMdT+rADw==", "dev": true, "requires": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.2.1", + "jest-haste-map": "^29.3.1", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.2.1", - "jest-validate": "^29.2.2", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", "resolve": "^1.20.0", "resolve.exports": "^1.1.0", "slash": "^3.0.0" } }, "jest-resolve-dependencies": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.2.2.tgz", - "integrity": "sha512-wWOmgbkbIC2NmFsq8Lb+3EkHuW5oZfctffTGvwsA4JcJ1IRk8b2tg+hz44f0lngvRTeHvp3Kyix9ACgudHH9aQ==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.3.1.tgz", + "integrity": "sha512-Vk0cYq0byRw2WluNmNWGqPeRnZ3p3hHmjJMp2dyyZeYIfiBskwq4rpiuGFR6QGAdbj58WC7HN4hQHjf2mpvrLA==", "dev": true, "requires": { "jest-regex-util": "^29.2.0", - "jest-snapshot": "^29.2.2" + "jest-snapshot": "^29.3.1" } }, "jest-runner": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.2.2.tgz", - "integrity": "sha512-1CpUxXDrbsfy9Hr9/1zCUUhT813kGGK//58HeIw/t8fa/DmkecEwZSWlb1N/xDKXg3uCFHQp1GCvlSClfImMxg==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.3.1.tgz", + "integrity": "sha512-oFvcwRNrKMtE6u9+AQPMATxFcTySyKfLhvso7Sdk/rNpbhg4g2GAGCopiInk1OP4q6gz3n6MajW4+fnHWlU3bA==", "dev": true, "requires": { - "@jest/console": "^29.2.1", - "@jest/environment": "^29.2.2", - "@jest/test-result": "^29.2.1", - "@jest/transform": "^29.2.2", - "@jest/types": "^29.2.1", + "@jest/console": "^29.3.1", + "@jest/environment": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", "@types/node": "*", "chalk": "^4.0.0", "emittery": "^0.13.1", "graceful-fs": "^4.2.9", "jest-docblock": "^29.2.0", - "jest-environment-node": "^29.2.2", - "jest-haste-map": "^29.2.1", - "jest-leak-detector": "^29.2.1", - "jest-message-util": "^29.2.1", - "jest-resolve": "^29.2.2", - "jest-runtime": "^29.2.2", - "jest-util": "^29.2.1", - "jest-watcher": "^29.2.2", - "jest-worker": "^29.2.1", + "jest-environment-node": "^29.3.1", + "jest-haste-map": "^29.3.1", + "jest-leak-detector": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-resolve": "^29.3.1", + "jest-runtime": "^29.3.1", + "jest-util": "^29.3.1", + "jest-watcher": "^29.3.1", + "jest-worker": "^29.3.1", "p-limit": "^3.1.0", "source-map-support": "0.5.13" } }, "jest-runtime": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.2.2.tgz", - "integrity": "sha512-TpR1V6zRdLynckKDIQaY41od4o0xWL+KOPUCZvJK2bu5P1UXhjobt5nJ2ICNeIxgyj9NGkO0aWgDqYPVhDNKjA==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.3.1.tgz", + "integrity": "sha512-jLzkIxIqXwBEOZx7wx9OO9sxoZmgT2NhmQKzHQm1xwR1kNW/dn0OjxR424VwHHf1SPN6Qwlb5pp1oGCeFTQ62A==", "dev": true, "requires": { - "@jest/environment": "^29.2.2", - "@jest/fake-timers": "^29.2.2", - "@jest/globals": "^29.2.2", + "@jest/environment": "^29.3.1", + "@jest/fake-timers": "^29.3.1", + "@jest/globals": "^29.3.1", "@jest/source-map": "^29.2.0", - "@jest/test-result": "^29.2.1", - "@jest/transform": "^29.2.2", - "@jest/types": "^29.2.1", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", "@types/node": "*", "chalk": "^4.0.0", "cjs-module-lexer": "^1.0.0", "collect-v8-coverage": "^1.0.0", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.2.1", - "jest-message-util": "^29.2.1", - "jest-mock": "^29.2.2", + "jest-haste-map": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-mock": "^29.3.1", "jest-regex-util": "^29.2.0", - "jest-resolve": "^29.2.2", - "jest-snapshot": "^29.2.2", - "jest-util": "^29.2.1", + "jest-resolve": "^29.3.1", + "jest-snapshot": "^29.3.1", + "jest-util": "^29.3.1", "slash": "^3.0.0", "strip-bom": "^4.0.0" } }, "jest-snapshot": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.2.2.tgz", - "integrity": "sha512-GfKJrpZ5SMqhli3NJ+mOspDqtZfJBryGA8RIBxF+G+WbDoC7HCqKaeAss4Z/Sab6bAW11ffasx8/vGsj83jyjA==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.3.1.tgz", + "integrity": "sha512-+3JOc+s28upYLI2OJM4PWRGK9AgpsMs/ekNryUV0yMBClT9B1DF2u2qay8YxcQd338PPYSFNb0lsar1B49sLDA==", "dev": true, "requires": { "@babel/core": "^7.11.6", @@ -15182,23 +14157,23 @@ "@babel/plugin-syntax-typescript": "^7.7.2", "@babel/traverse": "^7.7.2", "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.2.2", - "@jest/transform": "^29.2.2", - "@jest/types": "^29.2.1", + "@jest/expect-utils": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", "@types/babel__traverse": "^7.0.6", "@types/prettier": "^2.1.5", "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^29.2.2", + "expect": "^29.3.1", "graceful-fs": "^4.2.9", - "jest-diff": "^29.2.1", + "jest-diff": "^29.3.1", "jest-get-type": "^29.2.0", - "jest-haste-map": "^29.2.1", - "jest-matcher-utils": "^29.2.2", - "jest-message-util": "^29.2.1", - "jest-util": "^29.2.1", + "jest-haste-map": "^29.3.1", + "jest-matcher-utils": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1", "natural-compare": "^1.4.0", - "pretty-format": "^29.2.1", + "pretty-format": "^29.3.1", "semver": "^7.3.5" }, "dependencies": { @@ -15214,12 +14189,12 @@ } }, "jest-util": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", - "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.3.1.tgz", + "integrity": "sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ==", "dev": true, "requires": { - "@jest/types": "^29.2.1", + "@jest/types": "^29.3.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -15228,17 +14203,17 @@ } }, "jest-validate": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.2.2.tgz", - "integrity": "sha512-eJXATaKaSnOuxNfs8CLHgdABFgUrd0TtWS8QckiJ4L/QVDF4KVbZFBBOwCBZHOS0Rc5fOxqngXeGXE3nGQkpQA==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.3.1.tgz", + "integrity": "sha512-N9Lr3oYR2Mpzuelp1F8negJR3YE+L1ebk1rYA5qYo9TTY3f9OWdptLoNSPP9itOCBIRBqjt/S5XHlzYglLN67g==", "dev": true, "requires": { - "@jest/types": "^29.2.1", + "@jest/types": "^29.3.1", "camelcase": "^6.2.0", "chalk": "^4.0.0", "jest-get-type": "^29.2.0", "leven": "^3.1.0", - "pretty-format": "^29.2.1" + "pretty-format": "^29.3.1" }, "dependencies": { "camelcase": { @@ -15250,29 +14225,29 @@ } }, "jest-watcher": { - "version": "29.2.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.2.2.tgz", - "integrity": "sha512-j2otfqh7mOvMgN2WlJ0n7gIx9XCMWntheYGlBK7+5g3b1Su13/UAK7pdKGyd4kDlrLwtH2QPvRv5oNIxWvsJ1w==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.3.1.tgz", + "integrity": "sha512-RspXG2BQFDsZSRKGCT/NiNa8RkQ1iKAjrO0//soTMWx/QUt+OcxMqMSBxz23PYGqUuWm2+m2mNNsmj0eIoOaFg==", "dev": true, "requires": { - "@jest/test-result": "^29.2.1", - "@jest/types": "^29.2.1", + "@jest/test-result": "^29.3.1", + "@jest/types": "^29.3.1", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "emittery": "^0.13.1", - "jest-util": "^29.2.1", + "jest-util": "^29.3.1", "string-length": "^4.0.1" } }, "jest-worker": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.2.1.tgz", - "integrity": "sha512-ROHTZ+oj7sBrgtv46zZ84uWky71AoYi0vEV9CdEtc1FQunsoAGe5HbQmW76nI5QWdvECVPrSi1MCVUmizSavMg==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.3.1.tgz", + "integrity": "sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw==", "dev": true, "requires": { "@types/node": "*", - "jest-util": "^29.2.1", + "jest-util": "^29.3.1", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, @@ -15446,47 +14421,6 @@ "chalk": "^4.1.0" } }, - "lazystream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", - "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", - "dev": true, - "requires": { - "readable-stream": "^2.0.5" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, "leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -15528,24 +14462,6 @@ "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" }, - "lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=", - "dev": true - }, - "lodash.difference": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", - "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=", - "dev": true - }, - "lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", - "dev": true - }, "lodash.includes": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", @@ -15598,12 +14514,6 @@ "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" }, - "lodash.union": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", - "integrity": "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=", - "dev": true - }, "logform": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/logform/-/logform-2.4.2.tgz", @@ -15744,18 +14654,6 @@ "brace-expansion": "^1.1.7" } }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, - "mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", - "dev": true - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -15773,15 +14671,21 @@ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, + "natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, "negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" }, "newrelic": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/newrelic/-/newrelic-9.4.0.tgz", - "integrity": "sha512-Z7bwyf0y1FbBPfUgo6QaZwjot3OZBTq/p0SONyD/p/HaS7QxPS8tCXHPFkXFG2xg6ITGf4TVgNLvNfQx7FPdWA==", + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/newrelic/-/newrelic-9.7.0.tgz", + "integrity": "sha512-m8+1eLwSyStF3c5Or5qpnXaPfEyg90eIN8t4PzJU/tJ1Xlj9pSg6VZgRjPfmbwtkt7+n+Girg5iXPC0/lTARjA==", "requires": { "@grpc/grpc-js": "^1.5.5", "@grpc/proto-loader": "^0.6.13", @@ -15798,6 +14702,11 @@ "winston-transport": "^4.5.0" } }, + "node-abort-controller": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.0.1.tgz", + "integrity": "sha512-/ujIVxthRs+7q6hsdjHMaj8hRG9NuWmwrz+JdRwZ14jdFoKSkm+vDsCbF9PLpnSqjaWQJuTmVtcWHNLr+vrOFw==" + }, "node-fetch": { "version": "2.6.7", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", @@ -16073,14 +14982,6 @@ "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz", "integrity": "sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==" }, - "pg-hstore": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/pg-hstore/-/pg-hstore-2.3.4.tgz", - "integrity": "sha512-N3SGs/Rf+xA1M2/n0JBiXFDVMzdekwLZLAO0g7mpDY9ouX+fDI7jS6kTq3JujmYbtNSJ53TJ0q4G98KVZSM4EA==", - "requires": { - "underscore": "^1.13.1" - } - }, "pg-int8": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", @@ -16173,9 +15074,9 @@ "dev": true }, "prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==" + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.0.tgz", + "integrity": "sha512-9Lmg8hTFZKG0Asr/kW9Bp8tJjRVluO8EJQVfY2T7FMw9T5jy4I/Uvx0Rca/XWf50QQ1/SS48+6IJWnrb+2yemA==" }, "prettier-linter-helpers": { "version": "1.0.0", @@ -16187,9 +15088,9 @@ } }, "pretty-format": { - "version": "29.2.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", - "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz", + "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -16205,12 +15106,6 @@ } } }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, "prompts": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", @@ -16221,15 +15116,6 @@ "sisteransi": "^1.0.5" } }, - "properties-reader": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/properties-reader/-/properties-reader-2.2.0.tgz", - "integrity": "sha512-CgVcr8MwGoBKK24r9TwHfZkLLaNFHQ6y4wgT9w/XzdpacOOi5ciH4hcuLechSDAwXsfrGQtI2JTutY2djOx2Ow==", - "dev": true, - "requires": { - "mkdirp": "^1.0.4" - } - }, "protobufjs": { "version": "6.11.3", "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz", @@ -16269,16 +15155,6 @@ "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==" }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", @@ -16331,15 +15207,6 @@ "util-deprecate": "^1.0.1" } }, - "readdir-glob": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.1.tgz", - "integrity": "sha512-91/k1EzZwDx6HbERR+zucygRFfiPl2zkIYZtv3Jjr6Mn7SkKcVct8aVO+sSRiGMc6fLf72du3d92/uY63YPdEA==", - "dev": true, - "requires": { - "minimatch": "^3.0.4" - } - }, "readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -16356,35 +15223,6 @@ "resolve": "^1.20.0" } }, - "redis": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/redis/-/redis-3.1.2.tgz", - "integrity": "sha512-grn5KoZLr/qrRQVwoSkmzdbw6pwF+/rwODtrOr6vuBRiR/f3rjSTGupbF90Zpqm2oenix8Do6RV7pYEkGwlKkw==", - "requires": { - "denque": "^1.5.0", - "redis-commands": "^1.7.0", - "redis-errors": "^1.2.0", - "redis-parser": "^3.0.0" - } - }, - "redis-commands": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.7.0.tgz", - "integrity": "sha512-nJWqw3bTFy21hX/CPKHth6sfhZbdiHP6bTawSgQBlKOVRG7EZkfHbbHwQJnrE4vsQf0CMNE+3gJ4Fmm16vdVlQ==" - }, - "redis-errors": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz", - "integrity": "sha1-62LSrbFeTq9GEMBK/hUpOEJQq60=" - }, - "redis-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz", - "integrity": "sha1-tm2CjNyv5rS4pCin3vTGvKwxyLQ=", - "requires": { - "redis-errors": "^1.0.0" - } - }, "regexp.prototype.flags": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", @@ -16640,12 +15478,6 @@ "source-map": "^0.6.0" } }, - "split-ca": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", - "integrity": "sha1-bIOv82kvphJW4M0ZfgXp3hV2kaY=", - "dev": true - }, "split2": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", @@ -16660,28 +15492,6 @@ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, - "ssh-remote-port-forward": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/ssh-remote-port-forward/-/ssh-remote-port-forward-1.0.4.tgz", - "integrity": "sha512-x0LV1eVDwjf1gmG7TTnfqIzf+3VPRz7vrNIjX6oYLbeCrf/PeVY6hkT68Mg+q02qXxQhrLjB0jfgvhevoCRmLQ==", - "dev": true, - "requires": { - "@types/ssh2": "^0.5.48", - "ssh2": "^1.4.0" - } - }, - "ssh2": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/ssh2/-/ssh2-1.5.0.tgz", - "integrity": "sha512-iUmRkhH9KGeszQwDW7YyyqjsMTf4z+0o48Cp4xOwlY5LjtbIAvyd3fwnsoUZW/hXmTCRA3yt7S/Jb9uVjErVlA==", - "dev": true, - "requires": { - "asn1": "^0.2.4", - "bcrypt-pbkdf": "^1.0.2", - "cpu-features": "0.0.2", - "nan": "^2.15.0" - } - }, "stack-utils": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", @@ -16813,31 +15623,6 @@ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" }, - "tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "dev": true, - "requires": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dev": true, - "requires": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - } - }, "tarn": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/tarn/-/tarn-3.0.2.tgz", @@ -16854,26 +15639,6 @@ "minimatch": "^3.0.4" } }, - "testcontainers": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/testcontainers/-/testcontainers-8.16.0.tgz", - "integrity": "sha512-4wVmnzj4mAVXSQ8kU4uyNiXPs5W8UHdwCRbUuyeOSSODcgmDGQ8Te/YOYuF12HnxyzABEm1nR2I0ZCsQw/GZ/Q==", - "dev": true, - "requires": { - "@balena/dockerignore": "^1.0.2", - "@types/archiver": "^5.3.1", - "@types/dockerode": "^3.3.8", - "archiver": "^5.3.1", - "byline": "^5.0.0", - "debug": "^4.3.4", - "docker-compose": "^0.23.17", - "dockerode": "^3.3.1", - "get-port": "^5.1.1", - "properties-reader": "^2.2.0", - "ssh-remote-port-forward": "^1.0.4", - "tar-fs": "^2.1.1" - } - }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -16998,12 +15763,6 @@ } } }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, "type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -17040,9 +15799,9 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, "typescript": { - "version": "4.8.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", - "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==" + "version": "4.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.3.tgz", + "integrity": "sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==" }, "unbox-primitive": { "version": "1.0.2", @@ -17060,11 +15819,6 @@ "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==" }, - "underscore": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz", - "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==" - }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -17132,11 +15886,6 @@ "convert-source-map": "^1.6.0" } }, - "validator": { - "version": "13.7.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz", - "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==" - }, "value-or-promise": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/value-or-promise/-/value-or-promise-1.0.11.tgz", @@ -17156,12 +15905,6 @@ "makeerror": "1.0.12" } }, - "whatwg-fetch": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz", - "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==", - "dev": true - }, "whatwg-mimetype": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", @@ -17235,22 +15978,6 @@ "signal-exit": "^3.0.7" } }, - "xss": { - "version": "1.0.14", - "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.14.tgz", - "integrity": "sha512-og7TEJhXvn1a7kzZGQ7ETjdQVS2UfZyTlsEdDOqvQF7GoxNfY+0YLCzBy1kPdsDDx4QuNAonQPddpsn6Xl/7sw==", - "requires": { - "commander": "^2.20.3", - "cssfilter": "0.0.10" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - } - } - }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", @@ -17266,16 +15993,10 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, - "yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true - }, "yargs": { - "version": "17.6.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.0.tgz", - "integrity": "sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g==", + "version": "17.6.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", + "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", "dev": true, "requires": { "cliui": "^8.0.1", @@ -17284,7 +16005,7 @@ "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", - "yargs-parser": "^21.0.0" + "yargs-parser": "^21.1.1" }, "dependencies": { "cliui": { @@ -17321,17 +16042,6 @@ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true - }, - "zip-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz", - "integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==", - "dev": true, - "requires": { - "archiver-utils": "^2.1.0", - "compress-commons": "^4.1.0", - "readable-stream": "^3.6.0" - } } } } diff --git a/package.json b/package.json index ef49b51..4ee0721 100644 --- a/package.json +++ b/package.json @@ -4,11 +4,8 @@ "description": "Photowall GraphQL API", "main": "src/index.ts", "scripts": { - "exportSQL": "cd src/__test__/db_generator/ && npm install && node index.js && cd ../../../", - "test": "npm run exportSQL && jest --detectOpenHandles", - "test:dev": "npm run exportSQL && jest --watch", - "unit": "jest --testPathIgnorePatterns=\"src/__test__/all.test.ts\"", - "unit:dev": "jest --testPathIgnorePatterns=\"src/__test__/all.test.ts\" --watch src/**/*", + "test": "jest", + "test:dev": "jest --watch src/**/*", "test:manual": "cd manual-tests && ts-node test-scopes.ts" }, "engines": { @@ -17,47 +14,44 @@ "author": "", "license": "ISC", "dependencies": { - "@aws-sdk/client-s3": "^3.194.0", - "@aws-sdk/client-sqs": "^3.194.0", - "@aws-sdk/client-translate": "^3.195.0", - "@aws-sdk/s3-request-presigner": "^3.194.0", - "@newrelic/apollo-server-plugin": "^2.0.1", - "apollo-datasource": "^3.3.2", - "apollo-datasource-rest": "^3.7.0", - "apollo-server": "^3.10.3", - "apollo-server-caching": "^3.3.0", - "async-redis": "^2.0.0", - "axios": "^1.1.3", + "@apollo/datasource-rest": "^4.3.2", + "@apollo/server": "^4.2.0", + "@apollo/utils.keyvaluecache": "^2.0.0", + "@aws-sdk/client-s3": "^3.216.0", + "@aws-sdk/client-sqs": "^3.216.0", + "@aws-sdk/client-translate": "^3.216.0", + "@aws-sdk/s3-request-presigner": "^3.216.0", + "@newrelic/apollo-server-plugin": "^2.1.0", + "axios": "^1.2.0", + "body-parser": "^1.20.1", + "cors": "^2.8.5", "datasource-sql": "^2.0.1", "dotenv": "^16.0.3", + "express": "^4.18.2", "graphql": "^16.6.0", - "graphql-scalars": "^1.20.0", + "graphql-scalars": "^1.20.1", "jsonwebtoken": "^8.5.1", "jwk-to-pem": "^2.0.5", "knex": "^2.3.0", "knex-stringcase": "^1.4.6", - "newrelic": "^9.4.0", + "newrelic": "^9.7.0", "nodemon": "^2.0.20", "pg": "^8.8.0", - "pg-hstore": "^2.3.4", - "prettier": "^2.7.1", + "prettier": "^2.8.0", "slug": "^8.2.2", "stringcase": "^4.3.1", "ts-node": "^10.9.1", - "typescript": "^4.8.4", - "util": "^0.12.5", - "validator": "^13.7.0" + "typescript": "^4.9.3", + "util": "^0.12.5" }, "devDependencies": { - "@types/jest": "^29.2.0", - "@typescript-eslint/eslint-plugin": "^5.41.0", - "@typescript-eslint/parser": "^5.41.0", - "eslint": "^8.26.0", + "@types/jest": "^29.2.3", + "@typescript-eslint/eslint-plugin": "^5.44.0", + "@typescript-eslint/parser": "^5.44.0", + "eslint": "^8.28.0", "eslint-config-prettier": "^8.5.0", "eslint-plugin-prettier": "^4.2.1", - "isomorphic-fetch": "^3.0.0", - "jest": "^29.2.2", - "testcontainers": "^8.16.0", + "jest": "^29.3.1", "ts-jest": "^29.0.3" } } diff --git a/src/__test__/all.test.ts b/src/__test__/all.test.ts deleted file mode 100644 index 2035f54..0000000 --- a/src/__test__/all.test.ts +++ /dev/null @@ -1,281 +0,0 @@ -import fetch from 'isomorphic-fetch'; -import { IAllTestContainers, createAllTestContainers } from './containerSetup'; - -jest.setTimeout(18000_000); - -describe('GraphQL Apollo tests', () => { - let allContainers: IAllTestContainers; - - beforeAll(async () => { - allContainers = await createAllTestContainers(); - }); - - afterAll(async () => { - await allContainers.stopAll(); - }); - - describe('Setup containers', () => { - it('should have a trivial test', () => { - expect(true).toBe(true); - }); - - it('should have access to containers', () => { - expect(allContainers).toBeDefined(); - }); - - it('test date on db testcontainer', async () => { - const res = await allContainers.db.raw('select now()'); - expect(res.rows[0]['now']).toBeInstanceOf(Date); - }); - - it('healthcheck on api testcontainer', async () => { - const port = allContainers.apiContainer.getMappedPort(4000); - const response = await fetch( - `http://localhost:${port}/.well-known/apollo/server-health`, - { - method: 'GET', - }, - ); - const resp = await response.json(); - expect(resp.status).toBe('pass'); - }); - - it('should have some basedata', async () => { - const response = await allContainers.db.raw( - `SELECT * FROM locales LIMIT 1;`, - ); - expect(response.rows[0].value).toBe('sv_SE'); - expect(response.rows[0].name).toBe('Swedish (Sweden)'); - }); - }); - - describe('Designer(id: x)', () => { - it('should be possible to fetch a design from id', async () => { - // CONTROL - const db_response = await allContainers.db.raw( - `SELECT * FROM designers WHERE designerid=2;`, - ); - const controlData = db_response.rows[0]; - - // -------------- - - const port = allContainers.apiContainer.getMappedPort(4000); - const response = await fetch(`http://localhost:${port}`, { - method: 'POST', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ - query: ` - { - designer(id: 2) { - id - name - path - } - }`, - }), - }); - - const resp = await response.json(); - - const designer = resp.data.designer; - expect(designer.id).toBe('2'); - expect(designer.name).toBe(controlData.name); - expect(designer.path).toBe(controlData.path); - }); - - it('should be possible to fetch a designers with limit', async () => { - // CONTROL - const db_response = await allContainers.db.raw( - `SELECT * FROM designers ORDER BY name LIMIT 3;`, - ); - const controlData = db_response.rows; - // ------------------- - - const port = allContainers.apiContainer.getMappedPort(4000); - const response = await fetch(`http://localhost:${port}`, { - method: 'POST', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ - query: ` - { - designers(limit: 3) { - id - name - path - } - }`, - }), - }); - - const resp = await response.json(); - - const designers = resp.data.designers; - - expect(designers.length).toBe(3); - - expect(designers[0].name).toBe(controlData[0].name); - expect(designers[1].name).toBe(controlData[1].name); - expect(designers[2].name).toBe(controlData[2].name); - }); - }); - - // describe('Order(id: x)', () => { - // it('should get correct order data', async () => { - // // CONTROL - // // Order - // const order_response = await allContainers.db.raw( - // `SELECT * FROM orders WHERE id = 1;`, - // ); - // const orderControlData = order_response.rows[0]; - - // // Market - // const market_response = await allContainers.db.raw( - // `SELECT * FROM markets WHERE name='${orderControlData.market}';`, - // ); - // const marketControlData = market_response.rows[0]; - - // // Locale - // const locale_response = await allContainers.db.raw( - // `SELECT * FROM locales WHERE value='${orderControlData.locale}';`, - // ); - // const localeControlData = locale_response.rows[0]; - - // // Order row - // const orderrow_response = await allContainers.db.raw( - // `SELECT * FROM "order-rows" WHERE orderid = 1;`, - // ); - // const orderRowsControlData = orderrow_response.rows; - // // ---------------------------------- - - // const port = allContainers.apiContainer.getMappedPort(4000); - // const response = await fetch(`http://localhost:${port}`, { - // method: 'POST', - // headers: { 'Content-Type': 'application/json' }, - // body: JSON.stringify({ - // query: ` - // { - // order(id: 1) { - // id - // locale { - // id - // value - // } - // market { - // id - // name - // vat - // currency - // priceAdjustment - // } - // rows { - // id - // artNo - // orderId - // } - // } - // } - // `, - // }), - // }); - // const resp = await response.json(); - // const order = resp.data.order; - - // // Order - // expect(order.id).toBe(`${orderControlData.id}`); - - // // Market - // expect(order.market.id).toBe(`${marketControlData.id}`); - // expect(order.market.name).toBe(marketControlData.name); - // expect(order.market.vat).toBe(parseFloat(marketControlData.vat)); - // expect(order.market.currency).toBe(marketControlData.currency); - // expect(order.market.priceAdjustment).toBe( - // parseFloat(marketControlData.price_adjustment), - // ); - - // // Locale - // expect(order.locale.id).toBe(`${localeControlData.id}`); - // expect(order.locale.value).toBe(localeControlData.value); - - // // Order Rows - // expect(order.rows.length).toBe(orderRowsControlData.length); - // expect(order.rows[0].id).toBe('' + orderRowsControlData[0].rowid); - // expect(order.rows[1].id).toBe('' + orderRowsControlData[1].rowid); - // expect(order.rows[2].id).toBe('' + orderRowsControlData[2].rowid); - // expect(order.rows[1].orderId).toBe(orderRowsControlData[1].orderid); - // }); - // }); - - describe('product(id: x)', () => { - it('should respond with same id for trivial test', async () => { - // CONTROL - // product - const product_response = await allContainers.db.raw( - `SELECT productid FROM "product-products" WHERE productid = 1;`, - ); - const productControlData = product_response.rows[0]; - - // --------------------------------------------- - - const port = allContainers.apiContainer.getMappedPort(4000); - const response = await fetch(`http://localhost:${port}`, { - method: 'POST', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ - query: ` - { - product(id: 1) { - id - } - } - `, - }), - }); - const resp = await response.json(); - const product = resp.data.product; - - expect(product.id).toBe('' + productControlData.productid); - }); - }); - - describe('products(pagination: .., limit: ..)', () => { - it('should return products with a limit', async () => { - // CONTROL - // products - const products_response = await allContainers.db.raw( - `SELECT productid FROM "product-products" LIMIT 10;`, - ); - const productsControlData = products_response.rows.map((item) => { - return '' + item.productid; - }); - - // -------------------------------------------------- - - const port = allContainers.apiContainer.getMappedPort(4000); - const response = await fetch(`http://localhost:${port}`, { - method: 'POST', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ - query: ` - { - products(pagination: { - limit: 10 - }, filter: { - visible: true, - browsable: true - }) { - items { - id - } - } - } - `, - }), - }); - const resp = await response.json(); - const products = resp.data.products.items.map((item) => { - return item.id; - }); - expect(products).toEqual(expect.arrayContaining(productsControlData)); - }); - }); -}); diff --git a/src/__test__/containerSetup.ts b/src/__test__/containerSetup.ts deleted file mode 100644 index d8c9026..0000000 --- a/src/__test__/containerSetup.ts +++ /dev/null @@ -1,147 +0,0 @@ -import fs from 'fs'; -import { resolve } from 'path'; - -import { - GenericContainer, - Network, - StartedNetwork, - StartedTestContainer, - Wait, -} from 'testcontainers'; -import { Knex, knex } from 'knex'; -// import knexTinyLogger from 'knex-tiny-logger'; - -export const DbNetworkName = 'postgres_container'; -export const ApiNetworkName = 'api_container'; - -const allContainers = { - version: 0, -}; - -const runFile = async (db, file) => { - const sql = fs.readFileSync(resolve(__dirname, file)).toString(); - await db.raw(sql); -}; - -const createKnexDb = (host: string, mappedPort: number, database: string) => { - const connection = `postgresql://testuser:test@${host}:${mappedPort}/${database}`; - // console.log(`connection`, connection); - const db = knex({ - client: 'pg', - connection: connection, - pool: { min: 0 }, - }); - // knexTinyLogger(db); - return db; -}; -export interface IAllTestContainers { - version: number; - dbContainer?: StartedTestContainer; - db?: Knex; - apiContainer?: StartedTestContainer; - network?: StartedNetwork; - stopAll?: any; -} -export const createAllTestContainers = - async (): Promise => { - const network = await new Network().start(); - // ---------------------------------- - // DB container - const dbContainer = await new GenericContainer('postgres') - .withNetworkMode(network.getName()) - .withNetworkAliases(DbNetworkName) - .withEnv('POSTGRES_USER', 'testuser') - .withEnv('POSTGRES_PASSWORD', 'test') - .withEnv('POSTGRES_DB', 'apidb') - .withExposedPorts(5432) - .start(); - - // const dbLogStream = await dbContainer.logs(); - // dbLogStream - // .on('data', (line) => console.log(line)) - // .on('err', (line) => console.error(line)) - // .on('end', () => console.log('Stream closed')); - - const dbMappedPort = dbContainer.getMappedPort(5432); - const dbHost = dbContainer.getHost(); - - // ---------------------------------- - // Knex DB - const initialDb = createKnexDb(dbHost, dbMappedPort, 'postgres'); - await initialDb.raw('CREATE DATABASE photowalltest1'); - await initialDb.destroy(); - - const db = createKnexDb(dbHost, dbMappedPort, 'photowalltest1'); - - await runFile(db, 'db/schema.sql'); - - await runFile(db, 'db/base/locales.sql'); - await runFile(db, 'db/base/product-currencies.sql'); - await runFile(db, 'db/base/markets.sql'); - await runFile(db, 'db/base/market_locales.sql'); - await runFile(db, 'db/base/i18n-territories.sql'); - - // Other - await runFile(db, 'db/data/addresses.sql'); - - // Designers - await runFile(db, 'db/data/designers.sql'); - await runFile(db, 'db/data/designer_texts.sql'); - await runFile(db, 'db/data/designers-blocked.sql'); - - // Orders - await runFile(db, 'db/data/orders.sql'); - - // Products - await runFile(db, 'db/data/product-products.sql'); - - // Set the public as the default schema - await db.raw('set search_path to "public"'); - - // ---------------------------------- - // Api Container - const buildContext = resolve(__dirname, '../../'); - - const nodeContainer = await GenericContainer.fromDockerfile( - buildContext, - ).build(); - - const dbIpAddress = dbContainer.getIpAddress(network.getName()); - - const apiContainer = await nodeContainer - .withNetworkMode(network.getName()) - .withNetworkAliases(ApiNetworkName) - .withExposedPorts(4000) - .withEnv( - 'DATABASE_URL', - `postgresql://testuser:test@${dbIpAddress}:5432/photowalltest1`, - ) - .withEnv('NODE_ENV', 'test') - .withEnv('COGNITO_POOL_ID', 'eu-west-1_3O4VfvPn7') - .withWaitStrategy( - Wait.forLogMessage('Server is running on http://localhost:4000'), - ) - .start(); - - const stream = await apiContainer.logs(); - stream - .on('data', (line) => console.log(line)) - .on('err', (line) => console.error(line)) - .on('end', () => console.log('Stream closed')); - - Object.assign(allContainers, { - version: Math.round(Math.random() * 999999), - dbContainer, - db, - apiContainer, - network, - stopAll: async () => { - await dbContainer.stop(); - await apiContainer.stop(); - await network.stop(); - await db.destroy(); - }, - }); - - return allContainers; - }; diff --git a/src/__test__/db/base/delivery-methods.sql b/src/__test__/db/base/delivery-methods.sql deleted file mode 100644 index 67e668f..0000000 --- a/src/__test__/db/base/delivery-methods.sql +++ /dev/null @@ -1,52 +0,0 @@ --- --- PostgreSQL database dump --- - --- Dumped from database version 10.14 --- Dumped by pg_dump version 10.14 - -SET statement_timeout = 0; -SET lock_timeout = 0; -SET idle_in_transaction_session_timeout = 0; -SET client_encoding = 'UTF8'; -SET standard_conforming_strings = on; -SELECT pg_catalog.set_config('search_path', '', false); -SET check_function_bodies = false; -SET xmloption = content; -SET client_min_messages = warning; -SET row_security = off; - --- --- Data for Name: delivery-methods; Type: TABLE DATA; Schema: public; Owner: postgres --- - -INSERT INTO public."delivery-methods" (id, name, inserted, updated) VALUES (1, 'postenStandard', '2009-04-22 16:00:49.576417+02', NULL); -INSERT INTO public."delivery-methods" (id, name, inserted, updated) VALUES (2, 'postenBusiness', '2009-04-22 16:01:01.451183+02', NULL); -INSERT INTO public."delivery-methods" (id, name, inserted, updated) VALUES (3, 'noDelivery', '2009-05-12 10:25:55.659379+02', NULL); -INSERT INTO public."delivery-methods" (id, name, inserted, updated) VALUES (4, 'myPack', '2009-09-14 11:02:15.958453+02', '2009-09-22 15:53:35.896786+02'); -INSERT INTO public."delivery-methods" (id, name, inserted, updated) VALUES (5, 'dbSchenker', '2012-05-15 15:06:36.718661+02', NULL); -INSERT INTO public."delivery-methods" (id, name, inserted, updated) VALUES (6, 'dbSchenkerBHP', '2012-09-04 17:13:46.63224+02', NULL); -INSERT INTO public."delivery-methods" (id, name, inserted, updated) VALUES (7, 'dbSchenkerBPA', '2012-09-04 17:13:46.63224+02', NULL); -INSERT INTO public."delivery-methods" (id, name, inserted, updated) VALUES (8, 'bringPrivate', '2015-10-14 17:50:39.041084+02', NULL); -INSERT INTO public."delivery-methods" (id, name, inserted, updated) VALUES (9, 'bringCompany', '2015-10-14 17:50:39.041084+02', NULL); -INSERT INTO public."delivery-methods" (id, name, inserted, updated) VALUES (10, 'dhl', '2015-10-30 11:25:13.821867+01', NULL); -INSERT INTO public."delivery-methods" (id, name, inserted, updated) VALUES (11, 'samplesDelivery', '2018-10-24 13:15:11.201806+02', NULL); -INSERT INTO public."delivery-methods" (id, name, inserted, updated) VALUES (12, 'dhlFreightPrivate', '2019-05-23 00:19:45.934549+02', NULL); -INSERT INTO public."delivery-methods" (id, name, inserted, updated) VALUES (13, 'dhlFreightBusiness', '2019-05-23 00:19:45.934549+02', NULL); -INSERT INTO public."delivery-methods" (id, name, inserted, updated) VALUES (14, 'dhlExpress', '2019-05-23 00:19:45.934549+02', NULL); -INSERT INTO public."delivery-methods" (id, name, inserted, updated) VALUES (15, 'dhlEconomyEU', '2020-09-28 15:52:11.988645+02', NULL); -INSERT INTO public."delivery-methods" (id, name, inserted, updated) VALUES (16, 'dhlEconomyWorld', '2020-09-28 15:52:11.988645+02', NULL); -INSERT INTO public."delivery-methods" (id, name, inserted, updated) VALUES (17, 'dhlEconomyUK', '2020-12-21 12:24:35.376572+01', NULL); - - --- --- Name: Delivery-methods_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres --- - -SELECT pg_catalog.setval('public."Delivery-methods_id_seq"', 4, true); - - --- --- PostgreSQL database dump complete --- - diff --git a/src/__test__/db/base/i18n-territories.sql b/src/__test__/db/base/i18n-territories.sql deleted file mode 100644 index 55d43c4..0000000 --- a/src/__test__/db/base/i18n-territories.sql +++ /dev/null @@ -1,295 +0,0 @@ --- --- PostgreSQL database dump --- - --- Dumped from database version 10.14 --- Dumped by pg_dump version 10.14 - -SET statement_timeout = 0; -SET lock_timeout = 0; -SET idle_in_transaction_session_timeout = 0; -SET client_encoding = 'UTF8'; -SET standard_conforming_strings = on; -SELECT pg_catalog.set_config('search_path', '', false); -SET check_function_bodies = false; -SET xmloption = content; -SET client_min_messages = warning; -SET row_security = off; - --- --- Data for Name: i18n-territories; Type: TABLE DATA; Schema: public; Owner: postgres --- - -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('AD', '2009-09-11 14:21:48.359545+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('AE', '2009-09-11 14:21:48.473597+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('AF', '2009-09-11 14:21:48.481851+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('AG', '2009-09-11 14:21:48.490814+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('AI', '2009-09-11 14:21:48.499602+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('AL', '2009-09-11 14:21:48.507899+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('AM', '2009-09-11 14:21:48.516151+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('AN', '2009-09-11 14:21:48.524817+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('AO', '2009-09-11 14:21:48.533183+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('AQ', '2009-09-11 14:21:48.541496+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('AR', '2009-09-11 14:21:48.549794+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('AS', '2009-09-11 14:21:48.558571+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('AU', '2009-09-11 14:21:48.575207+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('AW', '2009-09-11 14:21:48.583469+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('AX', '2009-09-11 14:21:48.592206+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('AZ', '2009-09-11 14:21:48.600662+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('BA', '2009-09-11 14:21:48.608984+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('BB', '2009-09-11 14:21:48.617311+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('BD', '2009-09-11 14:21:48.626067+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('BF', '2009-09-11 14:21:48.642871+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('BH', '2009-09-11 14:21:48.660668+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('BI', '2009-09-11 14:21:48.668959+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('BJ', '2009-09-11 14:21:48.677244+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('BL', '2009-09-11 14:21:48.685473+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('BM', '2009-09-11 14:21:48.693728+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('BN', '2009-09-11 14:21:48.702055+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('BO', '2009-09-11 14:21:48.710416+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('BR', '2009-09-11 14:21:48.718698+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('BS', '2009-09-11 14:21:48.726934+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('BT', '2009-09-11 14:21:48.735247+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('BV', '2009-09-11 14:21:48.743504+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('BW', '2009-09-11 14:21:48.751763+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('BY', '2009-09-11 14:21:48.763735+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('BZ', '2009-09-11 14:21:48.772066+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('CA', '2009-09-11 14:21:48.780465+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('CC', '2009-09-11 14:21:48.788834+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('CD', '2009-09-11 14:21:48.79711+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('CF', '2009-09-11 14:21:48.805416+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('CG', '2009-09-11 14:21:48.813711+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('CH', '2009-09-11 14:21:48.821992+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('CI', '2009-09-11 14:21:48.830315+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('CK', '2009-09-11 14:21:48.838629+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('CL', '2009-09-11 14:21:48.846914+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('CM', '2009-09-11 14:21:48.855183+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('CN', '2009-09-11 14:21:48.863462+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('CO', '2009-09-11 14:21:48.871788+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('CR', '2009-09-11 14:21:48.880079+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('CS', '2009-09-11 14:21:48.888431+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('CU', '2009-09-11 14:21:48.896702+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('CV', '2009-09-11 14:21:48.905052+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('CX', '2009-09-11 14:21:48.913332+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('DJ', '2009-09-11 14:21:48.946603+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('DM', '2009-09-11 14:21:48.963323+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('DO', '2009-09-11 14:21:48.971667+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('DZ', '2009-09-11 14:21:48.979989+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('EC', '2009-09-11 14:21:48.988356+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('EG', '2009-09-11 14:21:49.004988+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('EH', '2009-09-11 14:21:49.013295+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('ER', '2009-09-11 14:21:49.021624+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('ET', '2009-09-11 14:21:49.038324+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('FJ', '2009-09-11 14:21:49.055159+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('FK', '2009-09-11 14:21:49.064213+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('FM', '2009-09-11 14:21:49.072887+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('FO', '2009-09-11 14:21:49.081242+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('GA', '2009-09-11 14:21:49.098606+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('GD', '2009-09-11 14:21:49.115717+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('GE', '2009-09-11 14:21:49.124034+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('GF', '2009-09-11 14:21:49.13406+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('GG', '2009-09-11 14:21:49.142766+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('GH', '2009-09-11 14:21:49.151121+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('GI', '2009-09-11 14:21:49.159562+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('GL', '2009-09-11 14:21:49.168556+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('GM', '2009-09-11 14:21:49.177286+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('GN', '2009-09-11 14:21:49.185639+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('GP', '2009-09-11 14:21:49.19395+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('GQ', '2009-09-11 14:21:49.203071+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('GS', '2009-09-11 14:21:49.22012+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('GT', '2009-09-11 14:21:49.228481+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('GU', '2009-09-11 14:21:49.236821+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('GW', '2009-09-11 14:21:49.245244+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('GY', '2009-09-11 14:21:49.25359+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('HK', '2009-09-11 14:21:49.262134+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('HM', '2009-09-11 14:21:49.270537+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('HN', '2009-09-11 14:21:49.278958+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('HT', '2009-09-11 14:21:49.295669+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('ID', '2009-09-11 14:21:49.312469+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('IL', '2009-09-11 14:21:49.329283+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('IM', '2009-09-11 14:21:49.33766+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('IN', '2009-09-11 14:21:49.346056+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('IO', '2009-09-11 14:21:49.354417+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('IQ', '2009-09-11 14:21:49.362842+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('IR', '2009-09-11 14:21:49.372169+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('IS', '2009-09-11 14:21:49.380569+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('JE', '2009-09-11 14:21:49.397412+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('JM', '2009-09-11 14:21:49.405806+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('JO', '2009-09-11 14:21:49.414204+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('JP', '2009-09-11 14:21:49.422599+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('KE', '2009-09-11 14:21:49.431026+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('KG', '2009-09-11 14:21:49.439486+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('KH', '2009-09-11 14:21:49.448048+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('KI', '2009-09-11 14:21:49.456425+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('KM', '2009-09-11 14:21:49.464784+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('KN', '2009-09-11 14:21:49.473625+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('KP', '2009-09-11 14:21:49.482337+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('KR', '2009-09-11 14:21:49.491191+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('KW', '2009-09-11 14:21:49.499933+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('KY', '2009-09-11 14:21:49.508373+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('KZ', '2009-09-11 14:21:49.516703+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('LA', '2009-09-11 14:21:49.525007+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('LB', '2009-09-11 14:21:49.533318+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('LC', '2009-09-11 14:21:49.542203+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('LI', '2009-09-11 14:21:49.550845+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('LK', '2009-09-11 14:21:49.559292+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('LR', '2009-09-11 14:21:49.567623+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('LS', '2009-09-11 14:21:49.576619+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('LY', '2009-09-11 14:21:49.611123+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('MA', '2009-09-11 14:21:49.619941+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('MC', '2009-09-11 14:21:49.628294+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('MD', '2009-09-11 14:21:49.636606+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('ME', '2009-09-11 14:21:49.644965+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('MF', '2009-09-11 14:21:49.653372+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('MG', '2009-09-11 14:21:49.661736+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('MH', '2009-09-11 14:21:49.670092+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('MK', '2009-09-11 14:21:49.678464+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('ML', '2009-09-11 14:21:49.686893+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('MM', '2009-09-11 14:21:49.695247+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('MN', '2009-09-11 14:21:49.703599+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('MO', '2009-09-11 14:21:49.712075+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('MP', '2009-09-11 14:21:49.720459+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('MQ', '2009-09-11 14:21:49.728857+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('MR', '2009-09-11 14:21:49.737161+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('MS', '2009-09-11 14:21:49.745506+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('MU', '2009-09-11 14:21:49.762465+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('MV', '2009-09-11 14:21:49.773923+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('MW', '2009-09-11 14:21:49.782402+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('MX', '2009-09-11 14:21:49.790857+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('MY', '2009-09-11 14:21:49.799214+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('MZ', '2009-09-11 14:21:49.807579+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('NA', '2009-09-11 14:21:49.815924+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('NC', '2009-09-11 14:21:49.824254+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('NE', '2009-09-11 14:21:49.832649+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('NF', '2009-09-11 14:21:49.841015+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('NG', '2009-09-11 14:21:49.847925+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('NI', '2009-09-11 14:21:49.856892+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('NP', '2009-09-11 14:21:49.882406+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('NR', '2009-09-11 14:21:49.89142+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('NU', '2009-09-11 14:21:49.900234+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('NZ', '2009-09-11 14:21:49.908775+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('OM', '2009-09-11 14:21:49.917329+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('PA', '2009-09-11 14:21:49.926374+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('PE', '2009-09-11 14:21:49.935309+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('PF', '2009-09-11 14:21:49.943626+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('PG', '2009-09-11 14:21:49.951928+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('PH', '2009-09-11 14:21:49.961258+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('PK', '2009-09-11 14:21:49.970109+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('PM', '2009-09-11 14:21:49.986796+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('PN', '2009-09-11 14:21:49.995913+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('PR', '2009-09-11 14:21:50.004712+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('PS', '2009-09-11 14:21:50.013073+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('PW', '2009-09-11 14:21:50.029779+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('PY', '2009-09-11 14:21:50.038185+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('QA', '2009-09-11 14:21:50.04652+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('QO', '2009-09-11 14:21:50.054851+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('QU', '2009-09-11 14:21:50.063199+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('RE', '2009-09-11 14:21:50.071605+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('RS', '2009-09-11 14:21:50.088273+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('RU', '2009-09-11 14:21:50.096693+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('RW', '2009-09-11 14:21:50.105059+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('SA', '2009-09-11 14:21:50.113396+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('SB', '2009-09-11 14:21:50.121735+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('SC', '2009-09-11 14:21:50.131459+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('SD', '2009-09-11 14:21:50.139829+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('SG', '2009-09-11 14:21:50.156524+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('SH', '2009-09-11 14:21:50.16493+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('SJ', '2009-09-11 14:21:50.18172+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('SL', '2009-09-11 14:21:50.198564+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('SM', '2009-09-11 14:21:50.206887+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('SN', '2009-09-11 14:21:50.215248+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('SO', '2009-09-11 14:21:50.223573+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('SR', '2009-09-11 14:21:50.231944+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('ST', '2009-09-11 14:21:50.240464+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('SV', '2009-09-11 14:21:50.248718+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('SY', '2009-09-11 14:21:50.256932+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('SZ', '2009-09-11 14:21:50.266061+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('TC', '2009-09-11 14:21:50.274742+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('TD', '2009-09-11 14:21:50.282964+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('TF', '2009-09-11 14:21:50.291184+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('TG', '2009-09-11 14:21:50.300216+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('TH', '2009-09-11 14:21:50.308786+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('TJ', '2009-09-11 14:21:50.31706+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('TK', '2009-09-11 14:21:50.325292+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('TL', '2009-09-11 14:21:50.334162+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('TM', '2009-09-11 14:21:50.342765+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('TN', '2009-09-11 14:21:50.351122+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('TO', '2009-09-11 14:21:50.359415+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('TR', '2009-09-11 14:21:50.369228+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('TT', '2009-09-11 14:21:50.377852+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('TV', '2009-09-11 14:21:50.386079+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('TW', '2009-09-11 14:21:50.394273+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('TZ', '2009-09-11 14:21:50.403214+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('UA', '2009-09-11 14:21:50.411864+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('UG', '2009-09-11 14:21:50.420161+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('UM', '2009-09-11 14:21:50.428436+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('US', '2009-09-11 14:21:50.436635+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('UY', '2009-09-11 14:21:50.444901+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('UZ', '2009-09-11 14:21:50.453148+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('VA', '2009-09-11 14:21:50.461376+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('VC', '2009-09-11 14:21:50.472681+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('VE', '2009-09-11 14:21:50.48098+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('VG', '2009-09-11 14:21:50.489231+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('VI', '2009-09-11 14:21:50.497457+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('VN', '2009-09-11 14:21:50.50568+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('VU', '2009-09-11 14:21:50.513923+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('WF', '2009-09-11 14:21:50.52215+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('WS', '2009-09-11 14:21:50.530416+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('YE', '2009-09-11 14:21:50.538664+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('YT', '2009-09-11 14:21:50.546885+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('ZA', '2009-09-11 14:21:50.555159+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('ZM', '2009-09-11 14:21:50.56334+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('ZW', '2009-09-11 14:21:50.57228+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('ZZ', '2009-09-11 14:21:50.580983+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('BQ', '2009-09-11 14:21:53.448014+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('CT', '2009-09-11 14:21:53.503665+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('DD', '2009-09-11 14:21:53.523317+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('FQ', '2009-09-11 14:21:53.57364+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('FX', '2009-09-11 14:21:53.58423+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('JT', '2009-09-11 14:21:53.682856+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('MI', '2009-09-11 14:21:53.775088+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('NQ', '2009-09-11 14:21:53.842611+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('NT', '2009-09-11 14:21:53.85353+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('PC', '2009-09-11 14:21:53.871294+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('PU', '2009-09-11 14:21:53.906542+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('PZ', '2009-09-11 14:21:53.920157+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('SU', '2009-09-11 14:21:53.983085+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('VD', '2009-09-11 14:21:54.052855+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('WK', '2009-09-11 14:21:54.075708+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('YD', '2009-09-11 14:21:54.086867+02', '2016-12-20 14:25:00.070619+01', 1); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('SE', '2009-09-11 14:21:50.148203+02', '2016-12-20 14:25:00.070619+01', 1.25); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('DK', '2009-09-11 14:21:48.954969+02', '2016-12-20 14:25:00.070619+01', 1.25); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('FI', '2009-09-11 14:21:49.046661+02', '2016-12-20 14:25:00.070619+01', 1.24); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('NO', '2009-09-11 14:21:49.874065+02', '2016-12-20 14:25:00.070619+01', 1.25); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('GB', '2009-09-11 14:21:49.107364+02', '2016-12-20 14:25:00.070619+01', 1.20); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('NL', '2009-09-11 14:21:49.86574+02', '2016-12-20 14:25:00.070619+01', 1.21); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('AT', '2009-09-11 14:21:48.566873+02', '2016-12-20 14:25:00.070619+01', 1.20); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('LT', '2009-09-11 14:21:49.585432+02', '2016-12-20 14:25:00.070619+01', 1.25); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('HR', '2009-09-11 14:21:49.287368+02', '2016-12-20 14:25:00.070619+01', 1.25); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('BE', '2009-09-11 14:21:48.634564+02', '2016-12-20 14:25:00.070619+01', 1.25); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('BG', '2009-09-11 14:21:48.651178+02', '2016-12-20 14:25:00.070619+01', 1.25); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('CY', '2009-09-11 14:21:48.921622+02', '2016-12-20 14:25:00.070619+01', 1.25); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('CZ', '2009-09-11 14:21:48.929968+02', '2016-12-20 14:25:00.070619+01', 1.25); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('EE', '2009-09-11 14:21:48.996629+02', '2016-12-20 14:25:00.070619+01', 1.25); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('GR', '2009-09-11 14:21:49.211729+02', '2016-12-20 14:25:00.070619+01', 1.25); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('HU', '2009-09-11 14:21:49.304041+02', '2016-12-20 14:25:00.070619+01', 1.25); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('IE', '2009-09-11 14:21:49.320905+02', '2016-12-20 14:25:00.070619+01', 1.25); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('LU', '2009-09-11 14:21:49.593745+02', '2016-12-20 14:25:00.070619+01', 1.25); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('LV', '2009-09-11 14:21:49.602105+02', '2016-12-20 14:25:00.070619+01', 1.25); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('MT', '2009-09-11 14:21:49.753887+02', '2016-12-20 14:25:00.070619+01', 1.25); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('PT', '2009-09-11 14:21:50.021405+02', '2016-12-20 14:25:00.070619+01', 1.25); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('RO', '2009-09-11 14:21:50.079937+02', '2016-12-20 14:25:00.070619+01', 1.25); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('SI', '2009-09-11 14:21:50.173375+02', '2016-12-20 14:25:00.070619+01', 1.25); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('SK', '2009-09-11 14:21:50.190172+02', '2016-12-20 14:25:00.070619+01', 1.25); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('EU', '2012-05-15 15:06:36.718661+02', '2016-12-20 14:25:00.070619+01', 1.25); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('FR', '2009-09-11 14:21:49.089608+02', '2017-02-01 09:04:44.68669+01', 1.2); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('ES', '2009-09-11 14:21:49.029972+02', '2018-09-05 15:00:41.322312+02', 1.21); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('PL', '2009-09-11 14:21:49.978446+02', '2018-10-05 14:15:33.079792+02', 1.23); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('IT', '2009-09-11 14:21:49.38905+02', '2020-12-18 09:36:55.721148+01', 1.22); -INSERT INTO public."i18n-territories" (iso2char, inserted, updated, vat) VALUES ('DE', '2009-09-11 14:21:48.938302+02', '2021-01-01 11:55:04.349216+01', 1.19); - - --- --- PostgreSQL database dump complete --- - diff --git a/src/__test__/db/base/locales.sql b/src/__test__/db/base/locales.sql deleted file mode 100644 index 60e73e7..0000000 --- a/src/__test__/db/base/locales.sql +++ /dev/null @@ -1,53 +0,0 @@ --- --- PostgreSQL database dump --- - --- Dumped from database version 10.14 --- Dumped by pg_dump version 10.14 - -SET statement_timeout = 0; -SET lock_timeout = 0; -SET idle_in_transaction_session_timeout = 0; -SET client_encoding = 'UTF8'; -SET standard_conforming_strings = on; -SELECT pg_catalog.set_config('search_path', '', false); -SET check_function_bodies = false; -SET xmloption = content; -SET client_min_messages = warning; -SET row_security = off; - --- --- Data for Name: locales; Type: TABLE DATA; Schema: public; Owner: postgres --- - -INSERT INTO public.locales (id, value, fallback_id, name) VALUES (1, 'sv_SE', NULL, 'Swedish (Sweden)'); -INSERT INTO public.locales (id, value, fallback_id, name) VALUES (2, 'nn_NO', NULL, 'Norwegian Nynorsk (Norway)'); -INSERT INTO public.locales (id, value, fallback_id, name) VALUES (3, 'en_GB', NULL, 'English (United Kingdom)'); -INSERT INTO public.locales (id, value, fallback_id, name) VALUES (4, 'da_DK', NULL, 'Danish (Denmark)'); -INSERT INTO public.locales (id, value, fallback_id, name) VALUES (5, 'fi_FI', NULL, 'Finnish (Finland)'); -INSERT INTO public.locales (id, value, fallback_id, name) VALUES (7, 'en_EU', NULL, 'English (Europe)'); -INSERT INTO public.locales (id, value, fallback_id, name) VALUES (8, 'de_DE', NULL, 'German (Germany)'); -INSERT INTO public.locales (id, value, fallback_id, name) VALUES (9, 'nl_NL', NULL, 'Dutch (Netherlands)'); -INSERT INTO public.locales (id, value, fallback_id, name) VALUES (10, 'de_AT', 8, 'German (Austria)'); -INSERT INTO public.locales (id, value, fallback_id, name) VALUES (11, 'en_US', NULL, 'English (United States)'); -INSERT INTO public.locales (id, value, fallback_id, name) VALUES (12, 'es_ES', NULL, 'Spanish (Spain)'); -INSERT INTO public.locales (id, value, fallback_id, name) VALUES (13, 'fr_FR', NULL, 'French (France)'); -INSERT INTO public.locales (id, value, fallback_id, name) VALUES (14, 'pl_PL', NULL, 'Polish (Poland)'); -INSERT INTO public.locales (id, value, fallback_id, name) VALUES (15, 'it_IT', NULL, 'Italian (Italy)'); -INSERT INTO public.locales (id, value, fallback_id, name) VALUES (16, 'fr_BE', 13, 'French (Belgium)'); -INSERT INTO public.locales (id, value, fallback_id, name) VALUES (17, 'nl_BE', 9, 'Dutch (Belgium)'); -INSERT INTO public.locales (id, value, fallback_id, name) VALUES (20, 'en_CA', 3, 'English (Canada)'); -INSERT INTO public.locales (id, value, fallback_id, name) VALUES (21, 'fr_CA', 13, 'French (Canada)'); - - --- --- Name: locales_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres --- - -SELECT pg_catalog.setval('public.locales_id_seq', 21, true); - - --- --- PostgreSQL database dump complete --- - diff --git a/src/__test__/db/base/market_locales.sql b/src/__test__/db/base/market_locales.sql deleted file mode 100644 index 7f8158c..0000000 --- a/src/__test__/db/base/market_locales.sql +++ /dev/null @@ -1,53 +0,0 @@ --- --- PostgreSQL database dump --- - --- Dumped from database version 10.14 --- Dumped by pg_dump version 10.14 - -SET statement_timeout = 0; -SET lock_timeout = 0; -SET idle_in_transaction_session_timeout = 0; -SET client_encoding = 'UTF8'; -SET standard_conforming_strings = on; -SELECT pg_catalog.set_config('search_path', '', false); -SET check_function_bodies = false; -SET xmloption = content; -SET client_min_messages = warning; -SET row_security = off; - --- --- Data for Name: market_locales; Type: TABLE DATA; Schema: public; Owner: postgres --- - -INSERT INTO public.market_locales (id, market_id, locale_id, name) VALUES (1, 1, 1, 'Sweden'); -INSERT INTO public.market_locales (id, market_id, locale_id, name) VALUES (2, 2, 2, 'Norway'); -INSERT INTO public.market_locales (id, market_id, locale_id, name) VALUES (3, 3, 3, 'United Kingdom'); -INSERT INTO public.market_locales (id, market_id, locale_id, name) VALUES (4, 4, 4, 'Denmark'); -INSERT INTO public.market_locales (id, market_id, locale_id, name) VALUES (5, 5, 5, 'Finland'); -INSERT INTO public.market_locales (id, market_id, locale_id, name) VALUES (6, 7, 7, 'International'); -INSERT INTO public.market_locales (id, market_id, locale_id, name) VALUES (7, 8, 8, 'Germany'); -INSERT INTO public.market_locales (id, market_id, locale_id, name) VALUES (8, 9, 9, 'Netherlands'); -INSERT INTO public.market_locales (id, market_id, locale_id, name) VALUES (9, 10, 10, 'Austria'); -INSERT INTO public.market_locales (id, market_id, locale_id, name) VALUES (10, 11, 11, 'USA'); -INSERT INTO public.market_locales (id, market_id, locale_id, name) VALUES (11, 12, 12, 'Spain'); -INSERT INTO public.market_locales (id, market_id, locale_id, name) VALUES (12, 13, 13, 'France'); -INSERT INTO public.market_locales (id, market_id, locale_id, name) VALUES (13, 14, 14, 'Poland'); -INSERT INTO public.market_locales (id, market_id, locale_id, name) VALUES (14, 15, 15, 'Italy'); -INSERT INTO public.market_locales (id, market_id, locale_id, name) VALUES (15, 16, 16, 'Belgium (French)'); -INSERT INTO public.market_locales (id, market_id, locale_id, name) VALUES (16, 16, 17, 'Belgium (Dutch)'); -INSERT INTO public.market_locales (id, market_id, locale_id, name) VALUES (21, 19, 20, 'Canada (English)'); -INSERT INTO public.market_locales (id, market_id, locale_id, name) VALUES (22, 19, 21, 'Canada (French)'); - - --- --- Name: market_locales_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres --- - -SELECT pg_catalog.setval('public.market_locales_id_seq', 22, true); - - --- --- PostgreSQL database dump complete --- - diff --git a/src/__test__/db/base/markets.sql b/src/__test__/db/base/markets.sql deleted file mode 100644 index 0069f2b..0000000 --- a/src/__test__/db/base/markets.sql +++ /dev/null @@ -1,51 +0,0 @@ --- --- PostgreSQL database dump --- - --- Dumped from database version 10.14 --- Dumped by pg_dump version 10.14 - -SET statement_timeout = 0; -SET lock_timeout = 0; -SET idle_in_transaction_session_timeout = 0; -SET client_encoding = 'UTF8'; -SET standard_conforming_strings = on; -SELECT pg_catalog.set_config('search_path', '', false); -SET check_function_bodies = false; -SET xmloption = content; -SET client_min_messages = warning; -SET row_security = off; - --- --- Data for Name: markets; Type: TABLE DATA; Schema: public; Owner: postgres --- - -INSERT INTO public.markets (id, name, vat, currency, price_adjustment) VALUES (1, 'SE', 1.25, 'SEK', 1); -INSERT INTO public.markets (id, name, vat, currency, price_adjustment) VALUES (2, 'NO', 1.25, 'NOK', 1.032); -INSERT INTO public.markets (id, name, vat, currency, price_adjustment) VALUES (3, 'GB', 1.20, 'GBP', 1.19); -INSERT INTO public.markets (id, name, vat, currency, price_adjustment) VALUES (4, 'DK', 1.25, 'DKK', 1.2); -INSERT INTO public.markets (id, name, vat, currency, price_adjustment) VALUES (5, 'FI', 1.24, 'EUR', 1.1165); -INSERT INTO public.markets (id, name, vat, currency, price_adjustment) VALUES (7, 'GLOBAL', 1.25, 'EUR', 1.13); -INSERT INTO public.markets (id, name, vat, currency, price_adjustment) VALUES (8, 'DE', 1.19, 'EUR', 1.13); -INSERT INTO public.markets (id, name, vat, currency, price_adjustment) VALUES (9, 'NL', 1.21, 'EUR', 1.15); -INSERT INTO public.markets (id, name, vat, currency, price_adjustment) VALUES (10, 'AT', 1.20, 'EUR', 1.1); -INSERT INTO public.markets (id, name, vat, currency, price_adjustment) VALUES (11, 'US', 1, 'USD', 1.06); -INSERT INTO public.markets (id, name, vat, currency, price_adjustment) VALUES (12, 'ES', 1.21, 'EUR', 1.13); -INSERT INTO public.markets (id, name, vat, currency, price_adjustment) VALUES (13, 'FR', 1.20, 'EUR', 1.13); -INSERT INTO public.markets (id, name, vat, currency, price_adjustment) VALUES (14, 'PL', 1.23, 'EUR', 0.8); -INSERT INTO public.markets (id, name, vat, currency, price_adjustment) VALUES (15, 'IT', 1.22, 'EUR', 1); -INSERT INTO public.markets (id, name, vat, currency, price_adjustment) VALUES (16, 'BE', 1.21, 'EUR', 1.15); -INSERT INTO public.markets (id, name, vat, currency, price_adjustment) VALUES (19, 'CA', 1, 'CAD', 1); - - --- --- Name: markets_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres --- - -SELECT pg_catalog.setval('public.markets_id_seq', 19, true); - - --- --- PostgreSQL database dump complete --- - diff --git a/src/__test__/db/base/product-currencies.sql b/src/__test__/db/base/product-currencies.sql deleted file mode 100644 index 2f6afda..0000000 --- a/src/__test__/db/base/product-currencies.sql +++ /dev/null @@ -1,37 +0,0 @@ --- --- PostgreSQL database dump --- - --- Dumped from database version 10.14 --- Dumped by pg_dump version 10.14 - -SET statement_timeout = 0; -SET lock_timeout = 0; -SET idle_in_transaction_session_timeout = 0; -SET client_encoding = 'UTF8'; -SET standard_conforming_strings = on; -SELECT pg_catalog.set_config('search_path', '', false); -SET check_function_bodies = false; -SET xmloption = content; -SET client_min_messages = warning; -SET row_security = off; - --- --- Data for Name: product-currencies; Type: TABLE DATA; Schema: public; Owner: postgres --- - -INSERT INTO public."product-currencies" (iso3char, exchange_rate) VALUES ('SEK', 1); -INSERT INTO public."product-currencies" (iso3char, exchange_rate) VALUES ('CAD', 0.12); -INSERT INTO public."product-currencies" (iso3char, exchange_rate) VALUES ('DKK', 0.775000); -INSERT INTO public."product-currencies" (iso3char, exchange_rate) VALUES ('EUR', 0.100000); -INSERT INTO public."product-currencies" (iso3char, exchange_rate) VALUES ('GBP', 0.077600); -INSERT INTO public."product-currencies" (iso3char, exchange_rate) VALUES ('NOK', 0.915500); -INSERT INTO public."product-currencies" (iso3char, exchange_rate) VALUES ('PLN', 0.443200); -INSERT INTO public."product-currencies" (iso3char, exchange_rate) VALUES ('RUB', 5.232700); -INSERT INTO public."product-currencies" (iso3char, exchange_rate) VALUES ('USD', 0.119800); - - --- --- PostgreSQL database dump complete --- - diff --git a/src/__test__/db/base/product-fields.sql b/src/__test__/db/base/product-fields.sql deleted file mode 100644 index 6ac7122..0000000 --- a/src/__test__/db/base/product-fields.sql +++ /dev/null @@ -1,66 +0,0 @@ --- --- PostgreSQL database dump --- - --- Dumped from database version 10.14 --- Dumped by pg_dump version 10.14 - -SET statement_timeout = 0; -SET lock_timeout = 0; -SET idle_in_transaction_session_timeout = 0; -SET client_encoding = 'UTF8'; -SET standard_conforming_strings = on; -SELECT pg_catalog.set_config('search_path', '', false); -SET check_function_bodies = false; -SET xmloption = content; -SET client_min_messages = warning; -SET row_security = off; - --- --- Data for Name: product-fields; Type: TABLE DATA; Schema: public; Owner: postgres --- - -INSERT INTO public."product-fields" (fieldid, field, inserted, updated) VALUES (1, 'artNo', '2009-10-12 13:02:21.213474+02', NULL); -INSERT INTO public."product-fields" (fieldid, field, inserted, updated) VALUES (2, 'name', '2009-10-12 13:02:21.230972+02', NULL); -INSERT INTO public."product-fields" (fieldid, field, inserted, updated) VALUES (3, 'height', '2009-10-12 13:02:21.244131+02', NULL); -INSERT INTO public."product-fields" (fieldid, field, inserted, updated) VALUES (4, 'orgArtNo', '2009-10-12 13:02:21.256221+02', NULL); -INSERT INTO public."product-fields" (fieldid, field, inserted, updated) VALUES (5, 'width', '2009-10-12 13:02:21.269256+02', NULL); -INSERT INTO public."product-fields" (fieldid, field, inserted, updated) VALUES (6, 'widths', '2009-10-12 13:02:22.008722+02', NULL); -INSERT INTO public."product-fields" (fieldid, field, inserted, updated) VALUES (13, 'min-height', '2010-12-03 16:30:52.18902+01', NULL); -INSERT INTO public."product-fields" (fieldid, field, inserted, updated) VALUES (14, 'min-width', '2010-12-03 16:30:52.18902+01', NULL); -INSERT INTO public."product-fields" (fieldid, field, inserted, updated) VALUES (15, 'max-height', '2010-12-03 16:30:52.18902+01', NULL); -INSERT INTO public."product-fields" (fieldid, field, inserted, updated) VALUES (16, 'max-width', '2010-12-03 16:30:52.18902+01', NULL); -INSERT INTO public."product-fields" (fieldid, field, inserted, updated) VALUES (17, 'photowall_resolution', '2011-01-26 17:11:40.644271+01', '2011-02-24 16:23:18.871906+01'); -INSERT INTO public."product-fields" (fieldid, field, inserted, updated) VALUES (18, 'canvas_resolution', '2011-02-24 16:23:18.871906+01', NULL); -INSERT INTO public."product-fields" (fieldid, field, inserted, updated) VALUES (19, 'wallpaper_resolution', '2011-02-24 16:23:18.871906+01', NULL); -INSERT INTO public."product-fields" (fieldid, field, inserted, updated) VALUES (20, 'lock_height', '2011-07-06 15:25:16.898145+02', NULL); -INSERT INTO public."product-fields" (fieldid, field, inserted, updated) VALUES (21, 'additionalprice', '2012-01-24 13:15:18.053708+01', NULL); -INSERT INTO public."product-fields" (fieldid, field, inserted, updated) VALUES (25, 'copyright', '2014-11-03 13:10:22.40505+01', NULL); -INSERT INTO public."product-fields" (fieldid, field, inserted, updated) VALUES (26, 'proportions_warning', '2015-03-09 10:30:50.360263+01', NULL); -INSERT INTO public."product-fields" (fieldid, field, inserted, updated) VALUES (27, 'margin_width_max', '2015-03-09 10:30:50.367125+01', NULL); -INSERT INTO public."product-fields" (fieldid, field, inserted, updated) VALUES (28, 'margin_width_min', '2015-03-09 10:30:50.373814+01', NULL); -INSERT INTO public."product-fields" (fieldid, field, inserted, updated) VALUES (29, 'margin_height_max', '2015-03-09 10:30:50.380639+01', NULL); -INSERT INTO public."product-fields" (fieldid, field, inserted, updated) VALUES (30, 'margin_height_min', '2015-03-09 10:30:50.387071+01', NULL); -INSERT INTO public."product-fields" (fieldid, field, inserted, updated) VALUES (31, 'focusXpoint', '2016-01-13 10:53:02.410018+01', NULL); -INSERT INTO public."product-fields" (fieldid, field, inserted, updated) VALUES (32, 'focusYpoint', '2016-01-13 10:53:02.410018+01', NULL); -INSERT INTO public."product-fields" (fieldid, field, inserted, updated) VALUES (33, 'focusXpoint2', '2016-01-13 10:53:02.410018+01', NULL); -INSERT INTO public."product-fields" (fieldid, field, inserted, updated) VALUES (34, 'focusYpoint2', '2016-01-13 10:53:02.410018+01', NULL); -INSERT INTO public."product-fields" (fieldid, field, inserted, updated) VALUES (35, 'repeating_pattern', '2016-01-13 10:53:02.410018+01', NULL); -INSERT INTO public."product-fields" (fieldid, field, inserted, updated) VALUES (36, 'batch', '2016-01-13 10:53:02.410018+01', NULL); -INSERT INTO public."product-fields" (fieldid, field, inserted, updated) VALUES (37, 'image_resolution', '2016-01-13 10:53:02.410018+01', NULL); -INSERT INTO public."product-fields" (fieldid, field, inserted, updated) VALUES (41, 'print_file_width', '2017-06-27 18:42:46.213367+02', NULL); -INSERT INTO public."product-fields" (fieldid, field, inserted, updated) VALUES (42, 'print_file_height', '2017-06-27 18:42:46.213367+02', NULL); -INSERT INTO public."product-fields" (fieldid, field, inserted, updated) VALUES (43, 'print_file_dpi', '2017-06-27 18:42:46.213367+02', NULL); - - --- --- Name: product-fields_fieldid_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres --- - -SELECT pg_catalog.setval('public."product-fields_fieldid_seq"', 43, true); - - --- --- PostgreSQL database dump complete --- - diff --git a/src/__test__/db/data/addresses.sql b/src/__test__/db/data/addresses.sql deleted file mode 100644 index 26d1088..0000000 --- a/src/__test__/db/data/addresses.sql +++ /dev/null @@ -1,47 +0,0 @@ --- --- PostgreSQL database dump --- - --- Dumped from database version 10.14 --- Dumped by pg_dump version 10.14 - -SET statement_timeout = 0; -SET lock_timeout = 0; -SET idle_in_transaction_session_timeout = 0; -SET client_encoding = 'UTF8'; -SET standard_conforming_strings = on; -SELECT pg_catalog.set_config('search_path', '', false); -SET check_function_bodies = false; -SET xmloption = content; -SET client_min_messages = warning; -SET row_security = off; - --- --- Data for Name: addresses; Type: TABLE DATA; Schema: public; Owner: postgres --- - -INSERT INTO public.addresses (id, address1, company_name, country_code, city, zipcode, first_name, last_name, address2, state) VALUES (DEFAULT, '39668 Oswald Junctions', 'Treutel, Mayer and Tillman', 'IT', 'Jacobsfurt', '51622-8307', 'Izaiah', 'Johns', '', 'Arkansas - MN'); -INSERT INTO public.addresses (id, address1, company_name, country_code, city, zipcode, first_name, last_name, address2, state) VALUES (DEFAULT, '23474 Marcus Spur', 'Keebler LLC', 'CA', 'West Llewellyn', '85249', 'Bessie', 'Stark', '', 'Alaska - MN'); -INSERT INTO public.addresses (id, address1, company_name, country_code, city, zipcode, first_name, last_name, address2, state) VALUES (DEFAULT, '69697 Forrest Curve', 'Roob - Flatley', 'CA', 'South Ardith', '03343', 'Everette', 'Gutmann', '', 'New Mexico - TN'); -INSERT INTO public.addresses (id, address1, company_name, country_code, city, zipcode, first_name, last_name, address2, state) VALUES (DEFAULT, '4963 Lebsack Mission', 'Russel - Sipes', 'BE', 'Willardmouth', '61382', 'Concepcion', 'Rodriguez', 'Haag Plaza', 'New Jersey - RI'); -INSERT INTO public.addresses (id, address1, company_name, country_code, city, zipcode, first_name, last_name, address2, state) VALUES (DEFAULT, '9849 Orlo Plain', 'Wintheiser, Stoltenberg and Grant', 'PL', 'Georgettefort', '37245-4929', 'Kelton', 'Hamill', '', 'New Mexico - OR'); -INSERT INTO public.addresses (id, address1, company_name, country_code, city, zipcode, first_name, last_name, address2, state) VALUES (DEFAULT, '500 Asha Mount', 'Rowe - Berge', 'DE', 'New Felipeberg', '05958-2134', 'Isaiah', 'Schuster', '', 'Alabama - AL'); -INSERT INTO public.addresses (id, address1, company_name, country_code, city, zipcode, first_name, last_name, address2, state) VALUES (DEFAULT, '833 Torphy Canyon', 'Grant, Daugherty and Gorczany', 'NL', 'Mohrport', '21503-3865', 'Camylle', 'Morar', 'Runolfsdottir Estate', 'New Hampshire - HI'); -INSERT INTO public.addresses (id, address1, company_name, country_code, city, zipcode, first_name, last_name, address2, state) VALUES (DEFAULT, '2535 Annalise Corner', 'Schowalter - Moen', 'IT', 'North Gaylord', '01220', 'Erika', 'Kilback', '', 'California - MN'); -INSERT INTO public.addresses (id, address1, company_name, country_code, city, zipcode, first_name, last_name, address2, state) VALUES (DEFAULT, '33326 Bonita Harbor', 'Bechtelar, Littel and Lebsack', 'DE', 'Kuhicborough', '64112', 'Lourdes', 'Schneider', '', 'North Carolina - PA'); -INSERT INTO public.addresses (id, address1, company_name, country_code, city, zipcode, first_name, last_name, address2, state) VALUES (DEFAULT, '8926 Strosin River', 'Weimann, Purdy and Hane', 'NO', 'Demondberg', '26478-3402', 'Cesar', 'OConner', 'Watsica Isle', 'Colorado - WY'); -INSERT INTO public.addresses (id, address1, company_name, country_code, city, zipcode, first_name, last_name, address2, state) VALUES (DEFAULT, '4760 Konopelski Avenue', 'Zulauf Inc', 'GB', 'Lake Terrence', '30810-2357', 'Willard', 'Wintheiser', '', 'Idaho - MA'); -INSERT INTO public.addresses (id, address1, company_name, country_code, city, zipcode, first_name, last_name, address2, state) VALUES (DEFAULT, '925 Ziemann Loop', 'Beahan Inc', 'NL', 'West Aniyahport', '55371-6794', 'Melvina', 'Wyman', '', 'New York - NC'); -INSERT INTO public.addresses (id, address1, company_name, country_code, city, zipcode, first_name, last_name, address2, state) VALUES (DEFAULT, '808 Mike Avenue', 'Stiedemann - Haley', 'BE', 'Koeppside', '03629', 'Bulah', 'Reichel', '', 'Kansas - ID'); -INSERT INTO public.addresses (id, address1, company_name, country_code, city, zipcode, first_name, last_name, address2, state) VALUES (DEFAULT, '95116 Romaguera Extensions', 'Zieme - Conn', 'CA', 'Wisozkburgh', '34631', 'Reuben', 'Veum', '', 'Ohio - AZ'); -INSERT INTO public.addresses (id, address1, company_name, country_code, city, zipcode, first_name, last_name, address2, state) VALUES (DEFAULT, '5267 Whitney Road', 'Hodkiewicz, Upton and Blanda', 'AT', 'Lake Enid', '18934-3113', 'Mable', 'Haley', '', 'North Carolina - ID'); -INSERT INTO public.addresses (id, address1, company_name, country_code, city, zipcode, first_name, last_name, address2, state) VALUES (DEFAULT, '2534 Stacy Shoal', 'Adams - Harvey', 'CA', 'OConnellport', '50629-5130', 'Jaleel', 'Kuhlman', 'Balistreri Pine', 'Connecticut - WA'); -INSERT INTO public.addresses (id, address1, company_name, country_code, city, zipcode, first_name, last_name, address2, state) VALUES (DEFAULT, '13725 Electa Trafficway', 'Nicolas - Becker', 'IT', 'Jacobsonhaven', '64074-4276', 'Jayden', 'Lindgren', '', 'Georgia - IA'); -INSERT INTO public.addresses (id, address1, company_name, country_code, city, zipcode, first_name, last_name, address2, state) VALUES (DEFAULT, '8484 Ryann Mission', 'Mayert - Monahan', 'AT', 'Robinberg', '79937', 'Libbie', 'Heathcote', 'Gleichner Flats', 'Michigan - ID'); -INSERT INTO public.addresses (id, address1, company_name, country_code, city, zipcode, first_name, last_name, address2, state) VALUES (DEFAULT, '811 Ruthe Via', 'Hilpert - Goldner', 'GB', 'Lake Joaquin', '08670', 'Aiden', 'Howe', 'Ima Forest', 'Montana - ID'); -INSERT INTO public.addresses (id, address1, company_name, country_code, city, zipcode, first_name, last_name, address2, state) VALUES (DEFAULT, '24977 Koepp Station', 'Vandervort, Wilkinson and Koepp', 'SE', 'Goodwinshire', '94552', 'Marcus', 'Hansen', 'Kelsie Point', 'Maryland - MO'); - --- --- PostgreSQL database dump complete --- - diff --git a/src/__test__/db/data/designer_texts.sql b/src/__test__/db/data/designer_texts.sql deleted file mode 100644 index cc90d34..0000000 --- a/src/__test__/db/data/designer_texts.sql +++ /dev/null @@ -1,208 +0,0 @@ --- --- PostgreSQL database dump --- - --- Dumped from database version 10.14 --- Dumped by pg_dump version 10.14 - -SET statement_timeout = 0; -SET lock_timeout = 0; -SET idle_in_transaction_session_timeout = 0; -SET client_encoding = 'UTF8'; -SET standard_conforming_strings = on; -SELECT pg_catalog.set_config('search_path', '', false); -SET check_function_bodies = false; -SET xmloption = content; -SET client_min_messages = warning; -SET row_security = off; - --- --- Data for Name: designer_texts; Type: TABLE DATA; Schema: public; Owner: postgres --- - -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 1, 1, 'Ex proident', 'Ut ut irure minim ut minim proident dolor ex cupidatat id proident minim veniam qui velit. Non commodo sunt cillum dolore est do cillum aute velit eiusmod. Culpa enim consequat reprehenderit ad id et et cillum et irure. Ex adipisicing consectetur nostrud non fugiat mollit fugiat culpa excepteur nostrud tempor. Sit ad eu quis culpa ipsum.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 1, 2, 'Quis ullamco', 'Nostrud ut irure sunt incididunt consectetur. Incididunt exercitation et consectetur sint proident id pariatur mollit do excepteur eu commodo deserunt quis. Et irure anim eiusmod amet voluptate non nulla occaecat aliqua. Veniam culpa aute adipisicing fugiat amet nisi est ut aliqua dolore anim in occaecat esse voluptate. Dolor est sunt ad deserunt cupidatat sit enim deserunt ea non occaecat sunt quis consectetur.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 1, 3, 'Est', 'Ullamco aliqua dolor mollit non aliqua excepteur cillum duis. Exercitation minim veniam adipisicing tempor magna. Adipisicing nisi eu nulla excepteur excepteur sint cillum qui labore. Aute labore ea est magna magna aute culpa duis cillum culpa ea et et.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 1, 4, 'Aute', 'Anim aute aute laboris cupidatat non id. Aliqua amet Lorem veniam duis enim sint nostrud sit ut est magna consequat nisi. Magna eu nulla cupidatat cupidatat proident et fugiat. Officia pariatur dolor elit elit do veniam est excepteur do officia officia duis anim.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 1, 5, 'Ipsum in enim', 'Incididunt non quis laborum reprehenderit cillum cupidatat incididunt fugiat. Irure culpa amet et aliqua culpa enim in amet id sint do. Pariatur fugiat nulla officia dolor adipisicing eiusmod dolore ea occaecat esse. Veniam tempor sunt voluptate consectetur irure ex nulla labore eiusmod officia amet adipisicing enim. Tempor culpa mollit ad consectetur quis id qui sunt commodo quis fugiat pariatur tempor proident ipsum.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 1, 7, 'Fugiat', 'Irure quis esse adipisicing deserunt dolor consequat est cillum fugiat esse sit. Aliquip deserunt excepteur laborum duis sunt ullamco. Ad et consequat non exercitation eiusmod dolor aute commodo mollit minim tempor pariatur deserunt quis. Quis elit id sint non eiusmod do consequat eiusmod tempor commodo nostrud excepteur exercitation minim. Esse voluptate incididunt mollit ipsum aliquip eu exercitation ea eu veniam exercitation aliqua.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 1, 8, 'Ea ut', 'Cupidatat ea proident tempor dolor dolore. Consectetur commodo labore excepteur occaecat deserunt dolore esse voluptate irure nisi officia proident proident adipisicing. In aliquip mollit magna tempor labore velit ipsum.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 1, 9, 'Elit', 'Velit qui qui nisi. Irure veniam dolor nisi ex est mollit. Commodo nostrud in minim aliqua exercitation pariatur. Laborum in nisi est eu aute laborum sunt sunt culpa velit.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 1, 10, 'Sunt sint voluptate', 'Veniam nisi dolore pariatur deserunt duis id officia aute. Voluptate amet consectetur Lorem exercitation dolore ut eiusmod ullamco tempor laboris. Veniam esse quis Lorem officia esse ipsum magna fugiat exercitation laboris mollit excepteur est. Officia ad excepteur ut tempor nulla. Laborum quis officia adipisicing ipsum.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 1, 11, 'Eu officia ut', 'Lorem ipsum sit esse labore duis laborum duis. Consequat aute in minim ipsum anim. Veniam Lorem exercitation consequat eiusmod nostrud irure ea qui sunt cupidatat ut sunt cillum esse. Aute tempor et cillum amet labore cupidatat excepteur pariatur duis.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 1, 12, 'Velit', 'Veniam commodo in pariatur minim consectetur amet in ipsum esse fugiat veniam nisi sunt voluptate. Anim est anim nostrud esse elit mollit. Id sint velit officia dolor laborum culpa veniam labore ullamco aliqua cupidatat. Ea minim consectetur nulla ut. Culpa aliqua amet exercitation exercitation ad.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 1, 13, 'Do ullamco', 'Consectetur ut voluptate ea tempor labore culpa elit qui nisi veniam minim dolore. Officia ea est incididunt est officia occaecat tempor non id consequat ullamco proident et. Sunt sunt non nulla exercitation consectetur mollit ad pariatur nostrud laborum duis. Veniam ad officia cillum cupidatat do do consectetur. Lorem nulla pariatur magna dolor labore in in consectetur ut sint pariatur incididunt aliquip.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 1, 14, 'Commodo', 'Tempor sint non aute pariatur tempor ea velit pariatur labore in officia anim irure Lorem magna. Laboris magna cupidatat sint ex sit nulla aliquip exercitation fugiat dolor elit deserunt et velit. Laboris occaecat adipisicing est. Et nulla id nostrud dolor.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 1, 16, 'Labore proident', 'Proident officia et eu exercitation aliqua proident fugiat reprehenderit eu cupidatat dolore culpa id consectetur. Reprehenderit quis eiusmod reprehenderit culpa mollit voluptate pariatur exercitation. Ex aute dolore mollit esse fugiat anim laborum tempor officia dolore sunt. Minim labore labore eu.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 1, 17, 'Laborum', 'Ex ea sit sit sunt fugiat id tempor mollit minim esse elit nulla deserunt. Ad voluptate do id qui ullamco. Irure pariatur dolore nisi mollit elit. Ipsum aliquip labore fugiat.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 1, 20, 'Reprehenderit', 'Magna nostrud nisi consequat officia est non non proident est enim non. Cupidatat voluptate fugiat culpa sunt. Incididunt cillum sunt sint duis dolor et enim minim aliquip. Velit ullamco sit duis eu non mollit enim irure velit occaecat eiusmod.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 1, 21, 'Officia', 'Dolor tempor culpa pariatur eu aute dolore elit consequat eiusmod laboris laboris proident. Id eu esse est laborum labore amet proident veniam consequat voluptate. Excepteur dolore sit exercitation labore velit nisi pariatur do nostrud non pariatur tempor laboris minim. Labore tempor cupidatat ipsum dolore nisi veniam Lorem. Aliqua Lorem sit eu amet in quis.'); - -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 2, 1, 'Consequat', 'Amet excepteur ullamco officia ullamco sit id id deserunt. In minim dolor elit eiusmod ullamco quis id aliquip officia laborum sit. Sunt ut labore in sunt et elit laboris consequat duis commodo excepteur pariatur dolor aute cillum. Lorem ipsum minim ea mollit deserunt enim eu cillum voluptate veniam nulla dolore ad. Minim do veniam veniam id culpa aute sit sit qui cupidatat in in incididunt amet.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 2, 2, 'Commodo ut', 'Minim dolore incididunt sint velit. Consequat ut nostrud amet incididunt voluptate irure veniam veniam ut ex excepteur labore consectetur. Sint excepteur commodo esse pariatur magna exercitation cillum. Consectetur Lorem non laborum non duis laborum amet est exercitation cillum consectetur. Anim sit occaecat do commodo.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 2, 3, 'Sit', 'Duis commodo est consectetur commodo esse commodo commodo occaecat do ad nisi esse mollit. Velit voluptate non esse anim consequat qui esse ex ex officia occaecat. Ipsum dolore officia consequat labore ullamco. Laborum tempor nulla proident nostrud cupidatat Lorem id fugiat ipsum elit.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 2, 4, 'Adipisicing anim', 'Nostrud proident Lorem qui nisi est eiusmod occaecat aliqua sunt ullamco aliqua dolor cillum reprehenderit. Ea fugiat officia ullamco esse id dolor. Sint esse cupidatat occaecat. Nisi sunt aute ea magna exercitation et id nisi labore excepteur ullamco commodo.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 2, 5, 'Non laboris', 'Nulla deserunt duis labore sit. Deserunt esse cillum adipisicing duis proident nulla cupidatat. Nostrud nostrud aliquip occaecat.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 2, 7, 'Elit et', 'Fugiat cupidatat aliqua non non pariatur in voluptate consectetur ut qui tempor fugiat commodo excepteur in. Dolore dolore laboris magna proident nulla labore fugiat cillum do occaecat quis cupidatat do eu. Duis incididunt deserunt ullamco reprehenderit ipsum culpa dolore. Magna do culpa pariatur ipsum deserunt voluptate consectetur nulla commodo tempor sint labore tempor nostrud culpa.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 2, 8, 'Qui', 'Aliquip officia consectetur esse. Sit ad non nulla eiusmod ipsum sit dolor ullamco nisi elit laboris laborum exercitation eu cillum. Consequat sit duis commodo ad pariatur ullamco id reprehenderit cupidatat nisi reprehenderit nisi reprehenderit.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 2, 9, 'Enim esse', 'Ad labore anim incididunt proident qui. Fugiat id est laborum excepteur veniam aliqua nostrud. In in irure est mollit labore est Lorem incididunt. Velit ea do incididunt aliquip tempor anim ea incididunt quis. Culpa deserunt aliquip esse aliqua exercitation.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 2, 10, 'Eiusmod', 'Duis consectetur culpa mollit sint ut id culpa aliquip minim consectetur aliqua. Pariatur commodo dolore duis eiusmod commodo minim labore dolore irure. In ipsum nostrud velit magna sit ea laborum ipsum. Non laboris excepteur consectetur ex non eu cillum.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 2, 11, 'Et labore', 'Elit commodo veniam duis mollit in Lorem id incididunt et irure occaecat. Enim sunt minim do ipsum irure et aute elit. Anim minim eu non ea aute.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 2, 12, 'Aliquip', 'Amet officia elit veniam occaecat. Magna amet adipisicing qui quis dolore ipsum reprehenderit est in ullamco aliqua excepteur proident. Ullamco voluptate proident deserunt velit incididunt velit velit Lorem dolor amet pariatur.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 2, 13, 'Elit ex', 'Labore dolor voluptate aliqua dolor mollit nostrud sunt ea labore nostrud id. Quis irure do incididunt laborum labore commodo irure dolore aliquip aute. Ullamco sint esse veniam. Quis nulla fugiat duis id non excepteur ipsum laboris cupidatat. Ea cillum excepteur velit qui nisi esse est tempor reprehenderit sint esse amet.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 2, 14, 'Veniam', 'Veniam sint occaecat duis. Mollit sunt in dolore sint consectetur adipisicing proident aute nostrud deserunt dolore Lorem mollit. Mollit labore ex occaecat exercitation reprehenderit do anim cupidatat enim quis qui ut qui. Quis aliquip ex sunt pariatur. Pariatur quis nostrud voluptate fugiat commodo deserunt qui qui enim fugiat reprehenderit dolor duis.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 2, 16, 'Nostrud quis', 'Commodo dolor fugiat cupidatat anim commodo. Occaecat anim veniam elit commodo excepteur minim. Et consectetur officia nisi.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 2, 17, 'Nisi', 'Adipisicing aute excepteur sunt anim deserunt aliquip aute Lorem aute fugiat irure. Officia elit exercitation ut adipisicing nulla sit. Aute laborum mollit voluptate adipisicing culpa voluptate anim elit exercitation culpa. Et id sunt eu cillum culpa.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 2, 20, 'Minim dolor ipsum', 'In quis cillum exercitation consequat nulla elit. Minim fugiat est laborum pariatur sint eu nulla veniam mollit officia sit. Culpa tempor quis culpa pariatur anim pariatur voluptate ex veniam mollit ut ad consequat. Laboris velit consequat quis Lorem laborum non consectetur pariatur duis laboris laborum. Esse exercitation exercitation eiusmod ea reprehenderit reprehenderit ad.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 2, 21, 'Mollit duis', 'Commodo qui est elit nisi mollit officia laborum. Est nostrud ullamco id dolore irure anim. Occaecat laboris exercitation aliquip tempor dolore aute do do nisi dolor officia amet ex. Id adipisicing consequat occaecat sit elit adipisicing reprehenderit dolor aute proident ullamco id.'); - -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 3, 1, 'Pariatur', 'Exercitation cillum sit mollit officia ullamco veniam aliqua elit id officia. Velit sunt consectetur non ut. Duis enim ut proident in ad laboris ad fugiat ex eu reprehenderit.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 3, 2, 'Proident non minim', 'Ex excepteur do ex quis proident fugiat eu labore. Mollit do sunt et incididunt aliquip id exercitation cupidatat et laborum nisi amet. Qui aliquip nulla quis laborum adipisicing tempor.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 3, 3, 'Ex non in', 'Veniam deserunt velit eu ullamco consectetur mollit magna ipsum adipisicing. Exercitation excepteur sint ex ea exercitation aute nostrud anim exercitation ullamco ullamco velit consequat duis. Do laborum id culpa dolore consequat deserunt minim culpa in Lorem. Consequat cillum deserunt est irure fugiat quis eiusmod labore occaecat dolor reprehenderit velit mollit enim qui. Labore eu mollit ea dolor duis tempor reprehenderit cillum cupidatat dolore incididunt.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 3, 4, 'Id deserunt', 'Ad adipisicing duis Lorem mollit aliqua id ea dolore aliquip ad cillum anim. Labore esse do consequat nulla reprehenderit ex excepteur mollit dolor. Ullamco est elit qui et veniam elit aliquip enim anim id est consequat culpa dolor cupidatat.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 3, 5, 'Sunt eu', 'Minim eiusmod amet mollit nostrud excepteur dolore non et ea exercitation do proident. Laborum fugiat in amet voluptate Lorem laboris sunt sit ad est esse duis consequat do exercitation. Nisi veniam commodo eiusmod quis non ipsum nostrud aute enim enim ad culpa. Laborum in officia deserunt deserunt fugiat elit Lorem. Irure ullamco in pariatur ullamco aute eu enim.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 3, 7, 'Ad veniam', 'Culpa id labore velit veniam ex non. Excepteur proident nostrud excepteur non eiusmod ullamco cillum dolor quis non. Voluptate exercitation occaecat amet.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 3, 8, 'Sit occaecat', 'Sit consectetur nostrud est occaecat. Laborum do ipsum ipsum qui nulla ex esse labore mollit commodo mollit incididunt mollit. Do esse dolore cupidatat ullamco deserunt adipisicing deserunt sunt irure sint magna duis magna culpa.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 3, 9, 'Fugiat', 'Sint duis fugiat labore ad sit fugiat dolor proident anim elit fugiat id veniam officia adipisicing. Incididunt adipisicing labore ut incididunt. Consequat irure ullamco nostrud mollit qui. Sint laborum laboris veniam exercitation est nulla in esse.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 3, 10, 'Laboris', 'Elit reprehenderit nulla sunt mollit consequat nostrud commodo adipisicing reprehenderit aute ex sunt. Fugiat aute dolore dolore ullamco et eiusmod ea enim cillum irure duis fugiat elit exercitation ea. Dolor aute culpa tempor id nulla nostrud.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 3, 11, 'Tempor voluptate in', 'Amet id sunt excepteur cillum et cupidatat nisi esse sunt in id consectetur magna. Ea tempor aliquip nulla do. Esse elit culpa ex sint exercitation laboris ex aute ut officia aliquip amet exercitation.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 3, 12, 'Id aute aliquip', 'Adipisicing enim laborum fugiat. Qui eiusmod consectetur magna aute sint excepteur nisi. Officia id nulla culpa officia sint eu eu incididunt aliquip cillum cillum quis occaecat. Velit commodo esse qui adipisicing aute aliquip enim quis enim et officia laboris. Magna occaecat cillum aliqua cillum enim ex proident dolore duis.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 3, 13, 'Ex', 'Exercitation labore sit incididunt. Lorem laboris laboris nulla tempor elit esse enim dolor. Deserunt amet eu magna labore elit fugiat duis. Excepteur nostrud esse consequat velit aliqua fugiat esse culpa et ullamco.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 3, 14, 'Culpa eu nisi', 'Do fugiat adipisicing amet enim amet laboris aliquip reprehenderit pariatur nostrud sunt tempor. Sunt sunt laborum proident excepteur pariatur nisi ipsum laborum. Adipisicing magna commodo aliqua. Lorem nisi pariatur sunt proident exercitation ad culpa exercitation in et.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 3, 16, 'Lorem', 'Ut pariatur amet elit cupidatat culpa laborum esse. Veniam ea ex non magna laborum excepteur laborum minim veniam occaecat. Aliqua id reprehenderit adipisicing do sit nisi. In ipsum consequat reprehenderit anim incididunt esse exercitation id labore nisi esse esse quis excepteur.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 3, 17, 'Do pariatur aliquip', 'Culpa consequat ullamco consequat. Fugiat sunt veniam in elit. Labore est non voluptate aliqua commodo sint adipisicing do qui nulla. Ipsum veniam nostrud labore cillum nostrud anim irure laborum. Tempor id reprehenderit commodo deserunt aliqua dolor laboris non veniam sit.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 3, 20, 'Amet ipsum aliqua', 'Et culpa cillum excepteur mollit irure aliquip ex velit esse sit qui nisi veniam irure ullamco. Qui minim do reprehenderit in ex aliquip labore ex magna amet quis. Aliqua incididunt qui dolore dolore sunt aute enim. Aute nulla reprehenderit quis amet commodo. Ex fugiat fugiat excepteur nisi reprehenderit amet exercitation amet.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 3, 21, 'Commodo quis non', 'Irure commodo et eu elit laboris nostrud. Laborum commodo eu non aliquip non tempor voluptate nulla et. In eu eiusmod Lorem non. Irure minim do commodo eiusmod eiusmod quis labore cillum non ipsum cupidatat.'); - -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 4, 1, 'Culpa dolor', 'Do esse adipisicing irure excepteur esse ipsum reprehenderit excepteur velit exercitation non enim aute nostrud incididunt. Aliqua laboris do eiusmod qui eiusmod pariatur nulla in enim proident occaecat aliqua laborum mollit occaecat. Esse minim mollit voluptate nulla nostrud eu excepteur et excepteur magna nostrud. Enim deserunt Lorem veniam reprehenderit ipsum pariatur ut officia ipsum ullamco sunt sit aute ipsum et.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 4, 2, 'Do laborum ea', 'Tempor et tempor exercitation ullamco dolore anim aliquip nisi veniam esse minim laboris aliquip cillum nulla. Consequat fugiat proident tempor sunt minim laboris cupidatat nostrud sunt laboris amet. Consectetur magna laboris proident.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 4, 3, 'Do ea', 'Tempor laboris sint ex incididunt mollit voluptate id sunt commodo aliquip est elit duis commodo dolore. Dolore excepteur et magna qui cupidatat ut nulla non laborum pariatur qui. Nostrud fugiat quis occaecat velit ullamco nulla esse officia elit.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 4, 4, 'Id', 'Pariatur deserunt anim ipsum consectetur fugiat voluptate qui veniam ea cupidatat ex fugiat in proident nisi. Ad esse proident voluptate ipsum velit sint eiusmod est. Ullamco magna proident sit duis ut qui sunt do cillum exercitation aliqua. Elit non magna reprehenderit deserunt incididunt laboris exercitation in excepteur.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 4, 5, 'Excepteur nostrud eu', 'Sunt est nisi ut commodo est anim labore in pariatur occaecat. Voluptate velit culpa sunt sit. Sunt esse ullamco anim anim magna ex in adipisicing adipisicing nisi aliqua aute elit minim.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 4, 7, 'Ipsum ut', 'Veniam et dolore incididunt ad et mollit mollit nulla exercitation pariatur ipsum ipsum qui. Labore aute duis est. Officia consectetur anim adipisicing proident ad magna fugiat culpa.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 4, 8, 'Irure', 'Minim laborum dolore ut in id sunt anim dolore. Dolor ea veniam tempor anim laborum excepteur incididunt non deserunt sit tempor laboris officia Lorem laboris. Aliqua eu duis ad cupidatat ea amet ullamco quis Lorem dolor. Magna duis commodo pariatur amet mollit.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 4, 9, 'Minim', 'In est Lorem nisi ut reprehenderit eiusmod dolor culpa dolore adipisicing est sunt. Elit tempor voluptate exercitation ad ullamco veniam duis esse veniam est labore do. Minim nostrud laborum sunt in magna minim.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 4, 10, 'Quis', 'Nulla in sunt cillum dolore duis exercitation dolore id ullamco nostrud non velit ea. Reprehenderit minim aliquip deserunt velit ea officia voluptate mollit ullamco exercitation eu consequat irure. Quis pariatur dolore est in quis esse nisi pariatur labore ea magna adipisicing elit fugiat mollit.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 4, 11, 'Nulla', 'Mollit deserunt pariatur enim sunt proident. Duis labore adipisicing nulla. Qui cupidatat id incididunt nostrud. Amet enim aliqua excepteur duis. Ipsum voluptate mollit laborum ad cupidatat duis et veniam est esse deserunt amet amet in.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 4, 12, 'Consectetur irure tempor', 'Sint cupidatat voluptate culpa id fugiat commodo eiusmod incididunt ex mollit. Ea pariatur est enim non culpa pariatur non veniam dolor. Incididunt irure quis deserunt laborum aute est ad enim pariatur velit commodo.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 4, 13, 'Elit dolore culpa', 'Veniam pariatur sunt consectetur consequat do sint exercitation minim Lorem cupidatat Lorem ullamco anim ullamco. Adipisicing ad eiusmod non anim sint do occaecat sunt nulla deserunt qui anim amet veniam. Eu aute ipsum nisi fugiat ea pariatur pariatur tempor. Exercitation exercitation elit excepteur excepteur commodo.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 4, 14, 'Nostrud ex', 'Pariatur duis dolor eiusmod laborum reprehenderit cillum velit sunt quis. Eiusmod pariatur consectetur dolore veniam sit amet anim mollit culpa consequat. Adipisicing magna aliqua mollit sint sunt quis incididunt. Aliquip mollit officia culpa consequat Lorem enim nostrud in ea nostrud consequat velit. Reprehenderit aliqua officia veniam.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 4, 16, 'Nulla eiusmod occaecat', 'Cillum qui ea eu exercitation laborum veniam aute fugiat nulla dolor. Consectetur labore mollit minim commodo proident aliqua nisi sit labore exercitation sunt. Ut proident nisi proident consectetur dolore ea consequat.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 4, 17, 'Officia occaecat', 'Sint mollit adipisicing proident est fugiat qui commodo consequat Lorem fugiat non elit. Occaecat cillum aliquip dolore anim. Velit sit non excepteur nostrud aute quis quis commodo sunt pariatur eu ipsum est. Veniam duis dolor exercitation Lorem est deserunt dolore nulla ea aliqua nisi ipsum velit elit. Non id nulla officia quis veniam exercitation sint magna pariatur nostrud tempor reprehenderit dolore.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 4, 20, 'Aliqua', 'Laboris culpa sunt culpa minim ut non. Esse reprehenderit et anim nulla reprehenderit deserunt est ut exercitation dolor nulla sit anim elit sint. Ipsum duis dolor cupidatat. Enim proident Lorem et eu qui adipisicing excepteur amet.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 4, 21, 'Nulla ea', 'Ullamco do ad amet veniam pariatur elit sint labore et quis laboris nisi ea ullamco occaecat. Dolore veniam qui irure in aliquip culpa cillum adipisicing veniam consequat nostrud. Sunt veniam fugiat enim cillum cupidatat adipisicing ut. Esse tempor commodo esse mollit Lorem anim nulla. Commodo aliqua amet anim sit fugiat aliquip aute est consequat sint elit consequat consectetur.'); - -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 5, 1, 'Non exercitation', 'Proident elit nostrud aliquip velit aliquip id culpa nostrud. Tempor eiusmod voluptate adipisicing labore proident officia dolor amet aliqua ex tempor aliquip. Et incididunt sint ullamco duis et adipisicing excepteur. Adipisicing anim voluptate deserunt ut ut aute ut laborum reprehenderit duis.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 5, 2, 'Fugiat commodo do', 'Eiusmod nisi dolore dolor fugiat occaecat commodo incididunt sit. Adipisicing esse sit elit minim mollit. Magna elit anim qui.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 5, 3, 'Minim est', 'Excepteur amet consectetur laborum culpa culpa. Reprehenderit consectetur non eu eiusmod proident commodo. Duis ea incididunt cupidatat velit commodo fugiat.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 5, 4, 'Consectetur culpa', 'Ex mollit sit sint eu id sint elit anim veniam cupidatat nisi pariatur et qui. Eu veniam nisi commodo. Ullamco id elit irure nisi aute culpa. Pariatur dolore tempor laborum voluptate do nisi elit ea tempor.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 5, 5, 'Tempor adipisicing', 'Labore nisi do deserunt id deserunt esse do ipsum dolor qui esse et enim qui. Proident ipsum sint laborum excepteur elit nisi do proident quis aliquip occaecat amet. Aliquip adipisicing qui laborum id adipisicing nostrud deserunt enim esse tempor. Enim proident proident aliquip cillum ipsum culpa reprehenderit. Enim voluptate enim adipisicing non irure labore velit esse elit esse voluptate non cupidatat.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 5, 7, 'Tempor', 'Ea laborum nostrud irure id. Nisi nulla irure adipisicing eu ut proident in ut reprehenderit incididunt veniam non excepteur. Consequat in exercitation consequat veniam duis adipisicing occaecat irure aliqua quis laboris non culpa ea anim. Veniam ad tempor reprehenderit velit et et ex duis aute.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 5, 8, 'Enim ullamco esse', 'Eiusmod sunt officia aliquip elit et dolor amet nulla ipsum proident elit consequat excepteur id officia. Lorem enim est ullamco officia reprehenderit elit nisi fugiat. Aliqua aliqua eu voluptate culpa ullamco ipsum elit ea eu excepteur eu minim mollit do. Esse pariatur eiusmod magna eiusmod eu et consequat.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 5, 9, 'Quis', 'Mollit mollit voluptate reprehenderit et. Magna Lorem voluptate veniam consequat sunt laboris do. Consectetur cillum proident commodo minim Lorem laboris laborum elit velit. Quis commodo dolor irure cupidatat culpa et minim officia dolore mollit. Lorem mollit eiusmod esse veniam incididunt ipsum incididunt.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 5, 10, 'Velit', 'Exercitation cillum elit cillum occaecat labore nisi cupidatat labore officia excepteur id et. Eiusmod sit do ipsum fugiat nisi ipsum mollit laboris sint culpa sint. Cupidatat laborum ullamco qui in laborum aliqua cupidatat esse non esse.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 5, 11, 'Veniam', 'Elit nisi tempor enim id est dolore. Ipsum eiusmod consequat duis anim adipisicing sint deserunt laboris cillum exercitation ea nulla. Anim Lorem irure aute ullamco nisi in in elit aliqua aute.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 5, 12, 'Ex ullamco', 'Sint mollit proident amet velit officia ipsum in in quis consectetur. Incididunt incididunt mollit adipisicing aute irure nostrud deserunt enim quis officia cillum est sit labore labore. Ad do excepteur sunt nisi. Ex aute voluptate nostrud ea non ipsum nostrud ullamco nisi adipisicing in sit ea dolore non.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 5, 13, 'Dolor', 'Adipisicing nisi nulla dolor minim occaecat excepteur proident. Eiusmod amet sit amet incididunt velit labore in ipsum tempor. Tempor nostrud aliquip laborum sunt id sint et cupidatat commodo tempor et proident proident amet. Consectetur eiusmod sunt laboris fugiat labore qui proident nostrud eu enim qui.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 5, 14, 'Aliquip', 'Ut commodo ex ullamco quis reprehenderit est duis aliquip veniam enim incididunt excepteur pariatur amet. Eiusmod consequat tempor nisi do ea incididunt do esse qui tempor labore deserunt esse elit officia. Non quis sit et consectetur consectetur. Sit ad consectetur commodo enim ad sunt est tempor quis laborum do id ut eu eiusmod.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 5, 16, 'Sit', 'Commodo duis labore mollit qui elit. Qui labore ullamco deserunt non. Do cupidatat reprehenderit deserunt sit aliqua irure. Eiusmod et occaecat nulla officia proident qui excepteur mollit aute duis id reprehenderit sunt.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 5, 17, 'Id sit consectetur', 'Quis ex irure nisi cupidatat incididunt cillum mollit ea laborum pariatur occaecat velit eu ipsum. Do adipisicing nisi incididunt laboris dolor amet Lorem Lorem eiusmod ad anim velit. Magna ipsum sunt dolore consequat et eiusmod aliquip in ullamco minim nulla. Ea aute irure occaecat duis id incididunt et incididunt fugiat ea officia nulla officia nisi. Nulla dolore cupidatat dolor in.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 5, 20, 'Ipsum in non', 'Reprehenderit mollit est labore pariatur. Dolor minim cupidatat quis. Occaecat dolore reprehenderit nisi laboris ea voluptate Lorem incididunt ullamco Lorem. Irure consectetur nostrud dolor mollit consequat.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 5, 21, 'Cillum cillum sint', 'Aliqua quis pariatur sunt do tempor amet eiusmod in in esse. Laboris consectetur elit elit pariatur incididunt. Laborum elit in excepteur mollit aliqua consectetur ut voluptate mollit tempor cupidatat sint ullamco nostrud. Est excepteur nisi irure dolore dolor aute eiusmod labore reprehenderit adipisicing ex deserunt. Mollit proident ea id velit fugiat eiusmod et.'); - -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 6, 1, 'Est nisi dolore', 'Incididunt exercitation irure duis aliqua aliqua do reprehenderit velit est enim et do ex Lorem. Nulla minim tempor id enim est do voluptate aliquip ut voluptate labore culpa voluptate Lorem enim. Tempor sint quis mollit sint deserunt. Culpa eiusmod ad voluptate Lorem labore do velit non cupidatat elit culpa.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 6, 2, 'Commodo', 'Excepteur tempor Lorem elit. Cupidatat ex sit voluptate non labore anim minim do. Incididunt minim esse eiusmod ad mollit aute ea id cupidatat qui eiusmod.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 6, 3, 'Aute consectetur exercitation', 'Tempor qui reprehenderit enim eiusmod sint. Reprehenderit proident pariatur Lorem qui ipsum culpa dolore voluptate laborum minim. Cupidatat et in esse aute in pariatur culpa enim nostrud amet. Commodo pariatur veniam officia consectetur ut aliquip laboris est est est anim enim irure. Nostrud adipisicing cillum sunt esse non officia ea est deserunt in esse.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 6, 4, 'Do enim quis', 'Exercitation ullamco minim minim cupidatat ullamco occaecat eu aute. Aliquip eu do incididunt voluptate sunt id. Lorem culpa ipsum eiusmod id culpa veniam excepteur. Dolor occaecat aute deserunt reprehenderit officia esse cupidatat velit tempor enim non velit.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 6, 5, 'In do', 'Laboris dolore dolor aliquip non sint nulla aliquip sunt dolore id velit aliqua non ea. Non pariatur cupidatat et nisi ad nostrud tempor eiusmod irure est occaecat laborum esse enim laborum. Pariatur et deserunt enim. Laborum incididunt esse aute mollit exercitation aliquip qui labore voluptate sit.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 6, 7, 'Reprehenderit', 'Consequat esse aute adipisicing qui excepteur dolor irure nisi do. Voluptate id nulla fugiat nostrud enim magna enim eiusmod commodo incididunt aute exercitation pariatur. Eu anim ex occaecat ullamco labore ullamco in laboris aute aute dolor ut do eu aliquip. Qui commodo dolore aliquip enim mollit.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 6, 8, 'Adipisicing fugiat', 'Aute sit esse eiusmod officia eiusmod sit enim incididunt non ipsum nisi est. Pariatur do aliquip elit duis voluptate ullamco commodo et laborum aliqua cillum reprehenderit quis eu amet. Consectetur tempor ea labore. Pariatur minim officia veniam laborum sit mollit incididunt duis ad aliqua amet mollit velit nostrud.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 6, 9, 'Ex culpa', 'Eu ipsum proident dolor ut veniam occaecat cillum elit occaecat magna mollit nisi tempor. Anim sint laborum exercitation ex ut duis consectetur ullamco duis enim. Duis ut sunt enim eiusmod et enim cupidatat culpa.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 6, 10, 'Ipsum in', 'Eu quis dolor sunt sit amet exercitation. Enim aliquip ex mollit ad amet consectetur exercitation fugiat commodo elit esse tempor qui occaecat occaecat. Laborum ipsum commodo nostrud ex enim velit deserunt laborum deserunt veniam aliqua nisi enim aliqua.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 6, 11, 'Commodo', 'Veniam nostrud est anim incididunt aute est. Ullamco ut qui ut quis ad nostrud id reprehenderit nostrud esse ea. Sint anim ut magna laboris ex ipsum laborum deserunt velit ex pariatur ut. Commodo et ullamco reprehenderit do. In minim officia qui cillum dolore duis sint dolor ex est.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 6, 12, 'Magna esse', 'Adipisicing et est in magna eiusmod ipsum dolor dolor irure velit fugiat cupidatat. Labore elit amet enim excepteur occaecat ullamco velit nulla cupidatat do in nisi tempor. Ut esse consectetur sunt Lorem consequat consectetur duis eu veniam sunt dolore incididunt ad.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 6, 13, 'Veniam minim sit', 'Nisi mollit fugiat amet consectetur fugiat labore nostrud voluptate quis enim commodo ad ut occaecat. Proident amet qui incididunt ullamco amet pariatur cillum consectetur consectetur voluptate eiusmod proident. Excepteur quis esse amet aliquip laborum culpa officia ipsum. Sunt fugiat ut aute nostrud. Fugiat nulla commodo aliquip mollit voluptate ex ad enim eu mollit est.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 6, 14, 'Velit sit cillum', 'Non id ad eu fugiat ullamco sunt incididunt dolor deserunt Lorem. Excepteur occaecat voluptate deserunt consequat cillum officia sit magna proident occaecat exercitation ad Lorem aute do. Irure laborum ex dolore nulla nisi aliqua consequat aute.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 6, 16, 'Eiusmod', 'Voluptate commodo deserunt dolore irure ipsum occaecat amet nostrud ex mollit pariatur est adipisicing duis. Non adipisicing exercitation incididunt tempor magna cillum officia nostrud sunt reprehenderit magna quis ea eu pariatur. Amet incididunt nostrud est quis. Pariatur laboris eu anim occaecat officia adipisicing reprehenderit labore ex ad est aute.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 6, 17, 'Minim lorem', 'Cillum sit ipsum laboris nulla nisi ipsum fugiat. Est dolor do quis sunt ea adipisicing laborum cillum deserunt cupidatat. Amet tempor id pariatur anim ea commodo eu. Consequat deserunt consequat ea veniam.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 6, 20, 'Amet sint sint', 'Tempor ut irure nostrud id aute ullamco mollit. Occaecat aute irure irure. Ex proident in consectetur cillum. Reprehenderit laboris ad quis Lorem deserunt pariatur.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 6, 21, 'Excepteur ex', 'Culpa culpa quis non. Occaecat sint mollit fugiat labore in aliquip cupidatat do est enim duis. Velit reprehenderit qui qui exercitation esse minim aliqua eu. Mollit ut amet officia aute nisi mollit reprehenderit eiusmod ex excepteur commodo. Aliquip ipsum elit proident ullamco nulla aliquip nisi veniam eu et sunt consequat eu adipisicing et.'); - -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 7, 1, 'Sint enim', 'Mollit amet eiusmod pariatur dolor et id consectetur amet non anim veniam sunt incididunt nulla. Dolor enim officia ea anim consequat consectetur. Do ad id ipsum dolore elit pariatur nulla consequat deserunt ut ipsum mollit elit qui Lorem.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 7, 2, 'Ullamco sunt', 'Occaecat do ipsum nostrud duis culpa consectetur eiusmod fugiat mollit quis ad. Sint sunt esse dolore dolor duis do occaecat eiusmod labore laborum enim qui proident anim. Fugiat adipisicing irure eiusmod labore do enim aliquip excepteur anim laborum culpa minim. Velit minim quis cupidatat duis nisi amet.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 7, 3, 'Laborum', 'Ipsum aliquip ea deserunt occaecat enim aliqua non. In laboris velit deserunt amet velit elit aliqua nisi id adipisicing consequat ad tempor non. Ex pariatur cillum consequat cillum excepteur consequat pariatur occaecat ut exercitation sint sit enim et ex.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 7, 4, 'Velit excepteur', 'Deserunt commodo sint occaecat fugiat fugiat et dolore. Commodo dolore magna quis in. Id labore irure sunt fugiat ipsum nostrud nisi Lorem irure culpa laborum consectetur ea. Aute id laborum ea labore incididunt eiusmod non consectetur velit nisi voluptate aliqua.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 7, 5, 'Enim', 'Ut anim veniam cillum incididunt fugiat cupidatat quis non consequat enim. Non commodo consectetur proident ea deserunt nisi exercitation excepteur et velit ut. Dolor proident do anim proident ad. Pariatur qui ea anim Lorem ex excepteur deserunt qui non nostrud proident tempor incididunt. Cupidatat cillum veniam et consectetur proident.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 7, 7, 'Duis ex', 'Aliquip aute est eu in eu consectetur Lorem magna. Aliqua aliqua irure ex amet fugiat in in nostrud reprehenderit aliquip ullamco id. Proident ex quis eu consectetur ex elit eu est enim fugiat consectetur veniam ut voluptate aute.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 7, 8, 'Et labore non', 'Ex eiusmod voluptate consequat eu velit elit sit magna est quis pariatur exercitation anim aliquip. Duis occaecat eiusmod et fugiat magna nulla pariatur ea culpa excepteur incididunt. Ullamco veniam ipsum pariatur ex mollit officia nisi occaecat ullamco. Incididunt tempor qui est tempor consequat magna adipisicing fugiat enim voluptate laboris veniam. Eu duis officia qui culpa nostrud labore commodo proident cupidatat in est do nulla.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 7, 9, 'Qui cupidatat', 'Id elit in et labore voluptate. Sunt dolor et dolore sunt enim aliqua irure cupidatat est mollit consectetur. Laboris laboris irure irure laborum proident ex labore ad veniam.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 7, 10, 'Adipisicing', 'Quis et dolore laborum nostrud labore culpa nulla non laboris in minim. Et dolore magna voluptate magna do excepteur culpa tempor officia. Esse magna eu Lorem minim nisi. Laboris ad pariatur aute esse cillum dolor id. Cupidatat minim cillum amet ad enim consectetur sit aliquip ipsum minim.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 7, 11, 'In', 'Do fugiat anim consectetur deserunt amet. Anim dolor eiusmod incididunt nulla qui dolor aliquip mollit quis sit. Do culpa reprehenderit laboris. Do irure est tempor velit amet do ea Lorem. Pariatur incididunt do ad laboris pariatur sunt ad aliquip fugiat laboris sunt do dolore.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 7, 12, 'Dolore labore enim', 'Aute proident mollit reprehenderit occaecat. Irure minim nisi cupidatat consequat. Occaecat laboris amet laboris ut do dolore anim esse fugiat aliquip. Officia adipisicing adipisicing irure ea voluptate culpa consequat consequat enim mollit adipisicing ex consectetur elit.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 7, 13, 'Laborum dolore', 'Qui labore sit amet. Excepteur quis mollit deserunt velit. Qui fugiat pariatur quis non velit ad. Aute velit incididunt est quis laboris cillum eiusmod cillum proident duis voluptate magna. Consectetur amet sit officia sint irure esse cillum laboris dolor cupidatat ipsum.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 7, 14, 'Deserunt irure lorem', 'Exercitation minim dolore nulla amet enim reprehenderit do enim. Est magna est deserunt enim nisi do magna est nulla culpa nostrud incididunt ut irure nulla. Sunt do sunt cillum mollit ea velit proident adipisicing enim velit. Sint consequat tempor qui enim pariatur sunt minim do est. Enim id veniam velit reprehenderit culpa adipisicing deserunt quis labore qui excepteur Lorem aute minim.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 7, 16, 'Proident', 'Reprehenderit duis minim ut et. Anim anim eu officia adipisicing. Dolor tempor veniam consectetur anim dolore et. Ullamco ea consequat nulla consequat adipisicing aute incididunt ex sunt magna in anim laborum ipsum.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 7, 17, 'Sint ipsum eiusmod', 'Velit est veniam consequat dolore dolor sint incididunt laborum elit sit. Qui occaecat consequat adipisicing. Duis ad commodo nostrud sit quis aliqua est tempor aliquip in ullamco excepteur. Minim ad sunt in et enim proident minim occaecat id tempor tempor eiusmod est cupidatat eiusmod. Adipisicing id tempor laboris enim nisi quis cillum excepteur anim.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 7, 20, 'Occaecat', 'Adipisicing fugiat dolore minim culpa ea laborum ea non cillum et. Duis elit esse sunt. Ipsum magna culpa quis consequat proident qui veniam nostrud magna non adipisicing. Tempor aute nostrud ea ipsum et tempor non ea do enim ut commodo. Ipsum commodo esse in adipisicing in commodo id do quis Lorem aliquip.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 7, 21, 'Commodo aliquip ex', 'Excepteur sint excepteur esse id sint id. Ullamco dolor dolor exercitation commodo commodo in. Quis ut mollit consectetur velit consequat labore voluptate Lorem veniam eiusmod laboris magna. Eiusmod elit ut amet duis ea anim culpa aute sit. Est reprehenderit aute qui aute est velit ipsum do ad pariatur non consectetur Lorem nostrud aliquip.'); - -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 8, 1, 'Culpa sit', 'Enim aliqua consequat duis elit irure aute minim laborum id nostrud qui officia. Exercitation amet aliqua culpa labore pariatur do. Irure proident qui irure velit. Sit anim nostrud nulla amet ullamco officia ut incididunt exercitation quis Lorem aliqua duis.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 8, 2, 'Occaecat', 'Elit aute sunt sint do irure nulla fugiat laborum aute fugiat nulla laborum amet et qui. Nulla sint id aute amet proident ipsum veniam cupidatat minim. Sint excepteur minim velit cillum velit do sint sint laboris sunt aliquip officia ex veniam.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 8, 3, 'Laborum culpa exercitation', 'Non et sunt amet fugiat pariatur cillum nisi cupidatat non qui. Cupidatat pariatur ex sunt deserunt officia. Cupidatat in cillum nulla nisi aliquip minim amet fugiat adipisicing do non velit id.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 8, 4, 'Nulla enim esse', 'Sint nisi dolore Lorem. Culpa eu duis mollit esse fugiat ipsum id non non. Adipisicing nostrud consequat sit officia aliquip aute laborum irure ullamco aliqua elit fugiat sunt nulla nulla. Deserunt esse sint Lorem minim enim.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 8, 5, 'Eiusmod', 'Deserunt tempor do deserunt ut dolore est minim. Irure veniam minim eu cillum. Commodo veniam est reprehenderit. Eu cupidatat labore commodo laborum occaecat do aliquip reprehenderit officia labore quis ad commodo mollit.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 8, 7, 'Velit', 'Exercitation consequat laborum cupidatat ipsum commodo sit mollit in cupidatat Lorem voluptate in in quis. Consectetur velit laborum nisi nisi officia ipsum occaecat eiusmod ut laboris velit cillum incididunt anim minim. Quis ipsum ad incididunt sit nulla.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 8, 8, 'Laborum', 'Id consequat magna sunt tempor minim excepteur adipisicing. Pariatur officia laborum excepteur nostrud commodo magna Lorem do velit minim ipsum consectetur sint. Occaecat reprehenderit est adipisicing id aute amet sunt.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 8, 9, 'Eiusmod', 'Voluptate dolor proident ex velit magna do voluptate enim sunt eu culpa ea eu. Eu ex nulla qui velit. Veniam reprehenderit enim tempor sit Lorem veniam est consequat sint anim eiusmod excepteur aliquip excepteur. Deserunt non minim veniam non labore sit.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 8, 10, 'Quis incididunt id', 'Anim nisi in non cupidatat pariatur sunt sit pariatur laboris ut in ipsum est anim labore. Cillum quis commodo eiusmod. Irure deserunt ut aliquip non culpa duis tempor magna ad culpa cillum id. Mollit qui adipisicing minim labore.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 8, 11, 'Ex', 'Qui sit incididunt quis commodo. Magna sint irure non velit commodo sit eiusmod elit irure velit. Ipsum nostrud sint ut dolor. Reprehenderit amet irure proident cupidatat amet ullamco occaecat reprehenderit non est incididunt non est tempor esse.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 8, 12, 'Ad minim anim', 'Commodo do mollit consectetur laboris eu. Nostrud culpa ut veniam excepteur non incididunt aliquip ex velit do ad do non elit. Nostrud in aute aute ad tempor consequat duis sint nostrud occaecat ut est eu. Occaecat ut cillum elit in eiusmod commodo occaecat tempor deserunt est deserunt est. Id eiusmod tempor elit.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 8, 13, 'Dolore reprehenderit', 'Laboris sint fugiat mollit aliqua cupidatat sint ullamco incididunt. Sint quis ad sint mollit. Irure id excepteur officia eiusmod exercitation et commodo culpa nulla anim mollit do ullamco labore.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 8, 14, 'Tempor fugiat sint', 'Lorem adipisicing occaecat ut adipisicing. Id veniam sint velit elit. Consectetur velit cupidatat est magna sint nulla quis Lorem nisi eu esse esse fugiat non.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 8, 16, 'Deserunt sit aliqua', 'Et pariatur esse reprehenderit sunt. Dolore nostrud deserunt voluptate dolor proident dolor Lorem. Eu amet deserunt anim enim reprehenderit. Culpa in ea aliqua voluptate non sunt mollit elit aliqua irure.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 8, 17, 'Consectetur', 'Magna est exercitation irure velit id sunt in dolor ea labore eu nisi Lorem. Veniam laboris Lorem laboris ullamco consequat tempor commodo ea. Velit aliquip dolore non excepteur aute mollit culpa in voluptate est ut. Esse aliquip proident incididunt ex enim duis culpa quis incididunt eu ex cupidatat dolor esse. Duis anim nostrud esse veniam id officia do.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 8, 20, 'Officia', 'Id ut Lorem aute anim occaecat sit. Ex minim ex labore tempor eu eu minim amet eiusmod anim culpa tempor. Do aliquip dolor irure est sunt dolor consequat mollit officia elit qui et eu. Voluptate do qui mollit magna ad veniam ex adipisicing velit.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 8, 21, 'Enim non adipisicing', 'Quis non laboris nostrud exercitation dolore nostrud aliqua cillum duis sit. Laboris Lorem occaecat mollit eu occaecat ullamco eu dolore elit. Adipisicing est tempor eiusmod ipsum nulla mollit labore pariatur veniam eiusmod dolor laborum voluptate laboris aute. Enim voluptate aliquip anim enim officia aliquip qui occaecat ipsum Lorem qui esse.'); - -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 9, 1, 'Ut non', 'Tempor irure labore dolor adipisicing sint sint commodo. Tempor dolore consectetur magna. In aliquip non proident officia eiusmod adipisicing et minim anim nostrud.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 9, 2, 'Laboris', 'Aliqua occaecat proident id ad esse enim consequat do consectetur. Ad commodo ipsum mollit magna sint non nulla esse adipisicing tempor elit exercitation ipsum elit. Ad qui dolore in adipisicing reprehenderit qui minim. Amet aliquip veniam amet commodo sit. Duis fugiat Lorem ullamco.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 9, 3, 'Aute', 'Proident excepteur laborum aute ad id est Lorem occaecat enim fugiat. Fugiat labore eu qui officia non eu tempor ullamco incididunt do sint voluptate cupidatat. In ipsum ipsum nulla ex aute incididunt qui ipsum tempor et. Proident eu eiusmod est commodo veniam reprehenderit Lorem tempor nostrud adipisicing consectetur veniam anim excepteur.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 9, 4, 'Culpa deserunt', 'Quis Lorem duis pariatur non nisi culpa nisi do qui fugiat amet ut cillum esse amet. Ipsum et excepteur incididunt velit culpa do consequat sint sint aliquip nulla. Deserunt cupidatat in veniam ut aute commodo irure.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 9, 5, 'Occaecat tempor aliquip', 'Minim qui esse laboris. Adipisicing nulla anim anim est eiusmod proident ea culpa do. Consequat cillum quis occaecat eu laboris officia esse ipsum veniam excepteur quis aliqua. Magna do tempor officia proident excepteur consequat qui.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 9, 7, 'Ad magna quis', 'Aliquip exercitation et nisi ut eiusmod aute ad dolor ut. Cupidatat dolore dolor reprehenderit amet voluptate occaecat fugiat commodo laboris enim. Duis eu aliquip aliquip incididunt proident. Sint irure cupidatat nulla occaecat velit voluptate veniam veniam duis aliquip adipisicing quis ullamco laboris. Magna ea ex reprehenderit est pariatur nisi amet enim velit.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 9, 8, 'Id sit', 'Culpa irure occaecat cillum consectetur enim magna do cillum laboris deserunt proident dolor aute. Minim officia proident ea reprehenderit Lorem sint pariatur nostrud commodo. Do est irure duis Lorem duis.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 9, 9, 'Officia nisi irure', 'Dolor consequat nostrud minim eu consectetur elit magna qui officia ut labore do nulla. Commodo eu fugiat in deserunt veniam ad mollit ullamco minim deserunt non. Incididunt nisi exercitation culpa reprehenderit magna culpa officia veniam veniam cupidatat cillum deserunt eiusmod labore sint.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 9, 10, 'Eiusmod incididunt eu', 'Esse non elit culpa aliquip magna duis ullamco deserunt sit. Aute do sint occaecat commodo aute occaecat dolore sit aliqua eu laborum sit tempor. Ex sunt do sit nostrud do minim non excepteur irure do sit aliqua dolor ad. Laborum dolor Lorem sit Lorem sunt eu ex in tempor quis exercitation qui nostrud.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 9, 11, 'In mollit', 'Adipisicing excepteur quis incididunt labore. Exercitation proident voluptate nisi deserunt adipisicing reprehenderit aute Lorem duis elit voluptate. Nisi in incididunt ipsum eiusmod Lorem commodo aliqua ullamco officia nostrud est voluptate.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 9, 12, 'Duis', 'Ea proident reprehenderit ipsum. Occaecat est voluptate nulla laborum. Tempor aute labore esse irure commodo. Deserunt ipsum esse cupidatat incididunt ea laboris nisi excepteur excepteur.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 9, 13, 'Sit', 'Voluptate ex id veniam in proident anim magna non proident excepteur nostrud ullamco Lorem nisi. Amet minim anim do eiusmod dolor sunt dolor id ut commodo dolor adipisicing deserunt. Eiusmod voluptate laboris ex enim eu.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 9, 14, 'Ex veniam', 'Qui tempor laborum laborum culpa ullamco culpa deserunt laboris duis aliqua elit. Ullamco dolor pariatur nisi nisi commodo excepteur amet quis aute exercitation aliquip quis fugiat. Aliqua commodo ad quis pariatur occaecat est sit incididunt. Aliqua enim dolor occaecat cillum proident exercitation nostrud eu dolor ipsum tempor ad minim mollit in.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 9, 16, 'Minim', 'Est commodo velit pariatur enim tempor. Nostrud officia cupidatat sint fugiat aliquip ullamco in laboris quis officia laborum. Elit do mollit mollit dolore labore mollit. Reprehenderit cupidatat culpa irure. Consequat pariatur amet aliqua do eiusmod excepteur in pariatur duis pariatur magna.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 9, 17, 'Labore', 'Id proident duis aute proident consequat magna minim officia quis adipisicing do amet amet pariatur exercitation. Ad tempor quis laborum esse consectetur. Exercitation elit velit magna ea enim tempor elit aliqua enim Lorem consectetur in exercitation elit laboris. Eiusmod incididunt nisi ad.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 9, 20, 'Veniam adipisicing', 'Magna sit irure officia do commodo sit in sint exercitation pariatur magna consectetur. Adipisicing voluptate laboris tempor aute esse nulla magna anim est ex aliquip. Veniam pariatur aliqua nulla esse adipisicing eu quis qui exercitation non duis ipsum eiusmod.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 9, 21, 'Duis in anim', 'Nostrud deserunt ea pariatur pariatur aute voluptate reprehenderit est in aute veniam consectetur do velit eiusmod. Aute anim veniam minim amet culpa deserunt nisi dolore aute quis. Nulla qui commodo consectetur sint deserunt cillum pariatur irure dolor mollit commodo officia ea qui qui. Ipsum sint sunt deserunt tempor pariatur consequat non enim consequat est nisi ipsum excepteur velit tempor.'); - -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 10, 1, 'Nisi eu', 'In ullamco ea non consectetur cupidatat dolore qui nulla laborum sit ipsum. Culpa duis sit eu dolore eiusmod reprehenderit duis mollit veniam nostrud. Anim dolor ex esse do.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 10, 2, 'Exercitation minim', 'Adipisicing esse eiusmod qui officia fugiat Lorem in ut. Proident ad cupidatat ea voluptate amet sint et. Velit ex ipsum aliqua ut sint ipsum. Aliqua do anim anim aliqua adipisicing amet enim velit in.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 10, 3, 'Qui', 'Fugiat commodo excepteur aute officia quis cupidatat reprehenderit. Ea amet in veniam in consequat consectetur. Magna tempor excepteur reprehenderit. Est magna labore et in mollit dolor id eiusmod.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 10, 4, 'Commodo', 'Lorem qui aliqua pariatur consequat qui ea pariatur ullamco. Nulla est in labore sint. Est cillum nostrud ullamco deserunt et. Id minim duis commodo aliquip aliqua elit irure occaecat in cillum esse et consectetur mollit dolor.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 10, 5, 'Sint', 'Consequat nulla qui nostrud id esse minim elit ea aliquip anim. Amet consequat ullamco qui dolore eiusmod aute. Cillum est voluptate Lorem eiusmod enim laborum proident. Fugiat sit sunt ut dolor eiusmod est. Eu nisi ex proident labore enim dolor aute elit.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 10, 7, 'Dolore officia minim', 'Qui reprehenderit in amet sit ullamco ex elit nulla duis. Veniam fugiat laborum elit aute ea irure labore aliqua veniam. Duis excepteur esse nulla deserunt amet labore id sit commodo.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 10, 8, 'Ad tempor', 'Laboris anim nostrud culpa ullamco proident ad aute cillum excepteur elit fugiat in mollit consectetur. Consectetur mollit non enim consectetur dolore culpa minim exercitation dolore sit ex est irure do tempor. Nostrud cupidatat deserunt sint non dolore proident cillum ea mollit dolor qui. Amet laboris irure officia veniam commodo laborum ea ex ea fugiat. Et reprehenderit mollit eu nisi do cillum.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 10, 9, 'Veniam eu', 'Est magna ut commodo. Ad ad ea adipisicing ullamco dolor anim Lorem aute reprehenderit dolore mollit non occaecat. Reprehenderit veniam nisi cillum in nostrud elit amet reprehenderit dolor pariatur culpa fugiat incididunt proident officia. Irure reprehenderit tempor in sunt. Aute laborum eu nostrud amet.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 10, 10, 'Consequat enim deserunt', 'Elit reprehenderit irure et nisi esse pariatur id ea. Ea aute aliquip adipisicing ut proident adipisicing non sit eiusmod aliqua duis sint laborum. Voluptate aute nisi tempor voluptate magna ea Lorem in exercitation excepteur aliquip labore commodo exercitation aliqua. Anim sunt reprehenderit officia pariatur fugiat amet ex et mollit quis fugiat dolor labore. Aliqua minim commodo magna labore officia enim sit commodo nostrud ipsum incididunt.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 10, 11, 'Consequat', 'Incididunt labore voluptate dolor ex magna labore deserunt nostrud laboris reprehenderit nulla qui ipsum officia elit. Aliquip ipsum cillum quis in officia cupidatat eu qui. Ex excepteur officia velit non ad officia eu ex eiusmod aute irure anim aliqua cillum ea. Nulla reprehenderit nostrud commodo voluptate incididunt duis tempor. Cupidatat ea ipsum ea culpa ipsum.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 10, 12, 'Dolor', 'Amet ullamco consectetur non duis pariatur eiusmod dolore. Aliquip minim non mollit nulla magna. Eiusmod laboris mollit labore adipisicing deserunt ut.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 10, 13, 'Adipisicing ea', 'Ullamco nisi magna amet officia ut officia ea sit labore. Duis cillum ad sit esse fugiat anim id adipisicing dolore pariatur sint. Ut voluptate veniam pariatur proident dolor occaecat in sint consectetur magna in aute consectetur. Elit fugiat laboris cupidatat.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 10, 14, 'Quis', 'Enim veniam enim excepteur commodo irure voluptate veniam amet nisi aliquip eiusmod minim magna. Sint deserunt aliquip nulla nulla quis culpa consequat excepteur sint fugiat. Est voluptate ea deserunt. Incididunt cillum velit adipisicing deserunt aliquip.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 10, 16, 'Veniam', 'Cillum dolor quis irure officia et non id fugiat qui. Exercitation voluptate occaecat aute duis sint mollit amet elit ullamco adipisicing adipisicing nisi ea aliquip. Labore id ullamco dolor cillum elit deserunt pariatur nisi. Commodo sunt ipsum reprehenderit ea tempor laborum qui dolore ut.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 10, 17, 'Nostrud labore consectetur', 'Ad non consequat aliqua exercitation aliqua. Voluptate velit enim velit aliqua. Fugiat est veniam occaecat nostrud ea.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 10, 20, 'Aliqua irure', 'Velit aliquip eu voluptate ullamco irure nulla. Commodo consectetur pariatur do ipsum duis voluptate non do reprehenderit ut. Ad eiusmod magna cillum consectetur ad exercitation fugiat. Incididunt ad labore eiusmod.'); -INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (DEFAULT, 10, 21, 'Proident sunt', 'Ad laboris eu aliqua pariatur. Nisi do cupidatat commodo eu ipsum ullamco minim magna nisi exercitation velit est anim ipsum Lorem. Dolore laborum culpa proident eiusmod dolore cupidatat consectetur excepteur ipsum elit aute. Elit exercitation mollit commodo est. Enim qui eu excepteur exercitation eiusmod cillum.'); - - - --- --- PostgreSQL database dump complete --- - diff --git a/src/__test__/db/data/designers-blocked.sql b/src/__test__/db/data/designers-blocked.sql deleted file mode 100644 index b440911..0000000 --- a/src/__test__/db/data/designers-blocked.sql +++ /dev/null @@ -1,32 +0,0 @@ --- --- PostgreSQL database dump --- - --- Dumped from database version 10.14 --- Dumped by pg_dump version 10.14 - -SET statement_timeout = 0; -SET lock_timeout = 0; -SET idle_in_transaction_session_timeout = 0; -SET client_encoding = 'UTF8'; -SET standard_conforming_strings = on; -SELECT pg_catalog.set_config('search_path', '', false); -SET check_function_bodies = false; -SET xmloption = content; -SET client_min_messages = warning; -SET row_security = off; - --- --- Data for Name: designers-blocked; Type: TABLE DATA; Schema: public; Owner: postgres --- - -INSERT INTO public."designers-blocked" (designerid, domain) VALUES (1, 'www.photowall.fi'); -INSERT INTO public."designers-blocked" (designerid, domain) VALUES (2, 'www.photowall.fi'); -INSERT INTO public."designers-blocked" (designerid, domain) VALUES (3, 'www.photowall.eu'); -INSERT INTO public."designers-blocked" (designerid, domain) VALUES (4, 'www.photowall.de'); -INSERT INTO public."designers-blocked" (designerid, domain) VALUES (5, 'www.photowall.fi'); - --- --- PostgreSQL database dump complete --- - diff --git a/src/__test__/db/data/designers.sql b/src/__test__/db/data/designers.sql deleted file mode 100644 index 634a137..0000000 --- a/src/__test__/db/data/designers.sql +++ /dev/null @@ -1,37 +0,0 @@ --- --- PostgreSQL database dump --- - --- Dumped from database version 10.14 --- Dumped by pg_dump version 10.14 - -SET statement_timeout = 0; -SET lock_timeout = 0; -SET idle_in_transaction_session_timeout = 0; -SET client_encoding = 'UTF8'; -SET standard_conforming_strings = on; -SELECT pg_catalog.set_config('search_path', '', false); -SET check_function_bodies = false; -SET xmloption = content; -SET client_min_messages = warning; -SET row_security = off; - --- --- Data for Name: designers; Type: TABLE DATA; Schema: public; Owner: postgres --- - -INSERT INTO public.designers (designerid, name, path, username, password, co, street, zipcode, city, territory, phone, email, orgnr, currency, commission, commission_resale, balance, description, comments, status, inserted, updated, license_image, type, segmentation, visible_search, visible_list, visible_productpage, visible_designerpage, sort_desc, no_follow, logotype, automatic_payout, pricepremium_wallpaper, pricepremium_canvas, pricepremium_poster, pricepremium_framed_print, wallpaper_image_id, canvas_image_id, poster_image_id, framed_print_image_id) VALUES (DEFAULT, 'Candida Bins', 'candida-bins', 'candida-bins', NULL, 'Schultz and Sons adipisicing', 'Roberto Spurs', '32285-4324', 'Port Alexander', 'BE', '050-349-6944', 'Jackson_Mraz@gmail.com', '123456-4321', 'USD', 18, 18, 0, NULL, '', 1, DEFAULT, '2020-03-16T16:06:09.705Z', NULL, NULL, 1, 1, 1, 1, 1, false, 0, 'designers/1.jpg', 0, 18, 18, 18, 18, NULL, NULL, NULL, NULL); -INSERT INTO public.designers (designerid, name, path, username, password, co, street, zipcode, city, territory, phone, email, orgnr, currency, commission, commission_resale, balance, description, comments, status, inserted, updated, license_image, type, segmentation, visible_search, visible_list, visible_productpage, visible_designerpage, sort_desc, no_follow, logotype, automatic_payout, pricepremium_wallpaper, pricepremium_canvas, pricepremium_poster, pricepremium_framed_print, wallpaper_image_id, canvas_image_id, poster_image_id, framed_print_image_id) VALUES (DEFAULT, 'a', 'jailyn-borer', 'jailyn-borer', NULL, 'DAmore - Cartwright aliquip', 'Waelchi Camp', '10273', 'Starktown', 'PL', '339-098-0167', 'Rusty_Hermann@hotmail.com', '123456-4321', 'DKK', 18, 18, 0, NULL, '', 1, DEFAULT, '2020-03-23T21:04:42.282Z', NULL, NULL, 1, 1, 1, 1, 1, false, 0, 'designers/2.jpg', 0, 18, 18, 18, 18, NULL, NULL, NULL, NULL); -INSERT INTO public.designers (designerid, name, path, username, password, co, street, zipcode, city, territory, phone, email, orgnr, currency, commission, commission_resale, balance, description, comments, status, inserted, updated, license_image, type, segmentation, visible_search, visible_list, visible_productpage, visible_designerpage, sort_desc, no_follow, logotype, automatic_payout, pricepremium_wallpaper, pricepremium_canvas, pricepremium_poster, pricepremium_framed_print, wallpaper_image_id, canvas_image_id, poster_image_id, framed_print_image_id) VALUES (DEFAULT, 'April Terry', 'april-terry', 'april-terry', NULL, 'Windler, White and Cremin proident', 'Kunde Ports', '85493', 'East Jodyville', 'GB', '(853) 198-0457 x54038', 'Stephany29@hotmail.com', '123456-4321', 'DKK', 18, 18, 0, NULL, '', 1, DEFAULT, '2020-03-13T09:50:32.239Z', NULL, NULL, 1, 1, 1, 1, 1, false, 0, 'designers/3.jpg', 0, 18, 18, 18, 18, NULL, NULL, NULL, NULL); -INSERT INTO public.designers (designerid, name, path, username, password, co, street, zipcode, city, territory, phone, email, orgnr, currency, commission, commission_resale, balance, description, comments, status, inserted, updated, license_image, type, segmentation, visible_search, visible_list, visible_productpage, visible_designerpage, sort_desc, no_follow, logotype, automatic_payout, pricepremium_wallpaper, pricepremium_canvas, pricepremium_poster, pricepremium_framed_print, wallpaper_image_id, canvas_image_id, poster_image_id, framed_print_image_id) VALUES (DEFAULT, 'Elizabeth Pouros', 'elizabeth-pouros', 'elizabeth-pouros', NULL, 'Terry, OKon and Aufderhar sint', 'Moore Union', '68329', 'Port Ellahaven', 'NO', '(059) 091-5588 x545', 'Khalil_Prosacco30@gmail.com', '123456-4321', 'USD', 18, 18, 0, NULL, '', 1, DEFAULT, '2020-02-19T13:26:23.531Z', NULL, NULL, 1, 1, 1, 1, 1, false, 0, 'designers/4.jpg', 0, 18, 18, 18, 18, NULL, NULL, NULL, NULL); -INSERT INTO public.designers (designerid, name, path, username, password, co, street, zipcode, city, territory, phone, email, orgnr, currency, commission, commission_resale, balance, description, comments, status, inserted, updated, license_image, type, segmentation, visible_search, visible_list, visible_productpage, visible_designerpage, sort_desc, no_follow, logotype, automatic_payout, pricepremium_wallpaper, pricepremium_canvas, pricepremium_poster, pricepremium_framed_print, wallpaper_image_id, canvas_image_id, poster_image_id, framed_print_image_id) VALUES (DEFAULT, 'Stella Hudson', 'stella-hudson', 'stella-hudson', NULL, 'Kohler, Schneider and Littel Lorem', 'Duane Brooks', '75292', 'South Sammie', 'NO', '(124) 852-7198', 'Cassandra.Koss@hotmail.com', '123456-4321', 'SEK', 18, 18, 0, NULL, '', 1, DEFAULT, '2020-02-16T09:47:50.474Z', NULL, NULL, 1, 1, 1, 1, 1, false, 0, 'designers/5.jpg', 0, 18, 18, 18, 18, NULL, NULL, NULL, NULL); -INSERT INTO public.designers (designerid, name, path, username, password, co, street, zipcode, city, territory, phone, email, orgnr, currency, commission, commission_resale, balance, description, comments, status, inserted, updated, license_image, type, segmentation, visible_search, visible_list, visible_productpage, visible_designerpage, sort_desc, no_follow, logotype, automatic_payout, pricepremium_wallpaper, pricepremium_canvas, pricepremium_poster, pricepremium_framed_print, wallpaper_image_id, canvas_image_id, poster_image_id, framed_print_image_id) VALUES (DEFAULT, 'Melvin Marquardt', 'melvin-marquardt', 'melvin-marquardt', NULL, 'Rice - Stracke magna', 'Kemmer Summit', '78911-5242', 'South Bernadinemouth', 'BE', '982.542.2900 x7962', 'Howell.Koch@yahoo.com', '123456-4321', 'GBP', 18, 18, 0, NULL, '', 1, DEFAULT, '2020-02-21T04:40:17.462Z', NULL, NULL, 1, 1, 1, 1, 1, false, 0, 'designers/6.jpg', 0, 18, 18, 18, 18, NULL, NULL, NULL, NULL); -INSERT INTO public.designers (designerid, name, path, username, password, co, street, zipcode, city, territory, phone, email, orgnr, currency, commission, commission_resale, balance, description, comments, status, inserted, updated, license_image, type, segmentation, visible_search, visible_list, visible_productpage, visible_designerpage, sort_desc, no_follow, logotype, automatic_payout, pricepremium_wallpaper, pricepremium_canvas, pricepremium_poster, pricepremium_framed_print, wallpaper_image_id, canvas_image_id, poster_image_id, framed_print_image_id) VALUES (DEFAULT, 'Stefanie Will', 'stefanie-will', 'stefanie-will', NULL, 'Batz and Sons sit', 'Kayley Mountains', '25524', 'Lydamouth', 'BE', '540-432-5631 x85518', 'Abby.Rodriguez@hotmail.com', '123456-4321', 'SEK', 18, 18, 0, NULL, '', 1, DEFAULT, '2020-03-28T22:55:42.859Z', NULL, NULL, 1, 1, 1, 1, 1, false, 0, 'designers/7.jpg', 0, 18, 18, 18, 18, NULL, NULL, NULL, NULL); -INSERT INTO public.designers (designerid, name, path, username, password, co, street, zipcode, city, territory, phone, email, orgnr, currency, commission, commission_resale, balance, description, comments, status, inserted, updated, license_image, type, segmentation, visible_search, visible_list, visible_productpage, visible_designerpage, sort_desc, no_follow, logotype, automatic_payout, pricepremium_wallpaper, pricepremium_canvas, pricepremium_poster, pricepremium_framed_print, wallpaper_image_id, canvas_image_id, poster_image_id, framed_print_image_id) VALUES (DEFAULT, 'Giles Rodriguez', 'giles-rodriguez', 'giles-rodriguez', NULL, 'Jacobi - Greenholt sunt', 'Deckow Street', '95411', 'North Angelo', 'FR', '1-946-352-6639 x343', 'Leonor_Shanahan5@yahoo.com', '123456-4321', 'RUB', 18, 18, 0, NULL, '', 1, DEFAULT, '2020-03-13T04:20:45.314Z', NULL, NULL, 1, 1, 1, 1, 1, false, 0, 'designers/8.jpg', 0, 18, 18, 18, 18, NULL, NULL, NULL, NULL); -INSERT INTO public.designers (designerid, name, path, username, password, co, street, zipcode, city, territory, phone, email, orgnr, currency, commission, commission_resale, balance, description, comments, status, inserted, updated, license_image, type, segmentation, visible_search, visible_list, visible_productpage, visible_designerpage, sort_desc, no_follow, logotype, automatic_payout, pricepremium_wallpaper, pricepremium_canvas, pricepremium_poster, pricepremium_framed_print, wallpaper_image_id, canvas_image_id, poster_image_id, framed_print_image_id) VALUES (DEFAULT, 'Gardner Hammes', 'gardner-hammes', 'gardner-hammes', NULL, 'Kerluke Group mollit', 'Mitchell Hills', '86114', 'OKonland', 'SE', '920.087.1448 x876', 'Kristina4@hotmail.com', '123456-4321', 'GBP', 18, 18, 0, NULL, '', 1, DEFAULT, '2020-02-02T01:48:32.116Z', NULL, NULL, 1, 1, 1, 1, 1, false, 0, 'designers/9.jpg', 0, 18, 18, 18, 18, NULL, NULL, NULL, NULL); -INSERT INTO public.designers (designerid, name, path, username, password, co, street, zipcode, city, territory, phone, email, orgnr, currency, commission, commission_resale, balance, description, comments, status, inserted, updated, license_image, type, segmentation, visible_search, visible_list, visible_productpage, visible_designerpage, sort_desc, no_follow, logotype, automatic_payout, pricepremium_wallpaper, pricepremium_canvas, pricepremium_poster, pricepremium_framed_print, wallpaper_image_id, canvas_image_id, poster_image_id, framed_print_image_id) VALUES (DEFAULT, 'Kathryn Schowalter', 'kathryn-schowalter', 'kathryn-schowalter', NULL, 'Prohaska and Sons aliqua', 'Kuhic Fork', '71641', 'East Dewayne', 'CA', '569.723.8669', 'Regan42@hotmail.com', '123456-4321', 'EUR', 18, 18, 0, NULL, '', 1, DEFAULT, '2020-02-17T04:01:27.380Z', NULL, NULL, 1, 1, 1, 1, 1, false, 0, 'designers/10.jpg', 0, 18, 18, 18, 18, NULL, NULL, NULL, NULL); - --- --- PostgreSQL database dump complete --- - diff --git a/src/__test__/db/data/invoices.sql b/src/__test__/db/data/invoices.sql deleted file mode 100644 index 03ea1c4..0000000 --- a/src/__test__/db/data/invoices.sql +++ /dev/null @@ -1,37 +0,0 @@ --- --- PostgreSQL database dump --- - --- Dumped from database version 10.14 --- Dumped by pg_dump version 10.14 - -SET statement_timeout = 0; -SET lock_timeout = 0; -SET idle_in_transaction_session_timeout = 0; -SET client_encoding = 'UTF8'; -SET standard_conforming_strings = on; -SELECT pg_catalog.set_config('search_path', '', false); -SET check_function_bodies = false; -SET xmloption = content; -SET client_min_messages = warning; -SET row_security = off; - --- --- Data for Name: invoices; Type: TABLE DATA; Schema: public; Owner: postgres --- - -INSERT INTO public.invoices (id, inserted, order_id, invoice_date, invoice_sent) VALUES (DEFAULT, DEFAULT, 1, '2021-07-04', 0); -INSERT INTO public.invoices (id, inserted, order_id, invoice_date, invoice_sent) VALUES (DEFAULT, DEFAULT, 2, '2021-07-04', 0); -INSERT INTO public.invoices (id, inserted, order_id, invoice_date, invoice_sent) VALUES (DEFAULT, DEFAULT, 3, '2021-07-04', 0); -INSERT INTO public.invoices (id, inserted, order_id, invoice_date, invoice_sent) VALUES (DEFAULT, DEFAULT, 4, '2021-07-04', 0); -INSERT INTO public.invoices (id, inserted, order_id, invoice_date, invoice_sent) VALUES (DEFAULT, DEFAULT, 5, '2021-07-04', 1); -INSERT INTO public.invoices (id, inserted, order_id, invoice_date, invoice_sent) VALUES (DEFAULT, DEFAULT, 6, '2021-07-04', 0); -INSERT INTO public.invoices (id, inserted, order_id, invoice_date, invoice_sent) VALUES (DEFAULT, DEFAULT, 7, '2021-07-04', 1); -INSERT INTO public.invoices (id, inserted, order_id, invoice_date, invoice_sent) VALUES (DEFAULT, DEFAULT, 8, '2021-07-04', 0); -INSERT INTO public.invoices (id, inserted, order_id, invoice_date, invoice_sent) VALUES (DEFAULT, DEFAULT, 9, '2021-07-04', 1); -INSERT INTO public.invoices (id, inserted, order_id, invoice_date, invoice_sent) VALUES (DEFAULT, DEFAULT, 10, '2021-07-04', 0); - --- --- PostgreSQL database dump complete --- - diff --git a/src/__test__/db/data/orders.sql b/src/__test__/db/data/orders.sql deleted file mode 100644 index b1c4a0b..0000000 --- a/src/__test__/db/data/orders.sql +++ /dev/null @@ -1,37 +0,0 @@ --- --- PostgreSQL database dump --- - --- Dumped from database version 10.14 --- Dumped by pg_dump version 10.14 - -SET statement_timeout = 0; -SET lock_timeout = 0; -SET idle_in_transaction_session_timeout = 0; -SET client_encoding = 'UTF8'; -SET standard_conforming_strings = on; -SELECT pg_catalog.set_config('search_path', '', false); -SET check_function_bodies = false; -SET xmloption = content; -SET client_min_messages = warning; -SET row_security = off; - --- --- Data for Name: orders; Type: TABLE DATA; Schema: public; Owner: postgres --- - -UPDATE public.orders SET (paid, confirmed, delivered, newsletter, credit_invoice, canceled, reminder, delivered_date, country_code, language, delivery_country_code, delivery_method, delivery_price, delivery_vat, customer_type, payment_type, attention, currency, exchange_rate, exchange_rate_eur, invoice_id, contract_customer_id, vat_number, comment, cancels_order_id, cancelled_by_order_id, orderlog_id, reseller_store, order_sum, klarna_order_id, pwinty_id, email, phone, delivery_email, delivery_phone, customer_firstname, customer_lastname, customer_email, customer_cellphone, billing_address_id, delivery_address_id, flyer_ids, market, locale) = (0, 1, 1, 0, 0, 0, 0, '2020-03-31T01:51:48.252Z', 'AT', 'de', 'AT', 'postenBusiness', 0, 1.25, NULL, 'agreement', '', 'USD', 0, NULL, '1', 551, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'Pansy_Bode@hotmail.com', NULL, NULL, NULL, 'Andres', 'Johnson', 'Pansy_Bode@hotmail.com', '658-218-4061 x418', 1, 1, NULL, 'AT', 'de_AT') WHERE id=1; -UPDATE public.orders SET (paid, confirmed, delivered, newsletter, credit_invoice, canceled, reminder, delivered_date, country_code, language, delivery_country_code, delivery_method, delivery_price, delivery_vat, customer_type, payment_type, attention, currency, exchange_rate, exchange_rate_eur, invoice_id, contract_customer_id, vat_number, comment, cancels_order_id, cancelled_by_order_id, orderlog_id, reseller_store, order_sum, klarna_order_id, pwinty_id, email, phone, delivery_email, delivery_phone, customer_firstname, customer_lastname, customer_email, customer_cellphone, billing_address_id, delivery_address_id, flyer_ids, market, locale) = (1, 0, 1, 1, 1, 0, 1, '2020-03-31T21:49:26.555Z', 'NO', 'nn', 'NO', 'dhlEconomyWorld', 0, 1.25, NULL, 'agreement', '', 'DKK', 1, NULL, '2', 551, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'Perry93@hotmail.com', NULL, NULL, NULL, 'Claudia', 'Mraz', 'Perry93@hotmail.com', '(358) 748-5735 x99350', 2, 2, NULL, 'NO', 'nn_NO') WHERE id=2; -UPDATE public.orders SET (paid, confirmed, delivered, newsletter, credit_invoice, canceled, reminder, delivered_date, country_code, language, delivery_country_code, delivery_method, delivery_price, delivery_vat, customer_type, payment_type, attention, currency, exchange_rate, exchange_rate_eur, invoice_id, contract_customer_id, vat_number, comment, cancels_order_id, cancelled_by_order_id, orderlog_id, reseller_store, order_sum, klarna_order_id, pwinty_id, email, phone, delivery_email, delivery_phone, customer_firstname, customer_lastname, customer_email, customer_cellphone, billing_address_id, delivery_address_id, flyer_ids, market, locale) = (0, 0, 1, 0, 0, 0, 0, '2020-03-16T23:27:44.263Z', 'CA', 'en', 'CA', 'dhlFreightPrivate', 0, 1.25, NULL, 'agreement', '', 'DKK', 1, NULL, '3', 551, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'Dorthy_Feeney@gmail.com', NULL, NULL, NULL, 'Karlee', 'Dooley', 'Dorthy_Feeney@gmail.com', '(456) 243-9914 x06436', 3, 3, NULL, 'CA', 'en_CA') WHERE id=3; -UPDATE public.orders SET (paid, confirmed, delivered, newsletter, credit_invoice, canceled, reminder, delivered_date, country_code, language, delivery_country_code, delivery_method, delivery_price, delivery_vat, customer_type, payment_type, attention, currency, exchange_rate, exchange_rate_eur, invoice_id, contract_customer_id, vat_number, comment, cancels_order_id, cancelled_by_order_id, orderlog_id, reseller_store, order_sum, klarna_order_id, pwinty_id, email, phone, delivery_email, delivery_phone, customer_firstname, customer_lastname, customer_email, customer_cellphone, billing_address_id, delivery_address_id, flyer_ids, market, locale) = (0, 0, 1, 1, 0, 0, 0, '2020-02-22T02:25:09.425Z', 'SE', 'sv', 'SE', 'dbSchenkerBHP', 0, 1.25, NULL, 'agreement', '', 'GBP', 0, NULL, '4', 551, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'Nova37@yahoo.com', NULL, NULL, NULL, 'Nicholaus', 'Kreiger', 'Nova37@yahoo.com', '(184) 061-2233 x778', 4, 4, NULL, 'SE', 'sv_SE') WHERE id=4; -UPDATE public.orders SET (paid, confirmed, delivered, newsletter, credit_invoice, canceled, reminder, delivered_date, country_code, language, delivery_country_code, delivery_method, delivery_price, delivery_vat, customer_type, payment_type, attention, currency, exchange_rate, exchange_rate_eur, invoice_id, contract_customer_id, vat_number, comment, cancels_order_id, cancelled_by_order_id, orderlog_id, reseller_store, order_sum, klarna_order_id, pwinty_id, email, phone, delivery_email, delivery_phone, customer_firstname, customer_lastname, customer_email, customer_cellphone, billing_address_id, delivery_address_id, flyer_ids, market, locale) = (1, 0, 1, 0, 0, 1, 1, '2020-02-29T15:07:00.700Z', 'SE', 'sv', 'SE', 'postenBusiness', 0, 1.25, NULL, 'agreement', '', 'EUR', 0, NULL, '5', 551, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'Nora_Crist56@yahoo.com', NULL, NULL, NULL, 'Ardith', 'Gleason', 'Nora_Crist56@yahoo.com', '404.568.6249 x67491', 5, 5, NULL, 'SE', 'sv_SE') WHERE id=5; -UPDATE public.orders SET (paid, confirmed, delivered, newsletter, credit_invoice, canceled, reminder, delivered_date, country_code, language, delivery_country_code, delivery_method, delivery_price, delivery_vat, customer_type, payment_type, attention, currency, exchange_rate, exchange_rate_eur, invoice_id, contract_customer_id, vat_number, comment, cancels_order_id, cancelled_by_order_id, orderlog_id, reseller_store, order_sum, klarna_order_id, pwinty_id, email, phone, delivery_email, delivery_phone, customer_firstname, customer_lastname, customer_email, customer_cellphone, billing_address_id, delivery_address_id, flyer_ids, market, locale) = (0, 1, 0, 0, 1, 0, 1, '2020-02-28T10:25:44.819Z', 'CA', 'fr', 'CA', 'bringPrivate', 0, 1.25, NULL, 'agreement', '', 'SEK', 1, NULL, '6', 551, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'Giovanni_Olson81@yahoo.com', NULL, NULL, NULL, 'Cordie', 'Ward', 'Giovanni_Olson81@yahoo.com', '353-660-8849 x83675', 6, 6, NULL, 'CA', 'fr_CA') WHERE id=6; -UPDATE public.orders SET (paid, confirmed, delivered, newsletter, credit_invoice, canceled, reminder, delivered_date, country_code, language, delivery_country_code, delivery_method, delivery_price, delivery_vat, customer_type, payment_type, attention, currency, exchange_rate, exchange_rate_eur, invoice_id, contract_customer_id, vat_number, comment, cancels_order_id, cancelled_by_order_id, orderlog_id, reseller_store, order_sum, klarna_order_id, pwinty_id, email, phone, delivery_email, delivery_phone, customer_firstname, customer_lastname, customer_email, customer_cellphone, billing_address_id, delivery_address_id, flyer_ids, market, locale) = (1, 0, 1, 1, 1, 1, 0, '2020-02-20T10:38:59.526Z', 'CA', 'en', 'CA', 'postenBusiness', 0, 1.25, NULL, 'agreement', '', 'NOK', 0, NULL, '7', 551, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'Darrick.Baumbach49@gmail.com', NULL, NULL, NULL, 'David', 'Gaylord', 'Darrick.Baumbach49@gmail.com', '708.650.2817', 7, 7, NULL, 'CA', 'en_CA') WHERE id=7; -UPDATE public.orders SET (paid, confirmed, delivered, newsletter, credit_invoice, canceled, reminder, delivered_date, country_code, language, delivery_country_code, delivery_method, delivery_price, delivery_vat, customer_type, payment_type, attention, currency, exchange_rate, exchange_rate_eur, invoice_id, contract_customer_id, vat_number, comment, cancels_order_id, cancelled_by_order_id, orderlog_id, reseller_store, order_sum, klarna_order_id, pwinty_id, email, phone, delivery_email, delivery_phone, customer_firstname, customer_lastname, customer_email, customer_cellphone, billing_address_id, delivery_address_id, flyer_ids, market, locale) = (0, 0, 1, 0, 0, 1, 1, '2020-03-23T16:13:54.959Z', 'GB', 'en', 'GB', 'dhl', 0, 1.25, NULL, 'agreement', '', 'CAD', 0, NULL, '8', 551, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'Lloyd_Quitzon@hotmail.com', NULL, NULL, NULL, 'Nathan', 'Graham', 'Lloyd_Quitzon@hotmail.com', '(602) 157-7172 x3015', 8, 8, NULL, 'GB', 'en_GB') WHERE id=8; -UPDATE public.orders SET (paid, confirmed, delivered, newsletter, credit_invoice, canceled, reminder, delivered_date, country_code, language, delivery_country_code, delivery_method, delivery_price, delivery_vat, customer_type, payment_type, attention, currency, exchange_rate, exchange_rate_eur, invoice_id, contract_customer_id, vat_number, comment, cancels_order_id, cancelled_by_order_id, orderlog_id, reseller_store, order_sum, klarna_order_id, pwinty_id, email, phone, delivery_email, delivery_phone, customer_firstname, customer_lastname, customer_email, customer_cellphone, billing_address_id, delivery_address_id, flyer_ids, market, locale) = (1, 1, 1, 0, 1, 0, 0, '2020-03-29T02:46:27.665Z', 'AT', 'de', 'AT', 'myPack', 0, 1.25, NULL, 'agreement', '', 'RUB', 0, NULL, '9', 551, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'Zander.Thompson55@gmail.com', NULL, NULL, NULL, 'Garrick', 'Lesch', 'Zander.Thompson55@gmail.com', '472.496.1635 x919', 9, 9, NULL, 'AT', 'de_AT') WHERE id=9; -UPDATE public.orders SET (paid, confirmed, delivered, newsletter, credit_invoice, canceled, reminder, delivered_date, country_code, language, delivery_country_code, delivery_method, delivery_price, delivery_vat, customer_type, payment_type, attention, currency, exchange_rate, exchange_rate_eur, invoice_id, contract_customer_id, vat_number, comment, cancels_order_id, cancelled_by_order_id, orderlog_id, reseller_store, order_sum, klarna_order_id, pwinty_id, email, phone, delivery_email, delivery_phone, customer_firstname, customer_lastname, customer_email, customer_cellphone, billing_address_id, delivery_address_id, flyer_ids, market, locale) = (1, 0, 1, 0, 1, 1, 0, '2020-02-29T03:59:20.806Z', 'BE', 'nl', 'BE', 'dhlEconomyUK', 0, 1.25, NULL, 'agreement', '', 'CAD', 1, NULL, '10', 551, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'Ottilie23@gmail.com', NULL, NULL, NULL, 'Marta', 'Stanton', 'Ottilie23@gmail.com', '(873) 766-2029 x8153', 10, 10, NULL, 'BE', 'nl_BE') WHERE id=10; - --- --- PostgreSQL database dump complete --- - diff --git a/src/__test__/db/data/product-products.sql b/src/__test__/db/data/product-products.sql deleted file mode 100644 index 883b681..0000000 --- a/src/__test__/db/data/product-products.sql +++ /dev/null @@ -1,43 +0,0 @@ --- --- PostgreSQL database dump --- - --- Dumped from database version 10.14 --- Dumped by pg_dump version 10.14 - -SET statement_timeout = 0; -SET lock_timeout = 0; -SET idle_in_transaction_session_timeout = 0; -SET client_encoding = 'UTF8'; -SET standard_conforming_strings = on; -SELECT pg_catalog.set_config('search_path', '', false); -SET check_function_bodies = false; -SET xmloption = content; -SET client_min_messages = warning; -SET row_security = off; - --- --- Data for Name: product-products; Type: TABLE DATA; Schema: public; Owner: postgres --- - -INSERT INTO public."product-products" (productid, path, visible, browsable, designerid, inserted, updated, ref1, ref2, ref3) VALUES (DEFAULT, 'dolore-magna', 1, 1, 1, '2020-02-18T02:14:06.585Z', NULL, 'Manuela Glover', NULL, NULL); -INSERT INTO public."product-products" (productid, path, visible, browsable, designerid, inserted, updated, ref1, ref2, ref3) VALUES (DEFAULT, 'nostrud-magna', 1, 1, 4, '2020-03-17T22:25:14.136Z', NULL, 'Jaylan Parker', NULL, NULL); -INSERT INTO public."product-products" (productid, path, visible, browsable, designerid, inserted, updated, ref1, ref2, ref3) VALUES (DEFAULT, 'eiusmod-commodo', 1, 1, 4, '2020-03-01T19:24:54.585Z', NULL, 'Monique Hoppe', NULL, NULL); -INSERT INTO public."product-products" (productid, path, visible, browsable, designerid, inserted, updated, ref1, ref2, ref3) VALUES (DEFAULT, 'eu-consectetur', 1, 1, 3, '2020-02-03T03:19:27.628Z', NULL, 'Megane Weimann', NULL, NULL); -INSERT INTO public."product-products" (productid, path, visible, browsable, designerid, inserted, updated, ref1, ref2, ref3) VALUES (DEFAULT, 'magna-aliquip', 1, 1, 1, '2020-03-08T17:11:23.147Z', NULL, 'Brando Zboncak', NULL, NULL); -INSERT INTO public."product-products" (productid, path, visible, browsable, designerid, inserted, updated, ref1, ref2, ref3) VALUES (DEFAULT, 'adipisicing-aute', 1, 1, 3, '2020-03-21T06:04:11.449Z', NULL, 'Katelyn Wuckert', NULL, NULL); -INSERT INTO public."product-products" (productid, path, visible, browsable, designerid, inserted, updated, ref1, ref2, ref3) VALUES (DEFAULT, 'in-nulla', 1, 1, 4, '2020-03-09T18:21:29.446Z', NULL, 'Casey Langworth', NULL, NULL); -INSERT INTO public."product-products" (productid, path, visible, browsable, designerid, inserted, updated, ref1, ref2, ref3) VALUES (DEFAULT, 'qui-incididunt', 1, 1, 3, '2020-02-15T05:43:58.208Z', NULL, 'Lottie Cummerata', NULL, NULL); -INSERT INTO public."product-products" (productid, path, visible, browsable, designerid, inserted, updated, ref1, ref2, ref3) VALUES (DEFAULT, 'mollit-esse', 1, 1, 1, '2020-03-07T03:27:47.468Z', NULL, 'Lila Rippin', NULL, NULL); -INSERT INTO public."product-products" (productid, path, visible, browsable, designerid, inserted, updated, ref1, ref2, ref3) VALUES (DEFAULT, 'irure-aliqua', 1, 1, 3, '2020-02-20T17:46:24.406Z', NULL, 'Reba Schmidt', NULL, NULL); - --- --- Name: product-products_productid_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres --- - -SELECT pg_catalog.setval('public."product-products_productid_seq"', 76042, true); - - --- --- PostgreSQL database dump complete --- diff --git a/src/__test__/db/schema.sql b/src/__test__/db/schema.sql deleted file mode 100644 index e33e03c..0000000 --- a/src/__test__/db/schema.sql +++ /dev/null @@ -1,7443 +0,0 @@ --- --- PostgreSQL database dump --- - --- Dumped from database version 13.4 (Debian 13.4-4.pgdg110+1) --- Dumped by pg_dump version 14.3 - -SET statement_timeout = 0; -SET lock_timeout = 0; -SET idle_in_transaction_session_timeout = 0; -SET client_encoding = 'UTF8'; -SET standard_conforming_strings = on; -SELECT pg_catalog.set_config('search_path', '', false); -SET check_function_bodies = false; -SET xmloption = content; -SET client_min_messages = warning; -SET row_security = off; - --- --- Name: pgcrypto; Type: EXTENSION; Schema: -; Owner: - --- - -CREATE EXTENSION IF NOT EXISTS pgcrypto WITH SCHEMA public; - - --- --- Name: EXTENSION pgcrypto; Type: COMMENT; Schema: -; Owner: - --- - -COMMENT ON EXTENSION pgcrypto IS 'cryptographic functions'; - - --- --- Name: unaccent; Type: EXTENSION; Schema: -; Owner: - --- - -CREATE EXTENSION IF NOT EXISTS unaccent WITH SCHEMA pg_catalog; - - --- --- Name: EXTENSION unaccent; Type: COMMENT; Schema: -; Owner: - --- - -COMMENT ON EXTENSION unaccent IS 'text search dictionary that removes accents'; - - --- --- Name: border_types; Type: TYPE; Schema: public; Owner: - --- - -CREATE TYPE public.border_types AS ENUM ( - 'white', - 'black', - 'none' -); - - --- --- Name: external_status_type; Type: TYPE; Schema: public; Owner: - --- - -CREATE TYPE public.external_status_type AS ENUM ( - 'N/A', - 'not_created', - 'created', - 'uploading', - 'passed', - 'failed', - 'canceled', - 'printed', - 'shipped', - 'delivered', - 'pending_approval', - 'draft', - 'not_connected' -); - - --- --- Name: order_row_status; Type: TYPE; Schema: public; Owner: - --- - -CREATE TYPE public.order_row_status AS ENUM ( - 'no_status', - 'process', - 'error', - 'print', - 'packed', - 'cancelled', - 'sent' -); - - --- --- Name: order_row_sub_type; Type: TYPE; Schema: public; Owner: - --- - -CREATE TYPE public.order_row_sub_type AS ENUM ( - 'no_subtype', - 'wallpaper', - 'canvas', - 'poster', - 'framed_print', - 'inquiry_wallpaper', - 'inquiry_canvas', - 'inquiry_poster', - 'inquiry_framed_print', - 'retouch_fee', - 'contract_customer_discount', - 'discount_code', - 'wallpaper_kit', - 'canvas_frame', - 'sample', - 'admin_product' -); - - --- --- Name: order_row_type; Type: TYPE; Schema: public; Owner: - --- - -CREATE TYPE public.order_row_type AS ENUM ( - 'discount', - 'fee', - 'print', - 'stock', - 'sample', - 'refund' -); - - --- --- Name: orientation_type; Type: TYPE; Schema: public; Owner: - --- - -CREATE TYPE public.orientation_type AS ENUM ( - 'landscape', - 'portrait', - 'square' -); - - --- --- Name: field(anyelement, anyarray); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION public.field(anyelement, anyarray) RETURNS integer - LANGUAGE sql STABLE - AS $_$ - SELECT - COALESCE((SELECT i - FROM generate_series(1, array_upper($2, 1)) gs(i) - WHERE $2[i] = $1), - 0); -$_$; - - --- --- Name: function_copy_order(); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION public.function_copy_order() RETURNS trigger - LANGUAGE plpgsql - AS $$ -BEGIN - INSERT INTO orders(id, inserted) VALUES(new.orderid, new.inserted); - RETURN new; -END; -$$; - - --- --- Name: function_copy_order_date(); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION public.function_copy_order_date() RETURNS trigger - LANGUAGE plpgsql - AS $$ -BEGIN - UPDATE orders SET inserted = new.inserted WHERE id = new.orderid; - RETURN new; -END; -$$; - - --- --- Name: function_copy_order_field(); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION public.function_copy_order_field() RETURNS trigger - LANGUAGE plpgsql - AS $$ -BEGIN - -- comment - IF new.fieldid = 203 THEN - UPDATE orders SET comment = new.value WHERE id = new.orderid; - -- country code - ELSIF new.fieldid = 151 THEN - UPDATE orders SET country_code = new.value WHERE id = new.orderid; - -- delivery method - ELSIF new.fieldid = 152 THEN - UPDATE orders SET delivery_method = new.value WHERE id = new.orderid; - -- delivery price - ELSIF new.fieldid = 153 THEN - UPDATE orders SET delivery_price = new.value::numeric WHERE id = new.orderid; - -- delivery country code - ELSIF new.fieldid = 213 THEN - UPDATE orders SET delivery_country_code = new.value WHERE id = new.orderid; - -- delivery vat - ELSIF new.fieldid = 154 THEN - UPDATE orders SET delivery_vat = new.value::numeric WHERE id = new.orderid; - -- attention - ELSIF new.fieldid = 162 THEN - UPDATE orders SET attention = new.value WHERE id = new.orderid; - -- paid - ELSIF new.fieldid = 168 THEN - UPDATE orders SET paid = CASE WHEN new.value = 'true' THEN 1 ELSE 0 END WHERE id = new.orderid; - -- currency - ELSIF new.fieldid = 169 THEN - UPDATE orders SET currency = new.value WHERE id = new.orderid; - -- payment type - ELSIF new.fieldid = 170 THEN - UPDATE orders SET payment_type = new.value WHERE id = new.orderid; - -- exchange rate - ELSIF new.fieldid = 171 THEN - UPDATE orders SET exchange_rate = new.value::numeric WHERE id = new.orderid; - -- invoice id - ELSIF new.fieldid = 172 THEN - UPDATE orders SET invoice_id = new.value WHERE id = new.orderid; - -- confirmed - ELSIF new.fieldid = 175 THEN - UPDATE orders SET confirmed = CASE WHEN new.value = 'true' THEN 1 ELSE 0 END WHERE id = new.orderid; - -- delivered - ELSIF new.fieldid = 176 THEN - UPDATE orders SET delivered = CASE WHEN new.value = 'true' THEN 1 ELSE 0 END WHERE id = new.orderid; - -- email - ELSIF new.fieldid = 184 THEN - UPDATE orders SET email = new.value WHERE id = new.orderid; - -- phone - ELSIF new.fieldid = 185 THEN - UPDATE orders SET phone = new.value WHERE id = new.orderid; - -- newsletter - ELSIF new.fieldid = 188 THEN - UPDATE orders SET newsletter = CASE WHEN new.value = 'true' THEN 1 WHEN new.value = 'false' THEN 0 ELSE new.value::numeric END - WHERE id = new.orderid; - -- language - ELSIF new.fieldid = 190 THEN - UPDATE orders SET language = new.value WHERE id = new.orderid; - -- contract customer id - ELSIF new.fieldid = 191 THEN - UPDATE orders SET contract_customer_id = new.value::int WHERE id = new.orderid; - -- credit invoice - ELSIF new.fieldid = 199 THEN - UPDATE orders SET credit_invoice = CASE WHEN new.value = 'true' THEN 1 ELSE 0 END WHERE id = new.orderid; - -- canceled - ELSIF new.fieldid = 200 THEN - UPDATE orders SET canceled = CASE WHEN new.value = 'true' THEN 1 ELSE 0 END WHERE id = new.orderid; - -- vat number - ELSEIF new.fieldid = 202 THEN - UPDATE orders SET vat_number = new.value WHERE id = new.orderid; - -- customer firstname - ELSIF new.fieldid = 209 THEN - UPDATE orders SET customer_firstname = new.value WHERE id = new.orderid; - -- customer lastname - ELSIF new.fieldid = 210 THEN - UPDATE orders SET customer_lastname = new.value WHERE id = new.orderid; - -- customer email - ELSIF new.fieldid = 211 THEN - UPDATE orders SET customer_email = new.value WHERE id = new.orderid; - -- customer cellphone - ELSIF new.fieldid = 212 THEN - UPDATE orders SET customer_cellphone = new.value WHERE id = new.orderid; - -- reminder - ELSEIF new.fieldid = 219 THEN - UPDATE orders SET reminder = CASE WHEN new.value = 'true' THEN 1 ELSE 0 END WHERE id = new.orderid; - -- exchange rate eur - ELSIF new.fieldid = 223 THEN - UPDATE orders SET exchange_rate_eur = new.value::numeric WHERE id = new.orderid; - -- delivered_date - ELSIF new.fieldid = 225 THEN - UPDATE orders SET delivered_date = new.value::date WHERE id = new.orderid; - -- customer type - ELSIF new.fieldid = 227 THEN - UPDATE orders SET customer_type = new.value WHERE id = new.orderid; - -- cancels order id - ELSIF new.fieldid = 237 THEN - UPDATE orders SET cancels_order_id = new.value::int WHERE id = new.orderid; - -- cancelled by order id - ELSIF new.fieldid = 238 THEN - UPDATE orders SET cancelled_by_order_id = new.value::int WHERE id = new.orderid; - -- orderlog_id - ELSIF new.fieldid = 244 THEN - UPDATE orders SET orderlog_id = new.value::int WHERE id = new.orderid; - -- reseller store - ELSIF new.fieldid = 245 THEN - UPDATE orders SET reseller_store = new.value WHERE id = new.orderid; - -- order_sum - ELSIF new.fieldid = 246 THEN - UPDATE orders SET order_sum = new.value::numeric WHERE id = new.orderid; - -- klarna order id - ELSIF new.fieldid = 247 THEN - UPDATE orders SET klarna_order_id = new.value WHERE id = new.orderid; - -- delivery email - ELSIF new.fieldid = 248 THEN - UPDATE orders SET delivery_email = new.value WHERE id = new.orderid; - -- delivery phone - ELSIF new.fieldid = 249 THEN - UPDATE orders SET delivery_phone = new.value WHERE id = new.orderid; - ELSIF new.fieldid = 250 THEN - UPDATE orders SET pwinty_id = new.value::int WHERE id = new.orderid; - -- delivery_address_id - ELSIF new.fieldid = 254 THEN - UPDATE orders SET delivery_address_id = new.value::int WHERE id = new.orderid; - -- billing_address_id - ELSIF new.fieldid = 255 THEN - UPDATE orders SET billing_address_id = new.value::int WHERE id = new.orderid; - -- flyer ids - ELSIF new.fieldid = 240 THEN - UPDATE orders SET flyer_ids = new.value WHERE id = new.orderid; - -- market - ELSIF new.fieldid = 256 THEN - UPDATE orders SET market = new.value WHERE id = new.orderid; - -- locale - ELSIF new.fieldid = 257 THEN - UPDATE orders SET locale = new.value WHERE id = new.orderid; - -- paypal transaction id - ELSIF new.fieldid = 258 THEN - UPDATE orders SET paypal_transaction_id = new.value WHERE id = new.orderid; - END IF; - RETURN new; -END; -$$; - - --- --- Name: getsafexmlpath(character varying, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION public.getsafexmlpath(val character varying, with_root integer DEFAULT 0) RETURNS character varying - LANGUAGE plpgsql - AS $$ -BEGIN - IF with_root = 1 THEN - val = regexp_replace(val, '^\w+', 'root'); - ELSIF with_root = 2 THEN - val = regexp_replace(val, '^\w+/', ''); - END IF; - - val = UNACCENT(val); - val = REGEXP_REPLACE(val, '[\., _]', '-', 'g'); - val = REPLACE(val, '&', '-'); /* ampersand should always be blank but it gets fixed in below */ - val = lower(val); - val = REGEXP_REPLACE(val, '-+', '-', 'g'); - val = REGEXP_REPLACE(val, '[^\/\w\-]', '', 'g'); - - RETURN val; - -END; $$; - - --- --- Name: report_sales_sthlm(); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION public.report_sales_sthlm() RETURNS refcursor - LANGUAGE plpgsql - AS $$ - DECLARE ref refcursor; -BEGIN - OPEN ref FOR - SELECT * FROM ( - SELECT COUNT(*) AS order_count, - to_char((SELECT MAX(s.order_date) FROM v_orders s WHERE s.email = o.email LIMIT 1), 'YYYY-MM-DD') AS last_order_date, - email, - CASE - WHEN newsletter = 'true' THEN 1 - ELSE 0 - END AS newsletter - FROM v_orders o - WHERE o.id IN ( - SELECt id - FROM v_orders - WHERE true - AND (iscompany = 'false' OR iscompany IS NULL OR iscompany = '') - AND (contractcode IS NULL OR contractcode = '') - AND order_date > '2014-01-01' - AND countrycode = 'SE' - AND zipcode LIKE '1%' - -- Remove garbage - AND NOT email = '' AND NOT email IS NULL AND NOT email like '%photowall%' - ) - GROUP BY email, newsletter - ) main - WHERE order_count > 1 - GROUP BY order_count, last_order_date, email, newsletter - LIMIT 10; - - RETURN ref; -END -$$; - - --- --- Name: updated_timestamp(); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION public.updated_timestamp() RETURNS trigger - LANGUAGE plpgsql - AS $$ - - BEGIN - - NEW.updated := current_timestamp; - - RETURN NEW; - - END; - -$$; - - -SET default_tablespace = ''; - -SET default_table_access_method = heap; - --- --- Name: delivery-methods; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public."delivery-methods" ( - id integer NOT NULL, - name character varying(255) NOT NULL, - inserted timestamp with time zone DEFAULT now() NOT NULL, - updated timestamp with time zone -); - - --- --- Name: Delivery-methods_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public."Delivery-methods_id_seq" - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: Delivery-methods_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public."Delivery-methods_id_seq" OWNED BY public."delivery-methods".id; - - --- --- Name: addresses; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.addresses ( - id integer NOT NULL, - address1 character varying, - company_name character varying, - country_code character varying, - city character varying, - zipcode character varying, - first_name character varying, - last_name character varying, - address2 character varying, - state character varying, - email text, - phone text -); - - --- --- Name: addresses_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.addresses_id_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: addresses_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.addresses_id_seq OWNED BY public.addresses.id; - - --- --- Name: agencies_agencyid_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.agencies_agencyid_seq - START WITH 32 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: article_article_categories; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.article_article_categories ( - article_id integer NOT NULL, - category_id integer NOT NULL, - main integer DEFAULT 0 -); - - --- --- Name: article_categories; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.article_categories ( - id integer NOT NULL, - name text, - slug text -); - - --- --- Name: article_categories_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.article_categories_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: article_categories_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.article_categories_id_seq OWNED BY public.article_categories.id; - - --- --- Name: article_content; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.article_content ( - id integer NOT NULL, - article_id integer, - title text, - preamble text, - body text, - body_saved timestamp with time zone, - meta_title text, - meta_description text, - slug text, - market_locale_id integer NOT NULL -); - - --- --- Name: article_content_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.article_content_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: article_content_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.article_content_id_seq OWNED BY public.article_content.id; - - --- --- Name: articles; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.articles ( - id integer NOT NULL, - created timestamp with time zone DEFAULT now() NOT NULL, - published timestamp with time zone, - deleted timestamp with time zone, - name text -); - - --- --- Name: articles_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.articles_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: articles_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.articles_id_seq OWNED BY public.articles.id; - - --- --- Name: cache; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.cache ( - id integer NOT NULL, - method character varying(255) NOT NULL, - params text, - content text, - inserted timestamp with time zone DEFAULT now(), - updated timestamp with time zone -); - - --- --- Name: cache_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.cache_id_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: cache_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.cache_id_seq OWNED BY public.cache.id; - - --- --- Name: campaign_page_content; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.campaign_page_content ( - id integer NOT NULL, - campaign_page_id integer NOT NULL, - inserted timestamp with time zone DEFAULT now() NOT NULL, - updated timestamp with time zone, - title text, - preamble text, - body text, - meta_title text, - meta_description text, - slug text, - market_locale_id integer NOT NULL, - noindex boolean DEFAULT false -); - - --- --- Name: campaign_page_content_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.campaign_page_content_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: campaign_page_content_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.campaign_page_content_id_seq OWNED BY public.campaign_page_content.id; - - --- --- Name: campaign_pages; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.campaign_pages ( - id integer NOT NULL, - inserted timestamp with time zone DEFAULT now() NOT NULL, - published timestamp with time zone, - deleted timestamp with time zone, - name text NOT NULL -); - - --- --- Name: COLUMN campaign_pages.name; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN public.campaign_pages.name IS 'Used as title in admin only'; - - --- --- Name: campaign_pages_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.campaign_pages_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: campaign_pages_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.campaign_pages_id_seq OWNED BY public.campaign_pages.id; - - --- --- Name: carts; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.carts ( - uuid uuid NOT NULL, - inserted timestamp with time zone DEFAULT now() NOT NULL, - order_id integer, - klarna_order_id text, - content jsonb NOT NULL -); - - --- --- Name: categories; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.categories ( - id integer NOT NULL, - name character varying(255) NOT NULL, - lft integer NOT NULL, - rgt integer NOT NULL, - photo_wallpaper_image_id integer, - design_wallpaper_image_id integer, - canvas_image_id integer, - poster_image_id integer, - framed_print_image_id integer -); - - --- --- Name: categories_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.categories_id_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: categories_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.categories_id_seq OWNED BY public.categories.id; - - --- --- Name: category_images; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.category_images ( - id integer NOT NULL, - category_id integer, - product_group integer, - url character varying(255) -); - - --- --- Name: category_images_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.category_images_id_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: category_images_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.category_images_id_seq OWNED BY public.category_images.id; - - --- --- Name: category_keyword; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.category_keyword ( - id integer NOT NULL, - category_id integer, - keyword_id integer -); - - --- --- Name: category_keyword_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.category_keyword_id_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: category_keyword_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.category_keyword_id_seq OWNED BY public.category_keyword.id; - - --- --- Name: category_metadata; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.category_metadata ( - category_id integer NOT NULL, - canonical integer, - panel_visibility integer DEFAULT 1 -); - - --- --- Name: category_texts; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.category_texts ( - id integer NOT NULL, - category_id integer NOT NULL, - locale_id integer NOT NULL, - wallpaper_name character varying(250), - wallpaper_h1 character varying(250), - wallpaper_description text, - canvas_name character varying(250), - canvas_h1 character varying(250), - canvas_description text, - name character varying(255), - design_wallpaper_h1 character varying(255), - design_wallpaper_description text, - poster_name character varying(250), - poster_h1 character varying(250), - poster_description text, - framed_print_name character varying(250), - framed_print_h1 character varying(250), - framed_print_description text -); - - --- --- Name: category_texts_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.category_texts_id_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: category_texts_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.category_texts_id_seq OWNED BY public.category_texts.id; - - --- --- Name: categorydata; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.categorydata ( - category_id integer NOT NULL, - datakey_id integer NOT NULL, - locale_id integer NOT NULL, - text text NOT NULL -); - - --- --- Name: categorydatakeys; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.categorydatakeys ( - id integer NOT NULL, - name character varying(255) NOT NULL -); - - --- --- Name: categorydatakeys_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.categorydatakeys_id_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: categorydatakeys_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.categorydatakeys_id_seq OWNED BY public.categorydatakeys.id; - - --- --- Name: collections; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.collections ( - id integer NOT NULL, - name text NOT NULL, - inserted timestamp with time zone DEFAULT now() NOT NULL, - deleted timestamp with time zone, - wallpaper_image_id integer, - canvas_image_id integer, - poster_image_id integer, - framed_print_image_id integer, - default_product_list_tab text DEFAULT 'wallpapers'::text, - face_image_key text, - author text, - author_handle text, - show_only_default boolean DEFAULT false NOT NULL, - CONSTRAINT collections_default_product_list_tab_check CHECK ((default_product_list_tab = ANY (ARRAY['wallpapers'::text, 'canvas-prints'::text, 'framed-prints'::text, 'posters'::text]))) -); - - --- --- Name: collections_blacklist; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.collections_blacklist ( - id integer NOT NULL, - collection_id integer NOT NULL, - market_id integer NOT NULL -); - - --- --- Name: collections_blacklist_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.collections_blacklist_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: collections_blacklist_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.collections_blacklist_id_seq OWNED BY public.collections_blacklist.id; - - --- --- Name: collections_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.collections_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: collections_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.collections_id_seq OWNED BY public.collections.id; - - --- --- Name: collections_products; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.collections_products ( - id integer NOT NULL, - collection_id integer NOT NULL, - product_id integer, - inserted timestamp with time zone DEFAULT now() NOT NULL -); - - --- --- Name: collections_products_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.collections_products_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: collections_products_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.collections_products_id_seq OWNED BY public.collections_products.id; - - --- --- Name: collections_texts; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.collections_texts ( - id integer NOT NULL, - collection_id integer NOT NULL, - meta_title text, - meta_description text, - title text, - description text, - slug text, - locale_id integer NOT NULL -); - - --- --- Name: collections_texts_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.collections_texts_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: collections_texts_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.collections_texts_id_seq OWNED BY public.collections_texts.id; - - --- --- Name: contract_customers; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.contract_customers ( - contractcustomerid integer NOT NULL, - companyname character varying(255) NOT NULL, - code character varying(255) NOT NULL, - address character varying NOT NULL, - zipcode character varying NOT NULL, - city character varying NOT NULL, - country character varying NOT NULL, - "delivery-address" character varying NOT NULL, - "delivery-zipcode" character varying NOT NULL, - "delivery-city" character varying NOT NULL, - "delivery-country" character varying NOT NULL, - firstname character varying(255) NOT NULL, - lastname character varying(255) NOT NULL, - phone character varying(100) NOT NULL, - email character varying(100) NOT NULL, - designerid integer, - comment text NOT NULL, - inserted timestamp with time zone DEFAULT now() NOT NULL, - updated timestamp with time zone, - dealerstore boolean DEFAULT false NOT NULL, - dealerurl character varying(255) NOT NULL, - hideprices boolean DEFAULT false NOT NULL, - "delivery-company" character varying NOT NULL, - pricepremium numeric DEFAULT 0 NOT NULL, - "reseller-companyname" character varying(255), - "reseller-address" character varying, - "reseller-zipcode" character varying, - "reseller-city" character varying, - "reseller-phone" character varying(100), - "reseller-email" character varying(100), - vat_reg_nr character varying(100), - send_invoice character varying(100) DEFAULT 'snail mail'::character varying NOT NULL, - deleted integer DEFAULT 0 NOT NULL, - "contact-us-text" text, - "head-logo" character varying(100), - payment_type character varying(13), - email_invoice character varying(100), - state character varying, - "delivery-state" character varying, - discount integer DEFAULT 0, - "delivery-firstname" character varying, - "delivery-lastname" character varying, - "delivery-email" character varying, - "delivery-phone" character varying, - address2 character varying, - "delivery-address2" character varying, - CONSTRAINT contract_customers_send_invoice_check CHECK (((send_invoice)::text = ANY (ARRAY[('snail mail'::character varying)::text, ('email'::character varying)::text, ('edi'::character varying)::text]))) -); - - --- --- Name: contract_customers_contractcustomerid_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.contract_customers_contractcustomerid_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: contract_customers_contractcustomerid_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.contract_customers_contractcustomerid_seq OWNED BY public.contract_customers.contractcustomerid; - - --- --- Name: database_versions; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.database_versions ( - version character varying(32) NOT NULL, - is_active boolean DEFAULT false NOT NULL, - creation_date timestamp without time zone DEFAULT now() NOT NULL -); - - --- --- Name: delivery-methods_prices; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public."delivery-methods_prices" ( - method integer NOT NULL, - option character varying(255) NOT NULL, - option_value character varying(255) NOT NULL, - currency character varying(3) NOT NULL, - price numeric NOT NULL, - inserted timestamp with time zone DEFAULT now() NOT NULL, - updated timestamp with time zone, - territory character varying(2) NOT NULL -); - - --- --- Name: designer_texts; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.designer_texts ( - id integer NOT NULL, - designerid integer NOT NULL, - locale_id integer NOT NULL, - header character varying(250), - description text -); - - --- --- Name: designer_texts_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.designer_texts_id_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: designer_texts_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.designer_texts_id_seq OWNED BY public.designer_texts.id; - - --- --- Name: designers; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.designers ( - designerid integer NOT NULL, - name character varying(100) NOT NULL, - path character varying(100) NOT NULL, - username character varying(100) NOT NULL, - password character varying(32), - co character varying(100), - street character varying(100), - zipcode character varying(10), - city character varying(100), - territory character varying(2) NOT NULL, - phone character varying(100), - email character varying(100), - orgnr character varying(50), - currency character varying(3) NOT NULL, - commission integer NOT NULL, - commission_resale integer NOT NULL, - balance numeric DEFAULT 0 NOT NULL, - description text, - comments text, - status integer DEFAULT 1 NOT NULL, - inserted timestamp with time zone DEFAULT now(), - updated timestamp with time zone, - license_image character varying(100), - type character varying(20), - segmentation integer DEFAULT 1 NOT NULL, - visible_search integer DEFAULT 1, - visible_list integer DEFAULT 1, - visible_productpage integer DEFAULT 1, - visible_designerpage integer DEFAULT 1, - sort_desc boolean DEFAULT false NOT NULL, - no_follow integer DEFAULT 0, - logotype character varying, - automatic_payout integer DEFAULT 0 NOT NULL, - pricepremium_wallpaper numeric DEFAULT 0 NOT NULL, - pricepremium_canvas numeric DEFAULT 0 NOT NULL, - pricepremium_poster numeric DEFAULT 0 NOT NULL, - pricepremium_framed_print numeric DEFAULT 0 NOT NULL, - wallpaper_image_id integer, - canvas_image_id integer, - poster_image_id integer, - framed_print_image_id integer, - payout_platform_id text, - enable_retouch integer DEFAULT 1 -); - - --- --- Name: designers-blocked; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public."designers-blocked" ( - designerid integer NOT NULL, - domain character varying(255) NOT NULL -); - - --- --- Name: designers-collections_collectionid_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public."designers-collections_collectionid_seq" - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: designers_designerid_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.designers_designerid_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: designers_designerid_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.designers_designerid_seq OWNED BY public.designers.designerid; - - --- --- Name: designers_history; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.designers_history ( - designerhistoryid integer NOT NULL, - designerid integer NOT NULL, - currency_from character varying(3) NOT NULL, - currency_to character varying(3) NOT NULL, - rowid integer NOT NULL, - inserted timestamp with time zone DEFAULT now() NOT NULL, - updated timestamp with time zone -); - - --- --- Name: designers_history_designerhistoryid_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.designers_history_designerhistoryid_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: designers_history_designerhistoryid_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.designers_history_designerhistoryid_seq OWNED BY public.designers_history.designerhistoryid; - - --- --- Name: designers_resets_resetid_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.designers_resets_resetid_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: discount_code_filters; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.discount_code_filters ( - id integer NOT NULL, - filter_name character varying(100), - filter_value character varying(100), - discount_code_id integer NOT NULL -); - - --- --- Name: disc_filters_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.disc_filters_id_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: disc_filters_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.disc_filters_id_seq OWNED BY public.discount_code_filters.id; - - --- --- Name: discount_codes; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.discount_codes ( - discountid integer NOT NULL, - name character varying(255) NOT NULL, - value integer NOT NULL, - type character varying(3) NOT NULL, - start timestamp with time zone NOT NULL, - "end" timestamp with time zone NOT NULL, - code character varying(100) NOT NULL, - inserted timestamp with time zone DEFAULT now() NOT NULL, - updated timestamp with time zone, - no_shipping boolean DEFAULT false, - completion_limit integer, - "group" character varying(255) DEFAULT NULL::character varying, - CONSTRAINT valid_values CHECK (((value >= 0) AND (((type)::text <> '%'::text) OR (((type)::text = '%'::text) AND (value <= 100))))) -); - - --- --- Name: discount_codes_discountid_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.discount_codes_discountid_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: discount_codes_discountid_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.discount_codes_discountid_seq OWNED BY public.discount_codes.discountid; - - --- --- Name: external_print_products; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.external_print_products ( - id integer NOT NULL, - orientation public.orientation_type NOT NULL, - accessory text NOT NULL, - width_mm numeric NOT NULL, - height_mm numeric NOT NULL, - width_inch numeric NOT NULL, - height_inch numeric NOT NULL, - external_product_id text NOT NULL, - inserted timestamp with time zone DEFAULT now(), - updated timestamp with time zone, - price_sek numeric NOT NULL, - group_id integer, - stock_status jsonb DEFAULT '[]'::jsonb -); - - --- --- Name: external_print_products_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -ALTER TABLE public.external_print_products ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY ( - SEQUENCE NAME public.external_print_products_id_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1 -); - - --- --- Name: flyers; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.flyers ( - flyerid integer NOT NULL, - name character varying(255) NOT NULL, - start timestamp with time zone NOT NULL, - "end" timestamp with time zone NOT NULL, - completion_limit integer, - territory character(2), - inserted timestamp with time zone DEFAULT now() NOT NULL, - updated timestamp with time zone -); - - --- --- Name: flyers_flyerid_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.flyers_flyerid_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: flyers_flyerid_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.flyers_flyerid_seq OWNED BY public.flyers.flyerid; - - --- --- Name: i18n-currencies; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public."i18n-currencies" ( - iso3char character varying(3) NOT NULL, - symbol character varying(5), - fractional_parts integer, - exchange_rate numeric DEFAULT 1, - locale character varying(50), - inserted timestamp with time zone DEFAULT now(), - updated timestamp with time zone -); - - --- --- Name: i18n-currencies_names; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public."i18n-currencies_names" ( - currency character varying(3) NOT NULL, - language character varying(3) NOT NULL, - name character varying(255), - name_counted character varying(255), - inserted timestamp with time zone DEFAULT now(), - updated timestamp with time zone -); - - --- --- Name: i18n-currencies_territories; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public."i18n-currencies_territories" ( - territory character varying NOT NULL, - currency character varying NOT NULL, - inserted timestamp with time zone DEFAULT now(), - updated timestamp with time zone -); - - --- --- Name: i18n-languages; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public."i18n-languages" ( - iso3char character varying(3) NOT NULL, - inserted timestamp with time zone DEFAULT now(), - updated timestamp with time zone -); - - --- --- Name: i18n-languages_names; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public."i18n-languages_names" ( - iso3char character varying(3) NOT NULL, - language character varying(3) NOT NULL, - name character varying(255), - inserted timestamp with time zone DEFAULT now(), - updated timestamp with time zone -); - - --- --- Name: i18n-languages_territories; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public."i18n-languages_territories" ( - language character varying(3) NOT NULL, - territory character varying(2) NOT NULL, - inserted timestamp with time zone DEFAULT now() NOT NULL, - updated timestamp with time zone -); - - --- --- Name: i18n-territories; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public."i18n-territories" ( - iso2char character varying(2) NOT NULL, - inserted timestamp with time zone DEFAULT now(), - updated timestamp with time zone, - vat numeric DEFAULT 1 NOT NULL -); - - --- --- Name: i18n-territories_names; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public."i18n-territories_names" ( - territory character varying(2) NOT NULL, - language character varying(3) NOT NULL, - name character varying(255), - inserted timestamp with time zone DEFAULT now(), - updated timestamp with time zone -); - - --- --- Name: i18n-texts; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public."i18n-texts" ( - textid integer NOT NULL, - name character varying(100) NOT NULL, - category character varying(255), - inserted timestamp with time zone DEFAULT now() NOT NULL, - updated timestamp with time zone -); - - --- --- Name: i18n-texts_data; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public."i18n-texts_data" ( - textid integer NOT NULL, - text text NOT NULL, - inserted timestamp with time zone DEFAULT now() NOT NULL, - updated timestamp with time zone, - locale_id integer NOT NULL -); - - --- --- Name: i18n-texts_textid_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public."i18n-texts_textid_seq" - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: i18n-texts_textid_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public."i18n-texts_textid_seq" OWNED BY public."i18n-texts".textid; - - --- --- Name: inquiries; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.inquiries ( - inquiryid integer NOT NULL, - company character varying(255), - firstname character varying(255), - lastname character varying(255), - email character varying(255), - phone character varying(255), - submitted timestamp with time zone DEFAULT now() NOT NULL, - status integer DEFAULT 1 NOT NULL, - product_group character varying(100), - msg text, - msg_internal text, - msg_effect text, - price_m2 numeric, - price_effect numeric, - price_retouch numeric, - width integer, - height integer, - x numeric, - y numeric, - effect integer, - inserted timestamp with time zone DEFAULT now() NOT NULL, - updated timestamp with time zone, - dealer_store integer, - framed integer DEFAULT 0 NOT NULL, - edge character varying(255), - mirrored integer DEFAULT 0 NOT NULL, - imagedonotprint character varying(10) DEFAULT false NOT NULL, - "artNo" character varying(255), - materialid integer DEFAULT 1 NOT NULL, - pricepremium numeric DEFAULT 0 NOT NULL, - "productId" integer, - timer integer, - uploaded integer DEFAULT 0, - in_cart integer DEFAULT 0 NOT NULL, - automated integer DEFAULT 0 NOT NULL, - img_hash character varying, - img_width integer, - img_height integer, - img_size bigint, - img_format character varying, - img_timestamp bigint, - hanger character varying, - deleted timestamp with time zone, - zendesk_ticket integer, - market_id integer NOT NULL, - locale_id integer NOT NULL -); - - --- --- Name: inquiries_inquiryid_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.inquiries_inquiryid_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: inquiries_inquiryid_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.inquiries_inquiryid_seq OWNED BY public.inquiries.inquiryid; - - --- --- Name: inquiry_markers; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.inquiry_markers ( - id integer NOT NULL, - inquiry_id integer NOT NULL, - comment text, - number integer NOT NULL -); - - --- --- Name: inquiry_markers_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.inquiry_markers_id_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: inquiry_markers_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.inquiry_markers_id_seq OWNED BY public.inquiry_markers.id; - - --- --- Name: inquiry_messages; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.inquiry_messages ( - id integer NOT NULL, - inquiry_id integer NOT NULL, - message text NOT NULL, - message_type integer NOT NULL, - created_at timestamp(0) without time zone DEFAULT now() NOT NULL, - user_id integer, - price numeric, - price_premium numeric, - price_total numeric, - material_id integer -); - - --- --- Name: inquiry_messages_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.inquiry_messages_id_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: inquiry_messages_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.inquiry_messages_id_seq OWNED BY public.inquiry_messages.id; - - --- --- Name: interiors; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.interiors ( - id integer NOT NULL, - print_id integer NOT NULL, - room_id integer, - "position" smallint DEFAULT 0 NOT NULL, - create_date timestamp with time zone DEFAULT now() NOT NULL -); - - --- --- Name: interiors2; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.interiors2 ( - id integer NOT NULL, - print_id integer NOT NULL, - room_id integer, - "position" smallint NOT NULL, - create_date timestamp with time zone NOT NULL -); - - --- --- Name: interiors_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.interiors_id_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: interiors_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.interiors_id_seq OWNED BY public.interiors.id; - - --- --- Name: invoices; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.invoices ( - id integer NOT NULL, - inserted timestamp with time zone DEFAULT now() NOT NULL, - order_id integer, - invoice_date date, - invoice_sent integer DEFAULT 0 NOT NULL -); - - --- --- Name: invoices_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.invoices_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: invoices_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.invoices_id_seq OWNED BY public.invoices.id; - - --- --- Name: keyword_type; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.keyword_type ( - keyword_id integer NOT NULL, - type_id integer -); - - --- --- Name: keywords; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.keywords ( - id integer NOT NULL, - value character varying(255) -); - - --- --- Name: keywords_i18n; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.keywords_i18n ( - parent_id integer NOT NULL, - en character varying(255) NOT NULL, - en_intl character varying(255) NOT NULL, - da character varying(255) NOT NULL, - fi character varying(255) NOT NULL, - fr character varying(255) NOT NULL, - de character varying(255) NOT NULL, - de_au character varying(255) NOT NULL, - nl character varying(255) NOT NULL, - no character varying(255) NOT NULL, - pl character varying(255) NOT NULL, - es character varying(255) NOT NULL, - sv character varying(255) NOT NULL -); - - --- --- Name: keywords_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.keywords_id_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: keywords_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.keywords_id_seq OWNED BY public.keywords.id; - - --- --- Name: keywordtypes; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.keywordtypes ( - id integer NOT NULL, - name character varying(255) -); - - --- --- Name: keywordtypes_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.keywordtypes_id_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: keywordtypes_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.keywordtypes_id_seq OWNED BY public.keywordtypes.id; - - --- --- Name: listprices; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.listprices ( - printproduct_id integer NOT NULL, - market_id integer NOT NULL, - listprice integer -); - - --- --- Name: locales; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.locales ( - id integer NOT NULL, - value character(5), - fallback_id integer, - name text NOT NULL -); - - --- --- Name: locales_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.locales_id_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: locales_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.locales_id_seq OWNED BY public.locales.id; - - --- --- Name: market_locales; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.market_locales ( - id integer NOT NULL, - market_id integer NOT NULL, - locale_id integer NOT NULL, - name text NOT NULL -); - - --- --- Name: market_locales_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.market_locales_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: market_locales_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.market_locales_id_seq OWNED BY public.market_locales.id; - - --- --- Name: markets; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.markets ( - id integer NOT NULL, - name character varying, - vat numeric NOT NULL, - currency text NOT NULL, - price_adjustment numeric DEFAULT 1 NOT NULL -); - - --- --- Name: markets_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.markets_id_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: markets_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.markets_id_seq OWNED BY public.markets.id; - - --- --- Name: order-fields_fieldid_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public."order-fields_fieldid_seq" - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: order-fields; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public."order-fields" ( - fieldid integer DEFAULT nextval('public."order-fields_fieldid_seq"'::regclass) NOT NULL, - name character varying(255), - inserted timestamp with time zone DEFAULT now(), - updated timestamp with time zone -); - - --- --- Name: order-invoiceId; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public."order-invoiceId" - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: order-invoiceIdAT; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public."order-invoiceIdAT" - START WITH 1000 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: order-invoiceIdBE; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public."order-invoiceIdBE" - START WITH 1000 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: order-invoiceIdCA; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public."order-invoiceIdCA" - START WITH 1000 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: order-invoiceIdDE; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public."order-invoiceIdDE" - START WITH 1000 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: order-invoiceIdDK; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public."order-invoiceIdDK" - START WITH 1000 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: order-invoiceIdES; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public."order-invoiceIdES" - START WITH 1000 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: order-invoiceIdFI; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public."order-invoiceIdFI" - START WITH 1000 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: order-invoiceIdFR; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public."order-invoiceIdFR" - START WITH 1000 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: order-invoiceIdGB; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public."order-invoiceIdGB" - START WITH 1000 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: order-invoiceIdIT; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public."order-invoiceIdIT" - START WITH 1000 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: order-invoiceIdLT; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public."order-invoiceIdLT" - START WITH 1000 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: order-invoiceIdNL; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public."order-invoiceIdNL" - START WITH 1000 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: order-invoiceIdNO; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public."order-invoiceIdNO" - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: order-invoiceIdPL; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public."order-invoiceIdPL" - START WITH 1000 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: order-orders_orderid_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public."order-orders_orderid_seq" - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: order-orders; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public."order-orders" ( - orderid integer DEFAULT nextval('public."order-orders_orderid_seq"'::regclass) NOT NULL, - inserted timestamp with time zone DEFAULT now(), - updated timestamp with time zone -); - - --- --- Name: order-orders_fields; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public."order-orders_fields" ( - orderid integer NOT NULL, - fieldid integer NOT NULL, - value text, - inserted timestamp with time zone DEFAULT now(), - updated timestamp with time zone -); - - --- --- Name: order-row_fields_fieldid_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public."order-row_fields_fieldid_seq" - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: order-row_fields; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public."order-row_fields" ( - fieldid integer DEFAULT nextval('public."order-row_fields_fieldid_seq"'::regclass) NOT NULL, - name character varying(255) NOT NULL, - inserted timestamp with time zone DEFAULT now(), - updated timestamp with time zone -); - - --- --- Name: order-rows_rowid_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public."order-rows_rowid_seq" - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: order-rows; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public."order-rows" ( - orderid integer NOT NULL, - rowid integer DEFAULT nextval('public."order-rows_rowid_seq"'::regclass) NOT NULL, - inserted timestamp with time zone DEFAULT now(), - updated timestamp with time zone -); - - --- --- Name: order-rows_details; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public."order-rows_details" ( - rowid integer NOT NULL, - fieldid integer NOT NULL, - value text, - inserted timestamp with time zone DEFAULT now(), - updated timestamp with time zone -); - - --- --- Name: order_rows; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.order_rows ( - id integer NOT NULL, - type public.order_row_type NOT NULL, - sub_type public.order_row_sub_type NOT NULL, - status public.order_row_status DEFAULT 'no_status'::public.order_row_status, - order_id integer, - designer_id integer, - inserted timestamp with time zone DEFAULT now(), - updated timestamp with time zone, - price numeric NOT NULL, - commission_amount numeric DEFAULT 0.0, - data jsonb, - external_status public.external_status_type DEFAULT 'N/A'::public.external_status_type NOT NULL -); - - --- --- Name: COLUMN order_rows.price; Type: COMMENT; Schema: public; Owner: - --- - -COMMENT ON COLUMN public.order_rows.price IS 'Price without VAT'; - - --- --- Name: order_rows_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -ALTER TABLE public.order_rows ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY ( - SEQUENCE NAME public.order_rows_id_seq - START WITH 2500000 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1 -); - - --- --- Name: orderlogs; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.orderlogs ( - id integer NOT NULL, - created timestamp with time zone NOT NULL -); - - --- --- Name: orderlogs_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.orderlogs_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: orderlogs_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.orderlogs_id_seq OWNED BY public.orderlogs.id; - - --- --- Name: orders; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.orders ( - id integer NOT NULL, - inserted timestamp with time zone DEFAULT now() NOT NULL, - paid integer DEFAULT 0 NOT NULL, - confirmed integer DEFAULT 0 NOT NULL, - delivered integer DEFAULT 0 NOT NULL, - newsletter integer DEFAULT 0 NOT NULL, - credit_invoice integer DEFAULT 0 NOT NULL, - canceled integer DEFAULT 0 NOT NULL, - reminder integer DEFAULT 0 NOT NULL, - delivered_date date, - country_code character varying(2), - language character varying(2), - delivery_country_code character varying(2), - delivery_method text, - delivery_price numeric, - delivery_vat numeric, - customer_type text, - payment_type text, - attention text, - currency character varying(3), - exchange_rate numeric, - exchange_rate_eur numeric, - invoice_id text, - contract_customer_id integer, - vat_number text, - comment text, - cancels_order_id integer, - cancelled_by_order_id integer, - orderlog_id integer, - reseller_store text, - order_sum numeric, - klarna_order_id text, - pwinty_id integer, - email text, - phone text, - delivery_email text, - delivery_phone text, - customer_firstname text, - customer_lastname text, - customer_email text, - customer_cellphone text, - billing_address_id integer, - delivery_address_id integer, - flyer_ids text, - market text, - locale text, - paypal_transaction_id text, - external_order_id text -); - - --- --- Name: orders_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.orders_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: orders_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.orders_id_seq OWNED BY public.orders.id; - - --- --- Name: permissions_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.permissions_id_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: printproducts_defaults; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.printproducts_defaults ( - print_id integer NOT NULL, - width_mm numeric NOT NULL, - height_mm numeric NOT NULL, - crop_x numeric DEFAULT 0 NOT NULL, - crop_y numeric DEFAULT 0 NOT NULL, - border public.border_types NOT NULL -); - - --- --- Name: product-currencies; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public."product-currencies" ( - iso3char character varying(3) NOT NULL, - exchange_rate numeric DEFAULT 1 -); - - --- --- Name: product-fields; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public."product-fields" ( - fieldid integer NOT NULL, - field character varying, - inserted timestamp with time zone DEFAULT now(), - updated timestamp with time zone -); - - --- --- Name: product-fields_fieldid_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public."product-fields_fieldid_seq" - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: product-fields_fieldid_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public."product-fields_fieldid_seq" OWNED BY public."product-fields".fieldid; - - --- --- Name: product-groups; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public."product-groups" ( - groupid integer NOT NULL, - "group" character varying, - inserted timestamp with time zone DEFAULT now(), - updated timestamp with time zone -); - - --- --- Name: product-groups_groupid_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public."product-groups_groupid_seq" - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: product-groups_groupid_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public."product-groups_groupid_seq" OWNED BY public."product-groups".groupid; - - --- --- Name: product-materials; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public."product-materials" ( - materialid integer NOT NULL, - material character varying(255) NOT NULL, - inserted timestamp with time zone DEFAULT now() NOT NULL, - updated timestamp with time zone, - price integer DEFAULT 1 NOT NULL -); - - --- --- Name: product-materials_materialid_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public."product-materials_materialid_seq" - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: product-materials_materialid_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public."product-materials_materialid_seq" OWNED BY public."product-materials".materialid; - - --- --- Name: product-printprices; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public."product-printprices" ( - groupid integer NOT NULL, - materialid integer NOT NULL, - price numeric NOT NULL, - inserted timestamp with time zone DEFAULT now() NOT NULL, - updated timestamp with time zone -); - - --- --- Name: product-printproducts; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public."product-printproducts" ( - printid integer NOT NULL, - productid integer NOT NULL, - groupid integer NOT NULL, - typeid integer, - inserted timestamp with time zone DEFAULT now(), - updated timestamp with time zone -); - - --- --- Name: product-printproducts_materials; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public."product-printproducts_materials" ( - printid integer NOT NULL, - materialid integer NOT NULL -); - - --- --- Name: product-printproducts_printid_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public."product-printproducts_printid_seq" - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: product-printproducts_printid_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public."product-printproducts_printid_seq" OWNED BY public."product-printproducts".printid; - - --- --- Name: product-products; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public."product-products" ( - productid integer NOT NULL, - path character varying(255) NOT NULL, - visible integer DEFAULT 0 NOT NULL, - browsable integer DEFAULT 1 NOT NULL, - designerid integer, - inserted timestamp with time zone DEFAULT now() NOT NULL, - updated timestamp with time zone, - ref1 text, - ref2 text, - ref3 text, - publishing_date timestamp with time zone DEFAULT now() -); - - --- --- Name: product-products_fields; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public."product-products_fields" ( - productid integer NOT NULL, - fieldid integer NOT NULL, - value character varying, - inserted timestamp with time zone DEFAULT now() NOT NULL, - updated timestamp with time zone -); - - --- --- Name: product-products_productid_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public."product-products_productid_seq" - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: product-products_productid_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public."product-products_productid_seq" OWNED BY public."product-products".productid; - - --- --- Name: product-products_products; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public."product-products_products" ( - productid1 integer NOT NULL, - productid2 integer NOT NULL -); - - --- --- Name: product-status-history; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public."product-status-history" ( - id integer NOT NULL, - rowid integer NOT NULL, - action integer NOT NULL, - reason integer NOT NULL, - when_field integer NOT NULL, - customer_satisfaction integer NOT NULL, - added_at timestamp with time zone DEFAULT now() NOT NULL -); - - --- --- Name: product-status-history_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public."product-status-history_id_seq" - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: product-status-history_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public."product-status-history_id_seq" OWNED BY public."product-status-history".id; - - --- --- Name: product-status-history_lookup; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public."product-status-history_lookup" ( - id integer NOT NULL, - group_status character varying NOT NULL, - name character varying NOT NULL -); - - --- --- Name: product-status-history_lookup_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public."product-status-history_lookup_id_seq" - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: product-status-history_lookup_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public."product-status-history_lookup_id_seq" OWNED BY public."product-status-history_lookup".id; - - --- --- Name: product-types; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public."product-types" ( - typeid integer NOT NULL, - type character varying, - inserted timestamp with time zone DEFAULT now(), - updated timestamp with time zone -); - - --- --- Name: product-types_typeid_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public."product-types_typeid_seq" - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: product-types_typeid_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public."product-types_typeid_seq" OWNED BY public."product-types".typeid; - - --- --- Name: product_blacklist; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.product_blacklist ( - id integer NOT NULL, - product_id integer NOT NULL, - group_id integer, - created_at timestamp with time zone DEFAULT now() NOT NULL, - updated_at timestamp with time zone DEFAULT now() NOT NULL, - market_id integer NOT NULL -); - - --- --- Name: product_blacklist_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.product_blacklist_id_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: product_blacklist_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.product_blacklist_id_seq OWNED BY public.product_blacklist.id; - - --- --- Name: product_category; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.product_category ( - product_id integer NOT NULL, - category_id integer NOT NULL -); - - --- --- Name: product_keyword; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.product_keyword ( - product_id integer NOT NULL, - keyword_id integer NOT NULL -); - - --- --- Name: product_wallpapertypes; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.product_wallpapertypes ( - product_id integer NOT NULL, - wallpapertype_id integer NOT NULL -); - - --- --- Name: redirects; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.redirects ( - id integer NOT NULL, - source_uri character varying NOT NULL, - target_uri character varying NOT NULL, - market_locale_id integer NOT NULL -); - - --- --- Name: redirects_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.redirects_id_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: redirects_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.redirects_id_seq OWNED BY public.redirects.id; - - --- --- Name: roles_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.roles_id_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: room_types; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.room_types ( - id integer NOT NULL, - name character varying -); - - --- --- Name: room_types_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.room_types_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: room_types_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.room_types_id_seq OWNED BY public.room_types.id; - - --- --- Name: rooms; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.rooms ( - id integer NOT NULL, - name character varying(255) NOT NULL, - room_type_id integer, - s3_suffix text -); - - --- --- Name: rooms_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.rooms_id_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: rooms_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.rooms_id_seq OWNED BY public.rooms.id; - - --- --- Name: samples; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.samples ( - id integer NOT NULL, - artno character varying, - material_id integer, - address_id integer, - quantity integer NOT NULL, - date_processed timestamp with time zone, - status character varying NOT NULL, - order_id integer, - order_row_id integer -); - - --- --- Name: samples_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.samples_id_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: samples_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.samples_id_seq OWNED BY public.samples.id; - - --- --- Name: slideshow_slides; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.slideshow_slides ( - id integer NOT NULL, - inserted timestamp with time zone DEFAULT now() NOT NULL, - visible integer DEFAULT 0 NOT NULL, - "position" integer, - comment text, - target_url text, - desktop_image text, - mobile_image text, - tablet_image text, - hide_resellers integer DEFAULT 0 NOT NULL, - name text, - campaign text, - market_locale_id integer NOT NULL -); - - --- --- Name: slideshow_slides_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.slideshow_slides_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: slideshow_slides_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.slideshow_slides_id_seq OWNED BY public.slideshow_slides.id; - - --- --- Name: stockproducts; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.stockproducts ( - id integer NOT NULL, - product_id integer NOT NULL, - name text NOT NULL, - in_stock boolean DEFAULT true NOT NULL, - updated timestamp without time zone -); - - --- --- Name: teaser_images; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.teaser_images ( - id integer NOT NULL, - key character varying -); - - --- --- Name: teaser_images_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.teaser_images_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: teaser_images_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.teaser_images_id_seq OWNED BY public.teaser_images.id; - - --- --- Name: temp_without_new_rooms; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.temp_without_new_rooms ( - interiors_id integer, - print_id integer, - room_id integer, - interiors_position integer, - room_name text -); - - --- --- Name: test; Type: MATERIALIZED VIEW; Schema: public; Owner: - --- - -CREATE MATERIALIZED VIEW public.test AS - SELECT orders.id - FROM public.orders - LIMIT 10 - WITH NO DATA; - - --- --- Name: v_analytics_contract_customer_discounts; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW public.v_analytics_contract_customer_discounts AS - SELECT order_rows.order_id AS orderid, - order_rows.id AS rowid, - orders.delivery_vat AS vat, - order_rows.price, - round((((order_rows.data ->> 'percent'::text))::numeric / (100)::numeric), 2) AS percent - FROM (public.order_rows - JOIN public.orders ON ((orders.id = order_rows.order_id))) - WHERE (order_rows.sub_type = 'contract_customer_discount'::public.order_row_sub_type); - - --- --- Name: v_analytics_discounts; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW public.v_analytics_discounts AS - SELECT order_rows.order_id AS orderid, - order_rows.id AS rowid, - (order_rows.data ->> 'type'::text) AS type, - orders.delivery_vat AS vat, - (abs((order_rows.price / orders.exchange_rate)))::double precision AS price_sek, - (order_rows.data ->> 'code'::text) AS code, - (order_rows.data ->> 'no_shipping'::text) AS no_shipping - FROM (public.order_rows - JOIN public.orders ON ((orders.id = order_rows.order_id))) - WHERE (order_rows.sub_type = 'discount_code'::public.order_row_sub_type); - - --- --- Name: v_analytics_inquiries; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW public.v_analytics_inquiries AS - SELECT inquiries.inquiryid, - (inquiries.inserted)::date AS inserted, - (inquiries.updated)::date AS updated, - inquiries.company, - inquiries.firstname, - inquiries.lastname AS email, - inquiries.market_id, - inquiries.locale_id AS product_group, - inquiries.price_m2, - inquiries.price_effect, - inquiries.price_retouch, - inquiries.width, - inquiries.height, - inquiries."artNo", - inquiries.materialid, - inquiries.zendesk_ticket, - order_rows.id AS order_row_id, - order_rows.order_id - FROM (public.inquiries - LEFT JOIN public.order_rows ON (((order_rows.data ->> 'inquiryid'::text) = (inquiries.inquiryid)::text))) - ORDER BY ((inquiries.inserted)::date) DESC; - - --- --- Name: v_analytics_order_rows; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW public.v_analytics_order_rows AS - SELECT - CASE - WHEN (orders.market IS NULL) THEN 'Unknown'::text - WHEN (orders.market = 'GB'::text) THEN 'Photowall UK'::text - WHEN (orders.market = 'GLOBAL'::text) THEN 'Photowall OTHER'::text - ELSE ('Photowall '::text || orders.market) - END AS account, - order_rows.order_id AS orderid, - order_rows.id AS rowid, - (orders.inserted)::date AS orderdate, - (order_rows.data ->> 'artNo'::text) AS artno, - (order_rows.data ->> 'productId'::text) AS productid, - (order_rows.data ->> 'name'::text) AS name, - (order_rows.data ->> 'inquiryid'::text) AS inquiryid, - CASE - WHEN (order_rows.type = 'sample'::public.order_row_type) THEN 'Sample'::text - ELSE COALESCE((order_rows.data ->> 'group'::text), (order_rows.type)::text) - END AS type, - (order_rows.data ->> 'material'::text) AS material, - COALESCE((((order_rows.data ->> 'width_mm'::text))::double precision / (10)::double precision), ((order_rows.data ->> 'width'::text))::double precision) AS width, - COALESCE((((order_rows.data ->> 'height_mm'::text))::double precision / (10)::double precision), ((order_rows.data ->> 'height'::text))::double precision) AS height, - CASE - WHEN (order_rows.status = 'process'::public.order_row_status) THEN 'Ready for processing'::text - WHEN (order_rows.status = 'print'::public.order_row_status) THEN 'Ready for packing'::text - WHEN (order_rows.status = 'packed'::public.order_row_status) THEN 'Ready for sending'::text - WHEN (order_rows.status = 'sent'::public.order_row_status) THEN 'Sent'::text - ELSE 'Unknown'::text - END AS status, - (order_rows.data ->> 'commission'::text) AS commission_percent, - round(((order_rows.data ->> 'height'::text))::double precision) AS commission_amount, - (order_rows.data ->> 'discountType'::text) AS discount_type, - (order_rows.data ->> 'discountValue'::text) AS discount_value, - CASE - WHEN ((order_rows.data ->> 'discountType'::text) <> '%'::text) THEN (((order_rows.data ->> 'discountValue'::text))::double precision / (orders.exchange_rate)::double precision) - ELSE NULL::double precision - END AS discount_amount_sek, - (orders.currency)::text AS order_currency, - (order_rows.data ->> 'designer'::text) AS designer, - ((order_rows.price / orders.exchange_rate))::double precision AS item_value_sek, - (order_rows.data ->> 'framed'::text) AS canvas_frame, - (order_rows.data ->> 'posterHanger'::text) AS poster_hanger, - (order_rows.data ->> 'frame_color'::text) AS framed_print_frame, - (order_rows.price)::double precision AS price, - orders.delivery_vat AS vat - FROM (public.order_rows - LEFT JOIN public.orders ON ((orders.id = order_rows.order_id))) - WHERE (order_rows.type = ANY (ARRAY['print'::public.order_row_type, 'stock'::public.order_row_type, 'sample'::public.order_row_type])); - - --- --- Name: v_analytics_orders; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW public.v_analytics_orders AS - SELECT - CASE - WHEN (billing_address.country_code IS NULL) THEN 'Unknown'::text - WHEN ((billing_address.country_code)::text = 'GB'::text) THEN 'Photowall UK'::text - WHEN ((billing_address.country_code)::text = ANY (ARRAY['SE'::text, 'NO'::text, 'DE'::text, 'AT'::text, 'FR'::text, 'ES'::text, 'FI'::text, 'DK'::text, 'PL'::text, 'US'::text, 'NL'::text])) THEN ('Photowall '::text || (billing_address.country_code)::text) - ELSE 'Photowall OTHER'::text - END AS account, - (orders.inserted)::date AS orderdate, - COALESCE((confirmed.value)::boolean, false) AS confirmed, - COALESCE((paid.value)::boolean, false) AS paid, - COALESCE((delivered.value)::boolean, false) AS delivered, - orders.orderid, - billing_address.first_name, - billing_address.last_name, - md5(((billing_address.company_name)::text || 'vX9Px6g6yOBRTKRyH6Kt'::text)) AS company, - md5(((billing_address.address1)::text || 'gK8fM79jomiQK4joWc3t'::text)) AS address, - billing_address.zipcode AS postal_code, - billing_address.city, - billing_address.country_code AS country, - email.value AS email, - ((order_sum.value)::double precision / (exchange_rate.value)::double precision) AS order_value_sek - FROM ((((((((public."order-orders" orders - LEFT JOIN public."order-orders_fields" confirmed ON (((orders.orderid = confirmed.orderid) AND (confirmed.fieldid = 175)))) - LEFT JOIN public."order-orders_fields" delivered ON (((orders.orderid = delivered.orderid) AND (delivered.fieldid = 176)))) - LEFT JOIN public."order-orders_fields" paid ON (((orders.orderid = paid.orderid) AND (paid.fieldid = 168)))) - LEFT JOIN public."order-orders_fields" email ON (((orders.orderid = email.orderid) AND (email.fieldid = 184)))) - LEFT JOIN public."order-orders_fields" order_sum ON (((orders.orderid = order_sum.orderid) AND (order_sum.fieldid = 246)))) - LEFT JOIN public."order-orders_fields" exchange_rate ON (((orders.orderid = exchange_rate.orderid) AND (exchange_rate.fieldid = 171)))) - LEFT JOIN public."order-orders_fields" billing_address_id ON (((billing_address_id.fieldid = 255) AND (billing_address_id.orderid = orders.orderid)))) - LEFT JOIN public.addresses billing_address ON ((billing_address.id = (billing_address_id.value)::integer))); - - --- --- Name: v_analytics_orders2; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW public.v_analytics_orders2 AS - SELECT orders.id AS order_id, - orders.inserted AS order_date, - orders.delivered, - orders.newsletter, - orders.credit_invoice, - orders.canceled, - orders.reminder, - orders.delivered_date, - orders.country_code, - orders.language, - orders.delivery_country_code, - orders.delivery_method, - orders.delivery_price, - orders.customer_type, - orders.payment_type, - orders.currency, - orders.exchange_rate, - orders.exchange_rate_eur, - orders.invoice_id, - orders.contract_customer_id, - orders.vat_number, - orders.cancels_order_id, - orders.cancelled_by_order_id, - orders.reseller_store, - orders.order_sum, - (orders.order_sum / orders.exchange_rate) AS order_sum_sek, - billing_address.email, - billing_address.phone, - billing_address.address1 AS billing_address_address1, - billing_address.address2 AS billing_address_address2, - billing_address.company_name AS billing_address_company_name, - billing_address.country_code AS billing_address_country_code, - billing_address.city AS billing_address_city, - billing_address.zipcode AS billing_address_zipcode, - billing_address.first_name AS billing_address_first_name, - billing_address.last_name AS billing_address_last_name, - billing_address.state AS billing_address_state, - delivery_address.address1 AS delivery_address_address1, - delivery_address.address2 AS delivery_address_address2, - delivery_address.company_name AS delivery_address_company_name, - delivery_address.country_code AS delivery_address_country_code, - delivery_address.city AS delivery_address_city, - delivery_address.zipcode AS delivery_address_zipcode, - delivery_address.first_name AS delivery_address_first_name, - delivery_address.last_name AS delivery_address_last_name, - delivery_address.state AS delivery_address_state - FROM ((public.orders - JOIN public.addresses billing_address ON ((billing_address.id = orders.billing_address_id))) - LEFT JOIN public.addresses delivery_address ON ((delivery_address.id = orders.delivery_address_id))) - WHERE (orders.paid = 1); - - --- --- Name: v_analytics_orders_not_delivered; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW public.v_analytics_orders_not_delivered AS - SELECT - CASE - WHEN (orders.market IS NULL) THEN 'Unknown'::text - WHEN (orders.market = 'GB'::text) THEN 'Photowall UK'::text - WHEN (orders.market = 'GLOBAL'::text) THEN 'Photowall OTHER'::text - ELSE ('Photowall '::text || orders.market) - END AS account, - (orders.inserted)::date AS orderdate, - orders.id AS orderid, - md5(((billing_address.first_name)::text || 'secret'::text)) AS first_name, - md5(((billing_address.last_name)::text || 'secret'::text)) AS last_name, - md5(((billing_address.company_name)::text || 'secret'::text)) AS company, - md5(((billing_address.address1)::text || 'secret'::text)) AS address, - billing_address.zipcode AS postal_code, - billing_address.city, - billing_address.country_code AS country, - md5((billing_address.email || 'secret'::text)) AS email, - ((orders.order_sum)::double precision / (orders.exchange_rate)::double precision) AS order_value_sek - FROM (public.orders - LEFT JOIN public.addresses billing_address ON ((billing_address.id = orders.billing_address_id))) - WHERE ((orders.confirmed = 1) AND (orders.delivered = 0) AND (orders.canceled = 0) AND (orders.paid = 1)); - - --- --- Name: v_analytics_orders_rows_not_delivered; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW public.v_analytics_orders_rows_not_delivered AS - SELECT order_rows.id AS order_row_id, - orders.id AS orderid, - orders.inserted AS order_date, - (order_rows.data ->> 'group'::text) AS product_group, - (order_rows.data ->> 'artNo'::text) AS artno, - (order_rows.status)::text AS status, - (order_rows.data ->> 'name'::text) AS name, - (order_rows.data ->> 'material'::text) AS material - FROM (public.order_rows - JOIN public.orders ON ((order_rows.order_id = orders.id))) - WHERE ((order_rows.type = ANY (ARRAY['print'::public.order_row_type, 'stock'::public.order_row_type])) AND (orders.confirmed = 1) AND (orders.delivered = 0) AND (orders.canceled = 0) AND (orders.paid = 1)); - - --- --- Name: v_esales_categorytree_i18n; Type: MATERIALIZED VIEW; Schema: public; Owner: - --- - -CREATE MATERIALIZED VIEW public.v_esales_categorytree_i18n AS - SELECT main.id, - main.parent_id, - main.locale_id, - main.locale, - main.name, - main.path, - main.is_leaf, - main.depth, - main.child_count, - main.lft, - main.rgt - FROM ( SELECT c.id, - ( SELECT s.id - FROM public.categories s - WHERE ((s.lft < c.lft) AND (s.rgt > c.rgt)) - ORDER BY (s.rgt - c.rgt) - LIMIT 1) AS parent_id, - c.locale_id, - c.locale, - c.name, - ( SELECT lower(array_to_string(array_agg(main_1.parent_name), '/'::text)) AS path - FROM ( SELECT node.id, - ( SELECT category_texts.name - FROM public.category_texts - WHERE ((category_texts.locale_id = c.locale_id) AND (category_texts.category_id = parent.id))) AS parent_name - FROM public.categories node, - public.categories parent - WHERE ((node.lft >= parent.lft) AND (node.lft <= parent.rgt) AND (node.id = c.id)) - ORDER BY parent.lft) main_1 - GROUP BY main_1.id) AS path, - CASE (c.rgt - c.lft) - WHEN 1 THEN 1 - ELSE 0 - END AS is_leaf, - ( SELECT (count(*) - 1) - FROM public.categories node, - public.categories parent - WHERE ((node.lft >= parent.lft) AND (node.lft <= parent.rgt) AND (node.id = c.id))) AS depth, - ( SELECT (count(*) - 1) - FROM public.categories c1 - WHERE ((c1.lft >= c.lft) AND (c1.lft <= c.rgt))) AS child_count, - c.lft, - c.rgt - FROM ( SELECT c_1.id, - s.id AS locale_id, - s.value AS locale, - lower((s_t.name)::text) AS name, - c_1.rgt, - c_1.lft - FROM ((public.locales s - JOIN public.category_texts s_t ON ((s.id = s_t.locale_id))) - JOIN public.categories c_1 ON ((s_t.category_id = c_1.id))) - ORDER BY s.id, c_1.lft) c) main - WITH NO DATA; - - --- --- Name: v_analytics_product_categories; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW public.v_analytics_product_categories AS - SELECT DISTINCT tree.id AS category_id, - public.getsafexmlpath((tree.path)::character varying, 2) AS category_path, - category_texts.name AS category_name, - product_category.product_id - FROM ((((public.product_category - JOIN public.categories ON ((product_category.category_id = categories.id))) - JOIN public.categories hidden_category ON (((hidden_category.name)::text = 'hidden'::text))) - JOIN public.v_esales_categorytree_i18n tree ON (((((tree.lft < categories.lft) AND (tree.rgt > categories.rgt)) OR (categories.id = tree.id)) AND (tree.id <> 1) AND ((tree.lft < hidden_category.lft) OR (tree.lft > hidden_category.rgt))))) - JOIN public.category_texts ON (((tree.id = category_texts.category_id) AND (tree.locale_id = category_texts.locale_id)))) - WHERE (tree.locale_id = 3); - - --- --- Name: v_analytics_products; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW public.v_analytics_products AS - SELECT products.productid AS product_id, - products.path AS product_path, - products.visible, - products.browsable, - products.inserted AS product_inserted, - products.updated AS product_updated, - designers.designerid AS designer_id, - designers.name AS designer_name, - products.ref1, - products.ref2, - products.ref3, - artno.value AS artno, - name.value AS product_name, - (width.value)::integer AS width, - (height.value)::integer AS height, - copyright.value AS copyright, - batch.value AS batch - FROM (((((((public."product-products" products - LEFT JOIN public.designers ON ((products.designerid = designers.designerid))) - LEFT JOIN public."product-products_fields" artno ON (((artno.fieldid = 1) AND (artno.productid = products.productid)))) - LEFT JOIN public."product-products_fields" name ON (((name.fieldid = 2) AND (name.productid = products.productid)))) - LEFT JOIN public."product-products_fields" width ON (((width.fieldid = 5) AND (width.productid = products.productid)))) - LEFT JOIN public."product-products_fields" height ON (((height.fieldid = 3) AND (height.productid = products.productid)))) - LEFT JOIN public."product-products_fields" copyright ON (((copyright.fieldid = 25) AND (copyright.productid = products.productid)))) - LEFT JOIN public."product-products_fields" batch ON (((batch.fieldid = 36) AND (batch.productid = products.productid)))); - - --- --- Name: v_category_keyword; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW public.v_category_keyword AS - SELECT NULL::integer AS id, - main.id AS parent_id, - k.keyword_id, - ( SELECT keywords.value - FROM public.keywords - WHERE (keywords.id = k.keyword_id) - LIMIT 1) AS value, - CASE - WHEN (main.id = main.parent_id) THEN false - ELSE true - END AS static - FROM (( SELECT node.id, - parent.id AS parent_id - FROM public.categories node, - public.categories parent - WHERE ((node.lft >= parent.lft) AND (node.lft <= parent.rgt)) - ORDER BY parent.lft) main - JOIN public.category_keyword k ON ((main.parent_id = k.category_id))); - - --- --- Name: v_categorytree; Type: MATERIALIZED VIEW; Schema: public; Owner: - --- - -CREATE MATERIALIZED VIEW public.v_categorytree AS - SELECT c.id, - c.name, - ( SELECT array_to_string(array_agg(main.parent_name), '/'::text) AS path - FROM ( SELECT node.id, - parent.name AS parent_name - FROM public.categories node, - public.categories parent - WHERE ((node.lft >= parent.lft) AND (node.lft <= parent.rgt) AND (node.id = c.id)) - ORDER BY parent.lft) main - GROUP BY main.id) AS path, - ( SELECT array_to_string(array_agg(main.parent_id), '/'::text) AS path - FROM ( SELECT node.id, - parent.id AS parent_id - FROM public.categories node, - public.categories parent - WHERE ((node.lft >= parent.lft) AND (node.lft <= parent.rgt) AND (node.id = c.id)) - ORDER BY parent.lft) main - GROUP BY main.id) AS path_numeric, - CASE (c.rgt - c.lft) - WHEN 1 THEN 1 - ELSE 0 - END AS is_leaf, - ( SELECT (count(*) - 1) - FROM public.categories node, - public.categories parent - WHERE ((node.lft >= parent.lft) AND (node.lft <= parent.rgt) AND (node.id = c.id))) AS depth, - ( SELECT (count(*) - 1) - FROM public.categories c1 - WHERE ((c1.lft >= c.lft) AND (c1.lft <= c.rgt))) AS child_count, - c.lft, - c.rgt - FROM public.categories c - ORDER BY c.lft - WITH NO DATA; - - --- --- Name: v_categorytree_bak; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW public.v_categorytree_bak AS - SELECT c.id, - c.name, - ( SELECT array_to_string(array_agg(main.parent_name), '/'::text) AS path - FROM ( SELECT node.id, - parent.name AS parent_name - FROM public.categories node, - public.categories parent - WHERE ((node.lft >= parent.lft) AND (node.lft <= parent.rgt) AND (node.id = c.id)) - ORDER BY parent.lft) main - GROUP BY main.id) AS path, - ( SELECT array_to_string(array_agg(main.parent_id), '/'::text) AS path - FROM ( SELECT node.id, - parent.id AS parent_id - FROM public.categories node, - public.categories parent - WHERE ((node.lft >= parent.lft) AND (node.lft <= parent.rgt) AND (node.id = c.id)) - ORDER BY parent.lft) main - GROUP BY main.id) AS path_numeric, - CASE (c.rgt - c.lft) - WHEN 1 THEN 1 - ELSE 0 - END AS is_leaf, - ( SELECT (count(*) - 1) - FROM public.categories node, - public.categories parent - WHERE ((node.lft >= parent.lft) AND (node.lft <= parent.rgt) AND (node.id = c.id))) AS depth, - ( SELECT (count(*) - 1) - FROM public.categories c1 - WHERE ((c1.lft >= c.lft) AND (c1.lft <= c.rgt))) AS child_count, - c.lft, - c.rgt - FROM public.categories c - ORDER BY c.lft; - - --- --- Name: v_esales_category_count; Type: MATERIALIZED VIEW; Schema: public; Owner: - --- - -CREATE MATERIALIZED VIEW public.v_esales_category_count AS - SELECT main.id, - main.market_id, - main.product_id, - main.groupid, - main.wallpapertype_id, - CASE - WHEN ((main.blacklist_id IS NULL) AND (main.visible = 1) AND (main.browsable = 1)) THEN true - ELSE false - END AS is_visible - FROM ( SELECT p.id, - markets.id AS market_id, - pc.product_id, - pp.groupid, - CASE pp.groupid - WHEN 2 THEN NULL::integer - ELSE pw.wallpapertype_id - END AS wallpapertype_id, - ( SELECT product_blacklist.id - FROM public.product_blacklist - WHERE ((product_blacklist.product_id = pc.product_id) AND (product_blacklist.market_id = markets.id) AND ((product_blacklist.group_id = pp.groupid) OR (product_blacklist.group_id IS NULL)))) AS blacklist_id, - prod.visible, - prod.browsable - FROM (((((public.categories p - JOIN public.categories c ON (((c.lft >= p.lft) AND (c.rgt <= p.rgt)))) - JOIN public.product_category pc ON ((c.id = pc.category_id))) - JOIN ( SELECT "product-printproducts".productid, - "product-printproducts".groupid - FROM public."product-printproducts") pp ON ((pc.product_id = pp.productid))) - JOIN ( SELECT "product-products".productid, - "product-products".visible, - "product-products".browsable - FROM public."product-products") prod ON ((pc.product_id = prod.productid))) - LEFT JOIN public.product_wallpapertypes pw ON ((pc.product_id = pw.product_id))), - public.markets) main - GROUP BY main.id, main.market_id, main.product_id, main.groupid, main.wallpapertype_id, main.visible, main.browsable, main.blacklist_id - WITH NO DATA; - - --- --- Name: v_esales_product_categories; Type: MATERIALIZED VIEW; Schema: public; Owner: - --- - -CREATE MATERIALIZED VIEW public.v_esales_product_categories AS - SELECT DISTINCT tree.id, - tree.locale_id, - public.getsafexmlpath((tree.path)::character varying, 2) AS path, - category_texts.name, - product_category.product_id - FROM ((((public.product_category - JOIN public.categories ON ((product_category.category_id = categories.id))) - JOIN public.categories hidden_category ON (((hidden_category.name)::text = 'hidden'::text))) - JOIN public.v_esales_categorytree_i18n tree ON (((((tree.lft < categories.lft) AND (tree.rgt > categories.rgt)) OR (categories.id = tree.id)) AND (tree.id <> 1) AND ((tree.lft < hidden_category.lft) OR (tree.lft > hidden_category.rgt))))) - JOIN public.category_texts ON (((tree.id = category_texts.category_id) AND (tree.locale_id = category_texts.locale_id)))) - WITH NO DATA; - - --- --- Name: v_funnel_discounts; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW public.v_funnel_discounts AS - SELECT order_rows.order_id AS orderid, - order_rows.id AS rowid, - (order_rows.data ->> 'type'::text) AS type, - orders.delivery_vat AS vat, - (abs((order_rows.price / orders.exchange_rate)))::double precision AS price_sek, - (order_rows.data ->> 'code'::text) AS code, - (order_rows.data ->> 'no_shipping'::text) AS no_shipping - FROM (public.order_rows - JOIN public.orders ON ((orders.id = order_rows.order_id))) - WHERE (order_rows.sub_type = 'discount_code'::public.order_row_sub_type); - - --- --- Name: v_funnel_order_rows; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW public.v_funnel_order_rows AS - SELECT r.id, - r.order_id, - r.inserted, - r.type, - r.sub_type, - r.status, - r.price, - r.commission_amount, - r.external_status, - (r.data ->> 'productId'::text) AS product_id, - (r.data ->> 'material'::text) AS material, - (r.data ->> 'artNo'::text) AS artno, - (r.data ->> 'designer'::text) AS designer - FROM public.order_rows r; - - --- --- Name: v_funnel_orders; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW public.v_funnel_orders AS - SELECT orders.id AS order_id, - orders.inserted AS order_date, - orders.delivered, - orders.newsletter, - orders.credit_invoice, - orders.canceled, - orders.delivered_date, - orders.country_code, - orders.language, - orders.delivery_country_code, - orders.delivery_method, - orders.delivery_price, - orders.delivery_vat AS vat, - orders.customer_type, - orders.payment_type, - orders.currency, - orders.exchange_rate, - orders.exchange_rate_eur, - orders.invoice_id, - orders.contract_customer_id, - orders.vat_number, - orders.cancels_order_id, - orders.cancelled_by_order_id, - orders.order_sum, - (orders.order_sum / orders.exchange_rate) AS order_sum_sek, - orders.market, - orders.locale, - encode(public.digest((billing_address.first_name)::text, 'sha256'::text), 'hex'::text) AS billing_address_first_name, - encode(public.digest((billing_address.last_name)::text, 'sha256'::text), 'hex'::text) AS billing_address_last_name, - encode(public.digest(billing_address.email, 'sha256'::text), 'hex'::text) AS email, - encode(public.digest(billing_address.phone, 'sha256'::text), 'hex'::text) AS phone, - encode(public.digest((billing_address.address1)::text, 'sha256'::text), 'hex'::text) AS billing_address_address1, - encode(public.digest((billing_address.address2)::text, 'sha256'::text), 'hex'::text) AS billing_address_address2, - billing_address.company_name AS billing_address_company_name, - billing_address.country_code AS billing_address_country_code, - billing_address.city AS billing_address_city, - billing_address.zipcode AS billing_address_zipcode, - billing_address.state AS billing_address_state, - encode(public.digest((delivery_address.first_name)::text, 'sha256'::text), 'hex'::text) AS delivery_address_first_name, - encode(public.digest((delivery_address.last_name)::text, 'sha256'::text), 'hex'::text) AS delivery_address_last_name, - encode(public.digest((delivery_address.address1)::text, 'sha256'::text), 'hex'::text) AS delivery_address_address1, - encode(public.digest((delivery_address.address2)::text, 'sha256'::text), 'hex'::text) AS delivery_address_address2, - delivery_address.company_name AS delivery_address_company_name, - delivery_address.country_code AS delivery_address_country_code, - delivery_address.city AS delivery_address_city, - delivery_address.zipcode AS delivery_address_zipcode, - delivery_address.state AS delivery_address_state - FROM ((public.orders - JOIN public.addresses billing_address ON ((billing_address.id = orders.billing_address_id))) - LEFT JOIN public.addresses delivery_address ON ((delivery_address.id = orders.delivery_address_id))) - WHERE (orders.paid = 1); - - --- --- Name: v_interior_image_urls; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW public.v_interior_image_urls AS - SELECT interiors.id AS interior_id, - "product-printproducts".productid, - interiors.print_id, - "product-printproducts".groupid AS product_group, - rooms.id AS room_id, - rooms.name AS room_name, - interiors."position", - room_types.name AS room_type, - CASE - WHEN (interiors.room_id IS NULL) THEN (('/interior-images/'::text || interiors.id) || '.jpg'::text) - ELSE ((('/interiors/'::text || "product-printproducts".productid) || '/'::text) || rooms.s3_suffix) - END AS uri - FROM ((((public.interiors - JOIN public."product-printproducts" ON (("product-printproducts".printid = interiors.print_id))) - JOIN public."product-groups" ON (("product-groups".groupid = "product-printproducts".groupid))) - LEFT JOIN public.rooms ON ((interiors.room_id = rooms.id))) - LEFT JOIN public.room_types ON ((room_types.id = rooms.room_type_id))); - - --- --- Name: v_order_rows; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW public.v_order_rows AS - SELECT r.rowid AS id, - r.orderid AS order_id, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 91))) AS printid, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 92))) AS productid, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 93))) AS "group", - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 94))) AS type, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 95))) AS artno, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 96))) AS path, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 97))) AS name, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 98))) AS price, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 99))) AS width, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 100))) AS height, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 101))) AS x, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 102))) AS y, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 103))) AS weight, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 104))) AS designer, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 105))) AS designerid, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 106))) AS commission, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 107))) AS commission_resale, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 108))) AS status, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 109))) AS process, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 110))) AS vat, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 111))) AS qty, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 112))) AS fixedvat, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 113))) AS modifier, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 114))) AS inquiryid, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 115))) AS code, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 116))) AS gvid, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 117))) AS currency, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 118))) AS comment, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 119))) AS stockprice, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 120))) AS commission_amount, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 121))) AS stockpricenote, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 122))) AS framed, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 123))) AS mirrored, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 124))) AS edge, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 125))) AS sealinglabel_printed, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 126))) AS imageprocessed, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 127))) AS imageprocessingrejected, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 128))) AS resolution, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 129))) AS imagedonotprint, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 130))) AS no_shipping, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 131))) AS material, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 132))) AS materialid, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 133))) AS stockid, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 134))) AS categoryid, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 135))) AS automated, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 136))) AS uploaded, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 137))) AS imghash, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 138))) AS namelocalized, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 139))) AS commission_agency, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 140))) AS commission_agency_resale, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 141))) AS commission_agency_amount, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 142))) AS discounttype, - ( SELECT s.value - FROM public."order-rows_details" s - WHERE ((s.rowid = r.rowid) AND (s.fieldid = 143))) AS discountvalue - FROM public."order-rows" r; - - --- --- Name: v_orders; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW public.v_orders AS - SELECT of.orderid AS id, - of.inserted AS order_date, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 158))) AS address, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 162))) AS att, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 216))) AS auto_confirm, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 200))) AS canceled, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 238))) AS cancelledbyorderid, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 237))) AS cancelsorderid, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 229))) AS checkout2, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 160))) AS city, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 155))) AS co, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 203))) AS comment, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 177))) AS company, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 189))) AS conditions, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 215))) AS confirmcode, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 175))) AS confirmed, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 214))) AS confirmtype, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 192))) AS contractcode, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 191))) AS contractcustomerid, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 161))) AS country, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 151))) AS countrycode, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 199))) AS creditinvoice, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 169))) AS currency, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 212))) AS customercellphone, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 211))) AS customeremail, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 209))) AS customerfirstname, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 210))) AS customerlastname, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 217))) AS customerreference, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 227))) AS customertype, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 174))) AS custominvoice, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 197))) AS debitechid, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 176))) AS delivered, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 225))) AS delivereddate, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 178))) AS delivertobillingaddress, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 181))) AS delivery_address, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 183))) AS delivery_city, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 180))) AS delivery_co, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 213))) AS delivery_countrycode, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 221))) AS delivery_firstname, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 234))) AS delivery_housenumber, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 222))) AS delivery_lastname, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 152))) AS deliverymethod, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 179))) AS delivery_name, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 153))) AS deliveryprice, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 154))) AS deliveryvat, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 182))) AS delivery_zipcode, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 184))) AS email, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 171))) AS exchangerate, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 223))) AS exchangerateeur, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 206))) AS expirationdate, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 156))) AS firstname, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 231))) AS gender, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 233))) AS houseextension, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 232))) AS housenumber, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 173))) AS invoice, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 166))) AS invoicedate, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 165))) AS invoicedays, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 172))) AS invoiceid, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 207))) AS invoicepaid, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 205))) AS invoicesent, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 201))) AS iscompany, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 230))) AS kco_reservation, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 224))) AS kreditorinvoicenr, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 198))) AS kreditorocr, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 190))) AS language, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 157))) AS lastname, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 188))) AS newsletter, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 164))) AS ourreference, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 168))) AS paid, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 187))) AS payment_cc, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 194))) AS payment_contractcode, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 193))) AS payment_contractcustomerid, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 226))) AS paymentoption, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 204))) AS payment_partpaymentoption, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 170))) AS paymenttype, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 228))) AS payment_value, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 218))) AS permit_custom_delivery, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 185))) AS phone, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 195))) AS readyforhandling, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 219))) AS reminder, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 167))) AS sent, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 236))) AS sessionid, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 186))) AS socialnr, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 235))) AS state, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 163))) AS theirreference, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 208))) AS url, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 202))) AS vatnumber, - ( SELECT s.value - FROM public."order-orders_fields" s - WHERE ((s.orderid = of.orderid) AND (s.fieldid = 159))) AS zipcode - FROM public."order-orders_fields" of - GROUP BY of.orderid, of.inserted; - - --- --- Name: v_product; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW public.v_product AS - SELECT main.product_id AS id, - main."artNo", - stock.id AS stock_id, - stock.price AS stock_price, - main.path, - main.visible, - main.browsable, - main.designerid, - main.name, - main.height, - main.print_file_height, - main.original_article_number, - main.width, - main.print_file_width, - main.widths, - main.min_height, - main.min_width, - main.max_height, - main.max_width, - main.photowall_resolution, - main.canvas_resolution, - main.wallpaper_resolution, - main.print_file_dpi, - main.lock_height, - COALESCE(main.additionalprice, (0)::double precision) AS additionalprice, - main.ref1, - main.ref2, - main.ref3, - main.copyright, - main.proportions_warning, - main.margin_width_max, - main.margin_width_min, - main.margin_height_max, - main.margin_height_min, - ((main.width)::numeric / - CASE - WHEN (main.height = 0) THEN '-1.0'::numeric - ELSE (main.height)::numeric - END) AS width_height_ratio, - main.batch, - main.image_resolution, - main."focusXpoint", - main."focusYpoint", - main."focusXpoint2", - main."focusYpoint2", - main.repeating_pattern - FROM (( SELECT products.productid AS product_id, - products.path, - products.visible, - products.browsable, - products.designerid, - ( SELECT "product-products_fields".value - FROM public."product-products_fields" - WHERE (("product-products_fields".productid = products.productid) AND ("product-products_fields".fieldid = ( SELECT "product-fields".fieldid - FROM public."product-fields" - WHERE (("product-fields".field)::text = 'artNo'::text) - LIMIT 1)))) AS "artNo", - ( SELECT "product-products_fields".value - FROM public."product-products_fields" - WHERE (("product-products_fields".productid = products.productid) AND ("product-products_fields".fieldid = ( SELECT "product-fields".fieldid - FROM public."product-fields" - WHERE (("product-fields".field)::text = 'name'::text) - LIMIT 1)))) AS name, - (( SELECT "product-products_fields".value - FROM public."product-products_fields" - WHERE (("product-products_fields".productid = products.productid) AND ("product-products_fields".fieldid = ( SELECT "product-fields".fieldid - FROM public."product-fields" - WHERE (("product-fields".field)::text = 'height'::text) - LIMIT 1)) AND (("product-products_fields".value)::text ~ '^\d+$'::text))))::integer AS height, - (( SELECT "product-products_fields".value - FROM public."product-products_fields" - WHERE (("product-products_fields".productid = products.productid) AND ("product-products_fields".fieldid = ( SELECT "product-fields".fieldid - FROM public."product-fields" - WHERE (("product-fields".field)::text = 'print_file_height'::text) - LIMIT 1)) AND (("product-products_fields".value)::text ~ '^\d+$'::text))))::integer AS print_file_height, - ( SELECT "product-products_fields".value - FROM public."product-products_fields" - WHERE (("product-products_fields".productid = products.productid) AND ("product-products_fields".fieldid = ( SELECT "product-fields".fieldid - FROM public."product-fields" - WHERE (("product-fields".field)::text = 'orgArtNo'::text) - LIMIT 1)))) AS original_article_number, - (( SELECT "product-products_fields".value - FROM public."product-products_fields" - WHERE (("product-products_fields".productid = products.productid) AND ("product-products_fields".fieldid = ( SELECT "product-fields".fieldid - FROM public."product-fields" - WHERE (("product-fields".field)::text = 'width'::text) - LIMIT 1)) AND (("product-products_fields".value)::text ~ '^\d+$'::text))))::integer AS width, - (( SELECT "product-products_fields".value - FROM public."product-products_fields" - WHERE (("product-products_fields".productid = products.productid) AND ("product-products_fields".fieldid = ( SELECT "product-fields".fieldid - FROM public."product-fields" - WHERE (("product-fields".field)::text = 'print_file_width'::text) - LIMIT 1)) AND (("product-products_fields".value)::text ~ '^\d+$'::text))))::integer AS print_file_width, - ( SELECT "product-products_fields".value - FROM public."product-products_fields" - WHERE (("product-products_fields".productid = products.productid) AND ("product-products_fields".fieldid = ( SELECT "product-fields".fieldid - FROM public."product-fields" - WHERE (("product-fields".field)::text = 'widths'::text) - LIMIT 1)))) AS widths, - (( SELECT "product-products_fields".value - FROM public."product-products_fields" - WHERE (("product-products_fields".productid = products.productid) AND ("product-products_fields".fieldid = ( SELECT "product-fields".fieldid - FROM public."product-fields" - WHERE (("product-fields".field)::text = 'min-height'::text) - LIMIT 1)) AND (("product-products_fields".value)::text ~ '^\d+$'::text))))::integer AS min_height, - (( SELECT "product-products_fields".value - FROM public."product-products_fields" - WHERE (("product-products_fields".productid = products.productid) AND ("product-products_fields".fieldid = ( SELECT "product-fields".fieldid - FROM public."product-fields" - WHERE (("product-fields".field)::text = 'min-width'::text) - LIMIT 1)) AND (("product-products_fields".value)::text ~ '^\d+$'::text))))::integer AS min_width, - (( SELECT "product-products_fields".value - FROM public."product-products_fields" - WHERE (("product-products_fields".productid = products.productid) AND ("product-products_fields".fieldid = ( SELECT "product-fields".fieldid - FROM public."product-fields" - WHERE (("product-fields".field)::text = 'max-height'::text) - LIMIT 1)) AND (("product-products_fields".value)::text ~ '^\d+$'::text))))::integer AS max_height, - (( SELECT "product-products_fields".value - FROM public."product-products_fields" - WHERE (("product-products_fields".productid = products.productid) AND ("product-products_fields".fieldid = ( SELECT "product-fields".fieldid - FROM public."product-fields" - WHERE (("product-fields".field)::text = 'max-width'::text) - LIMIT 1)) AND (("product-products_fields".value)::text ~ '^\d+$'::text))))::integer AS max_width, - (( SELECT "product-products_fields".value - FROM public."product-products_fields" - WHERE (("product-products_fields".productid = products.productid) AND ("product-products_fields".fieldid = ( SELECT "product-fields".fieldid - FROM public."product-fields" - WHERE (("product-fields".field)::text = 'photowall_resolution'::text) - LIMIT 1)) AND (("product-products_fields".value)::text ~ '^\d+$'::text))))::integer AS photowall_resolution, - (( SELECT "product-products_fields".value - FROM public."product-products_fields" - WHERE (("product-products_fields".productid = products.productid) AND ("product-products_fields".fieldid = ( SELECT "product-fields".fieldid - FROM public."product-fields" - WHERE (("product-fields".field)::text = 'canvas_resolution'::text) - LIMIT 1)) AND (("product-products_fields".value)::text ~ '^\d+$'::text))))::integer AS canvas_resolution, - (( SELECT "product-products_fields".value - FROM public."product-products_fields" - WHERE (("product-products_fields".productid = products.productid) AND ("product-products_fields".fieldid = ( SELECT "product-fields".fieldid - FROM public."product-fields" - WHERE (("product-fields".field)::text = 'wallpaper_resolution'::text) - LIMIT 1)) AND (("product-products_fields".value)::text ~ '^\d+$'::text))))::integer AS wallpaper_resolution, - ( SELECT "product-products_fields".value - FROM public."product-products_fields" - WHERE (("product-products_fields".productid = products.productid) AND ("product-products_fields".fieldid = ( SELECT "product-fields".fieldid - FROM public."product-fields" - WHERE (("product-fields".field)::text = 'lock_height'::text) - LIMIT 1)))) AS lock_height, - (( SELECT "product-products_fields".value - FROM public."product-products_fields" - WHERE (("product-products_fields".productid = products.productid) AND ("product-products_fields".fieldid = ( SELECT "product-fields".fieldid - FROM public."product-fields" - WHERE (("product-fields".field)::text = 'additionalprice'::text) - LIMIT 1)))))::double precision AS additionalprice, - ( SELECT "product-products_fields".value - FROM public."product-products_fields" - WHERE (("product-products_fields".productid = products.productid) AND ("product-products_fields".fieldid = ( SELECT "product-fields".fieldid - FROM public."product-fields" - WHERE (("product-fields".field)::text = 'ref1'::text) - LIMIT 1)))) AS ref1, - ( SELECT "product-products_fields".value - FROM public."product-products_fields" - WHERE (("product-products_fields".productid = products.productid) AND ("product-products_fields".fieldid = ( SELECT "product-fields".fieldid - FROM public."product-fields" - WHERE (("product-fields".field)::text = 'ref2'::text) - LIMIT 1)))) AS ref2, - ( SELECT "product-products_fields".value - FROM public."product-products_fields" - WHERE (("product-products_fields".productid = products.productid) AND ("product-products_fields".fieldid = ( SELECT "product-fields".fieldid - FROM public."product-fields" - WHERE (("product-fields".field)::text = 'ref3'::text) - LIMIT 1)))) AS ref3, - ( SELECT "product-products_fields".value - FROM public."product-products_fields" - WHERE (("product-products_fields".productid = products.productid) AND ("product-products_fields".fieldid = ( SELECT "product-fields".fieldid - FROM public."product-fields" - WHERE (("product-fields".field)::text = 'copyright'::text) - LIMIT 1)))) AS copyright, - ( SELECT "product-products_fields".value - FROM public."product-products_fields" - WHERE (("product-products_fields".productid = products.productid) AND ("product-products_fields".fieldid = ( SELECT "product-fields".fieldid - FROM public."product-fields" - WHERE (("product-fields".field)::text = 'proportions_warning'::text) - LIMIT 1)))) AS proportions_warning, - ( SELECT "product-products_fields".value - FROM public."product-products_fields" - WHERE (("product-products_fields".productid = products.productid) AND ("product-products_fields".fieldid = ( SELECT "product-fields".fieldid - FROM public."product-fields" - WHERE (("product-fields".field)::text = 'margin_width_max'::text) - LIMIT 1)))) AS margin_width_max, - ( SELECT "product-products_fields".value - FROM public."product-products_fields" - WHERE (("product-products_fields".productid = products.productid) AND ("product-products_fields".fieldid = ( SELECT "product-fields".fieldid - FROM public."product-fields" - WHERE (("product-fields".field)::text = 'margin_width_min'::text) - LIMIT 1)))) AS margin_width_min, - ( SELECT "product-products_fields".value - FROM public."product-products_fields" - WHERE (("product-products_fields".productid = products.productid) AND ("product-products_fields".fieldid = ( SELECT "product-fields".fieldid - FROM public."product-fields" - WHERE (("product-fields".field)::text = 'margin_height_max'::text) - LIMIT 1)))) AS margin_height_max, - ( SELECT "product-products_fields".value - FROM public."product-products_fields" - WHERE (("product-products_fields".productid = products.productid) AND ("product-products_fields".fieldid = ( SELECT "product-fields".fieldid - FROM public."product-fields" - WHERE (("product-fields".field)::text = 'margin_height_min'::text) - LIMIT 1)))) AS margin_height_min, - ( SELECT "product-products_fields".value - FROM public."product-products_fields" - WHERE (("product-products_fields".productid = products.productid) AND ("product-products_fields".fieldid = ( SELECT "product-fields".fieldid - FROM public."product-fields" - WHERE (("product-fields".field)::text = 'batch'::text) - LIMIT 1)))) AS batch, - (( SELECT "product-products_fields".value - FROM public."product-products_fields" - WHERE (("product-products_fields".productid = products.productid) AND ("product-products_fields".fieldid = ( SELECT "product-fields".fieldid - FROM public."product-fields" - WHERE (("product-fields".field)::text = 'image_resolution'::text) - LIMIT 1)) AND (("product-products_fields".value)::text ~ '^\d+$'::text))))::integer AS image_resolution, - (( SELECT "product-products_fields".value - FROM public."product-products_fields" - WHERE (("product-products_fields".productid = products.productid) AND ("product-products_fields".fieldid = ( SELECT "product-fields".fieldid - FROM public."product-fields" - WHERE (("product-fields".field)::text = 'print_file_dpi'::text) - LIMIT 1)) AND (("product-products_fields".value)::text ~ '^\d+$'::text))))::integer AS print_file_dpi, - (( SELECT "product-products_fields".value - FROM public."product-products_fields" - WHERE (("product-products_fields".productid = products.productid) AND ("product-products_fields".fieldid = ( SELECT "product-fields".fieldid - FROM public."product-fields" - WHERE (("product-fields".field)::text = 'focusXpoint'::text) - LIMIT 1)))))::double precision AS "focusXpoint", - (( SELECT "product-products_fields".value - FROM public."product-products_fields" - WHERE (("product-products_fields".productid = products.productid) AND ("product-products_fields".fieldid = ( SELECT "product-fields".fieldid - FROM public."product-fields" - WHERE (("product-fields".field)::text = 'focusYpoint'::text) - LIMIT 1)))))::double precision AS "focusYpoint", - (( SELECT "product-products_fields".value - FROM public."product-products_fields" - WHERE (("product-products_fields".productid = products.productid) AND ("product-products_fields".fieldid = ( SELECT "product-fields".fieldid - FROM public."product-fields" - WHERE (("product-fields".field)::text = 'focusXpoint2'::text) - LIMIT 1)))))::double precision AS "focusXpoint2", - (( SELECT "product-products_fields".value - FROM public."product-products_fields" - WHERE (("product-products_fields".productid = products.productid) AND ("product-products_fields".fieldid = ( SELECT "product-fields".fieldid - FROM public."product-fields" - WHERE (("product-fields".field)::text = 'focusYpoint2'::text) - LIMIT 1)))))::double precision AS "focusYpoint2", - ( SELECT "product-products_fields".value - FROM public."product-products_fields" - WHERE (("product-products_fields".productid = products.productid) AND ("product-products_fields".fieldid = ( SELECT "product-fields".fieldid - FROM public."product-fields" - WHERE (("product-fields".field)::text = 'repeating_pattern'::text) - LIMIT 1)))) AS repeating_pattern - FROM public."product-products" products) main - LEFT JOIN ( SELECT 209 AS id, - 47851 AS product_id, - 143.2 AS price) stock ON ((main.product_id = stock.product_id))); - - --- --- Name: v_product_keyword; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW public.v_product_keyword AS - SELECT NULL::integer AS id, - main.product_id AS parent_id, - main.keyword_id, - main.value, - main.static - FROM ( SELECT pc.product_id, - NULL::integer AS keyword_id, - true AS static, - ( SELECT categories.name - FROM public.categories - WHERE (categories.id = c.id)) AS value - FROM public.product_category pc, - ( SELECT c_1.id, - c2.id AS child_id - FROM public.categories c_1, - public.categories c2 - WHERE ((c_1.rgt >= c2.rgt) AND (c_1.lft <= c2.lft) AND (c_1.id <> 1))) c - WHERE (pc.category_id = c.child_id) - UNION - SELECT pc.product_id, - k.id AS keyword_id, - true AS static, - ( SELECT keywords.value - FROM public.keywords - WHERE (keywords.id = k.id) - LIMIT 1) AS value - FROM public.product_category pc, - (( SELECT c_1.id, - c2.id AS child_id - FROM public.categories c_1, - public.categories c2 - WHERE ((c_1.rgt >= c2.rgt) AND (c_1.lft <= c2.lft))) c - JOIN ( SELECT category_keyword.category_id, - category_keyword.keyword_id AS id - FROM public.category_keyword) k ON ((c.id = k.category_id))) - WHERE (pc.category_id = c.child_id) - GROUP BY pc.product_id, k.id - UNION - SELECT k.product_id, - k.keyword_id, - false AS static, - ( SELECT keywords.value - FROM public.keywords - WHERE (keywords.id = k.keyword_id) - LIMIT 1) AS value - FROM public.product_keyword k) main; - - --- --- Name: v_sales_report; Type: MATERIALIZED VIEW; Schema: public; Owner: - --- - -CREATE MATERIALIZED VIEW public.v_sales_report AS - SELECT o.orderid, - date(o.inserted) AS inserted, - ( SELECT "order-rows_details".value - FROM public."order-rows_details" - WHERE (("order-rows_details".rowid = r.rowid) AND ("order-rows_details".fieldid = 95))) AS article_number, - (( SELECT "order-rows_details".value - FROM public."order-rows_details" - WHERE (("order-rows_details".rowid = r.rowid) AND ("order-rows_details".fieldid = 92))))::integer AS product_id, - ( SELECT "order-rows_details".value - FROM public."order-rows_details" - WHERE (("order-rows_details".rowid = r.rowid) AND ("order-rows_details".fieldid = 96))) AS path - FROM (public."order-orders" o - JOIN public."order-rows" r ON (((r.orderid = o.orderid) AND (EXISTS ( SELECT NULL::text AS unknown - FROM public."order-rows_details" - WHERE (("order-rows_details".rowid = r.rowid) AND ("order-rows_details".fieldid = ANY (ARRAY[92, 95, 96])) AND (NOT ("order-rows_details".value IS NULL)) AND (NOT ("order-rows_details".value = ''::text)))))))) - WITH NO DATA; - - --- --- Name: wallpapertypes; Type: TABLE; Schema: public; Owner: - --- - -CREATE TABLE public.wallpapertypes ( - id integer NOT NULL, - name character varying(255) -); - - --- --- Name: wallpapertypes_id_seq; Type: SEQUENCE; Schema: public; Owner: - --- - -CREATE SEQUENCE public.wallpapertypes_id_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - --- --- Name: wallpapertypes_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - --- - -ALTER SEQUENCE public.wallpapertypes_id_seq OWNED BY public.wallpapertypes.id; - - --- --- Name: addresses id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.addresses ALTER COLUMN id SET DEFAULT nextval('public.addresses_id_seq'::regclass); - - --- --- Name: article_categories id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.article_categories ALTER COLUMN id SET DEFAULT nextval('public.article_categories_id_seq'::regclass); - - --- --- Name: article_content id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.article_content ALTER COLUMN id SET DEFAULT nextval('public.article_content_id_seq'::regclass); - - --- --- Name: articles id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.articles ALTER COLUMN id SET DEFAULT nextval('public.articles_id_seq'::regclass); - - --- --- Name: cache id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.cache ALTER COLUMN id SET DEFAULT nextval('public.cache_id_seq'::regclass); - - --- --- Name: campaign_page_content id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.campaign_page_content ALTER COLUMN id SET DEFAULT nextval('public.campaign_page_content_id_seq'::regclass); - - --- --- Name: campaign_pages id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.campaign_pages ALTER COLUMN id SET DEFAULT nextval('public.campaign_pages_id_seq'::regclass); - - --- --- Name: categories id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.categories ALTER COLUMN id SET DEFAULT nextval('public.categories_id_seq'::regclass); - - --- --- Name: category_images id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.category_images ALTER COLUMN id SET DEFAULT nextval('public.category_images_id_seq'::regclass); - - --- --- Name: category_keyword id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.category_keyword ALTER COLUMN id SET DEFAULT nextval('public.category_keyword_id_seq'::regclass); - - --- --- Name: category_texts id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.category_texts ALTER COLUMN id SET DEFAULT nextval('public.category_texts_id_seq'::regclass); - - --- --- Name: categorydatakeys id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.categorydatakeys ALTER COLUMN id SET DEFAULT nextval('public.categorydatakeys_id_seq'::regclass); - - --- --- Name: collections id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.collections ALTER COLUMN id SET DEFAULT nextval('public.collections_id_seq'::regclass); - - --- --- Name: collections_blacklist id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.collections_blacklist ALTER COLUMN id SET DEFAULT nextval('public.collections_blacklist_id_seq'::regclass); - - --- --- Name: collections_products id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.collections_products ALTER COLUMN id SET DEFAULT nextval('public.collections_products_id_seq'::regclass); - - --- --- Name: collections_texts id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.collections_texts ALTER COLUMN id SET DEFAULT nextval('public.collections_texts_id_seq'::regclass); - - --- --- Name: contract_customers contractcustomerid; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.contract_customers ALTER COLUMN contractcustomerid SET DEFAULT nextval('public.contract_customers_contractcustomerid_seq'::regclass); - - --- --- Name: delivery-methods id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."delivery-methods" ALTER COLUMN id SET DEFAULT nextval('public."Delivery-methods_id_seq"'::regclass); - - --- --- Name: designer_texts id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.designer_texts ALTER COLUMN id SET DEFAULT nextval('public.designer_texts_id_seq'::regclass); - - --- --- Name: designers designerid; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.designers ALTER COLUMN designerid SET DEFAULT nextval('public.designers_designerid_seq'::regclass); - - --- --- Name: designers_history designerhistoryid; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.designers_history ALTER COLUMN designerhistoryid SET DEFAULT nextval('public.designers_history_designerhistoryid_seq'::regclass); - - --- --- Name: discount_code_filters id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.discount_code_filters ALTER COLUMN id SET DEFAULT nextval('public.disc_filters_id_seq'::regclass); - - --- --- Name: discount_codes discountid; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.discount_codes ALTER COLUMN discountid SET DEFAULT nextval('public.discount_codes_discountid_seq'::regclass); - - --- --- Name: flyers flyerid; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.flyers ALTER COLUMN flyerid SET DEFAULT nextval('public.flyers_flyerid_seq'::regclass); - - --- --- Name: i18n-texts textid; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."i18n-texts" ALTER COLUMN textid SET DEFAULT nextval('public."i18n-texts_textid_seq"'::regclass); - - --- --- Name: inquiries inquiryid; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.inquiries ALTER COLUMN inquiryid SET DEFAULT nextval('public.inquiries_inquiryid_seq'::regclass); - - --- --- Name: inquiry_markers id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.inquiry_markers ALTER COLUMN id SET DEFAULT nextval('public.inquiry_markers_id_seq'::regclass); - - --- --- Name: inquiry_messages id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.inquiry_messages ALTER COLUMN id SET DEFAULT nextval('public.inquiry_messages_id_seq'::regclass); - - --- --- Name: interiors id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.interiors ALTER COLUMN id SET DEFAULT nextval('public.interiors_id_seq'::regclass); - - --- --- Name: invoices id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.invoices ALTER COLUMN id SET DEFAULT nextval('public.invoices_id_seq'::regclass); - - --- --- Name: keywords id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.keywords ALTER COLUMN id SET DEFAULT nextval('public.keywords_id_seq'::regclass); - - --- --- Name: keywordtypes id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.keywordtypes ALTER COLUMN id SET DEFAULT nextval('public.keywordtypes_id_seq'::regclass); - - --- --- Name: locales id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.locales ALTER COLUMN id SET DEFAULT nextval('public.locales_id_seq'::regclass); - - --- --- Name: market_locales id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.market_locales ALTER COLUMN id SET DEFAULT nextval('public.market_locales_id_seq'::regclass); - - --- --- Name: markets id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.markets ALTER COLUMN id SET DEFAULT nextval('public.markets_id_seq'::regclass); - - --- --- Name: orderlogs id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.orderlogs ALTER COLUMN id SET DEFAULT nextval('public.orderlogs_id_seq'::regclass); - - --- --- Name: orders id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.orders ALTER COLUMN id SET DEFAULT nextval('public.orders_id_seq'::regclass); - - --- --- Name: product-fields fieldid; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-fields" ALTER COLUMN fieldid SET DEFAULT nextval('public."product-fields_fieldid_seq"'::regclass); - - --- --- Name: product-groups groupid; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-groups" ALTER COLUMN groupid SET DEFAULT nextval('public."product-groups_groupid_seq"'::regclass); - - --- --- Name: product-materials materialid; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-materials" ALTER COLUMN materialid SET DEFAULT nextval('public."product-materials_materialid_seq"'::regclass); - - --- --- Name: product-printproducts printid; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-printproducts" ALTER COLUMN printid SET DEFAULT nextval('public."product-printproducts_printid_seq"'::regclass); - - --- --- Name: product-products productid; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-products" ALTER COLUMN productid SET DEFAULT nextval('public."product-products_productid_seq"'::regclass); - - --- --- Name: product-status-history id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-status-history" ALTER COLUMN id SET DEFAULT nextval('public."product-status-history_id_seq"'::regclass); - - --- --- Name: product-status-history_lookup id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-status-history_lookup" ALTER COLUMN id SET DEFAULT nextval('public."product-status-history_lookup_id_seq"'::regclass); - - --- --- Name: product-types typeid; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-types" ALTER COLUMN typeid SET DEFAULT nextval('public."product-types_typeid_seq"'::regclass); - - --- --- Name: product_blacklist id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.product_blacklist ALTER COLUMN id SET DEFAULT nextval('public.product_blacklist_id_seq'::regclass); - - --- --- Name: redirects id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.redirects ALTER COLUMN id SET DEFAULT nextval('public.redirects_id_seq'::regclass); - - --- --- Name: room_types id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.room_types ALTER COLUMN id SET DEFAULT nextval('public.room_types_id_seq'::regclass); - - --- --- Name: rooms id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.rooms ALTER COLUMN id SET DEFAULT nextval('public.rooms_id_seq'::regclass); - - --- --- Name: samples id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.samples ALTER COLUMN id SET DEFAULT nextval('public.samples_id_seq'::regclass); - - --- --- Name: slideshow_slides id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.slideshow_slides ALTER COLUMN id SET DEFAULT nextval('public.slideshow_slides_id_seq'::regclass); - - --- --- Name: teaser_images id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.teaser_images ALTER COLUMN id SET DEFAULT nextval('public.teaser_images_id_seq'::regclass); - - --- --- Name: wallpapertypes id; Type: DEFAULT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.wallpapertypes ALTER COLUMN id SET DEFAULT nextval('public.wallpapertypes_id_seq'::regclass); - - --- --- Name: delivery-methods Delivery-methods_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."delivery-methods" - ADD CONSTRAINT "Delivery-methods_pkey" PRIMARY KEY (id); - - --- --- Name: addresses addresses_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.addresses - ADD CONSTRAINT addresses_pkey PRIMARY KEY (id); - - --- --- Name: article_article_categories article_article_categories_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.article_article_categories - ADD CONSTRAINT article_article_categories_pkey PRIMARY KEY (article_id, category_id); - - --- --- Name: article_categories article_categories_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.article_categories - ADD CONSTRAINT article_categories_pkey PRIMARY KEY (id); - - --- --- Name: article_content article_content_article_id_market_locale_id_key; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.article_content - ADD CONSTRAINT article_content_article_id_market_locale_id_key UNIQUE (article_id, market_locale_id); - - --- --- Name: articles articles_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.articles - ADD CONSTRAINT articles_pkey PRIMARY KEY (id); - - --- --- Name: cache cache_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.cache - ADD CONSTRAINT cache_pkey PRIMARY KEY (id); - - --- --- Name: campaign_page_content campaign_page_content_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.campaign_page_content - ADD CONSTRAINT campaign_page_content_pkey PRIMARY KEY (id); - - --- --- Name: campaign_pages campaign_pages_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.campaign_pages - ADD CONSTRAINT campaign_pages_pkey PRIMARY KEY (id); - - --- --- Name: carts carts_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.carts - ADD CONSTRAINT carts_pkey PRIMARY KEY (uuid); - - --- --- Name: categories categories_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.categories - ADD CONSTRAINT categories_pkey PRIMARY KEY (id); - - --- --- Name: category_images category_images_category_id_product_group_ukey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.category_images - ADD CONSTRAINT category_images_category_id_product_group_ukey UNIQUE (category_id, product_group); - - --- --- Name: category_images category_images_pk; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.category_images - ADD CONSTRAINT category_images_pk PRIMARY KEY (id); - - --- --- Name: category_keyword category_keyword_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.category_keyword - ADD CONSTRAINT category_keyword_pkey PRIMARY KEY (id); - - --- --- Name: category_metadata category_metadata_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.category_metadata - ADD CONSTRAINT category_metadata_pkey PRIMARY KEY (category_id); - - --- --- Name: category_texts category_texts_category_id_locale_ukey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.category_texts - ADD CONSTRAINT category_texts_category_id_locale_ukey UNIQUE (category_id, locale_id); - - --- --- Name: category_texts category_texts_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.category_texts - ADD CONSTRAINT category_texts_pkey PRIMARY KEY (id); - - --- --- Name: categorydata categorydata_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.categorydata - ADD CONSTRAINT categorydata_pkey PRIMARY KEY (category_id, datakey_id, locale_id); - - --- --- Name: categorydatakeys categorydatakeys_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.categorydatakeys - ADD CONSTRAINT categorydatakeys_pkey PRIMARY KEY (id); - - --- --- Name: collections_blacklist collections_blacklist_collection_id_market_id_key; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.collections_blacklist - ADD CONSTRAINT collections_blacklist_collection_id_market_id_key UNIQUE (collection_id, market_id); - - --- --- Name: collections_blacklist collections_blacklist_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.collections_blacklist - ADD CONSTRAINT collections_blacklist_pkey PRIMARY KEY (id); - - --- --- Name: collections collections_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.collections - ADD CONSTRAINT collections_pkey PRIMARY KEY (id); - - --- --- Name: collections_products collections_products_collection_id_product_id_key; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.collections_products - ADD CONSTRAINT collections_products_collection_id_product_id_key UNIQUE (collection_id, product_id); - - --- --- Name: contract_customers contract_customers_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.contract_customers - ADD CONSTRAINT contract_customers_pkey PRIMARY KEY (contractcustomerid); - - --- --- Name: delivery-methods_prices delivery-methods_prices_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."delivery-methods_prices" - ADD CONSTRAINT "delivery-methods_prices_pkey" PRIMARY KEY (method, option, option_value, currency, territory); - - --- --- Name: designer_texts designer_texts_designerid_locale_id_key; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.designer_texts - ADD CONSTRAINT designer_texts_designerid_locale_id_key UNIQUE (designerid, locale_id); - - --- --- Name: designer_texts designer_texts_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.designer_texts - ADD CONSTRAINT designer_texts_pkey PRIMARY KEY (id); - - --- --- Name: designers-blocked designers-blocked_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."designers-blocked" - ADD CONSTRAINT "designers-blocked_pkey" PRIMARY KEY (designerid, domain); - - --- --- Name: designers_history designers_history_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.designers_history - ADD CONSTRAINT designers_history_pkey PRIMARY KEY (designerhistoryid); - - --- --- Name: designers designers_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.designers - ADD CONSTRAINT designers_pkey PRIMARY KEY (designerid); - -ALTER TABLE public.designers CLUSTER ON designers_pkey; - - --- --- Name: discount_codes discount_codes_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.discount_codes - ADD CONSTRAINT discount_codes_pkey PRIMARY KEY (discountid); - - --- --- Name: discount_code_filters discount_filters_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.discount_code_filters - ADD CONSTRAINT discount_filters_pkey PRIMARY KEY (id); - - --- --- Name: external_print_products external_print_products_external_product_id_key; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.external_print_products - ADD CONSTRAINT external_print_products_external_product_id_key UNIQUE (external_product_id); - - --- --- Name: external_print_products external_print_products_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.external_print_products - ADD CONSTRAINT external_print_products_pkey PRIMARY KEY (id); - - --- --- Name: flyers flyers_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.flyers - ADD CONSTRAINT flyers_pkey PRIMARY KEY (flyerid); - - --- --- Name: i18n-currencies_names i18n-currencies_names_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."i18n-currencies_names" - ADD CONSTRAINT "i18n-currencies_names_pkey" PRIMARY KEY (currency, language); - - --- --- Name: i18n-currencies i18n-currencies_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."i18n-currencies" - ADD CONSTRAINT "i18n-currencies_pkey" PRIMARY KEY (iso3char); - - --- --- Name: i18n-currencies_territories i18n-currencies_territories_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."i18n-currencies_territories" - ADD CONSTRAINT "i18n-currencies_territories_pkey" PRIMARY KEY (territory); - - --- --- Name: i18n-languages_names i18n-languages_names_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."i18n-languages_names" - ADD CONSTRAINT "i18n-languages_names_pkey" PRIMARY KEY (iso3char, language); - - --- --- Name: i18n-languages i18n-languages_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."i18n-languages" - ADD CONSTRAINT "i18n-languages_pkey" PRIMARY KEY (iso3char); - - --- --- Name: i18n-languages_territories i18n-languages_territories_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."i18n-languages_territories" - ADD CONSTRAINT "i18n-languages_territories_pkey" PRIMARY KEY (language, territory); - - --- --- Name: i18n-territories_names i18n-territories_names_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."i18n-territories_names" - ADD CONSTRAINT "i18n-territories_names_pkey" PRIMARY KEY (territory, language); - - --- --- Name: i18n-texts_data i18n-texts_data_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."i18n-texts_data" - ADD CONSTRAINT "i18n-texts_data_pkey" PRIMARY KEY (textid, locale_id); - - --- --- Name: i18n-texts i18n-texts_name_key; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."i18n-texts" - ADD CONSTRAINT "i18n-texts_name_key" UNIQUE (name, category); - -ALTER TABLE public."i18n-texts" CLUSTER ON "i18n-texts_name_key"; - - --- --- Name: i18n-texts i18n-texts_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."i18n-texts" - ADD CONSTRAINT "i18n-texts_pkey" PRIMARY KEY (textid); - - --- --- Name: inquiries inquiries_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.inquiries - ADD CONSTRAINT inquiries_pkey PRIMARY KEY (inquiryid); - - --- --- Name: inquiry_markers inquiry_markers_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.inquiry_markers - ADD CONSTRAINT inquiry_markers_pkey PRIMARY KEY (id); - - --- --- Name: inquiry_messages inquiry_messages_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.inquiry_messages - ADD CONSTRAINT inquiry_messages_pkey PRIMARY KEY (id); - - --- --- Name: interiors2 interiors2_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.interiors2 - ADD CONSTRAINT interiors2_pkey PRIMARY KEY (id); - - --- --- Name: interiors interiors_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.interiors - ADD CONSTRAINT interiors_pkey PRIMARY KEY (id); - - --- --- Name: invoices invoices_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.invoices - ADD CONSTRAINT invoices_pkey PRIMARY KEY (id); - - --- --- Name: keywords_i18n keyword_trans_norm_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.keywords_i18n - ADD CONSTRAINT keyword_trans_norm_pkey PRIMARY KEY (parent_id); - - --- --- Name: keyword_type keyword_type_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.keyword_type - ADD CONSTRAINT keyword_type_pkey PRIMARY KEY (keyword_id); - - --- --- Name: keywords keywords_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.keywords - ADD CONSTRAINT keywords_pkey PRIMARY KEY (id); - - --- --- Name: keywordtypes keywordtypes_name_key; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.keywordtypes - ADD CONSTRAINT keywordtypes_name_key UNIQUE (name); - - --- --- Name: keywordtypes keywordtypes_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.keywordtypes - ADD CONSTRAINT keywordtypes_pkey PRIMARY KEY (id); - - --- --- Name: listprices listprices_printproduct_id_market_id_key; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.listprices - ADD CONSTRAINT listprices_printproduct_id_market_id_key UNIQUE (printproduct_id, market_id); - - --- --- Name: locales locales_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.locales - ADD CONSTRAINT locales_pkey PRIMARY KEY (id); - - --- --- Name: market_locales market_locales_market_id_locale_id_key; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.market_locales - ADD CONSTRAINT market_locales_market_id_locale_id_key UNIQUE (market_id, locale_id); - - --- --- Name: market_locales market_locales_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.market_locales - ADD CONSTRAINT market_locales_pkey PRIMARY KEY (id); - - --- --- Name: markets markets_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.markets - ADD CONSTRAINT markets_pkey PRIMARY KEY (id); - - --- --- Name: order-fields order-fields_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."order-fields" - ADD CONSTRAINT "order-fields_pkey" PRIMARY KEY (fieldid); - - --- --- Name: order-orders_fields order-order_fields_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."order-orders_fields" - ADD CONSTRAINT "order-order_fields_pkey" PRIMARY KEY (orderid, fieldid); - - --- --- Name: order-orders order-orders_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."order-orders" - ADD CONSTRAINT "order-orders_pkey" PRIMARY KEY (orderid); - - --- --- Name: order-row_fields order-row_detail_fields_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."order-row_fields" - ADD CONSTRAINT "order-row_detail_fields_pkey" PRIMARY KEY (fieldid); - - --- --- Name: order-rows_details order-row_details_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."order-rows_details" - ADD CONSTRAINT "order-row_details_pkey" PRIMARY KEY (rowid, fieldid); - - --- --- Name: order-rows order-rows_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."order-rows" - ADD CONSTRAINT "order-rows_pkey" PRIMARY KEY (rowid); - - --- --- Name: order_rows order_rows_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.order_rows - ADD CONSTRAINT order_rows_pkey PRIMARY KEY (id); - - --- --- Name: orderlogs orderlogs_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.orderlogs - ADD CONSTRAINT orderlogs_pkey PRIMARY KEY (id); - - --- --- Name: orders orders_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.orders - ADD CONSTRAINT orders_pkey PRIMARY KEY (id); - - --- --- Name: printproducts_defaults printproducts_defaults_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.printproducts_defaults - ADD CONSTRAINT printproducts_defaults_pkey PRIMARY KEY (print_id); - - --- --- Name: product-currencies product-currencies_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-currencies" - ADD CONSTRAINT "product-currencies_pkey" PRIMARY KEY (iso3char); - - --- --- Name: product-fields product-fields_field_key; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-fields" - ADD CONSTRAINT "product-fields_field_key" UNIQUE (field); - - --- --- Name: product-fields product-fields_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-fields" - ADD CONSTRAINT "product-fields_pkey" PRIMARY KEY (fieldid); - - --- --- Name: product-groups product-groups_group_key; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-groups" - ADD CONSTRAINT "product-groups_group_key" UNIQUE ("group"); - - --- --- Name: product-groups product-groups_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-groups" - ADD CONSTRAINT "product-groups_pkey" PRIMARY KEY (groupid); - -ALTER TABLE public."product-groups" CLUSTER ON "product-groups_pkey"; - - --- --- Name: product-materials product-materials_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-materials" - ADD CONSTRAINT "product-materials_pkey" PRIMARY KEY (materialid); - - --- --- Name: product-printproducts_materials product-printproducts_materials_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-printproducts_materials" - ADD CONSTRAINT "product-printproducts_materials_pkey" PRIMARY KEY (printid, materialid); - -ALTER TABLE public."product-printproducts_materials" CLUSTER ON "product-printproducts_materials_pkey"; - - --- --- Name: product-printproducts product-printproducts_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-printproducts" - ADD CONSTRAINT "product-printproducts_pkey" PRIMARY KEY (printid); - - --- --- Name: product-printproducts product-printproducts_productid_key; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-printproducts" - ADD CONSTRAINT "product-printproducts_productid_key" UNIQUE (productid, groupid); - - --- --- Name: product-products_fields product-products_fields_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-products_fields" - ADD CONSTRAINT "product-products_fields_pkey" PRIMARY KEY (productid, fieldid); - - --- --- Name: product-products product-products_path_key; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-products" - ADD CONSTRAINT "product-products_path_key" UNIQUE (path); - - --- --- Name: product-products product-products_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-products" - ADD CONSTRAINT "product-products_pkey" PRIMARY KEY (productid); - - --- --- Name: product-products_products product-products_products_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-products_products" - ADD CONSTRAINT "product-products_products_pkey" PRIMARY KEY (productid1, productid2); - - --- --- Name: product-status-history_lookup product-status-history-lookup_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-status-history_lookup" - ADD CONSTRAINT "product-status-history-lookup_pkey" PRIMARY KEY (id); - - --- --- Name: product-status-history product-status-history_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-status-history" - ADD CONSTRAINT "product-status-history_pkey" PRIMARY KEY (id); - - --- --- Name: product-types product-types_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-types" - ADD CONSTRAINT "product-types_pkey" PRIMARY KEY (typeid); - -ALTER TABLE public."product-types" CLUSTER ON "product-types_pkey"; - - --- --- Name: product-types product-types_type_key; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-types" - ADD CONSTRAINT "product-types_type_key" UNIQUE (type); - - --- --- Name: product_blacklist product_blacklist_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.product_blacklist - ADD CONSTRAINT product_blacklist_pkey PRIMARY KEY (id); - - --- --- Name: product_category product_category_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.product_category - ADD CONSTRAINT product_category_pkey PRIMARY KEY (product_id, category_id); - - --- --- Name: product_keyword product_keyword_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.product_keyword - ADD CONSTRAINT product_keyword_pkey PRIMARY KEY (product_id, keyword_id); - - --- --- Name: product_wallpapertypes product_wallpapertypes_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.product_wallpapertypes - ADD CONSTRAINT product_wallpapertypes_pkey PRIMARY KEY (product_id, wallpapertype_id); - - --- --- Name: redirects redirects_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.redirects - ADD CONSTRAINT redirects_pkey PRIMARY KEY (id); - - --- --- Name: room_types room_types_name_key; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.room_types - ADD CONSTRAINT room_types_name_key UNIQUE (name); - - --- --- Name: room_types room_types_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.room_types - ADD CONSTRAINT room_types_pkey PRIMARY KEY (id); - - --- --- Name: rooms rooms_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.rooms - ADD CONSTRAINT rooms_pkey PRIMARY KEY (id); - - --- --- Name: rooms rooms_s3_suffix_key; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.rooms - ADD CONSTRAINT rooms_s3_suffix_key UNIQUE (s3_suffix); - - --- --- Name: samples samples_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.samples - ADD CONSTRAINT samples_pkey PRIMARY KEY (id); - - --- --- Name: slideshow_slides slideshow_slides_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.slideshow_slides - ADD CONSTRAINT slideshow_slides_pkey PRIMARY KEY (id); - - --- --- Name: stockproducts stockproducts_name_key; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.stockproducts - ADD CONSTRAINT stockproducts_name_key UNIQUE (name); - - --- --- Name: stockproducts stockproducts_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.stockproducts - ADD CONSTRAINT stockproducts_pkey PRIMARY KEY (id); - - --- --- Name: stockproducts stockproducts_product_id_key; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.stockproducts - ADD CONSTRAINT stockproducts_product_id_key UNIQUE (product_id); - - --- --- Name: teaser_images teaser_images_key_key; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.teaser_images - ADD CONSTRAINT teaser_images_key_key UNIQUE (key); - - --- --- Name: teaser_images teaser_images_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.teaser_images - ADD CONSTRAINT teaser_images_pkey PRIMARY KEY (id); - - --- --- Name: i18n-territories territories_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."i18n-territories" - ADD CONSTRAINT territories_pkey PRIMARY KEY (iso2char); - - --- --- Name: collections_texts unique_slug; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.collections_texts - ADD CONSTRAINT unique_slug UNIQUE (locale_id, slug); - - --- --- Name: wallpapertypes wallpapertypes_pkey; Type: CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.wallpapertypes - ADD CONSTRAINT wallpapertypes_pkey PRIMARY KEY (id); - - --- --- Name: FK_inquiry_markers_inquiries; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX "FK_inquiry_markers_inquiries" ON public.inquiry_markers USING btree (inquiry_id); - - --- --- Name: campaign_page_content_campaign_page_id_idx; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX campaign_page_content_campaign_page_id_idx ON public.campaign_page_content USING btree (campaign_page_id); - - --- --- Name: campaign_page_content_market_locale_id_idx; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX campaign_page_content_market_locale_id_idx ON public.campaign_page_content USING btree (market_locale_id); - - --- --- Name: categories_lft_idx; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX categories_lft_idx ON public.categories USING btree (lft); - - --- --- Name: categories_lft_rgt_idx; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX categories_lft_rgt_idx ON public.categories USING btree (lft, rgt); - - --- --- Name: categories_name; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX categories_name ON public.categories USING btree (name); - - --- --- Name: category_keyword_category_id_keyword_id_idx; Type: INDEX; Schema: public; Owner: - --- - -CREATE UNIQUE INDEX category_keyword_category_id_keyword_id_idx ON public.category_keyword USING btree (category_id, keyword_id); - - --- --- Name: categorydatakeys_value_idx; Type: INDEX; Schema: public; Owner: - --- - -CREATE UNIQUE INDEX categorydatakeys_value_idx ON public.categorydatakeys USING btree (name); - - --- --- Name: idx_filter_name; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX idx_filter_name ON public.discount_code_filters USING btree (filter_name); - - --- --- Name: img_hash; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX img_hash ON public.inquiries USING btree (img_hash); - - --- --- Name: inquiries_inserted_index; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX inquiries_inserted_index ON public.inquiries USING btree (inserted); - - --- --- Name: interiors_print_id_idx; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX interiors_print_id_idx ON public.interiors USING btree (print_id); - - --- --- Name: interiors_print_id_room_id_idx; Type: INDEX; Schema: public; Owner: - --- - -CREATE UNIQUE INDEX interiors_print_id_room_id_idx ON public.interiors USING btree (print_id, room_id); - - --- --- Name: invoices_inserted; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX invoices_inserted ON public.invoices USING btree (inserted DESC NULLS LAST); - - --- --- Name: invoices_sent; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX invoices_sent ON public.invoices USING btree (invoice_sent); - - --- --- Name: ix_billing_address_id; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX ix_billing_address_id ON public.orders USING btree (billing_address_id); - - --- --- Name: ix_confirmed; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX ix_confirmed ON public."order-orders_fields" USING btree (value) WHERE (fieldid = 175); - - --- --- Name: ix_creditinvoice; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX ix_creditinvoice ON public."order-orders_fields" USING btree (value) WHERE (fieldid = 199); - - --- --- Name: ix_delivery_address_id; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX ix_delivery_address_id ON public.orders USING btree (delivery_address_id); - - --- --- Name: ix_email; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX ix_email ON public."order-orders_fields" USING btree (value) WHERE (fieldid = 184); - - --- --- Name: ix_i18n-texts_category; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX "ix_i18n-texts_category" ON public."i18n-texts" USING btree (category); - - --- --- Name: ix_invoiceid; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX ix_invoiceid ON public."order-orders_fields" USING btree (value) WHERE (fieldid = 172); - - --- --- Name: ix_samples_address_id; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX ix_samples_address_id ON public.samples USING btree (address_id); - - --- --- Name: keywords_value_idx; Type: INDEX; Schema: public; Owner: - --- - -CREATE UNIQUE INDEX keywords_value_idx ON public.keywords USING btree (value); - - --- --- Name: locales_value_idx; Type: INDEX; Schema: public; Owner: - --- - -CREATE UNIQUE INDEX locales_value_idx ON public.locales USING btree (value); - - --- --- Name: order-rows_details_value_key; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX "order-rows_details_value_key" ON public."order-rows_details" USING btree (value); - -ALTER TABLE public."order-rows_details" CLUSTER ON "order-rows_details_value_key"; - - --- --- Name: order_rows_designer_id_idx; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX order_rows_designer_id_idx ON public.order_rows USING btree (designer_id); - - --- --- Name: order_rows_expr_idx; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX order_rows_expr_idx ON public.order_rows USING btree (((data ->> 'inquiryid'::text))); - - --- --- Name: order_rows_expr_idx1; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX order_rows_expr_idx1 ON public.order_rows USING btree (((data ->> 'code'::text))); - - --- --- Name: order_rows_expr_idx2; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX order_rows_expr_idx2 ON public.order_rows USING btree (((data ->> 'artNo'::text))); - - --- --- Name: order_rows_expr_idx3; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX order_rows_expr_idx3 ON public.order_rows USING btree (((data ->> 'group'::text))); - - --- --- Name: order_rows_inserted_index; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX order_rows_inserted_index ON public."order-rows" USING btree (inserted); - - --- --- Name: order_rows_order_id_idx; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX order_rows_order_id_idx ON public.order_rows USING btree (order_id); - - --- --- Name: order_rows_status_idx; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX order_rows_status_idx ON public.order_rows USING btree (status); - - --- --- Name: order_rows_sub_type_idx; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX order_rows_sub_type_idx ON public.order_rows USING btree (sub_type); - - --- --- Name: order_rows_type_idx; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX order_rows_type_idx ON public.order_rows USING btree (type); - - --- --- Name: orderid_idx; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX orderid_idx ON public."order-rows" USING btree (orderid); - - --- --- Name: orders_inserted_idx; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX orders_inserted_idx ON public.orders USING btree (inserted DESC); - - --- --- Name: orders_inserted_index; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX orders_inserted_index ON public."order-orders" USING btree (inserted); - - --- --- Name: product-printproducts_groupid; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX "product-printproducts_groupid" ON public."product-printproducts" USING btree (groupid); - -ALTER TABLE public."product-printproducts" CLUSTER ON "product-printproducts_groupid"; - - --- --- Name: product_blacklist_product_id_group_id_market_id_idx; Type: INDEX; Schema: public; Owner: - --- - -CREATE UNIQUE INDEX product_blacklist_product_id_group_id_market_id_idx ON public.product_blacklist USING btree (product_id, group_id, market_id); - - --- --- Name: product_category_product_id_category_id_idx; Type: INDEX; Schema: public; Owner: - --- - -CREATE UNIQUE INDEX product_category_product_id_category_id_idx ON public.product_category USING btree (product_id, category_id); - - --- --- Name: product_keyword_product_id_keyword_id_idx; Type: INDEX; Schema: public; Owner: - --- - -CREATE UNIQUE INDEX product_keyword_product_id_keyword_id_idx ON public.product_keyword USING btree (product_id, keyword_id); - - --- --- Name: product_locale_idx; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX product_locale_idx ON public.v_esales_product_categories USING btree (product_id, locale_id); - - --- --- Name: product_products_fields_fieldid_index; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX product_products_fields_fieldid_index ON public."product-products_fields" USING btree (fieldid); - - --- --- Name: redirects_market_locale_id_source_uri_idx; Type: INDEX; Schema: public; Owner: - --- - -CREATE UNIQUE INDEX redirects_market_locale_id_source_uri_idx ON public.redirects USING btree (market_locale_id, source_uri); - - --- --- Name: rooms_name_idx; Type: INDEX; Schema: public; Owner: - --- - -CREATE UNIQUE INDEX rooms_name_idx ON public.rooms USING btree (name); - - --- --- Name: v_categorytree_key; Type: INDEX; Schema: public; Owner: - --- - -CREATE UNIQUE INDEX v_categorytree_key ON public.v_categorytree USING btree (id); - - --- --- Name: v_esales_category_count_id_idx; Type: INDEX; Schema: public; Owner: - --- - -CREATE UNIQUE INDEX v_esales_category_count_id_idx ON public.v_esales_category_count USING btree (id, market_id, product_id, groupid, wallpapertype_id); - - --- --- Name: v_esales_categorytree_i18n_id_locale_id; Type: INDEX; Schema: public; Owner: - --- - -CREATE UNIQUE INDEX v_esales_categorytree_i18n_id_locale_id ON public.v_esales_categorytree_i18n USING btree (id, locale_id); - - --- --- Name: v_sales_report_idx_1; Type: INDEX; Schema: public; Owner: - --- - -CREATE INDEX v_sales_report_idx_1 ON public.v_sales_report USING btree (product_id); - - --- --- Name: v_category_keyword v_category_keyword_delete; Type: RULE; Schema: public; Owner: - --- - -CREATE RULE v_category_keyword_delete AS - ON DELETE TO public.v_category_keyword DO INSTEAD DELETE FROM public.category_keyword - WHERE ((category_keyword.category_id = old.parent_id) AND (category_keyword.keyword_id = old.keyword_id)); - - --- --- Name: v_category_keyword v_category_keyword_insert; Type: RULE; Schema: public; Owner: - --- - -CREATE RULE v_category_keyword_insert AS - ON INSERT TO public.v_category_keyword DO INSTEAD INSERT INTO public.category_keyword (category_id, keyword_id) SELECT new.parent_id, - new.keyword_id; - - --- --- Name: v_product_keyword v_product_keyword_delete; Type: RULE; Schema: public; Owner: - --- - -CREATE RULE v_product_keyword_delete AS - ON DELETE TO public.v_product_keyword DO INSTEAD DELETE FROM public.product_keyword - WHERE ((product_keyword.product_id = old.parent_id) AND (product_keyword.keyword_id = old.keyword_id)); - - --- --- Name: v_product_keyword v_product_keyword_insert; Type: RULE; Schema: public; Owner: - --- - -CREATE RULE v_product_keyword_insert AS - ON INSERT TO public.v_product_keyword DO INSTEAD INSERT INTO public.product_keyword (product_id, keyword_id) SELECT new.parent_id, - new.keyword_id; - - --- --- Name: order-orders trig_copy_order; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER trig_copy_order AFTER INSERT ON public."order-orders" FOR EACH ROW EXECUTE FUNCTION public.function_copy_order(); - - --- --- Name: order-orders trig_copy_order_date; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER trig_copy_order_date AFTER UPDATE OF inserted ON public."order-orders" FOR EACH ROW EXECUTE FUNCTION public.function_copy_order_date(); - - --- --- Name: order-orders_fields trig_copy_order_field; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER trig_copy_order_field AFTER INSERT OR UPDATE ON public."order-orders_fields" FOR EACH ROW EXECUTE FUNCTION public.function_copy_order_field(); - - --- --- Name: cache updated_timestamp; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER updated_timestamp BEFORE UPDATE ON public.cache FOR EACH ROW EXECUTE FUNCTION public.updated_timestamp(); - - --- --- Name: contract_customers updated_timestamp; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER updated_timestamp BEFORE UPDATE ON public.contract_customers FOR EACH ROW EXECUTE FUNCTION public.updated_timestamp(); - - --- --- Name: delivery-methods updated_timestamp; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER updated_timestamp BEFORE UPDATE ON public."delivery-methods" FOR EACH ROW EXECUTE FUNCTION public.updated_timestamp(); - - --- --- Name: delivery-methods_prices updated_timestamp; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER updated_timestamp BEFORE UPDATE ON public."delivery-methods_prices" FOR EACH ROW EXECUTE FUNCTION public.updated_timestamp(); - - --- --- Name: designers updated_timestamp; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER updated_timestamp BEFORE UPDATE ON public.designers FOR EACH ROW EXECUTE FUNCTION public.updated_timestamp(); - - --- --- Name: designers_history updated_timestamp; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER updated_timestamp BEFORE UPDATE ON public.designers_history FOR EACH ROW EXECUTE FUNCTION public.updated_timestamp(); - - --- --- Name: discount_codes updated_timestamp; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER updated_timestamp BEFORE UPDATE ON public.discount_codes FOR EACH ROW EXECUTE FUNCTION public.updated_timestamp(); - - --- --- Name: i18n-currencies updated_timestamp; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER updated_timestamp BEFORE UPDATE ON public."i18n-currencies" FOR EACH ROW EXECUTE FUNCTION public.updated_timestamp(); - - --- --- Name: i18n-currencies_names updated_timestamp; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER updated_timestamp BEFORE UPDATE ON public."i18n-currencies_names" FOR EACH ROW EXECUTE FUNCTION public.updated_timestamp(); - - --- --- Name: i18n-currencies_territories updated_timestamp; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER updated_timestamp BEFORE UPDATE ON public."i18n-currencies_territories" FOR EACH ROW EXECUTE FUNCTION public.updated_timestamp(); - - --- --- Name: i18n-languages updated_timestamp; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER updated_timestamp BEFORE UPDATE ON public."i18n-languages" FOR EACH ROW EXECUTE FUNCTION public.updated_timestamp(); - - --- --- Name: i18n-languages_names updated_timestamp; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER updated_timestamp BEFORE UPDATE ON public."i18n-languages_names" FOR EACH ROW EXECUTE FUNCTION public.updated_timestamp(); - - --- --- Name: i18n-languages_territories updated_timestamp; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER updated_timestamp BEFORE UPDATE ON public."i18n-languages_territories" FOR EACH ROW EXECUTE FUNCTION public.updated_timestamp(); - - --- --- Name: i18n-territories updated_timestamp; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER updated_timestamp BEFORE UPDATE ON public."i18n-territories" FOR EACH ROW EXECUTE FUNCTION public.updated_timestamp(); - - --- --- Name: i18n-territories_names updated_timestamp; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER updated_timestamp BEFORE UPDATE ON public."i18n-territories_names" FOR EACH ROW EXECUTE FUNCTION public.updated_timestamp(); - - --- --- Name: inquiries updated_timestamp; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER updated_timestamp BEFORE UPDATE ON public.inquiries FOR EACH ROW EXECUTE FUNCTION public.updated_timestamp(); - - --- --- Name: order-fields updated_timestamp; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER updated_timestamp BEFORE UPDATE ON public."order-fields" FOR EACH ROW EXECUTE FUNCTION public.updated_timestamp(); - - --- --- Name: order-orders updated_timestamp; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER updated_timestamp BEFORE UPDATE ON public."order-orders" FOR EACH ROW EXECUTE FUNCTION public.updated_timestamp(); - - --- --- Name: order-orders_fields updated_timestamp; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER updated_timestamp BEFORE UPDATE ON public."order-orders_fields" FOR EACH ROW EXECUTE FUNCTION public.updated_timestamp(); - - --- --- Name: order-row_fields updated_timestamp; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER updated_timestamp BEFORE UPDATE ON public."order-row_fields" FOR EACH ROW EXECUTE FUNCTION public.updated_timestamp(); - - --- --- Name: order-rows updated_timestamp; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER updated_timestamp BEFORE UPDATE ON public."order-rows" FOR EACH ROW EXECUTE FUNCTION public.updated_timestamp(); - - --- --- Name: order-rows_details updated_timestamp; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER updated_timestamp BEFORE UPDATE ON public."order-rows_details" FOR EACH ROW EXECUTE FUNCTION public.updated_timestamp(); - - --- --- Name: order_rows updated_timestamp; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER updated_timestamp BEFORE UPDATE ON public.order_rows FOR EACH ROW EXECUTE FUNCTION public.updated_timestamp(); - - --- --- Name: product-fields updated_timestamp; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER updated_timestamp BEFORE UPDATE ON public."product-fields" FOR EACH ROW EXECUTE FUNCTION public.updated_timestamp(); - - --- --- Name: product-groups updated_timestamp; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER updated_timestamp BEFORE UPDATE ON public."product-groups" FOR EACH ROW EXECUTE FUNCTION public.updated_timestamp(); - - --- --- Name: product-materials updated_timestamp; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER updated_timestamp BEFORE UPDATE ON public."product-materials" FOR EACH ROW EXECUTE FUNCTION public.updated_timestamp(); - - --- --- Name: product-printprices updated_timestamp; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER updated_timestamp BEFORE UPDATE ON public."product-printprices" FOR EACH ROW EXECUTE FUNCTION public.updated_timestamp(); - - --- --- Name: product-printproducts updated_timestamp; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER updated_timestamp BEFORE UPDATE ON public."product-printproducts" FOR EACH ROW EXECUTE FUNCTION public.updated_timestamp(); - - --- --- Name: product-products updated_timestamp; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER updated_timestamp BEFORE UPDATE ON public."product-products" FOR EACH ROW EXECUTE FUNCTION public.updated_timestamp(); - - --- --- Name: product-products_fields updated_timestamp; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER updated_timestamp BEFORE UPDATE ON public."product-products_fields" FOR EACH ROW EXECUTE FUNCTION public.updated_timestamp(); - - --- --- Name: product-types updated_timestamp; Type: TRIGGER; Schema: public; Owner: - --- - -CREATE TRIGGER updated_timestamp BEFORE UPDATE ON public."product-types" FOR EACH ROW EXECUTE FUNCTION public.updated_timestamp(); - - --- --- Name: delivery-methods_prices Delivery-methods_prices_currency_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."delivery-methods_prices" - ADD CONSTRAINT "Delivery-methods_prices_currency_fkey" FOREIGN KEY (currency) REFERENCES public."i18n-currencies"(iso3char) ON DELETE RESTRICT; - - --- --- Name: delivery-methods_prices Delivery-methods_prices_method_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."delivery-methods_prices" - ADD CONSTRAINT "Delivery-methods_prices_method_fkey" FOREIGN KEY (method) REFERENCES public."delivery-methods"(id) ON DELETE RESTRICT; - - --- --- Name: samples address_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.samples - ADD CONSTRAINT address_fkey FOREIGN KEY (address_id) REFERENCES public.addresses(id); - - --- --- Name: article_content article_id; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.article_content - ADD CONSTRAINT article_id FOREIGN KEY (article_id) REFERENCES public.articles(id); - - --- --- Name: article_article_categories article_id; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.article_article_categories - ADD CONSTRAINT article_id FOREIGN KEY (article_id) REFERENCES public.articles(id); - - --- --- Name: orders billing_address_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.orders - ADD CONSTRAINT billing_address_fkey FOREIGN KEY (billing_address_id) REFERENCES public.addresses(id); - - --- --- Name: campaign_page_content campaign_page_content_campaign_page_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.campaign_page_content - ADD CONSTRAINT campaign_page_content_campaign_page_id_fkey FOREIGN KEY (campaign_page_id) REFERENCES public.campaign_pages(id); - - --- --- Name: campaign_page_content campaign_page_content_market_locale_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.campaign_page_content - ADD CONSTRAINT campaign_page_content_market_locale_id_fkey FOREIGN KEY (market_locale_id) REFERENCES public.market_locales(id); - - --- --- Name: designers canvas_image_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.designers - ADD CONSTRAINT canvas_image_fk FOREIGN KEY (canvas_image_id) REFERENCES public.teaser_images(id) ON DELETE SET NULL; - - --- --- Name: collections canvas_image_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.collections - ADD CONSTRAINT canvas_image_fk FOREIGN KEY (canvas_image_id) REFERENCES public.teaser_images(id) ON DELETE SET NULL; - - --- --- Name: categories canvas_image_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.categories - ADD CONSTRAINT canvas_image_fk FOREIGN KEY (canvas_image_id) REFERENCES public.teaser_images(id) ON DELETE SET NULL; - - --- --- Name: carts carts_order_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.carts - ADD CONSTRAINT carts_order_id_fkey FOREIGN KEY (order_id) REFERENCES public.orders(id); - - --- --- Name: category_texts categories_categories_texts_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.category_texts - ADD CONSTRAINT categories_categories_texts_fkey FOREIGN KEY (category_id) REFERENCES public.categories(id) ON DELETE CASCADE; - - --- --- Name: category_images categories_category_images_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.category_images - ADD CONSTRAINT categories_category_images_fk FOREIGN KEY (category_id) REFERENCES public.categories(id) ON DELETE CASCADE; - - --- --- Name: category_metadata categories_category_metadata_canonical_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.category_metadata - ADD CONSTRAINT categories_category_metadata_canonical_fk FOREIGN KEY (canonical) REFERENCES public.categories(id) ON UPDATE CASCADE ON DELETE SET NULL; - - --- --- Name: category_metadata categories_category_metadata_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.category_metadata - ADD CONSTRAINT categories_category_metadata_fk FOREIGN KEY (category_id) REFERENCES public.categories(id) ON DELETE CASCADE; - - --- --- Name: article_article_categories category_id; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.article_article_categories - ADD CONSTRAINT category_id FOREIGN KEY (category_id) REFERENCES public.article_categories(id); - - --- --- Name: category_keyword category_keyword_category_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.category_keyword - ADD CONSTRAINT category_keyword_category_id_fkey FOREIGN KEY (category_id) REFERENCES public.categories(id); - - --- --- Name: category_keyword category_keyword_keyword_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.category_keyword - ADD CONSTRAINT category_keyword_keyword_id_fkey FOREIGN KEY (keyword_id) REFERENCES public.keywords(id); - - --- --- Name: category_texts category_texts_locale_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.category_texts - ADD CONSTRAINT category_texts_locale_id_fkey FOREIGN KEY (locale_id) REFERENCES public.locales(id); - - --- --- Name: category_texts category_texts_locale_id_fkey1; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.category_texts - ADD CONSTRAINT category_texts_locale_id_fkey1 FOREIGN KEY (locale_id) REFERENCES public.locales(id); - - --- --- Name: categorydata categorydata_category_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.categorydata - ADD CONSTRAINT categorydata_category_id_fkey FOREIGN KEY (category_id) REFERENCES public.categories(id); - - --- --- Name: categorydata categorydata_datakey_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.categorydata - ADD CONSTRAINT categorydata_datakey_id_fkey FOREIGN KEY (datakey_id) REFERENCES public.categorydatakeys(id); - - --- --- Name: categorydata categorydata_locale_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.categorydata - ADD CONSTRAINT categorydata_locale_id_fkey FOREIGN KEY (locale_id) REFERENCES public.locales(id); - - --- --- Name: collections_texts collection_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.collections_texts - ADD CONSTRAINT collection_fkey FOREIGN KEY (collection_id) REFERENCES public.collections(id); - - --- --- Name: collections_products collection_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.collections_products - ADD CONSTRAINT collection_fkey FOREIGN KEY (collection_id) REFERENCES public.collections(id); - - --- --- Name: collections_blacklist collection_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.collections_blacklist - ADD CONSTRAINT collection_fkey FOREIGN KEY (collection_id) REFERENCES public.collections(id); - - --- --- Name: addresses country_code_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.addresses - ADD CONSTRAINT country_code_fkey FOREIGN KEY (country_code) REFERENCES public."i18n-territories"(iso2char); - - --- --- Name: markets currency_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.markets - ADD CONSTRAINT currency_fkey FOREIGN KEY (currency) REFERENCES public."product-currencies"(iso3char); - - --- --- Name: delivery-methods_prices delivery-methods_prices_territory_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."delivery-methods_prices" - ADD CONSTRAINT "delivery-methods_prices_territory_fkey" FOREIGN KEY (territory) REFERENCES public."i18n-territories"(iso2char) ON DELETE RESTRICT; - - --- --- Name: orders delivery_address_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.orders - ADD CONSTRAINT delivery_address_fkey FOREIGN KEY (delivery_address_id) REFERENCES public.addresses(id); - - --- --- Name: categories design_wallpaper_image_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.categories - ADD CONSTRAINT design_wallpaper_image_fk FOREIGN KEY (design_wallpaper_image_id) REFERENCES public.teaser_images(id) ON DELETE SET NULL; - - --- --- Name: designer_texts designer_texts_designerid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.designer_texts - ADD CONSTRAINT designer_texts_designerid_fkey FOREIGN KEY (designerid) REFERENCES public.designers(designerid) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: designer_texts designer_texts_locale_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.designer_texts - ADD CONSTRAINT designer_texts_locale_id_fkey FOREIGN KEY (locale_id) REFERENCES public.locales(id) ON UPDATE CASCADE; - - --- --- Name: designers-blocked designers-blocked_designerid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."designers-blocked" - ADD CONSTRAINT "designers-blocked_designerid_fkey" FOREIGN KEY (designerid) REFERENCES public.designers(designerid); - - --- --- Name: discount_code_filters discount_filters_discountcodeid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.discount_code_filters - ADD CONSTRAINT discount_filters_discountcodeid_fkey FOREIGN KEY (discount_code_id) REFERENCES public.discount_codes(discountid); - - --- --- Name: locales fallback_locale_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.locales - ADD CONSTRAINT fallback_locale_fkey FOREIGN KEY (fallback_id) REFERENCES public.locales(id); - - --- --- Name: external_print_products fk_product_groups; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.external_print_products - ADD CONSTRAINT fk_product_groups FOREIGN KEY (group_id) REFERENCES public."product-groups"(groupid); - - --- --- Name: designers framed_print_image_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.designers - ADD CONSTRAINT framed_print_image_fk FOREIGN KEY (framed_print_image_id) REFERENCES public.teaser_images(id) ON DELETE SET NULL; - - --- --- Name: categories framed_print_image_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.categories - ADD CONSTRAINT framed_print_image_fk FOREIGN KEY (framed_print_image_id) REFERENCES public.teaser_images(id) ON DELETE SET NULL; - - --- --- Name: collections framed_print_image_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.collections - ADD CONSTRAINT framed_print_image_fk FOREIGN KEY (framed_print_image_id) REFERENCES public.teaser_images(id) ON DELETE SET NULL; - - --- --- Name: i18n-currencies_names i18n-currencies_names_currency_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."i18n-currencies_names" - ADD CONSTRAINT "i18n-currencies_names_currency_fkey" FOREIGN KEY (currency) REFERENCES public."i18n-currencies"(iso3char) ON DELETE RESTRICT; - - --- --- Name: i18n-currencies_names i18n-currencies_names_language_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."i18n-currencies_names" - ADD CONSTRAINT "i18n-currencies_names_language_fkey" FOREIGN KEY (language) REFERENCES public."i18n-languages"(iso3char) ON DELETE RESTRICT; - - --- --- Name: i18n-currencies_territories i18n-currencies_territories_currency_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."i18n-currencies_territories" - ADD CONSTRAINT "i18n-currencies_territories_currency_fkey" FOREIGN KEY (currency) REFERENCES public."i18n-currencies"(iso3char) ON DELETE RESTRICT; - - --- --- Name: i18n-currencies_territories i18n-currencies_territories_territory_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."i18n-currencies_territories" - ADD CONSTRAINT "i18n-currencies_territories_territory_fkey" FOREIGN KEY (territory) REFERENCES public."i18n-territories"(iso2char) ON DELETE RESTRICT; - - --- --- Name: i18n-languages_names i18n-languages_names_iso3char_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."i18n-languages_names" - ADD CONSTRAINT "i18n-languages_names_iso3char_fkey" FOREIGN KEY (iso3char) REFERENCES public."i18n-languages"(iso3char) ON DELETE RESTRICT; - - --- --- Name: i18n-languages_names i18n-languages_names_language_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."i18n-languages_names" - ADD CONSTRAINT "i18n-languages_names_language_fkey" FOREIGN KEY (language) REFERENCES public."i18n-languages"(iso3char) ON DELETE RESTRICT; - - --- --- Name: i18n-languages_territories i18n-languages_territories_language_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."i18n-languages_territories" - ADD CONSTRAINT "i18n-languages_territories_language_fkey" FOREIGN KEY (language) REFERENCES public."i18n-languages"(iso3char) ON DELETE RESTRICT; - - --- --- Name: i18n-languages_territories i18n-languages_territories_territory_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."i18n-languages_territories" - ADD CONSTRAINT "i18n-languages_territories_territory_fkey" FOREIGN KEY (territory) REFERENCES public."i18n-territories"(iso2char) ON DELETE RESTRICT; - - --- --- Name: i18n-territories_names i18n-territories_names_iso2char_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."i18n-territories_names" - ADD CONSTRAINT "i18n-territories_names_iso2char_fkey" FOREIGN KEY (territory) REFERENCES public."i18n-territories"(iso2char) ON DELETE RESTRICT; - - --- --- Name: i18n-territories_names i18n-territories_names_language_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."i18n-territories_names" - ADD CONSTRAINT "i18n-territories_names_language_fkey" FOREIGN KEY (language) REFERENCES public."i18n-languages"(iso3char) ON DELETE RESTRICT; - - --- --- Name: i18n-texts_data i18n-texts_data_textid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."i18n-texts_data" - ADD CONSTRAINT "i18n-texts_data_textid_fkey" FOREIGN KEY (textid) REFERENCES public."i18n-texts"(textid) ON DELETE RESTRICT; - - --- --- Name: inquiries inquiries_materialid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.inquiries - ADD CONSTRAINT inquiries_materialid_fkey FOREIGN KEY (materialid) REFERENCES public."product-materials"(materialid) ON DELETE RESTRICT; - - --- --- Name: inquiry_markers inquiry_markers_inquiry_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.inquiry_markers - ADD CONSTRAINT inquiry_markers_inquiry_id_fkey FOREIGN KEY (inquiry_id) REFERENCES public.inquiries(inquiryid); - - --- --- Name: inquiry_messages inquiry_messages_inquiry_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.inquiry_messages - ADD CONSTRAINT inquiry_messages_inquiry_id_fkey FOREIGN KEY (inquiry_id) REFERENCES public.inquiries(inquiryid); - - --- --- Name: inquiry_messages inquiry_messages_material_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.inquiry_messages - ADD CONSTRAINT inquiry_messages_material_id_fkey FOREIGN KEY (material_id) REFERENCES public."product-materials"(materialid); - - --- --- Name: interiors interiors_print_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.interiors - ADD CONSTRAINT interiors_print_id_fkey FOREIGN KEY (print_id) REFERENCES public."product-printproducts"(printid) ON DELETE CASCADE; - - --- --- Name: interiors interiors_room_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.interiors - ADD CONSTRAINT interiors_room_id_fkey FOREIGN KEY (room_id) REFERENCES public.rooms(id) ON DELETE RESTRICT; - - --- --- Name: keywords_i18n keyword_trans_norm_parent_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.keywords_i18n - ADD CONSTRAINT keyword_trans_norm_parent_id_fkey FOREIGN KEY (parent_id) REFERENCES public.keywords(id); - - --- --- Name: keyword_type keyword_type_keyword_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.keyword_type - ADD CONSTRAINT keyword_type_keyword_id_fkey FOREIGN KEY (keyword_id) REFERENCES public.keywords(id); - - --- --- Name: keyword_type keyword_type_keywordtype_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.keyword_type - ADD CONSTRAINT keyword_type_keywordtype_id_fkey FOREIGN KEY (type_id) REFERENCES public.keywordtypes(id); - - --- --- Name: inquiries locale_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.inquiries - ADD CONSTRAINT locale_fkey FOREIGN KEY (locale_id) REFERENCES public.locales(id); - - --- --- Name: i18n-texts_data locale_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."i18n-texts_data" - ADD CONSTRAINT locale_fkey FOREIGN KEY (locale_id) REFERENCES public.locales(id); - - --- --- Name: collections_texts locale_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.collections_texts - ADD CONSTRAINT locale_fkey FOREIGN KEY (locale_id) REFERENCES public.locales(id); - - --- --- Name: market_locales locale_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.market_locales - ADD CONSTRAINT locale_fkey FOREIGN KEY (locale_id) REFERENCES public.locales(id); - - --- --- Name: product_blacklist market_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.product_blacklist - ADD CONSTRAINT market_fkey FOREIGN KEY (market_id) REFERENCES public.markets(id); - - --- --- Name: collections_blacklist market_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.collections_blacklist - ADD CONSTRAINT market_fkey FOREIGN KEY (market_id) REFERENCES public.markets(id); - - --- --- Name: market_locales market_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.market_locales - ADD CONSTRAINT market_fkey FOREIGN KEY (market_id) REFERENCES public.markets(id); - - --- --- Name: inquiries market_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.inquiries - ADD CONSTRAINT market_fkey FOREIGN KEY (market_id) REFERENCES public.markets(id); - - --- --- Name: redirects market_locale_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.redirects - ADD CONSTRAINT market_locale_id_fkey FOREIGN KEY (market_locale_id) REFERENCES public.market_locales(id); - - --- --- Name: article_content market_locales_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.article_content - ADD CONSTRAINT market_locales_fkey FOREIGN KEY (market_locale_id) REFERENCES public.market_locales(id); - - --- --- Name: samples material_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.samples - ADD CONSTRAINT material_fkey FOREIGN KEY (material_id) REFERENCES public."product-materials"(materialid); - - --- --- Name: order-orders_fields order-orders_fields_fieldid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."order-orders_fields" - ADD CONSTRAINT "order-orders_fields_fieldid_fkey" FOREIGN KEY (fieldid) REFERENCES public."order-fields"(fieldid) ON DELETE RESTRICT; - - --- --- Name: order-orders_fields order-orders_fields_orderid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."order-orders_fields" - ADD CONSTRAINT "order-orders_fields_orderid_fkey" FOREIGN KEY (orderid) REFERENCES public."order-orders"(orderid) ON DELETE RESTRICT; - - --- --- Name: order-rows_details order-rows_details_fieldid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."order-rows_details" - ADD CONSTRAINT "order-rows_details_fieldid_fkey" FOREIGN KEY (fieldid) REFERENCES public."order-row_fields"(fieldid) ON DELETE RESTRICT; - - --- --- Name: order-rows_details order-rows_details_rowid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."order-rows_details" - ADD CONSTRAINT "order-rows_details_rowid_fkey" FOREIGN KEY (rowid) REFERENCES public."order-rows"(rowid) ON DELETE RESTRICT; - - --- --- Name: order-rows order-rows_orderid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."order-rows" - ADD CONSTRAINT "order-rows_orderid_fkey" FOREIGN KEY (orderid) REFERENCES public."order-orders"(orderid) ON DELETE RESTRICT; - - --- --- Name: invoices order_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.invoices - ADD CONSTRAINT order_fk FOREIGN KEY (order_id) REFERENCES public.orders(id); - - --- --- Name: order_rows order_rows_designer_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.order_rows - ADD CONSTRAINT order_rows_designer_id_fkey FOREIGN KEY (designer_id) REFERENCES public.designers(designerid); - - --- --- Name: order_rows order_rows_order_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.order_rows - ADD CONSTRAINT order_rows_order_id_fkey FOREIGN KEY (order_id) REFERENCES public.orders(id); - - --- --- Name: categories photo_wallpaper_image_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.categories - ADD CONSTRAINT photo_wallpaper_image_fk FOREIGN KEY (photo_wallpaper_image_id) REFERENCES public.teaser_images(id) ON DELETE SET NULL; - - --- --- Name: designers poster_image_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.designers - ADD CONSTRAINT poster_image_fk FOREIGN KEY (poster_image_id) REFERENCES public.teaser_images(id) ON DELETE SET NULL; - - --- --- Name: categories poster_image_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.categories - ADD CONSTRAINT poster_image_fk FOREIGN KEY (poster_image_id) REFERENCES public.teaser_images(id) ON DELETE SET NULL; - - --- --- Name: collections poster_image_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.collections - ADD CONSTRAINT poster_image_fk FOREIGN KEY (poster_image_id) REFERENCES public.teaser_images(id) ON DELETE SET NULL; - - --- --- Name: printproducts_defaults printid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.printproducts_defaults - ADD CONSTRAINT printid_fkey FOREIGN KEY (print_id) REFERENCES public."product-printproducts"(printid); - - --- --- Name: product-printprices product-printprices_groupid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-printprices" - ADD CONSTRAINT "product-printprices_groupid_fkey" FOREIGN KEY (groupid) REFERENCES public."product-groups"(groupid) ON DELETE RESTRICT; - - --- --- Name: product-printprices product-printprices_materialid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-printprices" - ADD CONSTRAINT "product-printprices_materialid_fkey" FOREIGN KEY (materialid) REFERENCES public."product-materials"(materialid) ON DELETE RESTRICT; - - --- --- Name: product-printproducts product-printproducts_groupid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-printproducts" - ADD CONSTRAINT "product-printproducts_groupid_fkey" FOREIGN KEY (groupid) REFERENCES public."product-groups"(groupid) ON DELETE RESTRICT; - - --- --- Name: product-printproducts_materials product-printproducts_materials_materialid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-printproducts_materials" - ADD CONSTRAINT "product-printproducts_materials_materialid_fkey" FOREIGN KEY (materialid) REFERENCES public."product-materials"(materialid) ON DELETE RESTRICT; - - --- --- Name: product-printproducts_materials product-printproducts_materials_printid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-printproducts_materials" - ADD CONSTRAINT "product-printproducts_materials_printid_fkey" FOREIGN KEY (printid) REFERENCES public."product-printproducts"(printid) ON DELETE RESTRICT; - - --- --- Name: product-printproducts product-printproducts_productid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-printproducts" - ADD CONSTRAINT "product-printproducts_productid_fkey" FOREIGN KEY (productid) REFERENCES public."product-products"(productid) ON DELETE RESTRICT; - - --- --- Name: product-printproducts product-printproducts_typeid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-printproducts" - ADD CONSTRAINT "product-printproducts_typeid_fkey" FOREIGN KEY (typeid) REFERENCES public."product-types"(typeid) ON DELETE RESTRICT; - - --- --- Name: product-products product-products_designerid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-products" - ADD CONSTRAINT "product-products_designerid_fkey" FOREIGN KEY (designerid) REFERENCES public.designers(designerid) ON DELETE RESTRICT; - - --- --- Name: product-products_fields product-products_fields_fieldid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-products_fields" - ADD CONSTRAINT "product-products_fields_fieldid_fkey" FOREIGN KEY (fieldid) REFERENCES public."product-fields"(fieldid) ON DELETE RESTRICT; - - --- --- Name: product-products_fields product-products_fields_productid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-products_fields" - ADD CONSTRAINT "product-products_fields_productid_fkey" FOREIGN KEY (productid) REFERENCES public."product-products"(productid) ON DELETE RESTRICT; - - --- --- Name: product_wallpapertypes product-products_productid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.product_wallpapertypes - ADD CONSTRAINT "product-products_productid_fkey" FOREIGN KEY (product_id) REFERENCES public."product-products"(productid) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: product-products_products product-products_products_productid1_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-products_products" - ADD CONSTRAINT "product-products_products_productid1_fkey" FOREIGN KEY (productid1) REFERENCES public."product-products"(productid) ON DELETE RESTRICT; - - --- --- Name: product-products_products product-products_products_productid2_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-products_products" - ADD CONSTRAINT "product-products_products_productid2_fkey" FOREIGN KEY (productid2) REFERENCES public."product-products"(productid) ON DELETE RESTRICT; - - --- --- Name: product-status-history product-status-history-lookup-action_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-status-history" - ADD CONSTRAINT "product-status-history-lookup-action_fkey" FOREIGN KEY (action) REFERENCES public."product-status-history_lookup"(id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: product-status-history product-status-history_customer_satisfaction_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-status-history" - ADD CONSTRAINT "product-status-history_customer_satisfaction_fkey" FOREIGN KEY (customer_satisfaction) REFERENCES public."product-status-history_lookup"(id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: product-status-history product-status-history_reason_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-status-history" - ADD CONSTRAINT "product-status-history_reason_fkey" FOREIGN KEY (reason) REFERENCES public."product-status-history_lookup"(id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: product-status-history product-status-history_rowid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-status-history" - ADD CONSTRAINT "product-status-history_rowid_fkey" FOREIGN KEY (rowid) REFERENCES public."order-rows"(rowid) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: product-status-history product-status-history_when_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public."product-status-history" - ADD CONSTRAINT "product-status-history_when_fkey" FOREIGN KEY (when_field) REFERENCES public."product-status-history_lookup"(id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: product_blacklist product_blacklist_group_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.product_blacklist - ADD CONSTRAINT product_blacklist_group_id_fkey FOREIGN KEY (group_id) REFERENCES public."product-groups"(groupid); - - --- --- Name: product_blacklist product_blacklist_product_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.product_blacklist - ADD CONSTRAINT product_blacklist_product_id_fkey FOREIGN KEY (product_id) REFERENCES public."product-products"(productid); - - --- --- Name: product_category product_category_category_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.product_category - ADD CONSTRAINT product_category_category_id_fkey FOREIGN KEY (category_id) REFERENCES public.categories(id); - - --- --- Name: product_category product_category_product_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.product_category - ADD CONSTRAINT product_category_product_id_fkey FOREIGN KEY (product_id) REFERENCES public."product-products"(productid); - - --- --- Name: product_keyword product_keyword_keyword_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.product_keyword - ADD CONSTRAINT product_keyword_keyword_id_fkey FOREIGN KEY (keyword_id) REFERENCES public.keywords(id); - - --- --- Name: product_keyword product_keyword_product_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.product_keyword - ADD CONSTRAINT product_keyword_product_id_fkey FOREIGN KEY (product_id) REFERENCES public."product-products"(productid); - - --- --- Name: collections_products products_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.collections_products - ADD CONSTRAINT products_fkey FOREIGN KEY (product_id) REFERENCES public."product-products"(productid); - - --- --- Name: rooms room_type_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.rooms - ADD CONSTRAINT room_type_id_fkey FOREIGN KEY (room_type_id) REFERENCES public.room_types(id); - - --- --- Name: samples samples_order_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.samples - ADD CONSTRAINT samples_order_id_fkey FOREIGN KEY (order_id) REFERENCES public.orders(id); - - --- --- Name: samples samples_order_row_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.samples - ADD CONSTRAINT samples_order_row_id_fkey FOREIGN KEY (order_row_id) REFERENCES public.order_rows(id); - - --- --- Name: slideshow_slides slideshow_slides_market_locale_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.slideshow_slides - ADD CONSTRAINT slideshow_slides_market_locale_id_fkey FOREIGN KEY (market_locale_id) REFERENCES public.market_locales(id); - - --- --- Name: stockproducts stockproducts_product_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.stockproducts - ADD CONSTRAINT stockproducts_product_id_fkey FOREIGN KEY (product_id) REFERENCES public."product-products"(productid); - - --- --- Name: flyers territory_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.flyers - ADD CONSTRAINT territory_fkey FOREIGN KEY (territory) REFERENCES public."i18n-territories"(iso2char); - - --- --- Name: designers wallpaper_image_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.designers - ADD CONSTRAINT wallpaper_image_fk FOREIGN KEY (wallpaper_image_id) REFERENCES public.teaser_images(id) ON DELETE SET NULL; - - --- --- Name: collections wallpaper_image_fk; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.collections - ADD CONSTRAINT wallpaper_image_fk FOREIGN KEY (wallpaper_image_id) REFERENCES public.teaser_images(id) ON DELETE SET NULL; - - --- --- Name: product_wallpapertypes wallpapertypes_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - --- - -ALTER TABLE ONLY public.product_wallpapertypes - ADD CONSTRAINT wallpapertypes_id_fkey FOREIGN KEY (wallpapertype_id) REFERENCES public.wallpapertypes(id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- PostgreSQL database dump complete --- - diff --git a/src/__test__/db_generator/addresses.js b/src/__test__/db_generator/addresses.js deleted file mode 100644 index fcfc412..0000000 --- a/src/__test__/db_generator/addresses.js +++ /dev/null @@ -1,48 +0,0 @@ -import _ from 'lodash'; -import { io, randomLocaleObject, person, saveFromTemplate } from './common.js'; - -const keys = { - id: 'DEFAULT', - address1: null, - company_name: null, - country_code: null, - city: null, - zipcode: null, - first_name: null, - last_name: null, - address2: null, - state: null, -}; - -const inserts = []; - -const N = 20; -for (const id of [...Array(N + 1).keys()].slice(1)) { - const fp = person(); - const locale = randomLocaleObject(); - - const key = Object.assign({}, keys, { - address1: `'${fp.adress.streetAddress}'`, - company_name: `'${fp.job.company}'`, - country_code: locale.country, - city: `'${fp.adress.city}'`, - zipcode: `'${fp.adress.zip}'`, - first_name: `'${fp.firstName}'`, - last_name: `'${fp.lastName}'`, - address2: `'${io() === 1 ? fp.adress.street : ''}'`, - state: `'${fp.adress.state}'`, - }); - - const insertString = `INSERT INTO public.addresses (id, address1, company_name, country_code, city, zipcode, first_name, last_name, address2, state) VALUES (${Object.values( - key, - ).join(', ')});`; - - inserts.push(insertString); -} - -saveFromTemplate( - 'templates/addresses.sql', - '../db/data/addresses.sql', - '{x}', - inserts.join('\n'), -); diff --git a/src/__test__/db_generator/common.js b/src/__test__/db_generator/common.js deleted file mode 100644 index fdbc152..0000000 --- a/src/__test__/db_generator/common.js +++ /dev/null @@ -1,199 +0,0 @@ -// import { LoremIpsum } from 'lorem-ipsum'; -import fs from 'fs'; -import fakePeople from 'fake-people'; -import _ from 'lodash'; -import DateGenerator from 'random-date-generator'; -import { LoremIpsum } from 'lorem-ipsum'; -import { join } from 'path'; - -export const randomDateStringBetween = (from, to) => { - const d = DateGenerator.getRandomDateInRange(from, to); - return `'${new Date(d).toISOString()}'`; -}; - -const locales = [ - 'sv_SE', - 'nn_NO', - 'en_GB', - 'da_DK', - 'fi_FI', - 'en_EU', - 'de_DE', - 'nl_NL', - 'de_AT', - 'en_US', - 'es_ES', - 'fr_FR', - 'pl_PL', - 'it_IT', - 'fr_BE', - 'nl_BE', - 'en_CA', - 'fr_CA', -]; - -const countryKeys = [ - 'SE', - 'NO', - 'GB', - 'DK', - 'FI', - 'EU', - 'DE', - 'NL', - 'AT', - 'US', - 'ES', - 'FR', - 'PL', - 'IT', - 'BE', - 'BE', - 'CA', - 'CA', -]; - -const currencies = ['SEK', 'CAD', 'RUB', 'DKK', 'EUR', 'GBP', 'NOK', 'USD']; - -const deliveryMethods = [ - 'postenStandard', - 'postenBusiness', - 'noDelivery', - 'myPack', - 'dbSchenker', - 'dbSchenkerBHP', - 'dbSchenkerBPA', - 'bringPrivate', - 'bringCompany', - 'dhl', - 'samplesDelivery', - 'dhlFreightPrivate', - 'dhlFreightBusiness', - 'dhlExpress', - 'dhlEconomyEU', - 'dhlEconomyWorld', - 'dhlEconomyUK', -]; - -const domains = [ - 'www.photowall.su', - 'www.photowall.co.uk', - 'www.photowall.eu', - 'www.photowall.de', - 'www.photowall.fr', - 'www.photowall.dk', - 'www.photowall.fi', - 'www.photowall.no', -]; - -export const randomFrom = (arr) => { - return arr[_.random(0, arr.length - 1)]; -}; - -export const randomStockId = () => { - return randomFrom([ - 157, 155, 148, 176, 143, 178, 151, 205, 206, 154, 163, 180, 172, 203, 150, - 156, 158, 161, 179, 160, 146, 171, 147, 153, 207, 209, 174, 159, 149, 142, - 208, 162, - ]); -}; - -export const randomDomain = () => { - return `'${domains[_.random(0, domains.length - 1)]}'`; -}; - -export const randomTerritory = () => { - return `'${countryKeys[_.random(0, countryKeys.length - 1)]}'`; -}; - -export const randomLocale = () => { - return `'${locales[_.random(0, locales.length - 1)]}'`; -}; - -export const randomProductGroup = () => { - const values = ['photo-wallpaper', 'canvas', 'framed-print']; - return `'${values[_.random(0, values.length - 1)]}'`; -}; - -export const randomArtNo = () => { - return `e${_.random(1000, 99999)}`; -}; - -export const randomProductType = () => { - const values = ['scaling', 'stock', '%', 'EUR', 'custom', 'tiling']; - return `'${values[_.random(0, values.length - 1)]}'`; -}; - -export const randomLocaleObject = () => { - const r = locales[_.random(0, locales.length - 1)]; - const c = currencies[_.random(0, currencies.length - 1)]; - const spl = r.split('_'); - return { - locale: `'${r}'`, - lang: `'${spl[0]}'`, - country: `'${spl[1]}'`, - currency: `'${c}'`, - }; -}; - -export const randomDeliveryMethod = () => { - return `'${deliveryMethods[_.random(0, deliveryMethods.length - 1)]}'`; -}; - -export const io = () => { - return _.random(0, 1); -}; - -export const ioBool = () => { - return _.random(0, 1) === 1; -}; - -export const padNum = (num) => { - return num < 10 ? `0${num}` : `${num}`; -}; - -export const person = () => { - const p = fakePeople.generate(0); - const pp = JSON.parse(JSON.stringify(p).replace(/'/g, '')); - return pp; -}; - -export const dateBetween = (from_yymmdd, to_yymmdd) => { - const fyy = Math.trunc(from_yymmdd / 10000); - const fmm = Math.trunc((from_yymmdd - fyy * 10000) / 100); - const fdd = from_yymmdd - fyy * 10000 - fmm * 100; - - const tyy = Math.trunc(to_yymmdd / 10000); - const tmm = Math.trunc((to_yymmdd - tyy * 10000) / 100); - const tdd = to_yymmdd - tyy * 10000 - tmm * 100; - - return DateGenerator.getRandomDateInRange( - new Date(2000 + fyy, fmm, fdd), - new Date(2000 + tyy, tmm, tdd), - ); -}; - -export const saveFromTemplate = ( - templateFile, - outputFile, - delimiter, - insert, -) => { - const template = fs.readFileSync(templateFile, 'utf-8'); - const inject = template.replace(delimiter, insert); - const response = fs.writeFileSync(outputFile, inject); - return response; -}; - -export const lorem = (() => { - return new LoremIpsum({ - sentencesPerParagraph: { - max: 8, - min: 4, - }, - wordsPerSentence: { - max: 16, - min: 4, - }, - }); -})(); diff --git a/src/__test__/db_generator/designer_texts.js b/src/__test__/db_generator/designer_texts.js deleted file mode 100644 index bb1c5ce..0000000 --- a/src/__test__/db_generator/designer_texts.js +++ /dev/null @@ -1,40 +0,0 @@ -import _ from 'lodash'; -import { saveFromTemplate, lorem } from './common.js'; - -const keys = { - id: 'DEFAULT', - designerid: null, - locale_id: null, - header: null, - description: null, -}; - -const inserts = []; - -const N = 10; -for (const id of [...Array(N + 1).keys()].slice(1)) { - let insertString = ''; - for (const locale_id of [ - 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 20, 21, - ]) { - const key = Object.assign({}, keys, { - designerid: id, - locale_id: locale_id, - header: `'${_.capitalize(lorem.generateWords(_.random(1, 3)))}'`, - description: `'${lorem.generateSentences(_.random(3, 5))}'`, - }); - - insertString += `INSERT INTO public.designer_texts (id, designerid, locale_id, header, description) VALUES (${Object.values( - key, - ).join(', ')});\n`; - } - - inserts.push(insertString); -} - -saveFromTemplate( - 'templates/designer_texts.sql', - '../db/data/designer_texts.sql', - '{x}', - inserts.join('\n'), -); diff --git a/src/__test__/db_generator/designers-blocked.js b/src/__test__/db_generator/designers-blocked.js deleted file mode 100644 index 52aa0f0..0000000 --- a/src/__test__/db_generator/designers-blocked.js +++ /dev/null @@ -1,39 +0,0 @@ -import { LoremIpsum } from 'lorem-ipsum'; -import _ from 'lodash'; -import { - saveFromTemplate, - randomDomain, - randomLocaleObject, - dateBetween, - person, -} from './common.js'; - -// INSERT INTO public."designers-blocked" (designerid, domain) VALUES (1, 'www.photowall.co.uk'); - -const keys = { - designerid: null, - domain: null, -}; - -const inserts = []; - -const N = 5; -for (const id of [...Array(N + 1).keys()].slice(1)) { - const key = Object.assign({}, keys, { - designerid: id, - domain: randomDomain(), - }); - - const insertString = `INSERT INTO public."designers-blocked" (designerid, domain) VALUES (${Object.values( - key, - ).join(', ')});`; - - inserts.push(insertString); -} - -saveFromTemplate( - 'templates/designers-blocked.sql', - '../db/data/designers-blocked.sql', - '{x}', - inserts.join('\n'), -); diff --git a/src/__test__/db_generator/designers.js b/src/__test__/db_generator/designers.js deleted file mode 100644 index 404fb4f..0000000 --- a/src/__test__/db_generator/designers.js +++ /dev/null @@ -1,119 +0,0 @@ -import _ from 'lodash'; -import { - saveFromTemplate, - randomLocaleObject, - dateBetween, - person, - lorem, -} from './common.js'; - -const keys = { - designerid: 233, - name: '', - path: '', - username: '', - password: 'NULL', - co: '', - street: '', - zipcode: '', - city: '', - territory: 'SE', - phone: '', - email: '', - orgnr: '', - currency: 'SEK', - commission: 18, - commission_resale: 18, - balance: 0, - description: 'NULL', - comments: '', - status: 1, - inserted: '2019-06-25 12:18:27.781469+02', - updated: '2021-04-14 15:16:31.031097+02', - license_image: 'NULL', - type: 'NULL', - segmentation: 1, - visible_search: 1, - visible_list: 1, - visible_productpage: 1, - visible_designerpage: 1, - sort_desc: false, - no_follow: 0, - logotype: 'designers/xxx.jpg', - automatic_payout: 0, - pricepremium_wallpaper: 18, - pricepremium_canvas: 18, - pricepremium_poster: 18, - pricepremium_framed_print: 18, - wallpaper_image_id: 'NULL', - canvas_image_id: 'NULL', - poster_image_id: 'NULL', - framed_print_image_id: 'NULL', -}; - -const inserts = []; - -const N = 10; -for (const id of [...Array(N + 1).keys()].slice(1)) { - const fp = person(); - const updated = dateBetween(200101, 200301); - const lo = randomLocaleObject(); - - const key = Object.assign({}, keys, { - designerid: 'DEFAULT', // 10 - name: `'${fp.firstName} ${fp.lastName}'`, // 100 - path: `'${_.kebabCase(`${fp.firstName}-${fp.lastName}`)}'`, // 100 - username: `'${_.kebabCase(`${fp.firstName}-${fp.lastName}`)}'`, // 100 - co: `'${fp.job.company} ${lorem.generateWords(1)}'`, // 100 - street: `'${fp.adress.street}'`, // 100 - zipcode: `'${fp.adress.zip}'`, // 100 - city: `'${fp.adress.city}'`, - territory: lo.country, - phone: `'${fp.contacts.phone}'`, - email: `'${fp.contacts.email}'`, - orgnr: `'123456-4321'`, - currency: lo.currency, - commission: 18, - commission_resale: 18, - balance: 0, - comments: `''`, - status: 1, - inserted: 'DEFAULT', - updated: `'${new Date(updated).toISOString()}'`, // 2021-04-15 08:07:14.322589+02 - segmentation: 1, - visible_search: 1, - visible_list: 1, - visible_productpage: 1, - visible_designerpage: 1, - sort_desc: false, - no_follow: 0, - logotype: `'designers/${id}.jpg'`, - automatic_payout: 0, - pricepremium_wallpaper: 18, - pricepremium_canvas: 18, - pricepremium_poster: 18, - pricepremium_framed_print: 18, - }); - - // Since the graphql query for designers is - // sorted on name we force the second designer - // to to top of the name sort. - // This is because we insert order on designer with - // id = 2 - if (id === 2) { - key.name = `'a'`; - } - - const insertString = `INSERT INTO public.designers (designerid, name, path, username, password, co, street, zipcode, city, territory, phone, email, orgnr, currency, commission, commission_resale, balance, description, comments, status, inserted, updated, license_image, type, segmentation, visible_search, visible_list, visible_productpage, visible_designerpage, sort_desc, no_follow, logotype, automatic_payout, pricepremium_wallpaper, pricepremium_canvas, pricepremium_poster, pricepremium_framed_print, wallpaper_image_id, canvas_image_id, poster_image_id, framed_print_image_id) VALUES (${Object.values( - key, - ).join(', ')});`; - - inserts.push(insertString); -} - -saveFromTemplate( - 'templates/designers.sql', - '../db/data/designers.sql', - '{x}', - inserts.join('\n'), -); diff --git a/src/__test__/db_generator/index.js b/src/__test__/db_generator/index.js deleted file mode 100644 index 9d20694..0000000 --- a/src/__test__/db_generator/index.js +++ /dev/null @@ -1,40 +0,0 @@ -import chalk from 'chalk'; -import { exec } from 'child_process'; -import fs from 'fs'; - -const log = (str) => { - return console.log(chalk.red.bold('=> ') + chalk.white(str)); -}; -const pink = (str) => { - return chalk.magenta.bold(str); -}; - -export const execShellCommand = (cmd) => { - return new Promise((resolve, reject) => { - log(`${pink('CMD>')} ${cmd}`); - exec(cmd, (error, stdout, stderr) => { - if (error) console.warn(error); - resolve(stdout ? { resp: stdout } : { error: stderr }); - }); - }); -}; - -(async () => { - const exports = [ - 'addresses', - 'designers', - 'designer_texts', - 'designers-blocked', - 'invoices', - 'orders', - 'product-products', - ]; - - for (const file of exports) { - if (fs.existsSync(`../db/data/${file}.sql`)) { - //file exists - } else { - await execShellCommand(`node ${file}.js`); - } - } -})(); diff --git a/src/__test__/db_generator/invoices.js b/src/__test__/db_generator/invoices.js deleted file mode 100644 index 74ae26c..0000000 --- a/src/__test__/db_generator/invoices.js +++ /dev/null @@ -1,39 +0,0 @@ -import _ from 'lodash'; -import { io, saveFromTemplate, padNum } from './common.js'; - -// INSERT INTO public.invoices (id, inserted, order_id, invoice_date, invoice_sent) VALUES (DEFAULT, '2019-06-12T16:16:50.784Z', 4, '2019-06-12', 1); - -const keys = { - id: 'DEFAULT', - inserted: 'DEFAULT', - order_id: null, - invoice_date: '', - invoice_sent: '', -}; - -const inserts = []; - -const N = 10; -for (const id of [...Array(N + 1).keys()].slice(1)) { - const now = new Date(); - const key = Object.assign({}, keys, { - order_id: id, - invoice_date: `'${now.getFullYear()}-${padNum(now.getMonth())}-${padNum( - now.getDay(), - )}'`, - invoice_sent: io(), - }); - - const insertString = `INSERT INTO public.invoices (id, inserted, order_id, invoice_date, invoice_sent) VALUES (${Object.values( - key, - ).join(', ')});`; - - inserts.push(insertString); -} - -saveFromTemplate( - 'templates/invoices.sql', - '../db/data/invoices.sql', - '{x}', - inserts.join('\n'), -); diff --git a/src/__test__/db_generator/orders.js b/src/__test__/db_generator/orders.js deleted file mode 100644 index 3c01ae9..0000000 --- a/src/__test__/db_generator/orders.js +++ /dev/null @@ -1,108 +0,0 @@ -import _ from 'lodash'; -import { - io, - randomLocaleObject, - randomDeliveryMethod, - dateBetween, - person, - saveFromTemplate, -} from './common.js'; - -const keys = { - paid: 0, - confirmed: 1, - delivered: 0, - newsletter: 0, - credit_invoice: 0, - canceled: 1, - reminder: 0, - delivered_date: 'NULL', - country_code: 'SE', - language: 'sv', - delivery_country_code: 'SE', - delivery_method: 'dbSchenkerBPA', - delivery_price: 0, - delivery_vat: 1.25, - customer_type: 'NULL', - payment_type: `'agreement'`, - attention: `''`, - currency: 'SEK', - exchange_rate: 1, - exchange_rate_eur: 'NULL', - invoice_id: 'NULL', - contract_customer_id: 551, - vat_number: 'NULL', - comment: 'NULL', - cancels_order_id: 'NULL', - cancelled_by_order_id: 'NULL', - orderlog_id: 'NULL', - reseller_store: 'NULL', - order_sum: 'NULL', - klarna_order_id: 'NULL', - pwinty_id: 'NULL', - email: 'asdf@asdfasdf.com', - phone: 'NULL', - delivery_email: 'NULL', - delivery_phone: 'NULL', - customer_firstname: 'lorem', - customer_lastname: 'ipsum', - customer_email: 'lorem@lkajdsflkjasdf.com', - customer_cellphone: '070-1234567', - billing_address_id: 123123, - delivery_address_id: 123123, - flyer_ids: 'NULL', - market: 'SE', - locale: 'sv_SE', -}; - -const inserts = []; - -const N = 10; -for (const id of [...Array(N + 1).keys()].slice(1)) { - const fp = person(); - - const delivered = dateBetween(200101, 200301); - - const lo = randomLocaleObject(); - - const key = Object.assign({}, keys, { - paid: io(), - confirmed: io(), - delivered: io(), - newsletter: io(), - credit_invoice: io(), - canceled: io(), - reminder: io(), - delivered_date: `'${new Date(delivered).toISOString()}'`, - country_code: lo.country, - language: lo.lang, - delivery_country_code: lo.country, - delivery_method: randomDeliveryMethod(), - currency: lo.currency, - exchange_rate: io(), - invoice_id: `'${id}'`, - email: `'${fp.contacts.email}'`, - customer_firstname: `'${fp.firstName}'`, - customer_lastname: `'${fp.lastName}'`, - customer_email: `'${fp.contacts.email}'`, - customer_cellphone: `'${fp.contacts.phone}'`, - billing_address_id: id, - delivery_address_id: id, - market: lo.country, - locale: lo.locale, - }); - - // UPDATE weather SET (temp_lo, temp_hi, prcp) = (temp_lo+1, temp_lo+15, DEFAULT) WHERE city = 'San Francisco' AND date = '2003-07-03'; - const insertString = `UPDATE public.orders SET (paid, confirmed, delivered, newsletter, credit_invoice, canceled, reminder, delivered_date, country_code, language, delivery_country_code, delivery_method, delivery_price, delivery_vat, customer_type, payment_type, attention, currency, exchange_rate, exchange_rate_eur, invoice_id, contract_customer_id, vat_number, comment, cancels_order_id, cancelled_by_order_id, orderlog_id, reseller_store, order_sum, klarna_order_id, pwinty_id, email, phone, delivery_email, delivery_phone, customer_firstname, customer_lastname, customer_email, customer_cellphone, billing_address_id, delivery_address_id, flyer_ids, market, locale) = (${Object.values( - key, - ).join(', ')}) WHERE id=${id};`; - - inserts.push(insertString); -} - -saveFromTemplate( - 'templates/orders.sql', - '../db/data/orders.sql', - '{x}', - inserts.join('\n'), -); diff --git a/src/__test__/db_generator/package-lock.json b/src/__test__/db_generator/package-lock.json deleted file mode 100644 index 101cd26..0000000 --- a/src/__test__/db_generator/package-lock.json +++ /dev/null @@ -1,219 +0,0 @@ -{ - "name": "db_generator", - "version": "1.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "db_generator", - "version": "1.0.0", - "license": "ISC", - "dependencies": { - "fake-people": "^1.0.0", - "lodash": "^4.17.21", - "lorem-ipsum": "^2.0.3", - "random-date-generator": "^1.0.2" - }, - "devDependencies": { - "chalk": "^4.1.1" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/fake-people": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fake-people/-/fake-people-1.0.0.tgz", - "integrity": "sha1-PRdr4BufkwBwceu0gWIuxebN2BM=", - "dependencies": { - "faker": "^3.1.0" - }, - "engines": { - "node": "^6.1.0" - } - }, - "node_modules/faker": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/faker/-/faker-3.1.0.tgz", - "integrity": "sha1-D5CPr05uwCUk5UpX5DLFwBPgjJ8=" - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lorem-ipsum": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/lorem-ipsum/-/lorem-ipsum-2.0.3.tgz", - "integrity": "sha512-CX2r84DMWjW/DWiuzicTI9aRaJPAw2cvAGMJYZh/nx12OkTGqloj8y8FU0S8ZkKwOdqhfxEA6Ly8CW2P6Yxjwg==", - "dependencies": { - "commander": "^2.17.1" - }, - "bin": { - "lorem-ipsum": "dist/bin/lorem-ipsum.bin.js" - }, - "engines": { - "node": ">= 8.x", - "npm": ">= 5.x" - } - }, - "node_modules/random-date-generator": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/random-date-generator/-/random-date-generator-1.0.2.tgz", - "integrity": "sha1-xjZmW7/tCM7J4iBT1J8jPI/YTdE=" - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - } - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "fake-people": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fake-people/-/fake-people-1.0.0.tgz", - "integrity": "sha1-PRdr4BufkwBwceu0gWIuxebN2BM=", - "requires": { - "faker": "^3.1.0" - } - }, - "faker": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/faker/-/faker-3.1.0.tgz", - "integrity": "sha1-D5CPr05uwCUk5UpX5DLFwBPgjJ8=" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lorem-ipsum": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/lorem-ipsum/-/lorem-ipsum-2.0.3.tgz", - "integrity": "sha512-CX2r84DMWjW/DWiuzicTI9aRaJPAw2cvAGMJYZh/nx12OkTGqloj8y8FU0S8ZkKwOdqhfxEA6Ly8CW2P6Yxjwg==", - "requires": { - "commander": "^2.17.1" - } - }, - "random-date-generator": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/random-date-generator/-/random-date-generator-1.0.2.tgz", - "integrity": "sha1-xjZmW7/tCM7J4iBT1J8jPI/YTdE=" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } -} diff --git a/src/__test__/db_generator/package.json b/src/__test__/db_generator/package.json deleted file mode 100644 index 97ebcce..0000000 --- a/src/__test__/db_generator/package.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "db_generator", - "version": "1.0.0", - "type": "module", - "description": "Generate sql files inserted in the test DB", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "author": "", - "license": "ISC", - "dependencies": { - "fake-people": "^1.0.0", - "lodash": "^4.17.21", - "lorem-ipsum": "^2.0.3", - "random-date-generator": "^1.0.2" - }, - "devDependencies": { - "chalk": "^4.1.1" - } -} diff --git a/src/__test__/db_generator/product-products.js b/src/__test__/db_generator/product-products.js deleted file mode 100644 index 25d9ab8..0000000 --- a/src/__test__/db_generator/product-products.js +++ /dev/null @@ -1,49 +0,0 @@ -import _ from 'lodash'; -import { - saveFromTemplate, - randomLocaleObject, - dateBetween, - person, - lorem, -} from './common.js'; - -const keys = { - productid: 'DEFAULT', - path: '', - visible: 1, - browsable: 1, - designerid: 1, - inserted: 'DEFAULT', - updated: 'NULL', - ref1: 'NULL', - ref2: 'NULL', - ref3: 'NULL', -}; - -const inserts = []; - -const N = 10; -for (const id of [...Array(N + 1).keys()].slice(1)) { - const fp = person(); - const inserted = dateBetween(200101, 200301); - - const key = Object.assign({}, keys, { - path: `'${_.kebabCase(lorem.generateWords(2))}'`, - designerid: _.random(1, 5), - inserted: `'${new Date(inserted).toISOString()}'`, - ref1: `'${fp.firstName} ${fp.lastName}'`, - }); - - const insertString = `INSERT INTO public."product-products" (productid, path, visible, browsable, designerid, inserted, updated, ref1, ref2, ref3) VALUES (${Object.values( - key, - ).join(', ')});`; - - inserts.push(insertString); -} - -saveFromTemplate( - 'templates/product-products.sql', - '../db/data/product-products.sql', - '{x}', - inserts.join('\n'), -); diff --git a/src/__test__/db_generator/templates/addresses.sql b/src/__test__/db_generator/templates/addresses.sql deleted file mode 100644 index dc9903e..0000000 --- a/src/__test__/db_generator/templates/addresses.sql +++ /dev/null @@ -1,28 +0,0 @@ --- --- PostgreSQL database dump --- - --- Dumped from database version 10.14 --- Dumped by pg_dump version 10.14 - -SET statement_timeout = 0; -SET lock_timeout = 0; -SET idle_in_transaction_session_timeout = 0; -SET client_encoding = 'UTF8'; -SET standard_conforming_strings = on; -SELECT pg_catalog.set_config('search_path', '', false); -SET check_function_bodies = false; -SET xmloption = content; -SET client_min_messages = warning; -SET row_security = off; - --- --- Data for Name: addresses; Type: TABLE DATA; Schema: public; Owner: postgres --- - -{x} - --- --- PostgreSQL database dump complete --- - diff --git a/src/__test__/db_generator/templates/designer_texts.sql b/src/__test__/db_generator/templates/designer_texts.sql deleted file mode 100644 index 5cc3f31..0000000 --- a/src/__test__/db_generator/templates/designer_texts.sql +++ /dev/null @@ -1,29 +0,0 @@ --- --- PostgreSQL database dump --- - --- Dumped from database version 10.14 --- Dumped by pg_dump version 10.14 - -SET statement_timeout = 0; -SET lock_timeout = 0; -SET idle_in_transaction_session_timeout = 0; -SET client_encoding = 'UTF8'; -SET standard_conforming_strings = on; -SELECT pg_catalog.set_config('search_path', '', false); -SET check_function_bodies = false; -SET xmloption = content; -SET client_min_messages = warning; -SET row_security = off; - --- --- Data for Name: designer_texts; Type: TABLE DATA; Schema: public; Owner: postgres --- - -{x} - - --- --- PostgreSQL database dump complete --- - diff --git a/src/__test__/db_generator/templates/designers-blocked.sql b/src/__test__/db_generator/templates/designers-blocked.sql deleted file mode 100644 index 3af3273..0000000 --- a/src/__test__/db_generator/templates/designers-blocked.sql +++ /dev/null @@ -1,28 +0,0 @@ --- --- PostgreSQL database dump --- - --- Dumped from database version 10.14 --- Dumped by pg_dump version 10.14 - -SET statement_timeout = 0; -SET lock_timeout = 0; -SET idle_in_transaction_session_timeout = 0; -SET client_encoding = 'UTF8'; -SET standard_conforming_strings = on; -SELECT pg_catalog.set_config('search_path', '', false); -SET check_function_bodies = false; -SET xmloption = content; -SET client_min_messages = warning; -SET row_security = off; - --- --- Data for Name: designers-blocked; Type: TABLE DATA; Schema: public; Owner: postgres --- - -{x} - --- --- PostgreSQL database dump complete --- - diff --git a/src/__test__/db_generator/templates/designers.sql b/src/__test__/db_generator/templates/designers.sql deleted file mode 100644 index f3fdfb1..0000000 --- a/src/__test__/db_generator/templates/designers.sql +++ /dev/null @@ -1,28 +0,0 @@ --- --- PostgreSQL database dump --- - --- Dumped from database version 10.14 --- Dumped by pg_dump version 10.14 - -SET statement_timeout = 0; -SET lock_timeout = 0; -SET idle_in_transaction_session_timeout = 0; -SET client_encoding = 'UTF8'; -SET standard_conforming_strings = on; -SELECT pg_catalog.set_config('search_path', '', false); -SET check_function_bodies = false; -SET xmloption = content; -SET client_min_messages = warning; -SET row_security = off; - --- --- Data for Name: designers; Type: TABLE DATA; Schema: public; Owner: postgres --- - -{x} - --- --- PostgreSQL database dump complete --- - diff --git a/src/__test__/db_generator/templates/invoices.sql b/src/__test__/db_generator/templates/invoices.sql deleted file mode 100644 index 3563a50..0000000 --- a/src/__test__/db_generator/templates/invoices.sql +++ /dev/null @@ -1,28 +0,0 @@ --- --- PostgreSQL database dump --- - --- Dumped from database version 10.14 --- Dumped by pg_dump version 10.14 - -SET statement_timeout = 0; -SET lock_timeout = 0; -SET idle_in_transaction_session_timeout = 0; -SET client_encoding = 'UTF8'; -SET standard_conforming_strings = on; -SELECT pg_catalog.set_config('search_path', '', false); -SET check_function_bodies = false; -SET xmloption = content; -SET client_min_messages = warning; -SET row_security = off; - --- --- Data for Name: invoices; Type: TABLE DATA; Schema: public; Owner: postgres --- - -{x} - --- --- PostgreSQL database dump complete --- - diff --git a/src/__test__/db_generator/templates/orders.sql b/src/__test__/db_generator/templates/orders.sql deleted file mode 100644 index a06b8e0..0000000 --- a/src/__test__/db_generator/templates/orders.sql +++ /dev/null @@ -1,28 +0,0 @@ --- --- PostgreSQL database dump --- - --- Dumped from database version 10.14 --- Dumped by pg_dump version 10.14 - -SET statement_timeout = 0; -SET lock_timeout = 0; -SET idle_in_transaction_session_timeout = 0; -SET client_encoding = 'UTF8'; -SET standard_conforming_strings = on; -SELECT pg_catalog.set_config('search_path', '', false); -SET check_function_bodies = false; -SET xmloption = content; -SET client_min_messages = warning; -SET row_security = off; - --- --- Data for Name: orders; Type: TABLE DATA; Schema: public; Owner: postgres --- - -{x} - --- --- PostgreSQL database dump complete --- - diff --git a/src/__test__/db_generator/templates/product-products.sql b/src/__test__/db_generator/templates/product-products.sql deleted file mode 100644 index 4cff393..0000000 --- a/src/__test__/db_generator/templates/product-products.sql +++ /dev/null @@ -1,34 +0,0 @@ --- --- PostgreSQL database dump --- - --- Dumped from database version 10.14 --- Dumped by pg_dump version 10.14 - -SET statement_timeout = 0; -SET lock_timeout = 0; -SET idle_in_transaction_session_timeout = 0; -SET client_encoding = 'UTF8'; -SET standard_conforming_strings = on; -SELECT pg_catalog.set_config('search_path', '', false); -SET check_function_bodies = false; -SET xmloption = content; -SET client_min_messages = warning; -SET row_security = off; - --- --- Data for Name: product-products; Type: TABLE DATA; Schema: public; Owner: postgres --- - -{x} - --- --- Name: product-products_productid_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres --- - -SELECT pg_catalog.setval('public."product-products_productid_seq"', 76042, true); - - --- --- PostgreSQL database dump complete --- diff --git a/src/__test__/tools.ts b/src/__test__/tools.ts deleted file mode 100644 index c8360a8..0000000 --- a/src/__test__/tools.ts +++ /dev/null @@ -1,3 +0,0 @@ -export const sleep = (ms) => { - return new Promise((resolve) => setTimeout(resolve, ms)); -}; diff --git a/src/__test__/unit.test.ts b/src/__test__/unit.test.ts deleted file mode 100644 index 8c9f9d4..0000000 --- a/src/__test__/unit.test.ts +++ /dev/null @@ -1,100 +0,0 @@ -import { checkAccess } from '../cognito/access-control'; -import { - AccessTokenClaim, - ClaimVerifyResult, - IdTokenClaim, -} from '../cognito/cognito-client'; - -const idTokenAuth = { - userName: 'niklas.fondberg@photowall.se', - isValid: true, - idToken: { - 'custom:adgroups': - '[Domain Users, Images_Write, VPN_Users, WebAdmin, WebAdminSuperUser]', - 'cognito:username': 'photowalladfs_photowall\\niklas.fondberg', - token_use: 'id', - email_verified: false, - nonce: 'Qc9kHCXrN----4st19sM', - at_hash: '9x_RMAO3_2NW1cQYkhWEtg', - email: 'niklas.fondberg@photowall.se', - aud: '53og32ofjne7e6i4uf10r3bg2b', - sub: '2646dd8b-f914-40eb-895b-c652976a65e1', - identities: [null], - } as IdTokenClaim, - accessToken: null, -} as ClaimVerifyResult; - -const accessTokenAuth = { - isValid: true, - idToken: null, - accessToken: { - token_use: 'access', - username: '', - scope: - 'https://graphql.photowall.com/orders.write https://graphql.photowall.com/orders.read', - client_id: '5vftcl43n2jkcdvd9imc270mtu', - } as AccessTokenClaim, -} as ClaimVerifyResult; - -describe('GraphQL Apollo unit tests', () => { - describe('Test auth', () => { - it('user test is accepted', () => { - const auth: ClaimVerifyResult = { - userName: 'testuser', - idToken: null, - accessToken: null, - isValid: true, - }; - expect(() => checkAccess(['orders.read'], auth)).not.toThrow(); - }); - }); - - describe('Test auth not ok for test', () => { - it('user bla is accepted', () => { - const auth: ClaimVerifyResult = { - userName: 'bla', - idToken: null, - accessToken: null, - isValid: true, - }; - expect(() => checkAccess(['orders.read'], auth)).toThrow(); - }); - }); - - describe('Test access auth', () => { - it('user test is accepted', () => { - const auth = accessTokenAuth; - expect(() => - checkAccess(['orders.read', 'orders.write'], auth), - ).not.toThrow(); - }); - }); - - describe('Test access auth not enough scope', () => { - it('user test is accepted', () => { - const auth = accessTokenAuth; - expect(() => - checkAccess(['products.read', 'orders.read'], auth), - ).toThrow(); - }); - }); - - describe('Test id auth', () => { - it('user test is accepted', () => { - const auth = idTokenAuth; - expect(() => - checkAccess(['orders.read', 'orders.write'], auth), - ).not.toThrow(); - }); - }); - - describe('Test id auth no enough', () => { - it('user test is accepted', () => { - const auth = JSON.parse(JSON.stringify(idTokenAuth)) as ClaimVerifyResult; - auth.idToken['custom:adgroups'] = '[]'; - expect(() => - checkAccess(['orders.read', 'orders.write'], auth), - ).toThrow(); - }); - }); -}); diff --git a/src/cognito/access-control.ts b/src/cognito/access-control.ts index 49e0098..29bf5b5 100644 --- a/src/cognito/access-control.ts +++ b/src/cognito/access-control.ts @@ -1,35 +1,102 @@ -import { AuthenticationError } from 'apollo-server'; +import { GraphQLError } from 'graphql'; import { ClaimVerifyResult } from './cognito-client'; export const RESOURCE = 'https://graphql.photowall.com'; -export enum SCOPES { +export enum Scopes { ORDERS_READ = 'orders.read', ORDERS_WRITE = 'orders.write', DESIGNERS_READ = 'designers.read', + DESIGNERS_PUBLIC_READ = 'designers.public.read', DESIGNERS_WRITE = 'designers.write', PRODUCTS_READ = 'products.read', + PRODUCTS_PUBLIC_READ = 'products.public.read', PRODUCTS_WRITE = 'products.write', + CATEGORIES_READ = 'categories.read', + CATEGORIES_WRITE = 'categories.write', + MARKETS_READ = 'markets.read', + KEYWORDS_READ = 'keywords.read', + KEYWORDS_WRITE = 'keywords.write', + LOCALES_READ = 'locales.read', + TEXTS_READ = 'texts.read', + INTERIORS_READ = 'interiors.read', + INTERIORS_WRITE = 'interiors.write', } -export function checkAccess(scopes: string[], auth: ClaimVerifyResult): void { - if (auth.userName === 'testuser') { - return; - } - if (auth.idToken) { - if (auth.idToken['custom:adgroups'].includes('WebAdmin')) { - return; - } - } - if (auth.accessToken) { - const authScopes = auth.accessToken.scope.split(' '); +function getScopes(user: ClaimVerifyResult): Scopes[] | [] { + if (user.accessToken) { + const authScopes = user.accessToken.scope.split(' '); - const requiredScoped = scopes.map((s) => `${RESOURCE}/${s}`); - const checker = (arr: string[], target: string[]) => - target.every((v) => arr.includes(v)); - if (checker(authScopes, requiredScoped)) { - return; - } + return authScopes + .map((scopeStr) => { + if (scopeStr.indexOf(RESOURCE) === 0) { + return Scopes[ + scopeStr + .replace(`${RESOURCE}/`, '') + .replaceAll('.', '_') + .toLocaleUpperCase() + ]; + } + return null; + }) + .filter(Boolean); } - throw new AuthenticationError('Not authorized for this endpoint'); + return []; } + +function throwForbidden() { + throw new GraphQLError('You are not authorized to perform this action', { + extensions: { code: 'FORBIDDEN' }, + }); +} + +export const ScopeAccess = (() => { + const validationObject = (scopes) => { + return { + scopes, + all(input: Scopes[]) { + if (input.length === 0) throwForbidden(); // GUARD + // If the input list contains something thats not in this.scopes array + // then when we concat the lists and remove duplicates the length will be larger + // in the new list than this.scopes. + const checkList = [...new Set(this.scopes.concat(input))]; + if (checkList.length === this.scopes.length) return this; + throwForbidden(); + }, + some(input: Scopes[]) { + if (input.length === 0) throwForbidden(); // GUARD + for (const s of input) { + if (this.scopes.includes(s)) { + return this; + } + } + throwForbidden(); + }, + }; + }; + + return { + validate(user) { + // If ifToken user then give full access. + // TODO: Should this be removed? + if (user.idToken) { + if (user.idToken['custom:adgroups'].includes('WebAdmin')) { + return validationObject(Object.values(Scopes)); + } + } + + // If development environment and Basic auth user + // push all scopes to give full access + if ( + (process.env.NODE_ENV === 'development' || + process.env.NODE_ENV === 'test') && + user.userName === 'development_basic_user' + ) { + return validationObject(Object.values(Scopes)); + } + + // AccessToken with scopes + return validationObject(getScopes(user)); + }, + }; +})(); diff --git a/src/cognito/acess-control.test.ts b/src/cognito/acess-control.test.ts new file mode 100644 index 0000000..91aadf7 --- /dev/null +++ b/src/cognito/acess-control.test.ts @@ -0,0 +1,145 @@ +import { ScopeAccess, Scopes } from './access-control'; +import { + AccessTokenClaim, + ClaimVerifyResult, + IdTokenClaim, +} from '../cognito/cognito-client'; + +const IdTokenAuth = { + userName: 'niklas.fondberg@photowall.se', + isValid: true, + idToken: { + 'custom:adgroups': + '[Domain Users, Images_Write, VPN_Users, WebAdmin, WebAdminSuperUser]', + 'cognito:username': 'photowalladfs_photowall\\niklas.fondberg', + token_use: 'id', + email_verified: false, + nonce: 'Qc9kHCXrN----4st19sM', + at_hash: '9x_RMAO3_2NW1cQYkhWEtg', + email: 'niklas.fondberg@photowall.se', + aud: '53og32ofjne7e6i4uf10r3bg2b', + sub: '2646dd8b-f914-40eb-895b-c652976a65e1', + identities: [null], + } as IdTokenClaim, + accessToken: null, +} as ClaimVerifyResult; + +const BearerTokenAuthUser = { + isValid: true, + idToken: null, + accessToken: { + token_use: 'access', + username: '', + scope: + 'https://graphql.photowall.com/orders.write https://graphql.photowall.com/orders.read', + client_id: '5vftcl43n2jkcdvd9imc270mtu', + } as AccessTokenClaim, +} as ClaimVerifyResult; + +const BasicAuthAndTestUser: ClaimVerifyResult = { + userName: 'development_basic_user', + idToken: null, + accessToken: null, + isValid: true, +}; + +describe('Authentication and Scope access', () => { + describe('ScopeAccess', () => { + it('should give full access when dev and test user', () => { + expect(() => + ScopeAccess.validate(BasicAuthAndTestUser).all([Scopes.PRODUCTS_READ]), + ).not.toThrow(); + + expect(() => + ScopeAccess.validate(BasicAuthAndTestUser).all([ + Scopes.PRODUCTS_READ, + Scopes.PRODUCTS_READ, + Scopes.PRODUCTS_READ, + ]), + ).not.toThrow(); + }); + + it('should give full access when idToken admin user', () => { + expect(() => + ScopeAccess.validate(IdTokenAuth).all([ + Scopes.ORDERS_WRITE, + Scopes.PRODUCTS_WRITE, + Scopes.KEYWORDS_WRITE, + ]), + ).not.toThrow(); + }); + + it('should not throw when scopes and correct on accessToken', () => { + // Both ORDERS_READ and ORDER_WRITE must be present + expect(() => + ScopeAccess.validate(BearerTokenAuthUser).all([ + Scopes.ORDERS_WRITE, + Scopes.ORDERS_READ, + ]), + ).not.toThrow(); + + // Either ORDERS_READ or PRODUCTS_READ can be present + expect(() => + ScopeAccess.validate(BearerTokenAuthUser).some([ + Scopes.ORDERS_READ, + Scopes.PRODUCTS_READ, + ]), + ).not.toThrow(); + + expect(() => + ScopeAccess.validate(BearerTokenAuthUser) + .all([Scopes.ORDERS_READ, Scopes.ORDERS_WRITE]) + .some([Scopes.ORDERS_READ, Scopes.KEYWORDS_READ]), + ).not.toThrow(); + + expect(() => + ScopeAccess.validate(BearerTokenAuthUser).all([Scopes.ORDERS_READ]), + ).not.toThrow(); + + expect(() => + ScopeAccess.validate(BearerTokenAuthUser).all([ + Scopes.ORDERS_READ, + Scopes.ORDERS_READ, + Scopes.ORDERS_WRITE, + Scopes.ORDERS_WRITE, + ]), + ).not.toThrow(); + }); + + it('should throw when scopes and incorrect depending on whats on accessToken', () => { + expect(() => + ScopeAccess.validate(BearerTokenAuthUser).all([ + Scopes.ORDERS_READ, + Scopes.PRODUCTS_READ, + ]), + ).toThrow(); + + expect(() => + ScopeAccess.validate(BearerTokenAuthUser).all([ + Scopes.PRODUCTS_READ, + Scopes.CATEGORIES_READ, + ]), + ).toThrow(); + + expect(() => + ScopeAccess.validate(BearerTokenAuthUser).some([ + Scopes.PRODUCTS_READ, + Scopes.KEYWORDS_READ, + ]), + ).toThrow(); + + expect(() => + ScopeAccess.validate(BearerTokenAuthUser) + .some([Scopes.KEYWORDS_READ, Scopes.ORDERS_READ]) + .all([Scopes.MARKETS_READ]), + ).toThrow(); + }); + + it('should throw when input is empty', () => { + expect(() => ScopeAccess.validate(BearerTokenAuthUser).all([])).toThrow(); + expect(() => + ScopeAccess.validate(BearerTokenAuthUser).some([]), + ).toThrow(); + }); + }); +}); diff --git a/src/cognito/cognito-client.ts b/src/cognito/cognito-client.ts index ec25d7f..7e89e53 100644 --- a/src/cognito/cognito-client.ts +++ b/src/cognito/cognito-client.ts @@ -1,7 +1,11 @@ +import { ApolloServerErrorCode } from '@apollo/server/errors'; import { promisify } from 'util'; import * as Axios from 'axios'; import * as jsonwebtoken from 'jsonwebtoken'; import { Maybe } from '../types/types'; +import { GraphQLError } from 'graphql'; +import { IncomingMessage } from 'http'; + const jwkToPem = require('jwk-to-pem'); export interface ClaimVerifyRequest { @@ -81,7 +85,9 @@ interface Identity { const cognitoPoolId = process.env.COGNITO_POOL_ID || ''; if (!cognitoPoolId) { - throw new Error('env var required for cognito pool'); + throw new GraphQLError('env var required for cognito pool', { + extensions: { code: 'FORBIDDEN' }, + }); } const cognitoIssuer = `https://cognito-idp.eu-west-1.amazonaws.com/${cognitoPoolId}`; @@ -110,26 +116,36 @@ const verifyToken = async ( const token = request.token; const tokenSections = (token || '').split('.'); if (tokenSections.length < 2) { - throw new Error('requested token is invalid'); + throw new GraphQLError('requested token is invalid', { + extensions: { code: ApolloServerErrorCode.INTERNAL_SERVER_ERROR }, + }); } const headerJSON = Buffer.from(tokenSections[0], 'base64').toString('utf8'); const header = JSON.parse(headerJSON) as TokenHeader; const keys = await getPublicKeys(); const key = keys[header.kid]; if (key === undefined) { - throw new Error('claim made for unknown kid'); + throw new GraphQLError('claim made for unknown kid', { + extensions: { code: ApolloServerErrorCode.INTERNAL_SERVER_ERROR }, + }); } const claim = (await verifyPromised(token, key.pem)) as Claim; const currentSeconds = Math.floor(new Date().valueOf() / 1000); if (currentSeconds > claim.exp || currentSeconds < claim.auth_time) { - throw new Error('claim is expired or invalid'); + throw new GraphQLError('claim is expired or invalid', { + extensions: { code: ApolloServerErrorCode.INTERNAL_SERVER_ERROR }, + }); } if (claim.iss !== cognitoIssuer) { - throw new Error('claim issuer is invalid'); + throw new GraphQLError('claim issuer is invalid', { + extensions: { code: ApolloServerErrorCode.INTERNAL_SERVER_ERROR }, + }); } if (claim.token_use !== 'access' && claim.token_use !== 'id') { - throw new Error('invalid token type'); + throw new GraphQLError('invalid token type', { + extensions: { code: ApolloServerErrorCode.INTERNAL_SERVER_ERROR }, + }); } if (claim.token_use === 'access') { // Access token, check for scopes @@ -162,4 +178,42 @@ const verifyToken = async ( } }; -export { verifyToken }; +const verifyAuthentication = async (req: IncomingMessage) => { + const notAuthorizedError = () => { + throw new GraphQLError('You are not authorized', { + extensions: { code: 'FORBIDDEN' }, + }); + }; + + // Normal login with BearerToken + // This can either happen when using the /login + // endpoint or when logged into admin. + const token = req.headers.authorization || ''; + if (token.startsWith('Bearer ')) { + const bearerToken = token.substring(7, token.length); + const res = await verifyToken({ token: bearerToken }); + if (res.isValid) { + return res; + } else { + notAuthorizedError(); + } + } + + // When development its possible to use + // Base auth with username and password. + if ( + process.env.NODE_ENV === 'development' && + token == 'Basic ZGV2OnB2N1VmYSFiZVAzeGk=' + ) { + return { + userName: 'development_basic_user', + isValid: true, + accessToken: null, + idToken: null, + }; + } else { + notAuthorizedError(); + } +}; + +export { verifyToken, verifyAuthentication }; diff --git a/src/config.ts b/src/config.ts index 5573fec..bb7b3df 100644 --- a/src/config.ts +++ b/src/config.ts @@ -2,8 +2,10 @@ export const dbConfig = { client: 'pg', connection: process.env.DATABASE_URL, pool: { - min: 1, - max: 10, + min: 0, + max: 30, + destroyTimeoutMillis: 150, + idleTimeoutMillis: 100, }, stringcase: [ 'snakecase', diff --git a/src/context.ts b/src/context.ts new file mode 100644 index 0000000..4f48092 --- /dev/null +++ b/src/context.ts @@ -0,0 +1,103 @@ +import { ApolloServer } from '@apollo/server'; +import knexStringcase from 'knex-stringcase'; +import { + ClaimVerifyResult, + verifyAuthentication, +} from './cognito/cognito-client'; +import { dbConfig } from './config'; +import { CategoryAPI } from './datasources/category-api'; +import { DesignerAPI } from './datasources/designer-api'; +import { ImageServerApi } from './datasources/imageserver-api'; +import { InteriorAPI } from './datasources/interior-api'; +import { InteriorsLambdaAPI } from './datasources/interiors-lambda-api'; +import { KeywordAPI } from './datasources/keyword-api'; +import { MarketLocaleAPI } from './datasources/market-locale-api'; +import { OrderAPI } from './datasources/order-api'; +import { PrintProductDefaultsAPI } from './datasources/printproduct-defaults-api'; +import { ProductAPI } from './datasources/product-api'; +import { TextsAPI } from './datasources/texts-api'; +import { IncomingMessage } from 'http'; +import { DataSourceOptions, IAuthObject } from './types/types'; + +const knexConfig = knexStringcase(dbConfig); + +export class ContextValue { + public req: IncomingMessage; + public server: ApolloServer; + public user: IAuthObject | ClaimVerifyResult; + public dataSources: { + marketLocaleApi: MarketLocaleAPI; + textsApi: TextsAPI; + categoryApi: CategoryAPI; + designerApi: DesignerAPI; + imageServerApi: ImageServerApi; + interiorsLambdaApi: InteriorsLambdaAPI; + interiorApi: InteriorAPI; + printProductDefaultsApi: PrintProductDefaultsAPI; + keywordApi: KeywordAPI; + orderApi: OrderAPI; + productApi: ProductAPI; + }; + + constructor({ + req, + server, + }: { + req: IncomingMessage; + server: ApolloServer; + }) { + this.req = req; + this.server = server; + } + + async process() { + const { cache } = this.server; + + // ------------------------------- + // Authentication + // ------------------------------- + + this.user = await verifyAuthentication(this.req); + + // ------------------------------- + // DataSources + // ------------------------------- + + const options: DataSourceOptions = { cache, user: this.user }; + + const marketLocaleApi = new MarketLocaleAPI(options, knexConfig); + const textsApi = new TextsAPI(options, knexConfig, marketLocaleApi); + const categoryApi = new CategoryAPI(options, knexConfig); + const designerApi = new DesignerAPI(options, knexConfig); + const imageServerApi = new ImageServerApi(options); + const interiorsLambdaApi = new InteriorsLambdaAPI(options); + const interiorApi = new InteriorAPI(options, knexConfig, imageServerApi); + const printProductDefaultsApi = new PrintProductDefaultsAPI( + options, + knexConfig, + ); + const keywordApi = new KeywordAPI(options, knexConfig, textsApi); + const orderApi = new OrderAPI(options, knexConfig); + const productApi = new ProductAPI( + options, + knexConfig, + textsApi, + printProductDefaultsApi, + ); + this.dataSources = { + productApi, + marketLocaleApi, + textsApi, + categoryApi, + designerApi, + imageServerApi, + interiorsLambdaApi, + interiorApi, + printProductDefaultsApi, + keywordApi, + orderApi, + }; + + return this; + } +} diff --git a/src/datasources/BaseSQLDataSource.ts b/src/datasources/BaseSQLDataSource.ts index 2d45bd5..598902c 100644 --- a/src/datasources/BaseSQLDataSource.ts +++ b/src/datasources/BaseSQLDataSource.ts @@ -1,15 +1,14 @@ import { SQLDataSource } from 'datasource-sql'; -const { InMemoryLRUCache } = require('apollo-server-caching'); import crypto from 'crypto'; - -const MINUTE = 60; +import { InMemoryLRUCache } from '@apollo/utils.keyvaluecache'; +import { DataSourceOptions, User } from '../types/types'; export class RawBuilder { _cache: any; query: any; - constructor(knex, cache, query) { + constructor(knex, cache, query, bindings) { this._cache = cache; - this.query = knex.raw(query); + this.query = bindings ? knex.raw(query, bindings) : knex.raw(query); } async cache(ttl: number) { @@ -36,16 +35,15 @@ export class RawBuilder { export class BaseSQLDataSource extends SQLDataSource { cache: any; - constructor(config) { + user: User; + constructor(options: DataSourceOptions, config) { super(config); - this.cache = config.cache || new InMemoryLRUCache(); + this.cache = options.cache || new InMemoryLRUCache(); + this.user = options.user; + this.initialize({ cache: options.cache, context: null }); } - getSQLDate(date: Date): string { - return date.toISOString().split('T')[0]; - } - - cachedRaw(query: string): RawBuilder { - return new RawBuilder(this.knex, this.cache, query); + cachedRaw(query: string, bindings: any[] = null): RawBuilder { + return new RawBuilder(this.knex, this.cache, query, bindings); } } diff --git a/src/datasources/category-api.ts b/src/datasources/category-api.ts index a4b0ba8..c4cae4e 100644 --- a/src/datasources/category-api.ts +++ b/src/datasources/category-api.ts @@ -1,14 +1,16 @@ +import { ScopeAccess, Scopes } from '../cognito/access-control'; import { Category } from '../types/category-types'; +import { DataSourceOptions } from '../types/types'; import { BaseSQLDataSource } from './BaseSQLDataSource'; - -const MINUTE = 60; +import { MINUTE } from './utils'; export class CategoryAPI extends BaseSQLDataSource { - constructor(config) { - super(config); + constructor(options: DataSourceOptions, config) { + super(options, config); } async getProductCategories(productId: number): Promise> { + ScopeAccess.validate(this.user).all([Scopes.CATEGORIES_READ]); const query = /* sql */ ` SELECT product_category.category_id as id, categories.* @@ -29,11 +31,13 @@ WHERE product_category.product_id = ? } async getCategories(): Promise> { + ScopeAccess.validate(this.user).all([Scopes.CATEGORIES_READ]); // @ts-ignore return this.knex.select('*').from('v_categorytree').cache(MINUTE); } async searchCategories(name: string): Promise> { + ScopeAccess.validate(this.user).all([Scopes.CATEGORIES_READ]); return this.knex .select('*') .from('v_categorytree') @@ -41,6 +45,7 @@ WHERE product_category.product_id = ? } async getCategoryById(id: number): Promise { + ScopeAccess.validate(this.user).all([Scopes.CATEGORIES_READ]); return ( this.knex .select('*') @@ -53,12 +58,10 @@ WHERE product_category.product_id = ? } async getLocaleNameForId(id: number): Promise { + ScopeAccess.validate(this.user).all([Scopes.LOCALES_READ]); const res = await this.cachedRaw( - ` - SELECT json_object_agg(ec.locale, ec.name) as locale_names - FROM v_esales_categorytree_i18n ec - WHERE ec.id = ${id} - `, + 'SELECT json_object_agg(ec.locale, ec.name) as locale_names FROM v_esales_categorytree_i18n ec WHERE ec.id = ?', + [id], ) .cache(MINUTE * 5) .then((data) => data.rows); diff --git a/src/datasources/designer-api.ts b/src/datasources/designer-api.ts index dd9056c..c16294b 100644 --- a/src/datasources/designer-api.ts +++ b/src/datasources/designer-api.ts @@ -1,14 +1,16 @@ import { BaseSQLDataSource } from './BaseSQLDataSource'; import { Designer } from '../types/designer-types'; -import { Maybe } from '../types/types'; +import { DataSourceOptions, Maybe } from '../types/types'; +import { MINUTE } from './utils'; +import { ScopeAccess, Scopes } from '../cognito/access-control'; -const MINUTE = 60; export class DesignerAPI extends BaseSQLDataSource { - constructor(config) { - super(config); + constructor(options: DataSourceOptions, config) { + super(options, config); } async getDesignerById(id: number): Promise { + ScopeAccess.validate(this.user).all([Scopes.DESIGNERS_READ]); return ( this.knex .select('*') @@ -28,6 +30,7 @@ export class DesignerAPI extends BaseSQLDataSource { } async searchDesigners(name: string): Promise> { + ScopeAccess.validate(this.user).all([Scopes.DESIGNERS_READ]); return this.knex .select('*') .from('designers') @@ -44,6 +47,7 @@ export class DesignerAPI extends BaseSQLDataSource { } async getDesigners(limit: Maybe): Promise> { + ScopeAccess.validate(this.user).all([Scopes.DESIGNERS_READ]); limit = limit ?? 5000; return ( this.knex diff --git a/src/datasources/imageserver-api.ts b/src/datasources/imageserver-api.ts index cfb0c7a..32092b1 100644 --- a/src/datasources/imageserver-api.ts +++ b/src/datasources/imageserver-api.ts @@ -1,19 +1,28 @@ -import { RESTDataSource } from 'apollo-datasource-rest'; - +import { RESTDataSource } from '@apollo/datasource-rest'; +import { CacheOptions } from '@apollo/datasource-rest/dist/RESTDataSource'; +import { FetcherResponse, FetcherRequestInit } from '@apollo/utils.fetcher'; +import { DataSourceOptions } from '../types/types'; export class ImageServerApi extends RESTDataSource { - constructor() { - super(); - this.baseURL = - process.env.ENVIRONMENT_NAME === 'production' - ? 'http://images.photowall.com' - : 'http://images-dev.photowall.com'; + override baseURL = + process.env.ENVIRONMENT_NAME === 'production' + ? 'https://images.photowall.com' + : 'https://images-dev.photowall.com'; + + constructor(options: DataSourceOptions) { + super(options); + } + + protected override cacheOptionsFor( + url: string, + response: FetcherResponse, + request: FetcherRequestInit, + ): CacheOptions { + return { ttl: 5 } as CacheOptions; } async getInteriorsForProduct( productId: number, ): Promise> { - return this.get(`/rooms/${productId}/?ts=${Date.now()}`, null, { - cacheOptions: { ttl: 5 }, - }); + return this.get(`/rooms/${productId}/?ts=${Date.now()}`); } } diff --git a/src/datasources/interior-api.ts b/src/datasources/interior-api.ts index 6923f80..f5cfaa9 100644 --- a/src/datasources/interior-api.ts +++ b/src/datasources/interior-api.ts @@ -1,24 +1,35 @@ +import { ApolloServerErrorCode } from '@apollo/server/errors'; import { Interior, InteriorsFilter, InteriorType, } from '../types/interior-types'; import { Orientation } from '../types/product-types'; -import { IdNumberResult, Maybe } from '../types/types'; -import { BaseSQLDataSource } from './BaseSQLDataSource'; +import { DataSourceOptions, IdNumberResult, Maybe } from '../types/types'; import { ImageServerApi } from './imageserver-api'; import * as CONFIG from '../config'; import { moveS3File } from '../aws/s3'; - -const MINUTE = 60; +import { BaseSQLDataSource } from './BaseSQLDataSource'; +import { GraphQLError } from 'graphql'; +import { ScopeAccess, Scopes } from '../cognito/access-control'; export class InteriorAPI extends BaseSQLDataSource { imageServerApi: ImageServerApi; - constructor(config, imageServerApi: ImageServerApi) { - super(config); + + constructor( + options: DataSourceOptions, + config, + imageServerApi: ImageServerApi, + ) { + super(options, config); this.imageServerApi = imageServerApi; } + // ------------------------------- + // INTERNAL + // Functions used inside this class + // ------------------------------- + getInteriorType(roomTypePart: string): string { switch (roomTypePart) { case 'wallpaper': @@ -30,7 +41,9 @@ export class InteriorAPI extends BaseSQLDataSource { case 'framed-print': return InteriorType[InteriorType.FRAMED_PRINT]; default: - throw new Error(`Unknown room type: ${roomTypePart}`); + throw new GraphQLError(`Unknown room type: ${roomTypePart}`, { + extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT }, + }); } } @@ -43,7 +56,12 @@ export class InteriorAPI extends BaseSQLDataSource { case 'square': return Orientation[Orientation.SQUARE]; default: - throw new Error(`Unknown room orientation: ${roomOrientationPart}`); + throw new GraphQLError( + `Unknown room orientation: ${roomOrientationPart}`, + { + extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT }, + }, + ); } } @@ -61,13 +79,19 @@ export class InteriorAPI extends BaseSQLDataSource { return row; } + // ---------------------------- + // PUBLIC + // Functions used in resolvers or other datasources + // ---------------------------- + async getInteriors(filter: Maybe): Promise> { + ScopeAccess.validate(this.user).all([Scopes.INTERIORS_READ]); const sql = /* sql */ ` SELECT rooms.*, room_types.name roomType FROM rooms LEFT JOIN room_types ON rooms.room_type_id = room_types.id `; - const allInteriors = await this.cachedRaw(sql) + const allInteriors = await this.cachedRaw(sql, null) .cache(60) .then((data) => data.rows.map((row) => { @@ -113,6 +137,10 @@ export class InteriorAPI extends BaseSQLDataSource { } async getPrintProductInteriors(printId: number): Promise> { + ScopeAccess.validate(this.user).all([ + Scopes.INTERIORS_READ, + Scopes.PRODUCTS_READ, + ]); return this.knex .select('*') .from('v_interior_image_urls') @@ -130,11 +158,18 @@ export class InteriorAPI extends BaseSQLDataSource { }); } - // Mutations + // --------------------------------------------------------- + // MUTATIONS + // --------------------------------------------------------- + async addOwnUploadToPrintId( printId: number, uploadedS3Key: string, ): Promise { + ScopeAccess.validate(this.user).all([ + Scopes.INTERIORS_WRITE, + Scopes.PRODUCTS_WRITE, + ]); // Get the last position entered in interiors for this printId const positionRes: any = await this.knex .queryBuilder() diff --git a/src/datasources/interiors-lambda-api.ts b/src/datasources/interiors-lambda-api.ts index c70aadb..08a8035 100644 --- a/src/datasources/interiors-lambda-api.ts +++ b/src/datasources/interiors-lambda-api.ts @@ -1,10 +1,14 @@ -import { RESTDataSource } from 'apollo-datasource-rest'; +import { RESTDataSource } from '@apollo/datasource-rest'; +import { ScopeAccess, Scopes } from '../cognito/access-control'; import { Product, ProductGroup } from '../types/product-types'; +import { DataSourceOptions, User } from '../types/types'; export class InteriorsLambdaAPI extends RESTDataSource { - constructor() { - super(); - this.baseURL = process.env.INTERIORS_URL; + override baseURL = process.env.INTERIORS_URL; + user: User; + constructor(options: DataSourceOptions) { + super(options); + this.user = options.user; } /** @@ -17,6 +21,8 @@ export class InteriorsLambdaAPI extends RESTDataSource { * */ async generateNewInteriors(product: Product): Promise { + ScopeAccess.validate(this.user).all([Scopes.INTERIORS_WRITE]); + const found = product.printProducts.find( (pr) => pr.groupId === ProductGroup.WALLPAPER, ); @@ -36,6 +42,6 @@ export class InteriorsLambdaAPI extends RESTDataSource { body['print_file_height'] = product.fields.printFileHeight; body['print_file_dpi'] = product.fields.printFileDpi; } - return this.post('/batch', body); + return this.post('/batch', { body: body }); } } diff --git a/src/datasources/keyword-api.ts b/src/datasources/keyword-api.ts index d8bef53..e65d74d 100644 --- a/src/datasources/keyword-api.ts +++ b/src/datasources/keyword-api.ts @@ -1,16 +1,25 @@ import { SQLDataSource } from 'datasource-sql'; +import { ScopeAccess, Scopes } from '../cognito/access-control'; import { Keyword, KeywordType } from '../types/keyword-types'; +import { DataSourceOptions, User } from '../types/types'; import { TextsAPI } from './texts-api'; - -const MINUTE = 60; +import { MINUTE } from './utils'; export class KeywordAPI extends SQLDataSource { textsApi: TextsAPI; - constructor(config, textsApi) { + user: User; + constructor(options: DataSourceOptions, config, textsApi) { super(config); + this.user = options.user; + this.initialize({ cache: options.cache, context: null }); this.textsApi = textsApi; } + // ------------------------------- + // INTERNAL + // Functions used inside this class + // ------------------------------- + getType(data: any) { // raw queries doesn't camelCase... const typeObject = data.type_id ?? data.typeId; @@ -22,7 +31,13 @@ export class KeywordAPI extends SQLDataSource { }; } + // ---------------------------- + // PUBLIC + // Functions used in resolvers or other datasources + // ---------------------------- + async getProductKeywords(productId: number): Promise> { + ScopeAccess.validate(this.user).all([Scopes.KEYWORDS_READ]); const query = /* sql */ ` SELECT keywords.*, keyword_type.type_id FROM keywords LEFT JOIN keyword_type ON keyword_type.keyword_id = keywords.id @@ -37,6 +52,7 @@ ORDER BY keywords.value } async getKeywords(): Promise> { + ScopeAccess.validate(this.user).all([Scopes.KEYWORDS_READ]); const query = /* sql */ ` SELECT keywords.*, keyword_type.type_id FROM keywords LEFT JOIN keyword_type ON keyword_type.keyword_id = keywords.id @@ -48,6 +64,7 @@ ORDER BY keywords.value } async getKeywordById(id: number): Promise { + ScopeAccess.validate(this.user).all([Scopes.KEYWORDS_READ]); return ( this.knex .select('*') @@ -62,6 +79,7 @@ ORDER BY keywords.value } async searchKeywords(name: string): Promise> { + ScopeAccess.validate(this.user).all([Scopes.KEYWORDS_READ]); return this.knex .select('*') .from('keywords') @@ -69,10 +87,18 @@ ORDER BY keywords.value .whereRaw(`LOWER(value) LIKE ?`, [`${name}`]); } + // --------------------------------------------------------- + // MUTATIONS + // --------------------------------------------------------- + async setProductKeywords( productId: number, keywordIds: Array, ): Promise { + ScopeAccess.validate(this.user).all([ + Scopes.KEYWORDS_WRITE, + Scopes.PRODUCTS_WRITE, + ]); await this.knex('product_keyword').where('product_id', productId).del(); const fieldsToInsert = keywordIds.map((keywordId) => ({ @@ -83,8 +109,8 @@ ORDER BY keywords.value return this.knex('product_keyword').insert(fieldsToInsert); } - // Mutations async addKeyword(name: string, type: KeywordType): Promise { + ScopeAccess.validate(this.user).all([Scopes.KEYWORDS_WRITE]); const res = await this.knex('keywords') .insert({ value: name }) .returning('id'); diff --git a/src/datasources/market-locale-api.ts b/src/datasources/market-locale-api.ts index c6f4786..dd50fb9 100644 --- a/src/datasources/market-locale-api.ts +++ b/src/datasources/market-locale-api.ts @@ -1,15 +1,28 @@ import { SQLDataSource } from 'datasource-sql'; +import { ScopeAccess, Scopes } from '../cognito/access-control'; import { Market, Locale } from '../types/market-locale-types'; - -const MINUTE = 60; +import { DataSourceOptions, User } from '../types/types'; +import { MINUTE } from './utils'; // TODO: perhaps rename to MarketLocale API and add market_locales and locales here. export class MarketLocaleAPI extends SQLDataSource { - constructor(config) { + user: User; + + constructor(options: DataSourceOptions, config) { super(config); + this.user = options.user; + this.initialize({ cache: options.cache, context: null }); } + // ---------------------------- + // PUBLIC + // Functions used in resolvers or other datasources + // ---------------------------- + + // MARKETS + async getMarketById(id: number): Promise { + ScopeAccess.validate(this.user).all([Scopes.MARKETS_READ]); return ( this.knex .select('*') @@ -22,6 +35,7 @@ export class MarketLocaleAPI extends SQLDataSource { } async getMarketByName(name: string): Promise { + ScopeAccess.validate(this.user).all([Scopes.MARKETS_READ]); return ( this.knex .select('*') @@ -34,6 +48,7 @@ export class MarketLocaleAPI extends SQLDataSource { } async getMarkets(): Promise> { + ScopeAccess.validate(this.user).all([Scopes.MARKETS_READ]); return ( this.knex .select('*') @@ -43,7 +58,10 @@ export class MarketLocaleAPI extends SQLDataSource { ); } + // LOCALES + async getLocaleById(id: number): Promise { + ScopeAccess.validate(this.user).all([Scopes.LOCALES_READ]); return ( this.knex .select('*') @@ -56,6 +74,7 @@ export class MarketLocaleAPI extends SQLDataSource { } async getLocaleByValue(value: string): Promise { + ScopeAccess.validate(this.user).all([Scopes.LOCALES_READ]); return ( this.knex .select('*') @@ -68,6 +87,7 @@ export class MarketLocaleAPI extends SQLDataSource { } async getLocales(): Promise> { + ScopeAccess.validate(this.user).all([Scopes.LOCALES_READ]); return ( this.knex .select('*') diff --git a/src/datasources/order-api.ts b/src/datasources/order-api.ts index e7b4503..da6c804 100644 --- a/src/datasources/order-api.ts +++ b/src/datasources/order-api.ts @@ -1,14 +1,54 @@ import { BaseSQLDataSource } from './BaseSQLDataSource'; import { Address, Order, OrderRow } from '../types/order-types'; -import { GeneralInput, Maybe } from '../types/types'; +import { DataSourceOptions, GeneralInput, Maybe } from '../types/types'; +import { MINUTE } from './utils'; +import { ScopeAccess, Scopes } from '../cognito/access-control'; -const MINUTE = 60; export class OrderAPI extends BaseSQLDataSource { - constructor(config) { - super(config); + constructor(options: DataSourceOptions, config) { + super(options, config); } + // ------------------------------- + // INTERNAL + // Functions used inside this class + // ------------------------------- + + private getOrdersQuery(input: GeneralInput) { + ScopeAccess.validate(this.user).all([Scopes.ORDERS_READ]); + let query = this.knex.table('orders'); + if (input?.filter?.dates?.from) { + query = query.where('inserted', '>=', input.filter.dates.from); + } + + if (input?.filter?.dates?.to) { + query = query.where('inserted', '<=', input.filter.dates.to); + } + + return query; + } + + private createOrderRows(rows: Array): Array { + return rows.map((row) => { + return { + ...row, + data: { + ...row.data, + pwintySku: row.data.pwinty_sku ?? null, + pwintyImageId: row.data.pwinty_image_id ?? null, + frameColor: row.data.frame_color ?? null, + }, + }; + }); + } + + // ---------------------------- + // PUBLIC + // Functions used in resolvers or other datasources + // ---------------------------- + async getAddress(addressId: number): Promise> { + ScopeAccess.validate(this.user).all([Scopes.ORDERS_READ]); const row = await this.knex .select('*') .from('addresses') @@ -31,6 +71,7 @@ export class OrderAPI extends BaseSQLDataSource { } async getOrdersTotal(input: GeneralInput): Promise { + ScopeAccess.validate(this.user).all([Scopes.ORDERS_READ]); const res = await this.getOrdersQuery(input) .clone() .count() @@ -41,6 +82,7 @@ export class OrderAPI extends BaseSQLDataSource { } async getOrders(input: GeneralInput): Promise> { + ScopeAccess.validate(this.user).all([Scopes.ORDERS_READ]); const offset = input.pagination.offset ?? 0; const limit = input.pagination.limit ?? 100; let query = this.getOrdersQuery(input).limit(limit).offset(offset); @@ -50,20 +92,8 @@ export class OrderAPI extends BaseSQLDataSource { return query.cache(MINUTE); } - private getOrdersQuery(input: GeneralInput) { - let query = this.knex.table('orders'); - if (input?.filter?.dates?.from) { - query = query.where('inserted', '>=', input.filter.dates.from); - } - - if (input?.filter?.dates?.to) { - query = query.where('inserted', '<=', input.filter.dates.to); - } - - return query; - } - async getOrderById(id: number): Promise { + ScopeAccess.validate(this.user).all([Scopes.ORDERS_READ]); return this.knex.select('*').from('orders').where('id', id).first(); } @@ -71,6 +101,7 @@ export class OrderAPI extends BaseSQLDataSource { klarnaOrderId: string, paypalTransactionId: string, ): Promise { + ScopeAccess.validate(this.user).all([Scopes.ORDERS_READ]); const column = paypalTransactionId ? 'paypal_transaction_id' : 'klarna_order_id'; @@ -89,6 +120,7 @@ export class OrderAPI extends BaseSQLDataSource { } async getOrderRowsByOrderId(orderId: number): Promise> { + ScopeAccess.validate(this.user).all([Scopes.ORDERS_READ]); return this.knex .select('*') .from('order_rows') @@ -100,6 +132,11 @@ export class OrderAPI extends BaseSQLDataSource { designerId: number, input: Maybe, ): Promise> { + ScopeAccess.validate(this.user).all([Scopes.ORDERS_READ]); + const getSQLDate = (date: Date): string => { + return date.toISOString().split('T')[0]; + }; + const from = input?.filter?.dates?.from ? input.filter.dates.from : new Date('2000-01-01'); @@ -112,22 +149,9 @@ export class OrderAPI extends BaseSQLDataSource { .select('*') .from('order_rows') .where('designer_id', designerId) - .whereBetween('inserted', [this.getSQLDate(from), this.getSQLDate(to)]) + .whereBetween('inserted', [getSQLDate(from), getSQLDate(to)]) .orderBy('inserted', 'desc') .limit(limit) .then((rows) => this.createOrderRows(rows)); } - createOrderRows(rows: Array): Array { - return rows.map((row) => { - return { - ...row, - data: { - ...row.data, - pwintySku: row.data.pwinty_sku ?? null, - pwintyImageId: row.data.pwinty_image_id ?? null, - frameColor: row.data.frame_color ?? null, - }, - }; - }); - } } diff --git a/src/datasources/printproduct-defaults-api.ts b/src/datasources/printproduct-defaults-api.ts index ecba172..8b2724e 100644 --- a/src/datasources/printproduct-defaults-api.ts +++ b/src/datasources/printproduct-defaults-api.ts @@ -1,8 +1,11 @@ +import { ApolloServerErrorCode } from '@apollo/server/errors'; +import { GraphQLError } from 'graphql'; import { Maybe } from 'graphql/jsutils/Maybe'; import { BorderType, PrintProductDefaults, } from '../types/printproduct-defaults-types'; +import { DataSourceOptions } from '../types/types'; import { BaseSQLDataSource } from './BaseSQLDataSource'; type TPosterDefaultPositioning = { @@ -130,10 +133,15 @@ export const calculateDefaultPositioning = ( }; export class PrintProductDefaultsAPI extends BaseSQLDataSource { - constructor(config) { - super(config); + constructor(options: DataSourceOptions, config) { + super(options, config); } + // ------------------------------- + // INTERNAL + // Functions used inside this class + // ------------------------------- + /** * @function getBorderType * @description Will convert lowercase none | white | black to @@ -150,6 +158,60 @@ export class PrintProductDefaultsAPI extends BaseSQLDataSource { } } + // ---------------------------- + // PUBLIC + // Functions used in resolvers or other datasources + // ---------------------------- + + /** + * @function insertDefaults + * @description Inserts a new printproduct into printproducts_defaults, sets the default + * values the same way we did when settings default values for all older printproducts. + */ + async insertDefaults(printId: number): Promise<0 | 1> { + const product = await this.knex.raw( + ` + SELECT width, height, "focusXpoint2", "focusYpoint2" FROM + "product-printproducts" ppp + JOIN v_product vp ON ppp.productid = vp.id + WHERE printid = ?`, + [printId], + ); + + const { width, height, focusXpoint2, focusYpoint2 } = product.rows[0]; + + // GUARDS + if (!width || !height) { + throw new GraphQLError( + 'PrintProductDefaultsAPI.insertDefaults: width and height must be defined for a motif to be able to set defaults', + { + extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT }, + }, + ); + } + + const { width_mm, height_mm, crop_x, crop_y } = calculateDefaultPositioning( + width, + height, + focusXpoint2, + focusYpoint2, + ); + + return this.knex + .raw( + ` + INSERT INTO printproducts_defaults (print_id, width_mm, height_mm, crop_x, crop_y, border) + VALUES (?, ?, ?, ?, ?, 'none'); + `, + [printId, width_mm, height_mm, crop_x, crop_y], + ) + .catch((e) => { + throw new GraphQLError(e.message, { + extensions: { code: ApolloServerErrorCode.INTERNAL_SERVER_ERROR }, + }); + }); + } + /** * @function getDefaults * @description This function will fetch the default values from printproducts_defaults table @@ -184,49 +246,6 @@ export class PrintProductDefaultsAPI extends BaseSQLDataSource { }); } - /** - * @function insertDefaults - * @description Inserts a new printproduct into printproducts_defaults, sets the default - * values the same way we did when settings default values for all older printproducts. - */ - async insertDefaults(printId: number): Promise<0 | 1> { - const product = await this.knex.raw( - ` - SELECT width, height, "focusXpoint2", "focusYpoint2" FROM - "product-printproducts" ppp - JOIN v_product vp ON ppp.productid = vp.id - WHERE printid = ?`, - [printId], - ); - - const { width, height, focusXpoint2, focusYpoint2 } = product.rows[0]; - - // GUARDS - if (!width || !height) - throw new Error( - 'PrintProductDefaultsAPI.insertDefaults: width and height must be defined for a motif to be able to set defaults', - ); - - const { width_mm, height_mm, crop_x, crop_y } = calculateDefaultPositioning( - width, - height, - focusXpoint2, - focusYpoint2, - ); - - return this.knex - .raw( - ` - INSERT INTO printproducts_defaults (print_id, width_mm, height_mm, crop_x, crop_y, border) - VALUES (?, ?, ?, ?, ?, 'none'); - `, - [printId, width_mm, height_mm, crop_x, crop_y], - ) - .catch((e) => { - throw new Error(e); - }); - } - // --------------------------------------------------------- // MUTATIONS // --------------------------------------------------------- @@ -271,8 +290,11 @@ export class PrintProductDefaultsAPI extends BaseSQLDataSource { } }) .catch((e) => { - throw new Error( + throw new GraphQLError( `Something went wrong when trying to update with printid [${printId}][${e.message}]`, + { + extensions: { code: ApolloServerErrorCode.INTERNAL_SERVER_ERROR }, + }, ); }); } diff --git a/src/datasources/product-api.ts b/src/datasources/product-api.ts index c05e668..67a1162 100644 --- a/src/datasources/product-api.ts +++ b/src/datasources/product-api.ts @@ -1,3 +1,4 @@ +import { ApolloServerErrorCode } from '@apollo/server/errors'; import { BaseSQLDataSource } from './BaseSQLDataSource'; import { camelcase } from 'stringcase'; import slug from 'slug'; @@ -20,26 +21,32 @@ import { Batch, Copyright, } from '../types/product-types'; -import { Maybe } from '../types/types'; +import { DataSourceOptions, Maybe } from '../types/types'; import { booleanStringField, + createQuestionMarksFromList, isInt, nullOrNumber, roundOrDefaultTo, } from './utils'; -import { UserInputError } from 'apollo-server'; import { sendPathChangedCmd } from '../bernard/client'; import { TextsAPI } from './texts-api'; import { PrintProductDefaultsAPI } from './printproduct-defaults-api'; - -const MINUTE = 60; +import { GraphQLError } from 'graphql'; +import { MINUTE } from './utils'; +import { ScopeAccess, Scopes } from '../cognito/access-control'; export class ProductAPI extends BaseSQLDataSource { textsApi: TextsAPI; printProductDefaultsApi: PrintProductDefaultsAPI; - constructor(config, textsApi, printProductDefaultsApi) { - super(config); + constructor( + options: DataSourceOptions, + config, + textsApi, + printProductDefaultsApi, + ) { + super(options, config); this.textsApi = textsApi; this.printProductDefaultsApi = printProductDefaultsApi; } @@ -49,6 +56,11 @@ export class ProductAPI extends BaseSQLDataSource { // SELECT materialid, material, (price / 100::float) as price FROM "product-materials" // } + // ------------------------------- + // INTERNAL + // Functions used inside this class + // ------------------------------- + getWallpaperTypes(row: any): Array { if (!row.wallpapertypes) { return []; @@ -155,123 +167,17 @@ export class ProductAPI extends BaseSQLDataSource { } createProductFromRow(row: any) { - row.publishingDate = row.publishing_date; - row.blacklisting = this.getBlacklisting(row); - row.printProducts = this.getPrintProducts(row); row.type = this.getProductTypes(row); row.wallpaperTypes = this.getWallpaperTypes(row); - row.fields = this.getProductFields(row); row.designerId = row.designerid; row.orientation = this.getOrientation(row.fields); + row.publishingDate = row.publishing_date; + row.printProducts = this.getPrintProducts(row); + row.blacklisting = this.getBlacklisting(row); + row.fields = this.getProductFields(row); return row; } - async getProductsTotal(input: ProductsFilterInput): Promise { - const query = sql.productsTotal(input); - const res = await this.cachedRaw(query) - .cache(MINUTE * 5) - .then((data) => data.rows); - return res[0]['count'] as number; // Optimize later to return Promise - } - - async getProducts(input: ProductsFilterInput): Promise> { - const query = sql.products(input); - - return this.knex - .raw(query) - .then((data) => data.rows.map((row) => this.createProductFromRow(row))); - } - - async getProduct(id: number): Promise> { - const query = sql.product(id); - - const res = await this.knex.raw(query).then((data) => - data.rows.map((row) => { - const prod = this.createProductFromRow(row); - return prod; - }), - ); - return res.find(Boolean); - } - - async getProductByPath(path: string): Promise> { - const query = sql.productByPath(path); - - const res = await this.knex.raw(query).then((data) => - data.rows.map((row) => { - const prod = this.createProductFromRow(row); - return prod; - }), - ); - return res.find(Boolean); - } - - async getDesignerProducts(designerId: number): Promise> { - const query = sql.designerProducts(); - - return this.knex - .raw(query, designerId) - .then((data) => data.rows.map((row) => this.createProductFromRow(row))); - } - - async getCategoryProducts(categoryId: number): Promise> { - const query = sql.categoryProducts(categoryId); - - return this.knex - .raw(query) - .then((data) => data.rows.map((row) => this.createProductFromRow(row))); - } - - async getCategoryWithSubCategoriesProducts( - categoryId: number, - ): Promise> { - const query = sql.categoryWithAllSubCategoriesProducts(categoryId); - - return this.knex - .raw(query) - .then((data) => data.rows.map((row) => this.createProductFromRow(row))); - } - - async getKeywordProducts(keywordId: number): Promise> { - const query = sql.keywordProducts(keywordId); - - return this.knex - .raw(query) - .then((data) => data.rows.map((row) => this.createProductFromRow(row))); - } - - async searchByName(name: string): Promise> { - const query = sql.searchByFieldValue(2); // name - - return this.knex - .raw(query, name) - .then((data) => data.rows.map((row) => this.createProductFromRow(row))); - } - - async searchByArtNo(name: string): Promise> { - const query = sql.searchByFieldValue(1); // artNo - - return this.knex - .raw(query, name) - .then((data) => data.rows.map((row) => this.createProductFromRow(row))); - } - - async searchByCompleteProductId(q: string): Promise> { - const queryAsNumber = Number(q.replaceAll('%', '')); - if (!queryAsNumber) { - return; - } - return this.getProduct(queryAsNumber); - } - - async searchByBatch(name: string): Promise> { - return this.searchByFieldValue(name, 36, 'batch'); - } - - async searchByCopyright(name: string): Promise> { - return this.searchByFieldValue(name, 25, 'copyright'); - } - async searchByFieldValue( name: string, fieldNo: number, @@ -299,7 +205,144 @@ export class ProductAPI extends BaseSQLDataSource { }); } + // ---------------------------- + // PUBLIC + // Functions used in resolvers or other datasources + // ---------------------------- + + async getProductsTotal(input: ProductsFilterInput): Promise { + ScopeAccess.validate(this.user).some([Scopes.PRODUCTS_READ]); + const query = sql.productsTotal(input); + const res = await this.cachedRaw(query, null) + .cache(MINUTE * 5) + .then((data) => data.rows); + return res[0]['count'] as number; // Optimize later to return Promise + } + + async getProducts(input: ProductsFilterInput): Promise> { + ScopeAccess.validate(this.user).some([Scopes.PRODUCTS_READ]); + const query = sql.products(input); + + return this.knex + .raw(query) + .then((data) => data.rows.map((row) => this.createProductFromRow(row))); + } + + async getProduct(id: number): Promise> { + ScopeAccess.validate(this.user).some([Scopes.PRODUCTS_READ]); + const query = sql.product(); + + const res = await this.knex.raw(query, [id]).then((data) => + data.rows.map((row) => { + const prod = this.createProductFromRow(row); + return prod; + }), + ); + return res.find(Boolean); + } + + async getProductByPath(path: string): Promise> { + ScopeAccess.validate(this.user).all([Scopes.PRODUCTS_READ]); + const query = sql.productByPath(); + + const res = await this.knex.raw(query, [path]).then((data) => + data.rows.map((row) => { + const prod = this.createProductFromRow(row); + return prod; + }), + ); + return res.find(Boolean); + } + + async getDesignerProducts(designerId: number): Promise> { + ScopeAccess.validate(this.user).all([ + Scopes.DESIGNERS_READ, + Scopes.PRODUCTS_READ, + ]); + const query = sql.designerProducts(); + + return this.knex + .raw(query, designerId) + .then((data) => data.rows.map((row) => this.createProductFromRow(row))); + } + + async getCategoryProducts(categoryId: number): Promise> { + ScopeAccess.validate(this.user).all([ + Scopes.CATEGORIES_READ, + Scopes.PRODUCTS_READ, + ]); + const query = sql.categoryProducts(); + + return this.knex + .raw(query, categoryId) + .then((data) => data.rows.map((row) => this.createProductFromRow(row))); + } + + async getCategoryWithSubCategoriesProducts( + categoryId: number, + ): Promise> { + ScopeAccess.validate(this.user).all([ + Scopes.CATEGORIES_READ, + Scopes.PRODUCTS_READ, + ]); + const query = sql.categoryWithAllSubCategoriesProducts(); + + return this.knex + .raw(query, categoryId) + .then((data) => data.rows.map((row) => this.createProductFromRow(row))); + } + + async getKeywordProducts(keywordId: number): Promise> { + ScopeAccess.validate(this.user).all([ + Scopes.KEYWORDS_READ, + Scopes.PRODUCTS_READ, + ]); + const query = sql.keywordProducts(); + + return this.knex + .raw(query, keywordId) + .then((data) => data.rows.map((row) => this.createProductFromRow(row))); + } + + async searchByName(name: string): Promise> { + ScopeAccess.validate(this.user).all([Scopes.PRODUCTS_READ]); + const query = sql.searchByFieldValue(2); // name + + return this.knex + .raw(query, name) + .then((data) => data.rows.map((row) => this.createProductFromRow(row))); + } + + async searchByArtNo(name: string): Promise> { + ScopeAccess.validate(this.user).all([Scopes.PRODUCTS_READ]); + const query = sql.searchByFieldValue(1); // artNo + + return this.knex + .raw(query, name) + .then((data) => data.rows.map((row) => this.createProductFromRow(row))); + } + + async searchByCompleteProductId(q: string): Promise> { + ScopeAccess.validate(this.user).all([Scopes.PRODUCTS_READ]); + const queryAsNumber = Number(q.replaceAll('%', '')); + if (!queryAsNumber) { + return; + } + return this.getProduct(queryAsNumber); + } + + async searchByBatch(name: string): Promise> { + ScopeAccess.validate(this.user).all([Scopes.PRODUCTS_READ]); + return this.searchByFieldValue(name, 36, 'batch'); + } + + async searchByCopyright(name: string): Promise> { + ScopeAccess.validate(this.user).all([Scopes.PRODUCTS_READ]); + return this.searchByFieldValue(name, 25, 'copyright'); + } + async searchByReferences(name: string): Promise> { + ScopeAccess.validate(this.user).all([Scopes.PRODUCTS_READ]); const query = sql.referenceProducts(); // ref1, ref2, ref3 return this.knex @@ -308,31 +351,25 @@ export class ProductAPI extends BaseSQLDataSource { } async getRelatedProducts(id: number): Promise> { + ScopeAccess.validate(this.user).all([Scopes.PRODUCTS_READ]); const ids = await this.knex .raw( - `SELECT productid2 FROM "product-products_products" WHERE productid1 = ${id}`, + `SELECT productid2 FROM "product-products_products" WHERE productid1 = ?`, + id, ) .then((data) => data.rows.map((r) => r.productid2)); return ids.map(async (id) => this.getProduct(id)); } - // - // mutations below - async updateProductField( - productId: number, - field: string, - value: string, - ): Promise { - return this.knex.raw( - /* sql */ ` - INSERT INTO "product-products_fields" (productid, fieldid, value, inserted, updated) - VALUES (?, (SELECT fieldid FROM "product-fields" WHERE field = ?), ?, now(), now()) - ON CONFLICT (productid, fieldid) - DO UPDATE SET "value" = ?`, - [productId, field, value, value], - ); - } + // --------------------------------------------------------- + // MUTATIONS + // --------------------------------------------------------- + + // ------------------------------- + // INTERNAL + // Functions used inside this class + // ------------------------------- /** * @function getUniqueProductPath @@ -391,6 +428,31 @@ export class ProductAPI extends BaseSQLDataSource { return newPath; } + // ---------------------------- + // PUBLIC + // Functions used in resolvers or other datasources + // ---------------------------- + + /** + * @function updateProductField + * @description Update a field for a product + */ + async updateProductField( + productId: number, + field: string, + value: string, + ): Promise { + ScopeAccess.validate(this.user).all([Scopes.PRODUCTS_WRITE]); + return this.knex.raw( + /* sql */ ` + INSERT INTO "product-products_fields" (productid, fieldid, value, inserted, updated) + VALUES (?, (SELECT fieldid FROM "product-fields" WHERE field = ?), ?, now(), now()) + ON CONFLICT (productid, fieldid) + DO UPDATE SET "value" = ?`, + [productId, field, value, value], + ); + } + /** * @function addProduct * @description Adds a new product to system, will use name to @@ -401,6 +463,7 @@ export class ProductAPI extends BaseSQLDataSource { batch: string, designerId: number, ): Promise { + ScopeAccess.validate(this.user).all([Scopes.PRODUCTS_WRITE]); const fixedBatch = !!batch ? batch : ''; const productPath = slug(name); const safePath = await this.getUniqueProductPath(productPath, null); @@ -429,6 +492,7 @@ export class ProductAPI extends BaseSQLDataSource { productId: number, info: ProductInfoInput, ): Promise { + ScopeAccess.validate(this.user).all([Scopes.PRODUCTS_WRITE]); const promises = []; // Check path and insert new unique path if taken @@ -499,7 +563,9 @@ export class ProductAPI extends BaseSQLDataSource { * @function productPublishing * @description updates a products publishing */ + // TODO: This is never used, why? async productPublishing(productId: number, date: Date) { + ScopeAccess.validate(this.user).all([Scopes.PRODUCTS_WRITE]); return this.knex .table('product-products') .update({ @@ -513,6 +579,7 @@ export class ProductAPI extends BaseSQLDataSource { * @description Mass update publishing date */ async massUpdatePublishingDate(productIds: Array, date: Date) { + ScopeAccess.validate(this.user).all([Scopes.PRODUCTS_WRITE]); return this.knex .table('product-products') .update({ @@ -530,6 +597,7 @@ export class ProductAPI extends BaseSQLDataSource { visible: boolean, browsable: boolean, ) { + ScopeAccess.validate(this.user).all([Scopes.PRODUCTS_WRITE]); return this.knex .table('product-products') .update({ @@ -547,6 +615,7 @@ export class ProductAPI extends BaseSQLDataSource { productIds: Array, markets: Array, ) { + ScopeAccess.validate(this.user).all([Scopes.PRODUCTS_WRITE]); const promises = productIds.map((pId) => this.updateBlacklisting(pId, markets), ); @@ -563,6 +632,7 @@ export class ProductAPI extends BaseSQLDataSource { focusXpoint2: number, focusYpoint2: number, ): Promise[]> { + ScopeAccess.validate(this.user).all([Scopes.PRODUCTS_WRITE]); const promises = []; promises.push( this.updateProductField( @@ -580,6 +650,7 @@ export class ProductAPI extends BaseSQLDataSource { } async updateComments(productId: number, comments: string): Promise { + ScopeAccess.validate(this.user).all([Scopes.PRODUCTS_WRITE]); return this.updateProductField(productId, 'comments', comments); } @@ -591,6 +662,7 @@ export class ProductAPI extends BaseSQLDataSource { productId: number, markets: Array, ) { + ScopeAccess.validate(this.user).all([Scopes.PRODUCTS_WRITE]); const sql = /* sql */ ` INSERT INTO product_blacklist (product_id, group_id, market_id, created_at, updated_at) VALUES (?, ?, ?, now(), now()) @@ -623,6 +695,7 @@ export class ProductAPI extends BaseSQLDataSource { productId: number, wallpaperTypes: Array, ): Promise { + ScopeAccess.validate(this.user).all([Scopes.PRODUCTS_WRITE]); await this.knex('product_wallpapertypes') .where('product_id', productId) .del(); @@ -643,6 +716,7 @@ export class ProductAPI extends BaseSQLDataSource { * poster. Note that group 3 is repeating wallpapers. */ async updateGroups(productId: number, groupIds: number[]): Promise { + ScopeAccess.validate(this.user).all([Scopes.PRODUCTS_WRITE]); // Fetch the current state const allPrintProducts = await this.knex.raw( `SELECT printid, groupid FROM "product-printproducts" WHERE productid = ?`, @@ -797,6 +871,10 @@ export class ProductAPI extends BaseSQLDataSource { groupId: number, uris: string[], ): Promise[]> { + ScopeAccess.validate(this.user).all([ + Scopes.PRODUCTS_WRITE, + Scopes.INTERIORS_WRITE, + ]); // Create object to hold data as we go along all the db calls // This object needs to support new own uploaded images, these should have // some other folder prefix, like /interiors-buffer/. These will @@ -896,6 +974,7 @@ export class ProductAPI extends BaseSQLDataSource { productId: number, proportions: ProductProportionsInput, ): Promise[]> { + ScopeAccess.validate(this.user).all([Scopes.PRODUCTS_WRITE]); const promises = []; promises.push( this.updateProductField( @@ -937,18 +1016,23 @@ export class ProductAPI extends BaseSQLDataSource { productId: number, articleNumbers: Array, ): Promise[]> { - const whereClause = articleNumbers.map((a) => `'${a}'`).join(','); + ScopeAccess.validate(this.user).all([Scopes.PRODUCTS_WRITE]); + const query = /* sql */ ` SELECT pp.productid, ppf.value FROM "product-products" pp LEFT JOIN "product-products_fields" ppf ON ppf.productid = pp.productid AND ppf.fieldid = 1 - WHERE ppf.value IN (${whereClause}); + WHERE ppf.value IN (${createQuestionMarksFromList(articleNumbers)}); `; - const res = await this.knex.raw(query).then((data) => data.rows); + const res = await this.knex + .raw(query, articleNumbers) + .then((data) => data.rows); if (!res.length) { - throw new UserInputError('No articles found'); + throw new GraphQLError('No articles found', { + extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT }, + }); } const fieldsToInsert = res.map((item) => ({ productid1: productId, @@ -977,6 +1061,7 @@ export class ProductAPI extends BaseSQLDataSource { productId, relatedProductIds, ): Promise[]> { + ScopeAccess.validate(this.user).all([Scopes.PRODUCTS_WRITE]); // remove connection between the friends id and this produdId const promises = relatedProductIds.map((pId) => { return this.knex('product-products_products') @@ -1001,6 +1086,10 @@ export class ProductAPI extends BaseSQLDataSource { productId, categoryIds, ): Promise[]> { + ScopeAccess.validate(this.user).all([ + Scopes.PRODUCTS_WRITE, + Scopes.CATEGORIES_WRITE, + ]); const promises = categoryIds.map((categoryId) => this.knex('product_category').insert({ product_id: productId, @@ -1018,6 +1107,10 @@ export class ProductAPI extends BaseSQLDataSource { productId, categoryIds, ): Promise[]> { + ScopeAccess.validate(this.user).all([ + Scopes.PRODUCTS_WRITE, + Scopes.CATEGORIES_WRITE, + ]); const promises = categoryIds.map((categoryId) => this.knex('product_category') .where({ diff --git a/src/datasources/sql/products-sql.ts b/src/datasources/sql/products-sql.ts index ee76228..01a039c 100644 --- a/src/datasources/sql/products-sql.ts +++ b/src/datasources/sql/products-sql.ts @@ -110,35 +110,35 @@ export function productsTotal(input: ProductsFilterInput) { `; } -export function product(id: number) { +export function product() { return ( baseQuery + /* sql */ ` - WHERE products.productid = ${id} + WHERE products.productid = ? ` ); } -export function productByPath(path: string) { +export function productByPath() { return ( baseQuery + /* sql */ ` - WHERE products.path = '${path}' + WHERE products.path = ? ` ); } -export function categoryProducts(categoryId: number) { +export function categoryProducts() { return ( baseQuery + /* sql */ ` - WHERE products.productid IN (SELECT product_id FROM product_category WHERE category_id = ${categoryId}) + WHERE products.productid IN (SELECT product_id FROM product_category WHERE category_id = ?) ORDER BY products.inserted DESC ` ); } -export function categoryWithAllSubCategoriesProducts(categoryId: number) { +export function categoryWithAllSubCategoriesProducts() { return ( baseQuery + /* sql */ ` @@ -151,7 +151,7 @@ export function categoryWithAllSubCategoriesProducts(categoryId: number) { JOIN ( SELECT id, lft, rgt FROM categories - WHERE id = ${categoryId} + WHERE id = ? ) tree ON cat.lft >= tree.lft AND cat.rgt <= tree.rgt ) @@ -180,11 +180,11 @@ export function referenceProducts() { ); } -export function keywordProducts(keywordId: number) { +export function keywordProducts() { return ( baseQuery + /* sql */ ` - WHERE products.productid IN (SELECT product_id FROM product_keyword WHERE keyword_id = ${keywordId}) + WHERE products.productid IN (SELECT product_id FROM product_keyword WHERE keyword_id = ?) ORDER BY products.inserted DESC ` ); diff --git a/src/datasources/texts-api.ts b/src/datasources/texts-api.ts index a1f1c9e..3f18efa 100644 --- a/src/datasources/texts-api.ts +++ b/src/datasources/texts-api.ts @@ -1,16 +1,20 @@ import { SQLDataSource } from 'datasource-sql'; import { TranslateInput, translateText } from '../aws/translate'; import { Locale } from '../types/market-locale-types'; +import { DataSourceOptions } from '../types/types'; import { MarketLocaleAPI } from './market-locale-api'; -const MINUTE = 60; - // TODO: perhaps rename to MarketLocale API and add market_locales and locales here. export class TextsAPI extends SQLDataSource { marketLocaleApi: MarketLocaleAPI; - constructor(config, marketLocaleApi: MarketLocaleAPI) { + constructor( + options: DataSourceOptions, + config, + marketLocaleApi: MarketLocaleAPI, + ) { super(config); + this.initialize({ cache: options.cache, context: null }); this.marketLocaleApi = marketLocaleApi; } diff --git a/src/datasources/utils.ts b/src/datasources/utils.ts index 2688122..4b7d236 100644 --- a/src/datasources/utils.ts +++ b/src/datasources/utils.ts @@ -1,5 +1,7 @@ type InputType = string | undefined | null; +export const MINUTE = 60; + function isNumeric(n: InputType) { return !isNaN(parseFloat(n)); } diff --git a/src/index.ts b/src/index.ts index 9abd514..4845840 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,116 +1,79 @@ const newrelic = require('newrelic'); +const newRelicPlugin = require('@newrelic/apollo-server-plugin'); import dotenv from 'dotenv'; dotenv.config(); -import { ApolloServer, AuthenticationError } from 'apollo-server'; -import knexStringcase from 'knex-stringcase'; -import { dbConfig } from './config'; - +import { ApolloServer } from '@apollo/server'; +import { expressMiddleware } from '@apollo/server/express4'; +import { ApolloServerPluginDrainHttpServer } from '@apollo/server/plugin/drainHttpServer'; import resolvers from './resolvers'; -import { OrderAPI } from './datasources/order-api'; -import { ProductAPI } from './datasources/product-api'; -import { DesignerAPI } from './datasources/designer-api'; -import { CategoryAPI } from './datasources/category-api'; -import { KeywordAPI } from './datasources/keyword-api'; -import { MarketLocaleAPI } from './datasources/market-locale-api'; -import { ImageServerApi } from './datasources/imageserver-api'; -import { InteriorAPI } from './datasources/interior-api'; - -import { verifyToken } from './cognito/cognito-client'; import { readFileSync } from 'fs'; -import { InteriorsLambdaAPI } from './datasources/interiors-lambda-api'; -import { TextsAPI } from './datasources/texts-api'; -import { PrintProductDefaultsAPI } from './datasources/printproduct-defaults-api'; -const newRelicPlugin = require('@newrelic/apollo-server-plugin'); +import { ContextValue } from './context'; +import { GraphQLFormattedError } from 'graphql'; +import express from 'express'; +import http from 'http'; +import cors from 'cors'; +import { json } from 'body-parser'; +import { getClientAccessToken } from './rest/cognitoService'; const path = require('path'); const typeDefs = readFileSync( path.join(__dirname, './schema.graphql'), ).toString('utf-8'); -// Converts column names to CamelCase -const knexConfig = knexStringcase(dbConfig); - -// set up any dataSources our resolvers need -const marketLocaleApi = new MarketLocaleAPI(knexConfig); -const textsApi = new TextsAPI(knexConfig, marketLocaleApi); -const categoryApi = new CategoryAPI(knexConfig); -const designerApi = new DesignerAPI(knexConfig); -const imageServerApi = new ImageServerApi(); -const interiorsLambdaApi = new InteriorsLambdaAPI(); -const interiorApi = new InteriorAPI(knexConfig, imageServerApi); -const printProductDefaultsApi = new PrintProductDefaultsAPI(knexConfig); -const keywordApi = new KeywordAPI(knexConfig, textsApi); -const orderApi = new OrderAPI(knexConfig); -const productApi = new ProductAPI( - knexConfig, - textsApi, - printProductDefaultsApi, -); - -const dataSources = () => ({ - categoryApi, - designerApi, - interiorApi, - printProductDefaultsApi, - interiorsLambdaApi, - imageServerApi, - keywordApi, - marketLocaleApi, - orderApi, - productApi, -}); - -const context = async ({ req }) => { - if (process.env.NODE_ENV == 'test') { - return { auth: { userName: 'testuser' } }; - } - - const authHeader = req.headers.authorization || ''; - if (authHeader.startsWith('Bearer ')) { - const token = authHeader.substring(7, authHeader.length); - const res = await verifyToken({ token }); - if (res.isValid) { - return { auth: res }; - } - } else if ( - process.env.NODE_ENV === 'development' && - authHeader == 'Basic ZGV2OnB2N1VmYSFiZVAzeGk=' - ) { - return { - auth: { - userName: 'testuser', - isValid: true, - accessToken: null, - idToken: null, - }, - }; - } - throw new AuthenticationError('Not authorized'); -}; - async function main() { try { - const server = new ApolloServer({ + const app = express(); + const httpServer = http.createServer(app); + const server = new ApolloServer({ typeDefs, resolvers, - dataSources, - context, - introspection: true, - plugins: [newRelicPlugin], - formatError: (err) => { - console.log('Error (fmt):', err); - newrelic.noticeError(err); - return err; + plugins: [ + newRelicPlugin, + ApolloServerPluginDrainHttpServer({ httpServer }), + ], + formatError: (formattedError: GraphQLFormattedError, error: unknown) => { + console.error(error); + newrelic.noticeError(error); + return formattedError; }, }); - await server.listen(); + await server.start(); - console.log( - 'Server is running on http://localhost:4000, ', - process.env.ENVIRONMENT_NAME, + app.get('/health', (req, res) => { + res.status(200).send('OK'); + }); + + app.post('/login', async (req, res) => { + try { + const response = await getClientAccessToken(req); + res.status(200).send(response); + } catch (e) { + newrelic.noticeError(e.message); + res.status(401).send(e.message); + } + }); + + app.use( + '/', + cors(), + json(), + expressMiddleware(server, { + context: async ({ req }) => { + const instance = new ContextValue({ req, server }); + const context = await instance.process(); + return context; + }, + }), ); + + await new Promise((resolve) => + httpServer.listen({ port: 4000 }, resolve), + ); + + console.log('SERVER IS RUNNING'); + console.log(`ENV: ${process.env.ENVIRONMENT_NAME}`); } catch (ex) { newrelic.noticeError(ex); console.error('Got terminal exception:', ex); diff --git a/src/resolvers/categories-resolver.ts b/src/resolvers/categories-resolver.ts index d01a4e8..d46b40c 100644 --- a/src/resolvers/categories-resolver.ts +++ b/src/resolvers/categories-resolver.ts @@ -1,10 +1,8 @@ -import { checkAccess } from '../cognito/access-control'; import { CategoryAPI } from '../datasources/category-api'; import { ProductAPI } from '../datasources/product-api'; const Category = { - async products({ id }, { includeAllSubCategories }, { dataSources, auth }) { - checkAccess(['products.read'], auth); + async products({ id }, { includeAllSubCategories }, { dataSources }) { if (includeAllSubCategories === true) { return (( dataSources.productApi @@ -13,7 +11,7 @@ const Category = { return (dataSources.productApi).getCategoryProducts(id); } }, - async localeNames({ id }, _, { dataSources, auth }) { + async localeNames({ id }, _, { dataSources }) { return (dataSources.categoryApi).getLocaleNameForId(id); }, }; diff --git a/src/resolvers/designers-resolver.ts b/src/resolvers/designers-resolver.ts index fc1a008..ecf1107 100644 --- a/src/resolvers/designers-resolver.ts +++ b/src/resolvers/designers-resolver.ts @@ -1,27 +1,22 @@ -import { checkAccess } from '../cognito/access-control'; import { DesignerAPI } from '../datasources/designer-api'; import { OrderAPI } from '../datasources/order-api'; import { ProductAPI } from '../datasources/product-api'; import { GeneralInput } from '../types/types'; const Designer = { - async orderRows({ id }, input: GeneralInput, { dataSources, auth }) { - checkAccess(['orders.read'], auth); + async orderRows({ id }, input: GeneralInput, { dataSources }) { return (dataSources.orderApi).getOrderRowsByDesignerId(id, input); }, - async products({ id }, _args, { dataSources, auth }) { - checkAccess(['products.read'], auth); + async products({ id }, _args, { dataSources }) { return (dataSources.productApi).getDesignerProducts(id); }, }; -async function getDesigners(_, { limit }, { dataSources, auth }) { - checkAccess(['designers.read'], auth); +async function getDesigners(_, { limit }, { dataSources }) { return (dataSources.designerApi).getDesigners(limit); } -async function getDesigner(_, { id }, { dataSources, auth }) { - checkAccess(['designers.read'], auth); +async function getDesigner(_, { id }, { dataSources }) { return (dataSources.designerApi).getDesignerById(id); } diff --git a/src/resolvers/file-upload-resolvers.ts b/src/resolvers/file-upload-resolvers.ts index d48b0f9..669f40e 100644 --- a/src/resolvers/file-upload-resolvers.ts +++ b/src/resolvers/file-upload-resolvers.ts @@ -4,12 +4,18 @@ import { SignedUploadURLInput, } from '../types/file-upload-types'; import * as CONFIG from '../config'; +import { ScopeAccess, Scopes } from '../cognito/access-control'; async function getSignedFileUploadURL( _, args: SignedUploadURLInput, - __, + { user }, ): Promise { + // This should not be defined in the resolver, but in + // this case there is no datasource to define the scopes + // in. In future please create a restdatasource from the s3.ts + // and move it to datasources. + ScopeAccess.validate(user).all([Scopes.PRODUCTS_WRITE]); const config = args.config; const bucket = CONFIG.uploadBucket; diff --git a/src/resolvers/index.ts b/src/resolvers/index.ts index d4af79e..1931ceb 100644 --- a/src/resolvers/index.ts +++ b/src/resolvers/index.ts @@ -20,6 +20,7 @@ import { DateTimeResolver, DateResolver, JSONResolver } from 'graphql-scalars'; import { interiorsQueryTypeDefs, interiorTypeDefs } from './interiors-resolver'; import { imagesQueryTypeDefs } from './file-upload-resolvers'; import { TextsQueryTypeDefs } from './texts-resolver'; + const resolvers = { Query: { ...orderQueryTypeDefs, diff --git a/src/resolvers/keywords-resolver.ts b/src/resolvers/keywords-resolver.ts index 15dcfef..72385a1 100644 --- a/src/resolvers/keywords-resolver.ts +++ b/src/resolvers/keywords-resolver.ts @@ -1,10 +1,8 @@ -import { checkAccess } from '../cognito/access-control'; import { KeywordAPI } from '../datasources/keyword-api'; import { ProductAPI } from '../datasources/product-api'; const Keyword = { - async products({ id }, _args, { dataSources, auth }) { - checkAccess(['products.read'], auth); + async products({ id }, _args, { dataSources }) { return (dataSources.productApi).getKeywordProducts(id); }, }; @@ -24,8 +22,10 @@ export const keywordsQueryTypeDefs = { keyword: getKeyword, }; -/////////////////// -// Mutations below +// --------------------------------------------------------- +// MUTATIONS +// --------------------------------------------------------- + export const keywordsMutationTypeDefs = { async addKeyword(_, { name, type }, { dataSources }) { const id = await (dataSources.keywordApi).addKeyword( diff --git a/src/resolvers/orders-resolver.ts b/src/resolvers/orders-resolver.ts index b28987a..5062103 100644 --- a/src/resolvers/orders-resolver.ts +++ b/src/resolvers/orders-resolver.ts @@ -1,4 +1,3 @@ -import { checkAccess } from '../cognito/access-control'; import { MarketLocaleAPI } from '../datasources/market-locale-api'; import { OrderAPI } from '../datasources/order-api'; import { OrdersResult } from '../types/order-types'; @@ -27,8 +26,7 @@ const Order = { }; const OrderRow = { - async order(parent, _args, { dataSources, auth }) { - checkAccess(['orders.read'], auth); + async order(parent, _args, { dataSources }) { return (dataSources.orderApi).getOrderById(parent.orderId); }, }; @@ -36,9 +34,8 @@ const OrderRow = { async function getOrdersResult( _, input: GeneralInput, - { dataSources, auth }, + { dataSources }, ): Promise { - checkAccess(['orders.read'], auth); const total = (dataSources.orderApi).getOrdersTotal(input); const items = (dataSources.orderApi).getOrders(input); const offset = input.pagination?.offset ?? 0; @@ -52,17 +49,15 @@ async function getOrdersResult( }; } -async function getOrder(_, { id }, { dataSources, auth }) { - checkAccess(['orders.read'], auth); +async function getOrder(_, { id }, { dataSources }) { return (dataSources.orderApi).getOrderById(id); } async function orderByExternalId( _, { klarnaOrderId, paypalTransactionId }, - { dataSources, auth }, + { dataSources }, ) { - checkAccess(['orders.read'], auth); return (dataSources.orderApi).getOrderByExternalId( klarnaOrderId, paypalTransactionId, diff --git a/src/resolvers/products-resolver.ts b/src/resolvers/products-resolver.ts index 38b7f2d..65ab170 100644 --- a/src/resolvers/products-resolver.ts +++ b/src/resolvers/products-resolver.ts @@ -17,7 +17,6 @@ import { InteriorsLambdaAPI } from '../datasources/interiors-lambda-api'; import { IdNumberResult } from '../types/types'; import { moveS3File } from '../aws/s3'; import { DesignerAPI } from '../datasources/designer-api'; -import { checkAccess } from '../cognito/access-control'; import { PrintProductDefaultsAPI } from '../datasources/printproduct-defaults-api'; import { PrintProductDefaults } from '../types/printproduct-defaults-types'; @@ -30,12 +29,10 @@ const ProductBlacklist = { }; const Product = { - // (parent, args, ctx, info) async categories({ id }, _args, { dataSources }): Promise> { return (dataSources.categoryApi).getProductCategories(id); }, - async designer({ designerId }, _args, { dataSources, auth }) { - checkAccess(['designers.read'], auth); + async designer({ designerId }, _args, { dataSources }) { if (!designerId) { return null; } @@ -63,9 +60,8 @@ const PrintProduct = { async function getProductsResult( _, input: ProductsFilterInput, - { dataSources, auth }, + { dataSources }, ): Promise { - checkAccess(['products.read'], auth); const total = (dataSources.productApi).getProductsTotal(input); const items = (dataSources.productApi).getProducts(input); const offset = input.pagination?.offset ?? 0; @@ -82,9 +78,8 @@ async function getProductsResult( async function getProductsSearchResult( _, { q }, - { dataSources, auth }, + { dataSources }, ): Promise { - checkAccess(['products.read', 'designers.read'], auth); const prodApi = dataSources.productApi; const catApi = dataSources.categoryApi; const keywApi = dataSources.keywordApi; @@ -117,7 +112,7 @@ async function getProductsSearchResult( }; } -async function getProduct(_, { id }, { dataSources, auth }): Promise { +async function getProduct(_, { id }, { dataSources }): Promise { return (dataSources.productApi).getProduct(id); } @@ -142,15 +137,16 @@ export const productQueryTypeDefs = { productsSearch: getProductsSearchResult, }; -/////////////////// -// Mutations below +// --------------------------------------------------------- +// MUTATIONS +// --------------------------------------------------------- + export const productMutationTypeDefs = { /** * @function addProduct * @description Will add a product */ - async addProduct(_, { name, batch, designerId }, { dataSources, auth }) { - checkAccess(['products.write'], auth); + async addProduct(_, { name, batch, designerId }, { dataSources }) { const id = await (dataSources.productApi).addProduct( name, batch, @@ -163,8 +159,7 @@ export const productMutationTypeDefs = { * @function productInfo * @description Mutate base information about a product */ - async productInfo(_, { productId, info }, { dataSources, auth }) { - checkAccess(['products.write'], auth); + async productInfo(_, { productId, info }, { dataSources }) { await (dataSources.productApi).updateProductInfo( productId, info, @@ -179,9 +174,8 @@ export const productMutationTypeDefs = { async productFocusPoint( _, { productId, focusXpoint2, focusYpoint2 }, - { dataSources, auth }, + { dataSources }, ) { - checkAccess(['products.write'], auth); await (dataSources.productApi).updateFocusPoint( productId, focusXpoint2, @@ -202,8 +196,7 @@ export const productMutationTypeDefs = { * @function productBlacklisting * @description Mutate the product blacklist */ - async productBlacklisting(_, { productId, markets }, { dataSources, auth }) { - checkAccess(['products.write'], auth); + async productBlacklisting(_, { productId, markets }, { dataSources }) { await (dataSources.productApi).updateBlacklisting( productId, markets, @@ -215,8 +208,7 @@ export const productMutationTypeDefs = { * @function productGroup * @description Mutate the product groups, when changing group interiors lambda is triggered. */ - async productGroup(_, { productId, groupIds }, { dataSources, auth }) { - checkAccess(['products.write'], auth); + async productGroup(_, { productId, groupIds }, { dataSources }) { await (dataSources.productApi).updateGroups( productId, groupIds, @@ -237,9 +229,8 @@ export const productMutationTypeDefs = { async productGroupInteriors( _, { productId, groupId, uris }, - { dataSources, auth }, + { dataSources }, ) { - checkAccess(['products.write'], auth); await (dataSources.productApi).addInteriorsToProductGroup( productId, groupId, @@ -252,8 +243,7 @@ export const productMutationTypeDefs = { * @function productKeywords * @description Mutate the keywords for a product */ - async productKeywords(_, { productId, keywordIds }, { dataSources, auth }) { - checkAccess(['products.write'], auth); + async productKeywords(_, { productId, keywordIds }, { dataSources }) { await (dataSources.keywordApi).setProductKeywords( productId, keywordIds, @@ -268,9 +258,8 @@ export const productMutationTypeDefs = { async productProportionsWarning( _, { productId, proportions }, - { dataSources, auth }, + { dataSources }, ) { - checkAccess(['products.write'], auth); await (dataSources.productApi).setProportionsWarning( productId, proportions, @@ -285,9 +274,8 @@ export const productMutationTypeDefs = { async addOwnInteriorToPrintProduct( _, { printId, uploadedS3Key }, - { dataSources, auth }, + { dataSources }, ): Promise { - checkAccess(['products.write'], auth); return (dataSources.interiorApi).addOwnUploadToPrintId( printId, uploadedS3Key, @@ -301,9 +289,8 @@ export const productMutationTypeDefs = { async printProductDefaults( _, { printId, widthMm, heightMm, cropX, cropY, border }, - { dataSources, auth }, + { dataSources }, ): Promise { - checkAccess(['products.write'], auth); return (( dataSources.printProductDefaultsApi )).updateDefaults(printId, widthMm, heightMm, cropX, cropY, border); @@ -316,9 +303,8 @@ export const productMutationTypeDefs = { async productWallpaperType( _, { productId, wallpaperTypes }, - { dataSources, auth }, + { dataSources }, ) { - checkAccess(['products.write'], auth); await (dataSources.productApi).setWallpaperTypes( productId, wallpaperTypes, @@ -335,9 +321,8 @@ export const productMutationTypeDefs = { async updateProductImage( _, { productId, uploadedS3Key, width, height }, - { dataSources, auth }, + { dataSources }, ) { - checkAccess(['products.write'], auth); await moveS3File( CONFIG.uploadBucket, uploadedS3Key, @@ -369,12 +354,7 @@ export const productMutationTypeDefs = { * @description Adds a related product to a product, when doing this the related product * gets the same relationship back. So products are always related to eachother. */ - async addRelatedProducts( - _, - { productId, articleNumbers }, - { dataSources, auth }, - ) { - checkAccess(['products.write'], auth); + async addRelatedProducts(_, { productId, articleNumbers }, { dataSources }) { await (dataSources.productApi).addRelatedProducts( productId, articleNumbers, @@ -389,9 +369,8 @@ export const productMutationTypeDefs = { async removeRelatedProducts( _, { productId, relatedProductIds }, - { dataSources, auth }, + { dataSources }, ) { - checkAccess(['products.write'], auth); await (dataSources.productApi).removeRelatedProducts( productId, relatedProductIds, @@ -403,12 +382,7 @@ export const productMutationTypeDefs = { * @function addCategoriesToProduct * @description Add categories to a product */ - async addCategoriesToProduct( - _, - { productId, categoryIds }, - { dataSources, auth }, - ) { - checkAccess(['products.write'], auth); + async addCategoriesToProduct(_, { productId, categoryIds }, { dataSources }) { await (dataSources.productApi).addCategoriesToProduct( productId, categoryIds, @@ -423,9 +397,8 @@ export const productMutationTypeDefs = { async removeCategoriesFromProduct( _, { productId, categoryIds }, - { dataSources, auth }, + { dataSources }, ) { - checkAccess(['products.write'], auth); await (dataSources.productApi).removeCategoriesFromProduct( productId, categoryIds, @@ -437,12 +410,7 @@ export const productMutationTypeDefs = { * @function updateProductComments * @description Mutate product comments */ - async updateProductComments( - _, - { productId, comments }, - { dataSources, auth }, - ) { - checkAccess(['products.write'], auth); + async updateProductComments(_, { productId, comments }, { dataSources }) { await (dataSources.productApi).updateComments( productId, comments, @@ -456,9 +424,8 @@ export const productMutationTypeDefs = { async massUpdatePublishing( _, { productIds, visible, browsable }, - { dataSources, auth }, + { dataSources }, ) { - checkAccess(['products.write'], auth); await (dataSources.productApi).massUpdatePublishing( productIds, visible, @@ -472,12 +439,7 @@ export const productMutationTypeDefs = { * @function massUpdateBlacklisting * @description Mutate the blacklisting for products */ - async massUpdateBlacklisting( - _, - { productIds, markets }, - { dataSources, auth }, - ) { - checkAccess(['products.write'], auth); + async massUpdateBlacklisting(_, { productIds, markets }, { dataSources }) { await (dataSources.productApi).massUpdateBlacklisting( productIds, markets, @@ -490,12 +452,7 @@ export const productMutationTypeDefs = { * @function massUpdatePublishing * @description Mutate the Publishing for products */ - async massUpdatePublishingDate( - _, - { productIds, date }, - { dataSources, auth }, - ) { - checkAccess(['products.write'], auth); + async massUpdatePublishingDate(_, { productIds, date }, { dataSources }) { await (dataSources.productApi).massUpdatePublishingDate( productIds, date, diff --git a/src/resolvers/texts-resolver.ts b/src/resolvers/texts-resolver.ts index 782d52f..4a13bff 100644 --- a/src/resolvers/texts-resolver.ts +++ b/src/resolvers/texts-resolver.ts @@ -1,6 +1,8 @@ import { translateText, TranslateInput } from '../aws/translate'; +import { ScopeAccess, Scopes } from '../cognito/access-control'; -async function translate(_, { input }, _ctx) { +async function translate(_, { input }, { user }) { + ScopeAccess.validate(user).all([Scopes.TEXTS_READ]); const value = await translateText(input as TranslateInput); return { value }; } diff --git a/src/rest/cognitoService.ts b/src/rest/cognitoService.ts new file mode 100644 index 0000000..9b6f8ef --- /dev/null +++ b/src/rest/cognitoService.ts @@ -0,0 +1,40 @@ +import axios from 'axios'; +import { Scopes } from '../cognito/access-control'; + +export const getClientAccessToken = async (req) => { + const token = req.headers.authorization || ''; + const tokenKey = Buffer.from( + `${process.env.WEB_CLIENT_USERNAME}:${process.env.WEB_CLIENT_PASSWORD}`, + ).toString('base64'); + + if (token !== `Basic ${tokenKey}`) { + return Promise.reject(new Error('password or username did not match')); + } + + const clientId = `${process.env.COGNITO_LOGIN_CLIENT_ID}`; + const cognitoAppUrl = `${process.env.COGNITO_LOGIN_CLIENT_URL}`; + const authString = + 'Basic ' + + Buffer.from( + clientId + ':' + process.env.COGNITO_LOGIN_CLIENT_SECRET, + ).toString('base64'); + + const res = await axios({ + url: cognitoAppUrl + '/oauth2/token', + method: 'POST', + headers: { + 'Content-Type': 'application/x-www-form-urlencoded', + Authorization: authString, + }, + data: { + grant_type: 'client_credentials', + client_id: clientId, + scope: `https://graphql.photowall.com/${Scopes.PRODUCTS_PUBLIC_READ} https://graphql.photowall.com/${Scopes.DESIGNERS_PUBLIC_READ}`, + }, + }); + + return { + access_token: res.data.access_token, + expires_in: res.data.expires_in, + }; +}; diff --git a/src/schema.graphql b/src/schema.graphql index f0de3bb..d59d9d8 100644 --- a/src/schema.graphql +++ b/src/schema.graphql @@ -43,6 +43,10 @@ type Query { translate(input: TranslateInput!): StringResult! } +type HealthCheck { + result: String! +} + input TranslateInput { text: String! """ diff --git a/src/types/types.ts b/src/types/types.ts index 9089adc..c12cff9 100644 --- a/src/types/types.ts +++ b/src/types/types.ts @@ -1,5 +1,22 @@ +import { KeyValueCache } from '@apollo/utils.keyvaluecache'; +import { ClaimVerifyResult } from '../cognito/cognito-client'; + export type Maybe = T | undefined; +export interface IAuthObject { + userName: String; + isValid?: boolean; + accessToken?: String | null; + idToken?: String | null; +} + +export type User = IAuthObject | ClaimVerifyResult; + +export type DataSourceOptions = { + cache: KeyValueCache; + user: IAuthObject | ClaimVerifyResult; +}; + export interface PaginationInput { limit: number; offset?: number;