From 2a5029d64b4e95b8c41e0f3f8027236869462fb4 Mon Sep 17 00:00:00 2001 From: Harkirat Singh Date: Sun, 15 Oct 2023 20:58:14 +0530 Subject: [PATCH] backend changes --- backend/native/backpack-api/src/db/users.ts | 6 + .../backpack-api/src/routes/v1/users.ts | 7 +- .../backpack-api/src/validation/user.ts | 2 + backend/native/zeus/package-lock.json | 1255 +++++++++++++++++ backend/native/zeus/package.json | 1 + backend/native/zeus/src/zeus/const.ts | 16 +- backend/native/zeus/src/zeus/index.ts | 156 +- .../databases/default/tables/auth_users.yaml | 6 + .../down.sql | 4 + .../up.sql | 2 + .../down.sql | 4 + .../up.sql | 2 + packages/common/src/constants.ts | 2 +- 13 files changed, 1450 insertions(+), 13 deletions(-) create mode 100644 backend/native/zeus/package-lock.json create mode 100644 backend/reef/hasura/migrations/default/1697381689838_alter_table_auth_users_add_column_firstname/down.sql create mode 100644 backend/reef/hasura/migrations/default/1697381689838_alter_table_auth_users_add_column_firstname/up.sql create mode 100644 backend/reef/hasura/migrations/default/1697381695683_alter_table_auth_users_add_column_lastname/down.sql create mode 100644 backend/reef/hasura/migrations/default/1697381695683_alter_table_auth_users_add_column_lastname/up.sql diff --git a/backend/native/backpack-api/src/db/users.ts b/backend/native/backpack-api/src/db/users.ts index c1a1755b7..e3b4ed627 100644 --- a/backend/native/backpack-api/src/db/users.ts +++ b/backend/native/backpack-api/src/db/users.ts @@ -302,6 +302,8 @@ const transformUser = ( */ export const createUser = async ( username: string, + firstName: string, + lastName: string, blockchainPublicKeys: Array<{ blockchain: Blockchain; publicKey: string }>, waitlistId?: string | null, referrerId?: string @@ -324,11 +326,15 @@ export const createUser = async ( ], }); + // zeus - automatically generated client for graphql + // const response = await chain("mutation")({ insert_auth_users_one: [ { object: { username: username, + firstname: firstName, + lastname: lastName, public_keys: { data: blockchainPublicKeys.map((b) => ({ blockchain: b.blockchain, diff --git a/backend/native/backpack-api/src/routes/v1/users.ts b/backend/native/backpack-api/src/routes/v1/users.ts index 9e2db77dd..00dc7962e 100644 --- a/backend/native/backpack-api/src/routes/v1/users.ts +++ b/backend/native/backpack-api/src/routes/v1/users.ts @@ -124,9 +124,12 @@ router.get("/jwt/xnft", extractUserId, async (req, res) => { * Create a new user. */ router.post("/", async (req, res) => { - const { username, waitlistId, blockchainPublicKeys } = + console.log("hi there"); + const { username, waitlistId, blockchainPublicKeys, firstName, lastName } = CreateUserWithPublicKeys.parse(req.body); + console.log(firstName); + console.log(lastName); // Validate all the signatures for (const blockchainPublicKey of blockchainPublicKeys) { const signedMessage = getCreateMessage(blockchainPublicKey.publicKey); @@ -182,6 +185,8 @@ router.post("/", async (req, res) => { const user = await createUser( username, + firstName, + lastName, blockchainPublicKeys.map((b) => ({ ...b, // Cast blockchain to correct type diff --git a/backend/native/backpack-api/src/validation/user.ts b/backend/native/backpack-api/src/validation/user.ts index 82e4319ab..c991dceff 100644 --- a/backend/native/backpack-api/src/validation/user.ts +++ b/backend/native/backpack-api/src/validation/user.ts @@ -9,6 +9,8 @@ export const BaseCreateUser = z.object({ /^[a-z0-9_]{3,15}$/, "should be between 3-15 characters and can only contain numbers, letters, and underscores." ), + firstName: z.string(), + lastName: z.string(), inviteCode: z .string() .regex( diff --git a/backend/native/zeus/package-lock.json b/backend/native/zeus/package-lock.json new file mode 100644 index 000000000..2cf7a71bd --- /dev/null +++ b/backend/native/zeus/package-lock.json @@ -0,0 +1,1255 @@ +{ + "name": "@coral-xyz/zeus", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "@coral-xyz/zeus", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "graphql": "^16.8.1", + "tsc-alias": "^1.7.1", + "typescript": "~4.9.3" + }, + "devDependencies": { + "graphql-zeus": "^5.2.3" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "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": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/cross-fetch": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", + "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", + "dev": true, + "dependencies": { + "node-fetch": "^2.6.12" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graphql": { + "version": "16.8.1", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.8.1.tgz", + "integrity": "sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==", + "engines": { + "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" + } + }, + "node_modules/graphql-js-tree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/graphql-js-tree/-/graphql-js-tree-1.0.6.tgz", + "integrity": "sha512-IUOxnT3ESFicPXxxygnWcFLMS5NUEgU1s7Ev7xofnryKPJaLbYCYbj4xMWQacVnb8zj6IsKNIl1N2sIfCtXRLA==", + "dev": true, + "dependencies": { + "graphql": "15.4.0" + } + }, + "node_modules/graphql-js-tree/node_modules/graphql": { + "version": "15.4.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.4.0.tgz", + "integrity": "sha512-EB3zgGchcabbsU9cFe1j+yxdzKQKAbGUWRb13DsrsMN1yyfmmIq+2+L5MqVWcDCE4V89R5AyUOi7sMOGxdsYtA==", + "dev": true, + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/graphql-zeus": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/graphql-zeus/-/graphql-zeus-5.3.1.tgz", + "integrity": "sha512-ElMYE8Os+XlhRChs0A+zP+eBDfblXJnFBNt2rFY5xm2CdflDkFWtWCWLlvXYEFdEBrYXcHYz2af2HmrziTFxHw==", + "dev": true, + "dependencies": { + "cross-fetch": "^3.0.4", + "graphql-zeus-core": "^5.3.1", + "graphql-zeus-jsonschema": "^5.3.1", + "yargs": "^16.1.1" + }, + "bin": { + "zeus": "lib/index.js" + } + }, + "node_modules/graphql-zeus-core": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/graphql-zeus-core/-/graphql-zeus-core-5.3.1.tgz", + "integrity": "sha512-J5j1qTbFCXKEtLrSf1YH9W85WQ9uhvsR8j1I6Qj1vKf3kHik02YYjms6pm8SsKHKXu2h1PSxPOqJqnlRVypEMA==", + "dev": true, + "dependencies": { + "graphql": "^16.5.0", + "graphql-js-tree": "^1.0.5" + }, + "peerDependencies": { + "graphql-ws": ">=5" + }, + "peerDependenciesMeta": { + "graphql-ws": { + "optional": true + } + } + }, + "node_modules/graphql-zeus-jsonschema": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/graphql-zeus-jsonschema/-/graphql-zeus-jsonschema-5.3.1.tgz", + "integrity": "sha512-54tavKwn+gp3VZZqkN8ruMng4PyOsnMYZfvdFgN8J0XS08L+qnnoo+W3zfGN4X+cGGOhJEre86LrkJrBkX1qGw==", + "dev": true, + "dependencies": { + "graphql": "^16.5.0", + "graphql-js-tree": "^1.0.5", + "json-schema": "^0.3.0" + }, + "peerDependencies": { + "graphql-ws": ">=5" + }, + "peerDependenciesMeta": { + "graphql-ws": { + "optional": true + } + } + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/json-schema": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.3.0.tgz", + "integrity": "sha512-TYfxx36xfl52Rf1LU9HyWSLGPdYLL+SQ8/E/0yVyKG8wCCDaSrhPap0vEdlsZWRaS6tnKKLPGiEJGiREVC8kxQ==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mylas": { + "version": "2.1.13", + "resolved": "https://registry.npmjs.org/mylas/-/mylas-2.1.13.tgz", + "integrity": "sha512-+MrqnJRtxdF+xngFfUUkIMQrUUL0KsxbADUkn23Z/4ibGg192Q+z+CQyiYwvWTsYjJygmMR8+w3ZDa98Zh6ESg==", + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/raouldeheer" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/plimit-lit": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/plimit-lit/-/plimit-lit-1.6.1.tgz", + "integrity": "sha512-B7+VDyb8Tl6oMJT9oSO2CW8XC/T4UcJGrwOVoNGwOQsQYhlpfajmrMj5xeejqaASq3V/EqThyOeATEOMuSEXiA==", + "dependencies": { + "queue-lit": "^1.5.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/queue-lit": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/queue-lit/-/queue-lit-1.5.2.tgz", + "integrity": "sha512-tLc36IOPeMAubu8BkW8YDBV+WyIgKlYU7zUNs0J5Vk9skSZ4JfGlPOqplP0aHdfv7HL0B2Pg6nwiq60Qc6M2Hw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "node_modules/tsc-alias": { + "version": "1.8.8", + "resolved": "https://registry.npmjs.org/tsc-alias/-/tsc-alias-1.8.8.tgz", + "integrity": "sha512-OYUOd2wl0H858NvABWr/BoSKNERw3N9GTi3rHPK8Iv4O1UyUXIrTTOAZNHsjlVpXFOhpJBVARI1s+rzwLivN3Q==", + "dependencies": { + "chokidar": "^3.5.3", + "commander": "^9.0.0", + "globby": "^11.0.4", + "mylas": "^2.1.9", + "normalize-path": "^3.0.0", + "plimit-lit": "^1.2.6" + }, + "bin": { + "tsc-alias": "dist/bin/index.js" + } + }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + } + }, + "dependencies": { + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "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" + } + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.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": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==" + }, + "cross-fetch": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", + "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", + "dev": true, + "requires": { + "node-fetch": "^2.6.12" + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "requires": { + "path-type": "^4.0.0" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "requires": { + "reusify": "^1.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "optional": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "graphql": { + "version": "16.8.1", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.8.1.tgz", + "integrity": "sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==" + }, + "graphql-js-tree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/graphql-js-tree/-/graphql-js-tree-1.0.6.tgz", + "integrity": "sha512-IUOxnT3ESFicPXxxygnWcFLMS5NUEgU1s7Ev7xofnryKPJaLbYCYbj4xMWQacVnb8zj6IsKNIl1N2sIfCtXRLA==", + "dev": true, + "requires": { + "graphql": "15.4.0" + }, + "dependencies": { + "graphql": { + "version": "15.4.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.4.0.tgz", + "integrity": "sha512-EB3zgGchcabbsU9cFe1j+yxdzKQKAbGUWRb13DsrsMN1yyfmmIq+2+L5MqVWcDCE4V89R5AyUOi7sMOGxdsYtA==", + "dev": true + } + } + }, + "graphql-zeus": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/graphql-zeus/-/graphql-zeus-5.3.1.tgz", + "integrity": "sha512-ElMYE8Os+XlhRChs0A+zP+eBDfblXJnFBNt2rFY5xm2CdflDkFWtWCWLlvXYEFdEBrYXcHYz2af2HmrziTFxHw==", + "dev": true, + "requires": { + "cross-fetch": "^3.0.4", + "graphql-zeus-core": "^5.3.1", + "graphql-zeus-jsonschema": "^5.3.1", + "yargs": "^16.1.1" + } + }, + "graphql-zeus-core": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/graphql-zeus-core/-/graphql-zeus-core-5.3.1.tgz", + "integrity": "sha512-J5j1qTbFCXKEtLrSf1YH9W85WQ9uhvsR8j1I6Qj1vKf3kHik02YYjms6pm8SsKHKXu2h1PSxPOqJqnlRVypEMA==", + "dev": true, + "requires": { + "graphql": "^16.5.0", + "graphql-js-tree": "^1.0.5" + } + }, + "graphql-zeus-jsonschema": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/graphql-zeus-jsonschema/-/graphql-zeus-jsonschema-5.3.1.tgz", + "integrity": "sha512-54tavKwn+gp3VZZqkN8ruMng4PyOsnMYZfvdFgN8J0XS08L+qnnoo+W3zfGN4X+cGGOhJEre86LrkJrBkX1qGw==", + "dev": true, + "requires": { + "graphql": "^16.5.0", + "graphql-js-tree": "^1.0.5", + "json-schema": "^0.3.0" + } + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "json-schema": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.3.0.tgz", + "integrity": "sha512-TYfxx36xfl52Rf1LU9HyWSLGPdYLL+SQ8/E/0yVyKG8wCCDaSrhPap0vEdlsZWRaS6tnKKLPGiEJGiREVC8kxQ==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mylas": { + "version": "2.1.13", + "resolved": "https://registry.npmjs.org/mylas/-/mylas-2.1.13.tgz", + "integrity": "sha512-+MrqnJRtxdF+xngFfUUkIMQrUUL0KsxbADUkn23Z/4ibGg192Q+z+CQyiYwvWTsYjJygmMR8+w3ZDa98Zh6ESg==" + }, + "node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "plimit-lit": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/plimit-lit/-/plimit-lit-1.6.1.tgz", + "integrity": "sha512-B7+VDyb8Tl6oMJT9oSO2CW8XC/T4UcJGrwOVoNGwOQsQYhlpfajmrMj5xeejqaASq3V/EqThyOeATEOMuSEXiA==", + "requires": { + "queue-lit": "^1.5.1" + } + }, + "queue-lit": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/queue-lit/-/queue-lit-1.5.2.tgz", + "integrity": "sha512-tLc36IOPeMAubu8BkW8YDBV+WyIgKlYU7zUNs0J5Vk9skSZ4JfGlPOqplP0aHdfv7HL0B2Pg6nwiq60Qc6M2Hw==" + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "requires": { + "picomatch": "^2.2.1" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "tsc-alias": { + "version": "1.8.8", + "resolved": "https://registry.npmjs.org/tsc-alias/-/tsc-alias-1.8.8.tgz", + "integrity": "sha512-OYUOd2wl0H858NvABWr/BoSKNERw3N9GTi3rHPK8Iv4O1UyUXIrTTOAZNHsjlVpXFOhpJBVARI1s+rzwLivN3Q==", + "requires": { + "chokidar": "^3.5.3", + "commander": "^9.0.0", + "globby": "^11.0.4", + "mylas": "^2.1.9", + "normalize-path": "^3.0.0", + "plimit-lit": "^1.2.6" + } + }, + "typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==" + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true + } + } +} diff --git a/backend/native/zeus/package.json b/backend/native/zeus/package.json index 31fd1a7e5..9777a0ef2 100644 --- a/backend/native/zeus/package.json +++ b/backend/native/zeus/package.json @@ -14,6 +14,7 @@ "author": "", "license": "ISC", "dependencies": { + "graphql": "^16.8.1", "tsc-alias": "^1.7.1", "typescript": "~4.9.3" }, diff --git a/backend/native/zeus/src/zeus/const.ts b/backend/native/zeus/src/zeus/const.ts index 8f9ff9757..bd0a90475 100644 --- a/backend/native/zeus/src/zeus/const.ts +++ b/backend/native/zeus/src/zeus/const.ts @@ -763,8 +763,10 @@ export const AllTypesProps: Record = { _or: "auth_users_bool_exp", created_at: "timestamptz_comparison_exp", dropzone_public_key: "auth_public_keys_bool_exp", + firstname: "String_comparison_exp", id: "uuid_comparison_exp", invitation: "auth_invitations_bool_exp", + lastname: "String_comparison_exp", public_keys: "auth_public_keys_bool_exp", public_keys_aggregate: "auth_public_keys_aggregate_bool_exp", referred_users: "auth_users_bool_exp", @@ -784,12 +786,16 @@ export const AllTypesProps: Record = { }, auth_users_max_order_by: { created_at: "order_by", + firstname: "order_by", id: "order_by", + lastname: "order_by", username: "order_by", }, auth_users_min_order_by: { created_at: "order_by", + firstname: "order_by", id: "order_by", + lastname: "order_by", username: "order_by", }, auth_users_obj_rel_insert_input: { @@ -804,8 +810,10 @@ export const AllTypesProps: Record = { auth_users_order_by: { created_at: "order_by", dropzone_public_key_aggregate: "auth_public_keys_aggregate_order_by", + firstname: "order_by", id: "order_by", invitation: "auth_invitations_order_by", + lastname: "order_by", public_keys_aggregate: "auth_public_keys_aggregate_order_by", referred_users_aggregate: "auth_users_aggregate_order_by", referrer: "auth_users_order_by", @@ -2084,8 +2092,10 @@ export const ReturnTypes: Record = { auth_users: { created_at: "timestamptz", dropzone_public_key: "auth_public_keys", + firstname: "String", id: "uuid", invitation: "auth_invitations", + lastname: "String", public_keys: "auth_public_keys", public_keys_aggregate: "auth_public_keys_aggregate", referred_users: "auth_users", @@ -2104,12 +2114,16 @@ export const ReturnTypes: Record = { }, auth_users_max_fields: { created_at: "timestamptz", + firstname: "String", id: "uuid", + lastname: "String", username: "citext", }, auth_users_min_fields: { created_at: "timestamptz", + firstname: "String", id: "uuid", + lastname: "String", username: "citext", }, auth_users_mutation_response: { @@ -2407,7 +2421,7 @@ export const ReturnTypes: Record = { }; export const Ops = { - mutation: "mutation_root" as const, query: "query_root" as const, + mutation: "mutation_root" as const, subscription: "subscription_root" as const, }; diff --git a/backend/native/zeus/src/zeus/index.ts b/backend/native/zeus/src/zeus/index.ts index 7a02dfb8c..97b75ed10 100644 --- a/backend/native/zeus/src/zeus/index.ts +++ b/backend/native/zeus/src/zeus/index.ts @@ -51,7 +51,7 @@ const handleFetchResponse = (response: Response): Promise => { .catch(reject); }); } - return response.json(); + return response.json() as Promise; }; export const apiFetch = @@ -362,12 +362,17 @@ export const traverseResponse = ({ ) { return o; } - return Object.fromEntries( - Object.entries(o).map(([k, v]) => [ - k, - ibb(k, v, [...p, purifyGraphQLKey(k)]), - ]) + const entries = Object.entries(o).map( + ([k, v]) => [k, ibb(k, v, [...p, purifyGraphQLKey(k)])] as const ); + const objectFromEntries = entries.reduce>( + (a, [k, v]) => { + a[k] = v; + return a; + }, + {} + ); + return objectFromEntries; }; return ibb; }; @@ -759,8 +764,8 @@ export const resolverFor = < source: any ) => Z extends keyof ModelTypes[T] ? ModelTypes[T][Z] | Promise | X - : any -) => fn as (args?: any, source?: any) => any; + : never +) => fn as (args?: any, source?: any) => ReturnType; export type UnwrapPromise = T extends Promise ? R : T; export type ZeusState Promise> = NonNullable< @@ -816,9 +821,13 @@ type IsInterfaced< : DST[P], SCLR > - : Record + : IsArray< + R, + "__typename" extends keyof DST ? { __typename: true } : never, + SCLR + > : never; - }[keyof DST] & { + }[keyof SRC] & { [P in keyof Omit< Pick< SRC, @@ -4033,9 +4042,11 @@ export type ValueTypes = { }, ValueTypes["auth_public_keys"] ]; + firstname?: boolean | `@${string}`; id?: boolean | `@${string}`; /** An object relationship */ invitation?: ValueTypes["auth_invitations"]; + lastname?: boolean | `@${string}`; public_keys?: [ { /** distinct select on columns */ @@ -4272,6 +4283,11 @@ export type ValueTypes = { | undefined | null | Variable; + firstname?: + | ValueTypes["String_comparison_exp"] + | undefined + | null + | Variable; id?: | ValueTypes["uuid_comparison_exp"] | undefined @@ -4282,6 +4298,11 @@ export type ValueTypes = { | undefined | null | Variable; + lastname?: + | ValueTypes["String_comparison_exp"] + | undefined + | null + | Variable; public_keys?: | ValueTypes["auth_public_keys_bool_exp"] | undefined @@ -4317,6 +4338,7 @@ export type ValueTypes = { ["auth_users_constraint"]: auth_users_constraint; /** input type for inserting data into table "auth.users" */ ["auth_users_insert_input"]: { + firstname?: string | undefined | null | Variable; invitation?: | ValueTypes["auth_invitations_obj_rel_insert_input"] | undefined @@ -4327,6 +4349,7 @@ export type ValueTypes = { | undefined | null | Variable; + lastname?: string | undefined | null | Variable; public_keys?: | ValueTypes["auth_public_keys_arr_rel_insert_input"] | undefined @@ -4349,7 +4372,9 @@ export type ValueTypes = { /** aggregate max on columns */ ["auth_users_max_fields"]: AliasType<{ created_at?: boolean | `@${string}`; + firstname?: boolean | `@${string}`; id?: boolean | `@${string}`; + lastname?: boolean | `@${string}`; username?: boolean | `@${string}`; __typename?: boolean | `@${string}`; }>; @@ -4360,7 +4385,17 @@ export type ValueTypes = { | undefined | null | Variable; + firstname?: + | ValueTypes["order_by"] + | undefined + | null + | Variable; id?: ValueTypes["order_by"] | undefined | null | Variable; + lastname?: + | ValueTypes["order_by"] + | undefined + | null + | Variable; username?: | ValueTypes["order_by"] | undefined @@ -4370,7 +4405,9 @@ export type ValueTypes = { /** aggregate min on columns */ ["auth_users_min_fields"]: AliasType<{ created_at?: boolean | `@${string}`; + firstname?: boolean | `@${string}`; id?: boolean | `@${string}`; + lastname?: boolean | `@${string}`; username?: boolean | `@${string}`; __typename?: boolean | `@${string}`; }>; @@ -4381,7 +4418,17 @@ export type ValueTypes = { | undefined | null | Variable; + firstname?: + | ValueTypes["order_by"] + | undefined + | null + | Variable; id?: ValueTypes["order_by"] | undefined | null | Variable; + lastname?: + | ValueTypes["order_by"] + | undefined + | null + | Variable; username?: | ValueTypes["order_by"] | undefined @@ -4430,12 +4477,22 @@ export type ValueTypes = { | undefined | null | Variable; + firstname?: + | ValueTypes["order_by"] + | undefined + | null + | Variable; id?: ValueTypes["order_by"] | undefined | null | Variable; invitation?: | ValueTypes["auth_invitations_order_by"] | undefined | null | Variable; + lastname?: + | ValueTypes["order_by"] + | undefined + | null + | Variable; public_keys_aggregate?: | ValueTypes["auth_public_keys_aggregate_order_by"] | undefined @@ -4470,6 +4527,8 @@ export type ValueTypes = { | undefined | null | Variable; + firstname?: string | undefined | null | Variable; + lastname?: string | undefined | null | Variable; updated_at?: | ValueTypes["timestamptz"] | undefined @@ -4496,7 +4555,9 @@ export type ValueTypes = { | undefined | null | Variable; + firstname?: string | undefined | null | Variable; id?: ValueTypes["uuid"] | undefined | null | Variable; + lastname?: string | undefined | null | Variable; username?: ValueTypes["citext"] | undefined | null | Variable; }; /** update columns of table "auth.users" */ @@ -8702,6 +8763,12 @@ export type ValueTypes = { }; export type ResolverInputTypes = { + ["schema"]: AliasType<{ + query?: ResolverInputTypes["query_root"]; + mutation?: ResolverInputTypes["mutation_root"]; + subscription?: ResolverInputTypes["subscription_root"]; + __typename?: boolean | `@${string}`; + }>; /** Boolean expression to compare columns of type "Boolean". All fields are combined with logical 'AND'. */ ["Boolean_comparison_exp"]: { _eq?: boolean | undefined | null; @@ -10898,9 +10965,11 @@ export type ResolverInputTypes = { }, ResolverInputTypes["auth_public_keys"] ]; + firstname?: boolean | `@${string}`; id?: boolean | `@${string}`; /** An object relationship */ invitation?: ResolverInputTypes["auth_invitations"]; + lastname?: boolean | `@${string}`; public_keys?: [ { /** distinct select on columns */ @@ -11069,11 +11138,13 @@ export type ResolverInputTypes = { | ResolverInputTypes["auth_public_keys_bool_exp"] | undefined | null; + firstname?: ResolverInputTypes["String_comparison_exp"] | undefined | null; id?: ResolverInputTypes["uuid_comparison_exp"] | undefined | null; invitation?: | ResolverInputTypes["auth_invitations_bool_exp"] | undefined | null; + lastname?: ResolverInputTypes["String_comparison_exp"] | undefined | null; public_keys?: | ResolverInputTypes["auth_public_keys_bool_exp"] | undefined @@ -11097,11 +11168,13 @@ export type ResolverInputTypes = { ["auth_users_constraint"]: auth_users_constraint; /** input type for inserting data into table "auth.users" */ ["auth_users_insert_input"]: { + firstname?: string | undefined | null; invitation?: | ResolverInputTypes["auth_invitations_obj_rel_insert_input"] | undefined | null; invitation_id?: ResolverInputTypes["uuid"] | undefined | null; + lastname?: string | undefined | null; public_keys?: | ResolverInputTypes["auth_public_keys_arr_rel_insert_input"] | undefined @@ -11121,27 +11194,35 @@ export type ResolverInputTypes = { /** aggregate max on columns */ ["auth_users_max_fields"]: AliasType<{ created_at?: boolean | `@${string}`; + firstname?: boolean | `@${string}`; id?: boolean | `@${string}`; + lastname?: boolean | `@${string}`; username?: boolean | `@${string}`; __typename?: boolean | `@${string}`; }>; /** order by max() on columns of table "auth.users" */ ["auth_users_max_order_by"]: { created_at?: ResolverInputTypes["order_by"] | undefined | null; + firstname?: ResolverInputTypes["order_by"] | undefined | null; id?: ResolverInputTypes["order_by"] | undefined | null; + lastname?: ResolverInputTypes["order_by"] | undefined | null; username?: ResolverInputTypes["order_by"] | undefined | null; }; /** aggregate min on columns */ ["auth_users_min_fields"]: AliasType<{ created_at?: boolean | `@${string}`; + firstname?: boolean | `@${string}`; id?: boolean | `@${string}`; + lastname?: boolean | `@${string}`; username?: boolean | `@${string}`; __typename?: boolean | `@${string}`; }>; /** order by min() on columns of table "auth.users" */ ["auth_users_min_order_by"]: { created_at?: ResolverInputTypes["order_by"] | undefined | null; + firstname?: ResolverInputTypes["order_by"] | undefined | null; id?: ResolverInputTypes["order_by"] | undefined | null; + lastname?: ResolverInputTypes["order_by"] | undefined | null; username?: ResolverInputTypes["order_by"] | undefined | null; }; /** response of any mutation on the table "auth.users" */ @@ -11174,11 +11255,13 @@ export type ResolverInputTypes = { | ResolverInputTypes["auth_public_keys_aggregate_order_by"] | undefined | null; + firstname?: ResolverInputTypes["order_by"] | undefined | null; id?: ResolverInputTypes["order_by"] | undefined | null; invitation?: | ResolverInputTypes["auth_invitations_order_by"] | undefined | null; + lastname?: ResolverInputTypes["order_by"] | undefined | null; public_keys_aggregate?: | ResolverInputTypes["auth_public_keys_aggregate_order_by"] | undefined @@ -11199,6 +11282,8 @@ export type ResolverInputTypes = { /** input type for updating data in table "auth.users" */ ["auth_users_set_input"]: { avatar_nft?: ResolverInputTypes["citext"] | undefined | null; + firstname?: string | undefined | null; + lastname?: string | undefined | null; updated_at?: ResolverInputTypes["timestamptz"] | undefined | null; }; /** Streaming cursor of the table "auth_users" */ @@ -11211,7 +11296,9 @@ export type ResolverInputTypes = { /** Initial value of the column from where the streaming should start */ ["auth_users_stream_cursor_value_input"]: { created_at?: ResolverInputTypes["timestamptz"] | undefined | null; + firstname?: string | undefined | null; id?: ResolverInputTypes["uuid"] | undefined | null; + lastname?: string | undefined | null; username?: ResolverInputTypes["citext"] | undefined | null; }; /** update columns of table "auth.users" */ @@ -14349,6 +14436,11 @@ export type ResolverInputTypes = { }; export type ModelTypes = { + ["schema"]: { + query?: ModelTypes["query_root"] | undefined; + mutation?: ModelTypes["mutation_root"] | undefined; + subscription?: ModelTypes["subscription_root"] | undefined; + }; /** Boolean expression to compare columns of type "Boolean". All fields are combined with logical 'AND'. */ ["Boolean_comparison_exp"]: { _eq?: boolean | undefined; @@ -15978,9 +16070,11 @@ export type ModelTypes = { created_at: ModelTypes["timestamptz"]; /** the user's first solana public key inside an array due to hasura limitation */ dropzone_public_key?: Array | undefined; + firstname?: string | undefined; id: ModelTypes["uuid"]; /** An object relationship */ invitation: ModelTypes["auth_invitations"]; + lastname?: string | undefined; /** An array relationship */ public_keys: Array; /** An aggregate relationship */ @@ -16032,8 +16126,10 @@ export type ModelTypes = { _or?: Array | undefined; created_at?: ModelTypes["timestamptz_comparison_exp"] | undefined; dropzone_public_key?: ModelTypes["auth_public_keys_bool_exp"] | undefined; + firstname?: ModelTypes["String_comparison_exp"] | undefined; id?: ModelTypes["uuid_comparison_exp"] | undefined; invitation?: ModelTypes["auth_invitations_bool_exp"] | undefined; + lastname?: ModelTypes["String_comparison_exp"] | undefined; public_keys?: ModelTypes["auth_public_keys_bool_exp"] | undefined; public_keys_aggregate?: | ModelTypes["auth_public_keys_aggregate_bool_exp"] @@ -16048,10 +16144,12 @@ export type ModelTypes = { ["auth_users_constraint"]: auth_users_constraint; /** input type for inserting data into table "auth.users" */ ["auth_users_insert_input"]: { + firstname?: string | undefined; invitation?: | ModelTypes["auth_invitations_obj_rel_insert_input"] | undefined; invitation_id?: ModelTypes["uuid"] | undefined; + lastname?: string | undefined; public_keys?: | ModelTypes["auth_public_keys_arr_rel_insert_input"] | undefined; @@ -16064,25 +16162,33 @@ export type ModelTypes = { /** aggregate max on columns */ ["auth_users_max_fields"]: { created_at?: ModelTypes["timestamptz"] | undefined; + firstname?: string | undefined; id?: ModelTypes["uuid"] | undefined; + lastname?: string | undefined; username?: ModelTypes["citext"] | undefined; }; /** order by max() on columns of table "auth.users" */ ["auth_users_max_order_by"]: { created_at?: ModelTypes["order_by"] | undefined; + firstname?: ModelTypes["order_by"] | undefined; id?: ModelTypes["order_by"] | undefined; + lastname?: ModelTypes["order_by"] | undefined; username?: ModelTypes["order_by"] | undefined; }; /** aggregate min on columns */ ["auth_users_min_fields"]: { created_at?: ModelTypes["timestamptz"] | undefined; + firstname?: string | undefined; id?: ModelTypes["uuid"] | undefined; + lastname?: string | undefined; username?: ModelTypes["citext"] | undefined; }; /** order by min() on columns of table "auth.users" */ ["auth_users_min_order_by"]: { created_at?: ModelTypes["order_by"] | undefined; + firstname?: ModelTypes["order_by"] | undefined; id?: ModelTypes["order_by"] | undefined; + lastname?: ModelTypes["order_by"] | undefined; username?: ModelTypes["order_by"] | undefined; }; /** response of any mutation on the table "auth.users" */ @@ -16110,8 +16216,10 @@ export type ModelTypes = { dropzone_public_key_aggregate?: | ModelTypes["auth_public_keys_aggregate_order_by"] | undefined; + firstname?: ModelTypes["order_by"] | undefined; id?: ModelTypes["order_by"] | undefined; invitation?: ModelTypes["auth_invitations_order_by"] | undefined; + lastname?: ModelTypes["order_by"] | undefined; public_keys_aggregate?: | ModelTypes["auth_public_keys_aggregate_order_by"] | undefined; @@ -16129,6 +16237,8 @@ export type ModelTypes = { /** input type for updating data in table "auth.users" */ ["auth_users_set_input"]: { avatar_nft?: ModelTypes["citext"] | undefined; + firstname?: string | undefined; + lastname?: string | undefined; updated_at?: ModelTypes["timestamptz"] | undefined; }; /** Streaming cursor of the table "auth_users" */ @@ -16141,7 +16251,9 @@ export type ModelTypes = { /** Initial value of the column from where the streaming should start */ ["auth_users_stream_cursor_value_input"]: { created_at?: ModelTypes["timestamptz"] | undefined; + firstname?: string | undefined; id?: ModelTypes["uuid"] | undefined; + lastname?: string | undefined; username?: ModelTypes["citext"] | undefined; }; ["auth_users_update_column"]: auth_users_update_column; @@ -18876,9 +18988,11 @@ export type GraphQLTypes = { created_at: GraphQLTypes["timestamptz"]; /** the user's first solana public key inside an array due to hasura limitation */ dropzone_public_key?: Array | undefined; + firstname?: string | undefined; id: GraphQLTypes["uuid"]; /** An object relationship */ invitation: GraphQLTypes["auth_invitations"]; + lastname?: string | undefined; /** An array relationship */ public_keys: Array; /** An aggregate relationship */ @@ -18932,8 +19046,10 @@ export type GraphQLTypes = { _or?: Array | undefined; created_at?: GraphQLTypes["timestamptz_comparison_exp"] | undefined; dropzone_public_key?: GraphQLTypes["auth_public_keys_bool_exp"] | undefined; + firstname?: GraphQLTypes["String_comparison_exp"] | undefined; id?: GraphQLTypes["uuid_comparison_exp"] | undefined; invitation?: GraphQLTypes["auth_invitations_bool_exp"] | undefined; + lastname?: GraphQLTypes["String_comparison_exp"] | undefined; public_keys?: GraphQLTypes["auth_public_keys_bool_exp"] | undefined; public_keys_aggregate?: | GraphQLTypes["auth_public_keys_aggregate_bool_exp"] @@ -18949,10 +19065,12 @@ export type GraphQLTypes = { ["auth_users_constraint"]: auth_users_constraint; /** input type for inserting data into table "auth.users" */ ["auth_users_insert_input"]: { + firstname?: string | undefined; invitation?: | GraphQLTypes["auth_invitations_obj_rel_insert_input"] | undefined; invitation_id?: GraphQLTypes["uuid"] | undefined; + lastname?: string | undefined; public_keys?: | GraphQLTypes["auth_public_keys_arr_rel_insert_input"] | undefined; @@ -18968,26 +19086,34 @@ export type GraphQLTypes = { ["auth_users_max_fields"]: { __typename: "auth_users_max_fields"; created_at?: GraphQLTypes["timestamptz"] | undefined; + firstname?: string | undefined; id?: GraphQLTypes["uuid"] | undefined; + lastname?: string | undefined; username?: GraphQLTypes["citext"] | undefined; }; /** order by max() on columns of table "auth.users" */ ["auth_users_max_order_by"]: { created_at?: GraphQLTypes["order_by"] | undefined; + firstname?: GraphQLTypes["order_by"] | undefined; id?: GraphQLTypes["order_by"] | undefined; + lastname?: GraphQLTypes["order_by"] | undefined; username?: GraphQLTypes["order_by"] | undefined; }; /** aggregate min on columns */ ["auth_users_min_fields"]: { __typename: "auth_users_min_fields"; created_at?: GraphQLTypes["timestamptz"] | undefined; + firstname?: string | undefined; id?: GraphQLTypes["uuid"] | undefined; + lastname?: string | undefined; username?: GraphQLTypes["citext"] | undefined; }; /** order by min() on columns of table "auth.users" */ ["auth_users_min_order_by"]: { created_at?: GraphQLTypes["order_by"] | undefined; + firstname?: GraphQLTypes["order_by"] | undefined; id?: GraphQLTypes["order_by"] | undefined; + lastname?: GraphQLTypes["order_by"] | undefined; username?: GraphQLTypes["order_by"] | undefined; }; /** response of any mutation on the table "auth.users" */ @@ -19016,8 +19142,10 @@ export type GraphQLTypes = { dropzone_public_key_aggregate?: | GraphQLTypes["auth_public_keys_aggregate_order_by"] | undefined; + firstname?: GraphQLTypes["order_by"] | undefined; id?: GraphQLTypes["order_by"] | undefined; invitation?: GraphQLTypes["auth_invitations_order_by"] | undefined; + lastname?: GraphQLTypes["order_by"] | undefined; public_keys_aggregate?: | GraphQLTypes["auth_public_keys_aggregate_order_by"] | undefined; @@ -19036,6 +19164,8 @@ export type GraphQLTypes = { /** input type for updating data in table "auth.users" */ ["auth_users_set_input"]: { avatar_nft?: GraphQLTypes["citext"] | undefined; + firstname?: string | undefined; + lastname?: string | undefined; updated_at?: GraphQLTypes["timestamptz"] | undefined; }; /** Streaming cursor of the table "auth_users" */ @@ -19048,7 +19178,9 @@ export type GraphQLTypes = { /** Initial value of the column from where the streaming should start */ ["auth_users_stream_cursor_value_input"]: { created_at?: GraphQLTypes["timestamptz"] | undefined; + firstname?: string | undefined; id?: GraphQLTypes["uuid"] | undefined; + lastname?: string | undefined; username?: GraphQLTypes["citext"] | undefined; }; /** update columns of table "auth.users" */ @@ -20330,12 +20462,16 @@ export const enum auth_users_constraint { /** select columns of table "auth.users" */ export const enum auth_users_select_column { created_at = "created_at", + firstname = "firstname", id = "id", + lastname = "lastname", username = "username", } /** update columns of table "auth.users" */ export const enum auth_users_update_column { avatar_nft = "avatar_nft", + firstname = "firstname", + lastname = "lastname", updated_at = "updated_at", } /** unique or primary key constraints on table "auth.xnft_preferences" */ diff --git a/backend/reef/hasura/metadata/databases/default/tables/auth_users.yaml b/backend/reef/hasura/metadata/databases/default/tables/auth_users.yaml index b10ae380d..70a14bedd 100644 --- a/backend/reef/hasura/metadata/databases/default/tables/auth_users.yaml +++ b/backend/reef/hasura/metadata/databases/default/tables/auth_users.yaml @@ -65,7 +65,9 @@ insert_permissions: permission: check: {} columns: + - firstname - invitation_id + - lastname - referrer_id - username - waitlist_id @@ -82,7 +84,9 @@ select_permissions: permission: columns: - created_at + - firstname - id + - lastname - username filter: {} allow_aggregations: true @@ -110,6 +114,8 @@ update_permissions: permission: columns: - avatar_nft + - firstname + - lastname - updated_at filter: {} check: null diff --git a/backend/reef/hasura/migrations/default/1697381689838_alter_table_auth_users_add_column_firstname/down.sql b/backend/reef/hasura/migrations/default/1697381689838_alter_table_auth_users_add_column_firstname/down.sql new file mode 100644 index 000000000..7db112a7b --- /dev/null +++ b/backend/reef/hasura/migrations/default/1697381689838_alter_table_auth_users_add_column_firstname/down.sql @@ -0,0 +1,4 @@ +-- Could not auto-generate a down migration. +-- Please write an appropriate down migration for the SQL below: +-- alter table "auth"."users" add column "firstname" text +-- null; diff --git a/backend/reef/hasura/migrations/default/1697381689838_alter_table_auth_users_add_column_firstname/up.sql b/backend/reef/hasura/migrations/default/1697381689838_alter_table_auth_users_add_column_firstname/up.sql new file mode 100644 index 000000000..49c1a1e68 --- /dev/null +++ b/backend/reef/hasura/migrations/default/1697381689838_alter_table_auth_users_add_column_firstname/up.sql @@ -0,0 +1,2 @@ +alter table "auth"."users" add column "firstname" text + null; diff --git a/backend/reef/hasura/migrations/default/1697381695683_alter_table_auth_users_add_column_lastname/down.sql b/backend/reef/hasura/migrations/default/1697381695683_alter_table_auth_users_add_column_lastname/down.sql new file mode 100644 index 000000000..814c82e36 --- /dev/null +++ b/backend/reef/hasura/migrations/default/1697381695683_alter_table_auth_users_add_column_lastname/down.sql @@ -0,0 +1,4 @@ +-- Could not auto-generate a down migration. +-- Please write an appropriate down migration for the SQL below: +-- alter table "auth"."users" add column "lastname" text +-- null; diff --git a/backend/reef/hasura/migrations/default/1697381695683_alter_table_auth_users_add_column_lastname/up.sql b/backend/reef/hasura/migrations/default/1697381695683_alter_table_auth_users_add_column_lastname/up.sql new file mode 100644 index 000000000..6079594d8 --- /dev/null +++ b/backend/reef/hasura/migrations/default/1697381695683_alter_table_auth_users_add_column_lastname/up.sql @@ -0,0 +1,2 @@ +alter table "auth"."users" add column "lastname" text + null; diff --git a/packages/common/src/constants.ts b/packages/common/src/constants.ts index ca9e6fc80..5e367aa59 100644 --- a/packages/common/src/constants.ts +++ b/packages/common/src/constants.ts @@ -579,7 +579,7 @@ export const ALCHEMY_ETHEREUM_MAINNET_API_KEY = "DlJr6QuBC2EaE-L60-iqQQGq9hi9-XSZ"; export const AVATAR_BASE_URL = "https://swr.xnfts.dev/avatars"; -export const BACKEND_API_URL = "https://backpack-api.xnfts.dev"; +export const BACKEND_API_URL = "http://localhost:8080"; export const REALTIME_API_URL = "https://backend-ws.xnfts.dev"; export const MESSAGING_COMMUNICATION_PUSH = "MESSAGING_COMMUNICATION_PUSH"; export const MESSAGING_COMMUNICATION_FETCH = "MESSAGING_COMMUNICATION_FETCH";