From 9b1bb1ffc42f6cbc86186d1c802e1ebf0a435bb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Qing=20Wang=20=E2=9A=9B?= Date: Fri, 25 Nov 2022 15:28:27 +0800 Subject: [PATCH 01/34] [WIP] refactor: move to trpc --- .npmrc | 3 +- apps/main/package.json | 3 + apps/main/prisma/schema.prisma | 200 +++++++++++++++++++++++++++++++++ pnpm-lock.yaml | 52 ++++++++- 4 files changed, 254 insertions(+), 4 deletions(-) create mode 100644 apps/main/prisma/schema.prisma diff --git a/.npmrc b/.npmrc index fa4e09523..265e49be6 100644 --- a/.npmrc +++ b/.npmrc @@ -1 +1,2 @@ -strict-peer-dependencies=false \ No newline at end of file +strict-peer-dependencies=false +save-exact=true \ No newline at end of file diff --git a/apps/main/package.json b/apps/main/package.json index 597250e97..0f7888f60 100644 --- a/apps/main/package.json +++ b/apps/main/package.json @@ -19,6 +19,8 @@ "@chirpy-dev/types": "workspace:*", "@chirpy-dev/ui": "workspace:*", "@chirpy-dev/utils": "workspace:*", + "@next-auth/prisma-adapter": "1.0.5", + "@prisma/client": "4.6.1", "@radix-ui/colors": "0.1.8", "@sendinblue/client": "3.2.2", "@tensorflow-models/toxicity": "1.2.2", @@ -85,6 +87,7 @@ "eslint": "8.27.0", "jest": "29.3.1", "postcss": "8.4.19", + "prisma": "4.6.1", "stellate": "1.17.1", "tailwindcss": "3.2.4", "typescript": "4.9.3", diff --git a/apps/main/prisma/schema.prisma b/apps/main/prisma/schema.prisma new file mode 100644 index 000000000..ef77eb8d5 --- /dev/null +++ b/apps/main/prisma/schema.prisma @@ -0,0 +1,200 @@ +generator client { + provider = "prisma-client-js" + previewFeatures = ["referentialIntegrity"] +} + +datasource db { + provider = "mysql" + url = env("DATABASE_URL") + relationMode = "prisma" +} + +// String -> varchar(191) + +model Account { + id String @id @default(cuid()) + userId String + type String + provider String + providerAccountId String + refreshToken String? @db.Text + accessToken String? @db.Text + expiresAt DateTime? + tokenType String? + scope String? + idToken String? @db.Text + sessionState String? + oauthTokenSecret String? + oauthToken String? + user User @relation(fields: [userId], references: [id], onDelete: Cascade) + + @@unique([providerAccountId, provider]) +} + +model Comment { + id String @id @default(cuid()) + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + pageId String + parentId String? + userId String + content Json + deletedAt DateTime? + page Page @relation(fields: [pageId], references: [id], onDelete: Cascade) + parent Comment? @relation("CommentToComment", fields: [parentId], references: [id], onDelete: NoAction, onUpdate: NoAction) + user User @relation(fields: [userId], references: [id], onDelete: Cascade) + replies Comment[] @relation("CommentToComment") + likes Like[] +} + +model Like { + id String @id @default(cuid()) + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + commentId String + userId String + Comment Comment @relation(fields: [commentId], references: [id], onDelete: Cascade) + User User @relation(fields: [userId], references: [id], onDelete: Cascade) + + @@unique([commentId, userId]) +} + +model Member { + id String @id @default(cuid()) + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + teamId String + userId String + role String + Role Role @relation(fields: [role], references: [value], onDelete: Cascade) + Team Team @relation(fields: [teamId], references: [id], onDelete: Cascade) + User User @relation(fields: [userId], references: [id], onDelete: Cascade) + + @@unique([teamId, userId]) +} + +model NotificationMessage { + id String @id @default(cuid()) + createdAt DateTime @default(now()) + type String + recipientId String + url String @db.Text + read Boolean + deletedAt DateTime? + triggeredById String + contextId String + content String? @db.Text + User_NotificationMessage_recipientIdToUser User @relation("NotificationMessage_recipientIdToUser", fields: [recipientId], references: [id], onDelete: Cascade) + User_NotificationMessage_triggeredByIdToUser User @relation("NotificationMessage_triggeredByIdToUser", fields: [triggeredById], references: [id], onDelete: Cascade) + NotificationType NotificationType @relation(fields: [type], references: [value], onDelete: Cascade) + + @@unique([type, triggeredById, contextId, recipientId]) +} + +model NotificationSubscription { + id String @id @default(cuid()) + userId String + subscription Json + createdAt DateTime? @default(now()) + User User @relation(fields: [userId], references: [id], onDelete: Cascade) + + // Check uniqueness muanually because mysql doesn't allow it + // @@unique([subscription, userId]) +} + +model NotificationType { + value String @id + comment String + NotificationMessage NotificationMessage[] +} + +model Page { + id String @id @default(cuid()) + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + url String @unique(length: 191) @db.Text + title String? @db.Text + projectId String + Project Project @relation(fields: [projectId], references: [id], onDelete: Cascade) + Comment Comment[] +} + +model Project { + id String @id @default(cuid()) + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + name String + teamId String? + userId String? + theme Json? + domain String @unique + Team Team? @relation(fields: [teamId], references: [id], onDelete: Cascade) + User User? @relation(fields: [userId], references: [id], onDelete: Cascade) + Page Page[] +} + +model Role { + value String @id + comment String? + Member Member[] +} + +model Session { + id String @id @default(cuid()) + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + sessionToken String @unique + userId String + expires DateTime + User User @relation(fields: [userId], references: [id], onDelete: Cascade) +} + +model Team { + id String @id @default(cuid()) + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + name String + uid String? @unique + Member Member[] + Project Project[] +} + +model User { + id String @id @default(cuid()) + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + name String? + email String? @unique + emailVerified DateTime? + image String? @db.Text + username String? @unique + type String? + bio String? + website String? + twitterUserName String? + UserType UserType? @relation(fields: [type], references: [value], onDelete: Cascade) + Account Account[] + Comment Comment[] + Like Like[] + Member Member[] + NotificationMessage_NotificationMessage_recipientIdToUser NotificationMessage[] @relation("NotificationMessage_recipientIdToUser") + NotificationMessage_NotificationMessage_triggeredByIdToUser NotificationMessage[] @relation("NotificationMessage_triggeredByIdToUser") + NotificationSubscription NotificationSubscription[] + Project Project[] + Session Session[] +} + +model UserType { + value String @id + comment String? + User User[] +} + +model VerificationToken { + identifier String + token String @unique + expires DateTime + id String @id @default(cuid()) + + @@unique([identifier, token]) +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f7fb1a841..62e44ae05 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -130,7 +130,9 @@ importers: '@chirpy-dev/types': workspace:* '@chirpy-dev/ui': workspace:* '@chirpy-dev/utils': workspace:* + '@next-auth/prisma-adapter': 1.0.5 '@next/bundle-analyzer': 13.0.4 + '@prisma/client': 4.6.1 '@radix-ui/colors': 0.1.8 '@relative-ci/agent': 4.1.1 '@sendinblue/client': 3.2.2 @@ -175,6 +177,7 @@ importers: next-urql: 4.0.0 nodemailer: 6.7.8 postcss: 8.4.19 + prisma: 4.6.1 react: 18.2.0 react-dom: 18.2.0 reading-time: 1.5.0 @@ -198,6 +201,8 @@ importers: '@chirpy-dev/types': link:../../packages/types '@chirpy-dev/ui': link:../../packages/ui '@chirpy-dev/utils': link:../../packages/utils + '@next-auth/prisma-adapter': 1.0.5_2pl3b2nwmjya7el2zbe6cwkney + '@prisma/client': 4.6.1_prisma@4.6.1 '@radix-ui/colors': 0.1.8 '@sendinblue/client': 3.2.2 '@tensorflow-models/toxicity': 1.2.2_ce7e77rhh6oipcy6kxvkentnmi @@ -263,6 +268,7 @@ importers: eslint: 8.27.0 jest: 29.3.1_@types+node@16.11.45 postcss: 8.4.19 + prisma: 4.6.1 stellate: 1.17.1 tailwindcss: 3.2.4_postcss@8.4.19 typescript: 4.9.3 @@ -4590,6 +4596,16 @@ packages: - supports-color dev: true + /@next-auth/prisma-adapter/1.0.5_2pl3b2nwmjya7el2zbe6cwkney: + resolution: {integrity: sha512-VqMS11IxPXrPGXw6Oul6jcyS/n8GLOWzRMrPr3EMdtD6eOalM6zz05j08PcNiis8QzkfuYnCv49OvufTuaEwYQ==} + peerDependencies: + '@prisma/client': '>=2.26.0 || >=3' + next-auth: ^4 + dependencies: + '@prisma/client': 4.6.1_prisma@4.6.1 + next-auth: 4.16.4_wg23sy66rdimfz56mrp5vlofyy + dev: false + /@next/bundle-analyzer/13.0.4: resolution: {integrity: sha512-GFbr0HX75Fv/S+R7NOXOUX7YBtg+snE3a/4ikEfouXVHzPakluIQL8ojYJTcR5Q6mBospGaldT19AdfuqRmPqQ==} dependencies: @@ -4948,6 +4964,28 @@ packages: /@popperjs/core/2.11.6: resolution: {integrity: sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==} + /@prisma/client/4.6.1_prisma@4.6.1: + resolution: {integrity: sha512-M1+NNrMzqaOIxT7PBGcTs3IZo7d1EW/+gVQd4C4gUgWBDGgD9AcIeZnUSidgWClmpMSgVUdnVORjsWWGUameYA==} + engines: {node: '>=14.17'} + requiresBuild: true + peerDependencies: + prisma: '*' + peerDependenciesMeta: + prisma: + optional: true + dependencies: + '@prisma/engines-version': 4.6.1-3.694eea289a8462c80264df36757e4fdc129b1b32 + prisma: 4.6.1 + dev: false + + /@prisma/engines-version/4.6.1-3.694eea289a8462c80264df36757e4fdc129b1b32: + resolution: {integrity: sha512-HUCmkXAU2jqp2O1RvNtbE+seLGLyJGEABZS/R38rZjSAafAy0WzBuHq+tbZMnD+b5OSCsTVtIPVcuvx1ySxcWQ==} + dev: false + + /@prisma/engines/4.6.1: + resolution: {integrity: sha512-3u2/XxvxB+Q7cMXHnKU0CpBiUK1QWqpgiBv28YDo1zOIJE3FCF8DI2vrp6vuwjGt5h0JGXDSvmSf4D4maVjJdw==} + requiresBuild: true + /@radix-ui/colors/0.1.8: resolution: {integrity: sha512-jwRMXYwC0hUo0mv6wGpuw254Pd9p/R6Td5xsRpOmaWkUHlooNWqVcadgyzlRumMq3xfOTXwJReU0Jv+EIy4Jbw==} dev: false @@ -17901,7 +17939,7 @@ packages: peerDependencies: next: ^12.1.4 || ^13 dependencies: - next: 13.0.4_vgii64pd2ccbnbx2v3ro5gbin4 + next: 13.0.4_biqbaboplfbrettd7655fr4n2y whatwg-fetch: 3.6.2 dev: false @@ -17933,7 +17971,7 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 dependencies: - next: 13.0.4_vgii64pd2ccbnbx2v3ro5gbin4 + next: 13.0.4_biqbaboplfbrettd7655fr4n2y react: 18.2.0 react-dom: 18.2.0_react@18.2.0 dev: false @@ -17945,7 +17983,7 @@ packages: react: '*' react-dom: '*' dependencies: - next: 13.0.4_vgii64pd2ccbnbx2v3ro5gbin4 + next: 13.0.4_biqbaboplfbrettd7655fr4n2y react: 18.2.0 react-dom: 18.2.0_react@18.2.0 dev: false @@ -20027,6 +20065,14 @@ packages: js-beautify: 1.14.7 dev: false + /prisma/4.6.1: + resolution: {integrity: sha512-BR4itMCuzrDV4tn3e2TF+nh1zIX/RVU0isKtKoN28ADeoJ9nYaMhiuRRkFd2TZN8+l/XfYzoRKyHzUFXLQhmBQ==} + engines: {node: '>=14.17'} + hasBin: true + requiresBuild: true + dependencies: + '@prisma/engines': 4.6.1 + /process-nextick-args/2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} From 731d5085a631fd36765ddb75dce7020e44ebb4e9 Mon Sep 17 00:00:00 2001 From: Qing Date: Fri, 25 Nov 2022 17:40:39 +0800 Subject: [PATCH 02/34] fix: update ref tables --- apps/main/prisma/schema.prisma | 134 ++++++++++++++++----------------- 1 file changed, 67 insertions(+), 67 deletions(-) diff --git a/apps/main/prisma/schema.prisma b/apps/main/prisma/schema.prisma index ef77eb8d5..91c0bcb72 100644 --- a/apps/main/prisma/schema.prisma +++ b/apps/main/prisma/schema.prisma @@ -32,19 +32,19 @@ model Account { } model Comment { - id String @id @default(cuid()) - createdAt DateTime @default(now()) - updatedAt DateTime @updatedAt - pageId String - parentId String? - userId String - content Json - deletedAt DateTime? - page Page @relation(fields: [pageId], references: [id], onDelete: Cascade) - parent Comment? @relation("CommentToComment", fields: [parentId], references: [id], onDelete: NoAction, onUpdate: NoAction) - user User @relation(fields: [userId], references: [id], onDelete: Cascade) - replies Comment[] @relation("CommentToComment") - likes Like[] + id String @id @default(cuid()) + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + pageId String + parentId String? + userId String + content Json + deletedAt DateTime? + page Page @relation(fields: [pageId], references: [id], onDelete: Cascade) + parent Comment? @relation("CommentToComment", fields: [parentId], references: [id], onDelete: NoAction, onUpdate: NoAction) + user User @relation(fields: [userId], references: [id], onDelete: Cascade) + replies Comment[] @relation("CommentToComment") + likes Like[] } model Like { @@ -53,8 +53,8 @@ model Like { updatedAt DateTime @updatedAt commentId String userId String - Comment Comment @relation(fields: [commentId], references: [id], onDelete: Cascade) - User User @relation(fields: [userId], references: [id], onDelete: Cascade) + comment Comment @relation(fields: [commentId], references: [id], onDelete: Cascade) + user User @relation(fields: [userId], references: [id], onDelete: Cascade) @@unique([commentId, userId]) } @@ -67,26 +67,26 @@ model Member { userId String role String Role Role @relation(fields: [role], references: [value], onDelete: Cascade) - Team Team @relation(fields: [teamId], references: [id], onDelete: Cascade) - User User @relation(fields: [userId], references: [id], onDelete: Cascade) + team Team @relation(fields: [teamId], references: [id], onDelete: Cascade) + user User @relation(fields: [userId], references: [id], onDelete: Cascade) @@unique([teamId, userId]) } model NotificationMessage { - id String @id @default(cuid()) - createdAt DateTime @default(now()) - type String - recipientId String - url String @db.Text - read Boolean - deletedAt DateTime? - triggeredById String - contextId String - content String? @db.Text - User_NotificationMessage_recipientIdToUser User @relation("NotificationMessage_recipientIdToUser", fields: [recipientId], references: [id], onDelete: Cascade) - User_NotificationMessage_triggeredByIdToUser User @relation("NotificationMessage_triggeredByIdToUser", fields: [triggeredById], references: [id], onDelete: Cascade) - NotificationType NotificationType @relation(fields: [type], references: [value], onDelete: Cascade) + id String @id @default(cuid()) + createdAt DateTime @default(now()) + type String + recipientId String + url String @db.Text + read Boolean + deletedAt DateTime? + triggeredById String + contextId String + content String? @db.Text + recipient User @relation("NotificationMessage_recipientIdToUser", fields: [recipientId], references: [id], onDelete: Cascade) + triggeredBy User @relation("NotificationMessage_triggeredByIdToUser", fields: [triggeredById], references: [id], onDelete: Cascade) + NotificationType NotificationType @relation(fields: [type], references: [value], onDelete: Cascade) @@unique([type, triggeredById, contextId, recipientId]) } @@ -96,16 +96,16 @@ model NotificationSubscription { userId String subscription Json createdAt DateTime? @default(now()) - User User @relation(fields: [userId], references: [id], onDelete: Cascade) + user User @relation(fields: [userId], references: [id], onDelete: Cascade) // Check uniqueness muanually because mysql doesn't allow it // @@unique([subscription, userId]) } model NotificationType { - value String @id - comment String - NotificationMessage NotificationMessage[] + value String @id + comment String + notificationMessages NotificationMessage[] } model Page { @@ -115,8 +115,8 @@ model Page { url String @unique(length: 191) @db.Text title String? @db.Text projectId String - Project Project @relation(fields: [projectId], references: [id], onDelete: Cascade) - Comment Comment[] + project Project @relation(fields: [projectId], references: [id], onDelete: Cascade) + comments Comment[] } model Project { @@ -128,15 +128,15 @@ model Project { userId String? theme Json? domain String @unique - Team Team? @relation(fields: [teamId], references: [id], onDelete: Cascade) - User User? @relation(fields: [userId], references: [id], onDelete: Cascade) - Page Page[] + team Team? @relation(fields: [teamId], references: [id], onDelete: Cascade) + user User? @relation(fields: [userId], references: [id], onDelete: Cascade) + pages Page[] } model Role { value String @id comment String? - Member Member[] + members Member[] } model Session { @@ -146,7 +146,7 @@ model Session { sessionToken String @unique userId String expires DateTime - User User @relation(fields: [userId], references: [id], onDelete: Cascade) + user User @relation(fields: [userId], references: [id], onDelete: Cascade) } model Team { @@ -155,39 +155,39 @@ model Team { updatedAt DateTime @updatedAt name String uid String? @unique - Member Member[] - Project Project[] + members Member[] + projects Project[] } model User { - id String @id @default(cuid()) - createdAt DateTime @default(now()) - updatedAt DateTime @updatedAt - name String? - email String? @unique - emailVerified DateTime? - image String? @db.Text - username String? @unique - type String? - bio String? - website String? - twitterUserName String? - UserType UserType? @relation(fields: [type], references: [value], onDelete: Cascade) - Account Account[] - Comment Comment[] - Like Like[] - Member Member[] - NotificationMessage_NotificationMessage_recipientIdToUser NotificationMessage[] @relation("NotificationMessage_recipientIdToUser") - NotificationMessage_NotificationMessage_triggeredByIdToUser NotificationMessage[] @relation("NotificationMessage_triggeredByIdToUser") - NotificationSubscription NotificationSubscription[] - Project Project[] - Session Session[] + id String @id @default(cuid()) + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + name String? + email String? @unique + emailVerified DateTime? + image String? @db.Text + username String? @unique + type String? + bio String? + website String? + twitterUserName String? + userType UserType? @relation(fields: [type], references: [value], onDelete: Cascade) + accounts Account[] + comments Comment[] + likes Like[] + members Member[] + receivedNotificationMessages NotificationMessage[] @relation("NotificationMessage_recipientIdToUser") + triggeredNotificationMessages NotificationMessage[] @relation("NotificationMessage_triggeredByIdToUser") + notificationSubscriptions NotificationSubscription[] + projects Project[] + sessions Session[] } model UserType { - value String @id + value String @id comment String? - User User[] + users User[] } model VerificationToken { From 23ed1dc3e5aa5303005d1bf4f42a514a7d03434f Mon Sep 17 00:00:00 2001 From: Qing <7880675+devrsi0n@users.noreply.github.com> Date: Fri, 25 Nov 2022 20:54:19 +0800 Subject: [PATCH 03/34] wip: create trpc and emails packages --- apps/comment-bootstrapper/package.json | 2 +- apps/e2e/package.json | 2 +- apps/emails/package.json | 6 +- apps/main/next.config.js | 2 + apps/main/package.json | 12 +- apps/main/src/pages/api/auth/[...nextauth].ts | 118 +- apps/main/src/pages/api/trpc/[trpc].ts | 11 + .../src/server/services/auth/auth-adapter.ts | 312 ---- .../send-notification-via-email.ts | 2 +- apps/service-worker/package.json | 2 +- package.json | 8 +- packages/emails/package.json | 21 + packages/emails/src/index.ts | 1 + .../emails/src}/send-emails.ts | 0 .../email => packages/emails/src}/send.ts | 0 .../emails/src}/templates/notification.html | 0 .../src}/templates/verification-request.html | 0 .../emails/src}/templates/welcome.html | 0 .../email => packages/emails/src}/types.ts | 0 packages/emails/tsconfig.json | 10 + packages/emails/typings/html.d.ts | 4 + packages/emails/typings/node.d.ts | 33 + packages/eslint-config/package.json | 16 +- packages/prettier-config/package.json | 2 +- packages/trpc/package.json | 38 + .../trpc}/prisma/schema.prisma | 0 packages/trpc/src/auth/auth-options.ts | 108 ++ .../trpc/src}/auth/auth-providers.ts | 23 +- .../trpc/src/auth}/default-cookies.ts | 0 packages/trpc/src/auth/index.ts | 5 + .../trpc/src}/auth/utilities.ts | 0 packages/trpc/src/common/db.ts | 17 + .../src/common/get-server-auth-session.ts | 15 + packages/trpc/src/context.ts | 39 + packages/trpc/src/index.ts | 2 + packages/trpc/src/router/_app.ts | 11 + packages/trpc/src/router/auth.ts | 10 + packages/trpc/src/router/example.ts | 16 + packages/trpc/src/trpc.ts | 42 + packages/trpc/tsconfig.json | 10 + packages/trpc/typings/next-auth.d.ts | 36 + packages/trpc/typings/next-env.d.ts | 3 + packages/trpc/typings/node.d.ts | 33 + packages/types/package.json | 8 +- packages/ui/package.json | 24 +- packages/utils/package.json | 4 +- pnpm-lock.yaml | 1485 +++++++++-------- 47 files changed, 1296 insertions(+), 1197 deletions(-) create mode 100644 apps/main/src/pages/api/trpc/[trpc].ts delete mode 100644 apps/main/src/server/services/auth/auth-adapter.ts create mode 100644 packages/emails/package.json create mode 100644 packages/emails/src/index.ts rename {apps/main/src/server/services/email => packages/emails/src}/send-emails.ts (100%) rename {apps/main/src/server/services/email => packages/emails/src}/send.ts (100%) rename {apps/main/src/server/services/email => packages/emails/src}/templates/notification.html (100%) rename {apps/main/src/server/services/email => packages/emails/src}/templates/verification-request.html (100%) rename {apps/main/src/server/services/email => packages/emails/src}/templates/welcome.html (100%) rename {apps/main/src/server/services/email => packages/emails/src}/types.ts (100%) create mode 100644 packages/emails/tsconfig.json create mode 100644 packages/emails/typings/html.d.ts create mode 100644 packages/emails/typings/node.d.ts create mode 100644 packages/trpc/package.json rename {apps/main => packages/trpc}/prisma/schema.prisma (100%) create mode 100644 packages/trpc/src/auth/auth-options.ts rename {apps/main/src/server/services => packages/trpc/src}/auth/auth-providers.ts (87%) rename {apps/main/src/server/utilities => packages/trpc/src/auth}/default-cookies.ts (100%) create mode 100644 packages/trpc/src/auth/index.ts rename {apps/main/src/server/services => packages/trpc/src}/auth/utilities.ts (100%) create mode 100644 packages/trpc/src/common/db.ts create mode 100644 packages/trpc/src/common/get-server-auth-session.ts create mode 100644 packages/trpc/src/context.ts create mode 100644 packages/trpc/src/index.ts create mode 100644 packages/trpc/src/router/_app.ts create mode 100644 packages/trpc/src/router/auth.ts create mode 100644 packages/trpc/src/router/example.ts create mode 100644 packages/trpc/src/trpc.ts create mode 100644 packages/trpc/tsconfig.json create mode 100644 packages/trpc/typings/next-auth.d.ts create mode 100644 packages/trpc/typings/next-env.d.ts create mode 100644 packages/trpc/typings/node.d.ts diff --git a/apps/comment-bootstrapper/package.json b/apps/comment-bootstrapper/package.json index 636815e98..eaca9beed 100644 --- a/apps/comment-bootstrapper/package.json +++ b/apps/comment-bootstrapper/package.json @@ -21,7 +21,7 @@ "dotenv": "16.0.3", "dotenv-cli": "6.0.0", "dotenv-expand": "9.0.0", - "eslint": "8.27.0", + "eslint": "8.28.0", "jest": "29.3.1", "react": "18.2.0", "react-dom": "18.2.0", diff --git a/apps/e2e/package.json b/apps/e2e/package.json index de62ccbc9..0e48ba1a2 100644 --- a/apps/e2e/package.json +++ b/apps/e2e/package.json @@ -15,7 +15,7 @@ "dotenv": "16.0.3", "dotenv-cli": "6.0.0", "dotenv-expand": "9.0.0", - "eslint": "8.27.0", + "eslint": "8.28.0", "typescript": "4.9.3" }, "publishConfig": { diff --git a/apps/emails/package.json b/apps/emails/package.json index 78916efb3..abe0d3e18 100644 --- a/apps/emails/package.json +++ b/apps/emails/package.json @@ -1,5 +1,5 @@ { - "name": "@chirpy-dev/emails", + "name": "@chirpy-dev/emails-app", "version": "0.0.1", "license": "AGPL-3.0-or-later", "main": "./config.js", @@ -19,7 +19,5 @@ "tailwindcss-email-variants": "2.0.0", "tailwindcss-mso": "1.3.0" }, - "publishConfig": { - "access": "public" - } + "private": true } diff --git a/apps/main/next.config.js b/apps/main/next.config.js index e8f4ddf30..4096381a8 100644 --- a/apps/main/next.config.js +++ b/apps/main/next.config.js @@ -31,10 +31,12 @@ const nextConfig = { scrollRestoration: true, legacyBrowsers: false, transpilePackages: [ + '@chirpy-dev/emails', '@chirpy-dev/ui', '@chirpy-dev/utils', '@chirpy-dev/graphql', '@chirpy-dev/types', + '@chirpy-dev/trpc', ], }, async rewrites() { diff --git a/apps/main/package.json b/apps/main/package.json index 0f7888f60..881f00fb1 100644 --- a/apps/main/package.json +++ b/apps/main/package.json @@ -15,12 +15,11 @@ "test:coverage": "DEBUG_PRINT_LIMIT=999999 jest --silent=false --coverage" }, "dependencies": { - "@chirpy-dev/graphql": "workspace:*", + "@chirpy-dev/emails": "workspace:*", "@chirpy-dev/types": "workspace:*", "@chirpy-dev/ui": "workspace:*", "@chirpy-dev/utils": "workspace:*", - "@next-auth/prisma-adapter": "1.0.5", - "@prisma/client": "4.6.1", + "@chirpy-dev/trpc": "workspace:*", "@radix-ui/colors": "0.1.8", "@sendinblue/client": "3.2.2", "@tensorflow-models/toxicity": "1.2.2", @@ -28,7 +27,6 @@ "@tensorflow/tfjs-converter": "3.18.0", "@tensorflow/tfjs-core": "3.18.0", "cors": "2.8.5", - "eta": "1.12.3", "github-slugger": "1.5.0", "graphql": "16.6.0", "graphql-tag": "2.12.6", @@ -37,8 +35,7 @@ "html-loader": "4.2.0", "jsonwebtoken": "8.5.1", "lodash": "4.17.21", - "next": "13.0.4", - "next-auth": "4.16.4", + "next": "13.0.5", "next-axiom": "0.15.1", "next-connect": "0.13.0", "next-mdx-remote": "3.0.8", @@ -84,10 +81,9 @@ "dotenv": "16.0.3", "dotenv-cli": "6.0.0", "dotenv-expand": "9.0.0", - "eslint": "8.27.0", + "eslint": "8.28.0", "jest": "29.3.1", "postcss": "8.4.19", - "prisma": "4.6.1", "stellate": "1.17.1", "tailwindcss": "3.2.4", "typescript": "4.9.3", diff --git a/apps/main/src/pages/api/auth/[...nextauth].ts b/apps/main/src/pages/api/auth/[...nextauth].ts index 6df5c54f4..c9b4bb1bd 100644 --- a/apps/main/src/pages/api/auth/[...nextauth].ts +++ b/apps/main/src/pages/api/auth/[...nextauth].ts @@ -1,117 +1 @@ -import { UserProjectsDocument } from '@chirpy-dev/graphql'; -import { HASURA_TOKEN_MAX_AGE, SESSION_MAX_AGE } from '@chirpy-dev/utils'; -import { isENVDev } from '@chirpy-dev/utils'; -import NextAuth from 'next-auth'; -import { GoogleProfile } from 'next-auth/providers/google'; -import { log } from 'next-axiom'; - -import { getAdminGqlClient } from '$/lib/admin-gql-client'; -import { nextAuthAdapter } from '$/server/services/auth/auth-adapter'; -import { authProviders } from '$/server/services/auth/auth-providers'; -import { sendWelcomeLetter } from '$/server/services/email/send-emails'; -import { createAuthToken } from '$/server/utilities/create-token'; -import { defaultCookies } from '$/server/utilities/default-cookies'; - -const client = getAdminGqlClient(); - -export default NextAuth({ - providers: authProviders, - session: { - strategy: 'jwt', - maxAge: SESSION_MAX_AGE, - }, - pages: { - signIn: '/auth/sign-in', - newUser: '/auth/welcome?isNewUser=true', // New users will be directed here on first sign in - error: '/auth/sign-in', // Error code passed in query string as ?error= - verifyRequest: '/auth/verify-request', - }, - callbacks: { - /** - * @param token Decrypted JSON Web Token - * @param user User object (only available on sign in) - * @param account Provider account (only available on sign in) - * @param profile Provider profile (only available on sign in) - * @return JSON Web Token that will be saved - */ - async jwt({ token /* user account, profile */ }) { - // TODO: Ask user to fill these fields, don't fill them automatically - //if (user) { - // await fillUserFields( - // user as any, - // profile as any, - // account?.provider as any, - // ); - //} - return { - ...token, - }; - }, - async session({ session, token }) { - const userId = token.sub; - if (!userId) { - throw new Error(`Expect valid user id`); - } - const { data, error } = await client - .query(UserProjectsDocument, { - userId, - }) - .toPromise(); - if (!data || error) { - throw new Error(`GQL query error, error: ${error}, data: ${data}`); - } - const editableProjectIds = data.projects.map( - ({ id }: { id: string }) => id, - ); - session.hasuraToken = createAuthToken( - { - userId: userId, - name: token.name || '', - email: token.email || '', - }, - { - maxAge: HASURA_TOKEN_MAX_AGE, - allowedRoles: ['user'], - defaultRole: 'user', - role: 'user', - }, - ); - // Extra properties should be added here, jwt only save a small set of data due to cookie size limitation - session.user = { - name: session.user.name || data.userByPk?.name || '', - username: session.user.username || data.userByPk?.username || '', - email: session.user.email || data.userByPk?.email || '', - image: session.user.image || data.userByPk?.image || '', - id: userId, - editableProjectIds, - }; - return session; - }, - async signIn({ account, profile }) { - // Restrict access to people with verified accounts - if ( - account?.provider === 'google' && - (profile as GoogleProfile).email_verified !== true - ) { - return false; - } - return true; - }, - }, - events: { - async createUser({ user }) { - if (!user.email) { - return log.info('Create an anonymous user'); - } - await sendWelcomeLetter({ - to: { - name: user.name || user.email, - email: user.email, - }, - }); - }, - }, - cookies: defaultCookies(process.env.NEXTAUTH_URL.startsWith('https://')), - adapter: nextAuthAdapter(), - debug: isENVDev, -}); +export { nextAuth as default } from '@chirpy-dev/trpc'; diff --git a/apps/main/src/pages/api/trpc/[trpc].ts b/apps/main/src/pages/api/trpc/[trpc].ts new file mode 100644 index 000000000..43acf1ea5 --- /dev/null +++ b/apps/main/src/pages/api/trpc/[trpc].ts @@ -0,0 +1,11 @@ +import { appRouter, createNextApiHandler } from '@chirpy-dev/trpc'; +import { createContext } from '@chirpy-dev/trpc/src/context'; +import { log } from 'next-axiom'; + +export default createNextApiHandler({ + router: appRouter, + createContext, + onError: ({ path, error }) => { + log.error(`❌ tRPC failed on ${path}: ${error}`); + }, +}); diff --git a/apps/main/src/server/services/auth/auth-adapter.ts b/apps/main/src/server/services/auth/auth-adapter.ts deleted file mode 100644 index 7bc6d217a..000000000 --- a/apps/main/src/server/services/auth/auth-adapter.ts +++ /dev/null @@ -1,312 +0,0 @@ -import { - CreateAccountDocument, - CreateAccountMutationVariables, - DeleteAccountDocument, - CreateSessionDocument, - CreateSessionMutation, - DeleteSessionDocument, - SessionAndUserDocument, - UpdateSessionDocument, - CreateUserDocument, - CreateUserMutation, - CreateUserMutationVariables, - DeleteUserDocument, - UpdateUserProfileByEmailDocument, - UpdateUserProfileByEmailMutationVariables, - UpdateUserProfileByPkDocument, - UpdateUserProfileByPkMutationVariables, - UserByAccountDocument, - UserByEmailBeforeUpdateDocument, - UserByEmailDocument, - UserByPkBeforeUpdateDocument, - DeleteVerificationTokenDocument, - InsertOneVerificationTokenDocument, -} from '@chirpy-dev/graphql'; -import { camelCase, isArray, transform, isObject } from 'lodash'; -import { Adapter, AdapterSession, AdapterUser } from 'next-auth/adapters'; - -import { mutate, query } from '$/server/common/gql'; -import { pick } from '$/server/utilities/object'; - -import { getUserByPk } from '../mutation-event/utilities'; -import { generateUsername } from './utilities'; - -export async function createUser(user: Omit) { - // Fill missing username & name with email - const username = - user.username ?? - (user.email - ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - generateUsername((user.email as string).split('@').shift() || '') - : null); - const name = (user.name as string | null) ?? username; - const data = await mutate( - CreateUserDocument, - translateAdapterUserToQueryVairables({ - ...user, - username, - name, - type: user.email ? 'free' : 'anonymous', - }) as CreateUserMutationVariables, - 'insertOneUser', - ); - return data; -} - -export function nextAuthAdapter(): Adapter { - return { - async createUser(user) { - const data = await createUser(user); - return translateUserToAdapterUser(data); - }, - async getUser(id) { - const data = await getUserByPk(id); - - return translateUserToAdapterUser(data); - }, - async getUserByEmail(email) { - const data = await query( - UserByEmailDocument, - { - email, - }, - 'users', - ); - return translateUserToAdapterUser(data[0]); - }, - async getUserByAccount({ provider, providerAccountId }) { - const users = await query( - UserByAccountDocument, - { - provider: provider, - providerAccountId: providerAccountId, - }, - 'users', - ); - return translateUserToAdapterUser(users[0]); - }, - async updateUser(user) { - if (user.id) { - const { __typename, ...existsUer } = await query( - UserByPkBeforeUpdateDocument, - { - id: user.id, - }, - 'userByPk', - ); - const data = await mutate( - UpdateUserProfileByPkDocument, - { - // Add the existing user data to the update, - // or it'll reset non-existing fields - ...pick(existsUer, 'email', 'name', 'image', 'emailVerified'), - ...translateAdapterUserToQueryVairables(user), - } as UpdateUserProfileByPkMutationVariables, - 'updateUserByPk', - ); - return translateUserToAdapterUser(data); - } else if (user.email) { - const [{ __typename, ...existsUer }] = await query( - UserByEmailBeforeUpdateDocument, - { - email: user.email, - }, - 'users', - ); - const data = await mutate( - UpdateUserProfileByEmailDocument, - { - // Add the existing user data to the update, - // or it'll reset non-existing fields - ...pick(existsUer, 'email', 'name', 'image', 'emailVerified'), - ...translateAdapterUserToQueryVairables(user), - } as UpdateUserProfileByEmailMutationVariables, - 'updateUsers', - ); - return translateUserToAdapterUser(data.returning[0]); - } - throw new Error('User id or email is missing'); - }, - async deleteUser(userId) { - const data = await mutate( - DeleteUserDocument, - { - id: userId, - }, - 'deleteUserByPk', - ); - return translateUserToAdapterUser(data); - }, - async linkAccount(account) { - await mutate( - CreateAccountDocument, - { - ...camelize(account), - expiresAt: account.expires_at ? new Date(account.expires_at) : null, - } as CreateAccountMutationVariables, - 'insertOneAccount', - ); - }, - async unlinkAccount({ provider, providerAccountId }) { - await mutate( - DeleteAccountDocument, - { - provider: provider, - providerAccountId, - }, - 'deleteAccounts', - ); - }, - async createSession({ sessionToken, userId, expires }) { - const data = await mutate( - CreateSessionDocument, - { - sessionToken, - userId, - expires: expires.toISOString(), - }, - 'insertOneSession', - ); - return translateGQLSessionToAdapterSession(data); - }, - async getSessionAndUser(sessionToken) { - const data = await query( - SessionAndUserDocument, - { - sessionToken, - }, - 'sessions', - ); - const { user, ...session } = data[0]; - return { - session: { - ...session, - expires: new Date(session.expires), - }, - user: { - ...user, - email: user.email || '', - emailVerified: user.emailVerified - ? new Date(user.emailVerified) - : null, - }, - }; - }, - async updateSession(session) { - const { userId, sessionToken, expires } = session; - if (!userId || !expires) { - throw new Error( - `Session expires or userId is missing, session: ${JSON.stringify( - session, - )}`, - ); - } - const data = await mutate( - UpdateSessionDocument, - { - userId, - sessionToken, - expires: expires.toDateString(), - }, - 'updateSessions', - ); - return translateGQLSessionToAdapterSession(data.returning[0]); - }, - async deleteSession(sessionToken) { - const data = await mutate( - DeleteSessionDocument, - { - sessionToken, - }, - 'deleteSessions', - ); - return translateGQLSessionToAdapterSession(data.returning[0]); - }, - async createVerificationToken({ identifier, expires, token }) { - const { id: _, ...verificationToken } = await mutate( - InsertOneVerificationTokenDocument, - { - identifier, - expires: expires.toDateString(), - token, - }, - 'insertOneVerificationToken', - ); - return { - ...verificationToken, - expires: new Date(verificationToken.expires), - }; - }, - async useVerificationToken({ identifier, token }) { - const { returning } = await mutate( - DeleteVerificationTokenDocument, - { identifier, token }, - 'deleteVerificationTokens', - ); - if (!returning[0]) { - // The token has been used/deleted - return null; - } - const { id: _, ...verificationToken } = returning[0]; - return { - ...verificationToken, - expires: new Date(verificationToken.expires), - }; - }, - }; -} - -function translateUserToAdapterUser(user: null | undefined): null; -function translateUserToAdapterUser( - user: NonNullable, -): AdapterUser; -function translateUserToAdapterUser( - user: CreateUserMutation['insertOneUser'], -): AdapterUser | null { - if (!user) { - return null; - } - return { - ...user, - email: user.email || '', - emailVerified: user?.emailVerified ? new Date(user?.emailVerified) : null, - }; -} - -function translateAdapterUserToQueryVairables>( - user: U, -): Omit & { - emailVerified?: string; -} { - const { emailVerified, ...rest } = user; - return { - ...rest, - ...(emailVerified && { - emailVerified: emailVerified.toISOString(), - }), - }; -} - -function camelize(obj: Record) { - return transform( - obj, - (result: Record, value: unknown, key: string, target) => { - const camelKey = isArray(target) ? key : camelCase(key); - result[camelKey] = isObject(value) - ? camelize(value as Record) - : value; - }, - ); -} - -function translateGQLSessionToAdapterSession( - session: CreateSessionMutation['insertOneSession'], -): AdapterSession { - if (!session?.id) { - throw new Error('Session id is missing'); - } - return { - ...session, - expires: new Date(session.expires), - }; -} diff --git a/apps/main/src/server/services/notification/send-notification-via-email.ts b/apps/main/src/server/services/notification/send-notification-via-email.ts index 4ef1bd3d9..38f726805 100644 --- a/apps/main/src/server/services/notification/send-notification-via-email.ts +++ b/apps/main/src/server/services/notification/send-notification-via-email.ts @@ -1,7 +1,7 @@ +import { sendNotificationEmail } from '@chirpy-dev/emails'; import { NotificationType_Enum } from '@chirpy-dev/graphql'; import { log } from 'next-axiom'; -import { sendNotificationEmail } from '../email/send-emails'; import { NotificationPayload } from './types'; export async function sendNotificationViaEmail(payload: NotificationPayload) { diff --git a/apps/service-worker/package.json b/apps/service-worker/package.json index eb0bfc9ed..06c83ce8a 100644 --- a/apps/service-worker/package.json +++ b/apps/service-worker/package.json @@ -13,7 +13,7 @@ "dotenv": "16.0.3", "dotenv-cli": "6.0.0", "dotenv-expand": "9.0.0", - "eslint": "8.27.0", + "eslint": "8.28.0", "typescript": "4.9.3", "vite": "2.9.14" }, diff --git a/package.json b/package.json index d3a35dada..b75717aef 100644 --- a/package.json +++ b/package.json @@ -18,11 +18,11 @@ "@changesets/cli": "2.25.2", "@chirpy-dev/eslint-config": "workspace:*", "@chirpy-dev/prettier-config": "workspace:*", - "eslint": "8.27.0", + "eslint": "8.28.0", "husky": "8.0.2", - "lint-staged": "13.0.3", - "next": "13.0.4", - "prettier": "2.7.1", + "lint-staged": "13.0.4", + "next": "13.0.5", + "prettier": "2.8.0", "react": "18.2.0", "react-dom": "18.2.0", "turbo": "1.6.3" diff --git a/packages/emails/package.json b/packages/emails/package.json new file mode 100644 index 000000000..1688d42ce --- /dev/null +++ b/packages/emails/package.json @@ -0,0 +1,21 @@ +{ + "name": "@chirpy-dev/emails", + "version": "1.0.0", + "description": "", + "main": "./src/index.ts", + "sideEffects": false, + "types": "./src/index.ts", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "dependencies": { + "@chirpy-dev/tsconfigs": "workspace:*", + "eta": "1.12.3" + }, + "devDependencies": { + "typescript": "4.9.3" + }, + "keywords": [], + "author": "devrsi0n", + "license": "AGPL-3.0-or-later" +} diff --git a/packages/emails/src/index.ts b/packages/emails/src/index.ts new file mode 100644 index 000000000..e06791a71 --- /dev/null +++ b/packages/emails/src/index.ts @@ -0,0 +1 @@ +export * from './send-emails'; diff --git a/apps/main/src/server/services/email/send-emails.ts b/packages/emails/src/send-emails.ts similarity index 100% rename from apps/main/src/server/services/email/send-emails.ts rename to packages/emails/src/send-emails.ts diff --git a/apps/main/src/server/services/email/send.ts b/packages/emails/src/send.ts similarity index 100% rename from apps/main/src/server/services/email/send.ts rename to packages/emails/src/send.ts diff --git a/apps/main/src/server/services/email/templates/notification.html b/packages/emails/src/templates/notification.html similarity index 100% rename from apps/main/src/server/services/email/templates/notification.html rename to packages/emails/src/templates/notification.html diff --git a/apps/main/src/server/services/email/templates/verification-request.html b/packages/emails/src/templates/verification-request.html similarity index 100% rename from apps/main/src/server/services/email/templates/verification-request.html rename to packages/emails/src/templates/verification-request.html diff --git a/apps/main/src/server/services/email/templates/welcome.html b/packages/emails/src/templates/welcome.html similarity index 100% rename from apps/main/src/server/services/email/templates/welcome.html rename to packages/emails/src/templates/welcome.html diff --git a/apps/main/src/server/services/email/types.ts b/packages/emails/src/types.ts similarity index 100% rename from apps/main/src/server/services/email/types.ts rename to packages/emails/src/types.ts diff --git a/packages/emails/tsconfig.json b/packages/emails/tsconfig.json new file mode 100644 index 000000000..c8ec59537 --- /dev/null +++ b/packages/emails/tsconfig.json @@ -0,0 +1,10 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "extends": "@chirpy-dev/tsconfigs/base.json", + "compilerOptions": { + "baseUrl": "." + // "types": ["jest", "node"] + }, + "exclude": ["node_modules"], + "include": ["typings/**/*.d.ts", "src/**/*.ts", "src/**/*.tsx"] +} diff --git a/packages/emails/typings/html.d.ts b/packages/emails/typings/html.d.ts new file mode 100644 index 000000000..1198a9a63 --- /dev/null +++ b/packages/emails/typings/html.d.ts @@ -0,0 +1,4 @@ +declare module '*.html' { + const value: string; + export default value; +} diff --git a/packages/emails/typings/node.d.ts b/packages/emails/typings/node.d.ts new file mode 100644 index 000000000..a51c6e556 --- /dev/null +++ b/packages/emails/typings/node.d.ts @@ -0,0 +1,33 @@ +declare namespace NodeJS { + interface ProcessEnv { + // Additional environment variables + NEXT_PUBLIC_APP_URL: string; + NEXT_PUBLIC_HASURA_HTTP_ORIGIN: string; + NEXT_PUBLIC_HASURA_WS_ORIGIN: string; + NEXT_PUBLIC_ANALYTICS_DOMAIN: string; + NEXT_PUBLIC_COMMENT_DOMAIN: string; + + NEXTAUTH_SECRET: string; + NEXTAUTH_URL: string; + HASH_ALGORITHM: string; + HASURA_ADMIN_SECRET: string; + HASURA_EVENT_SECRET: string; + NEXT_PUBLIC_VAPID: string; + PRIVATE_VAPID: string; + PROXY: string; + EMAIL_API_KEY: string; + SW_CACHE_ID: string; + + GOOGLE_CLIENT_ID: string; + GOOGLE_CLIENT_SECRET: string; + GITHUB_CLIENT_ID: string; + GITHUB_CLIENT_SECRET: string; + TWITTER_CONSUMER_KEY: string; + TWITTER_CONSUMER_SECRET: string; + FACEBOOK_APP_ID: string; + FACEBOOK_APP_SECRET: string; + + TEST_USER_ID: string; + DOCKER: string; + } +} diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index 1a1c549c0..6d8760bb1 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -5,22 +5,22 @@ "main": "./index.js", "dependencies": { "@chirpy-dev/prettier-config": "workspace:*", - "@typescript-eslint/eslint-plugin": "5.43.0", - "@typescript-eslint/parser": "5.43.0", - "eslint-config-next": "13.0.4", + "@typescript-eslint/eslint-plugin": "5.44.0", + "@typescript-eslint/parser": "5.44.0", + "eslint-config-next": "13.0.5", "eslint-config-prettier": "8.5.0", - "eslint-plugin-jest": "27.1.5", + "eslint-plugin-jest": "27.1.6", "eslint-plugin-prettier": "4.2.1", "eslint-plugin-storybook": "0.6.7", - "eslint-plugin-unicorn": "44.0.2", - "next": "13.0.4", - "prettier": "2.7.1", + "eslint-plugin-unicorn": "45.0.0", + "next": "13.0.5", + "prettier": "2.8.0", "react": "18.2.0", "react-dom": "18.2.0", "typescript": "4.9.3" }, "devDependencies": { - "eslint": "8.27.0" + "eslint": "8.28.0" }, "publishConfig": { "access": "public" diff --git a/packages/prettier-config/package.json b/packages/prettier-config/package.json index f50a168b1..664bad807 100644 --- a/packages/prettier-config/package.json +++ b/packages/prettier-config/package.json @@ -8,7 +8,7 @@ "prettier-plugin-tailwindcss": "0.1.13" }, "devDependencies": { - "prettier": "2.7.1" + "prettier": "2.8.0" }, "publishConfig": { "access": "public" diff --git a/packages/trpc/package.json b/packages/trpc/package.json new file mode 100644 index 000000000..0046c8bdb --- /dev/null +++ b/packages/trpc/package.json @@ -0,0 +1,38 @@ +{ + "name": "@chirpy-dev/trpc", + "version": "0.0.0", + "description": "", + "main": "./src/index.ts", + "sideEffects": false, + "types": "./src/index.ts", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "dependencies": { + "@chirpy-dev/emails": "workspace:*", + "@chirpy-dev/tsconfigs": "workspace:*", + "@chirpy-dev/utils": "workspace:*", + "@next-auth/prisma-adapter": "1.0.5", + "@prisma/client": "4.6.1", + "@tanstack/react-query": "4.16.1", + "@trpc/client": "10.1.0", + "@trpc/next": "10.1.0", + "@trpc/react-query": "10.1.0", + "@trpc/server": "10.1.0", + "next": "13.0.5", + "next-auth": "4.17.0", + "next-axiom": "0.15.1", + "react": "18.2.0", + "react-dom": "18.2.0", + "zod": "3.19.1" + }, + "devDependencies": { + "@types/jest": "29.2.3", + "@types/node": "16.11.45", + "prisma": "4.6.1", + "typescript": "4.9.3" + }, + "keywords": [], + "author": "devrsi0n", + "license": "AGPL-3.0-or-later" +} diff --git a/apps/main/prisma/schema.prisma b/packages/trpc/prisma/schema.prisma similarity index 100% rename from apps/main/prisma/schema.prisma rename to packages/trpc/prisma/schema.prisma diff --git a/packages/trpc/src/auth/auth-options.ts b/packages/trpc/src/auth/auth-options.ts new file mode 100644 index 000000000..653bddd6d --- /dev/null +++ b/packages/trpc/src/auth/auth-options.ts @@ -0,0 +1,108 @@ +import { sendWelcomeLetter } from '@chirpy-dev/emails'; +import { isENVDev, SESSION_MAX_AGE } from '@chirpy-dev/utils'; +import { PrismaAdapter } from '@next-auth/prisma-adapter'; +import { NextAuthOptions } from 'next-auth'; +import { GoogleProfile } from 'next-auth/providers/google'; +import { log } from 'next-axiom'; + +import { prisma } from '../common/db'; +import { authProviders } from './auth-providers'; +import { defaultCookies } from './default-cookies'; + +export const nextAuthOptions: NextAuthOptions = { + providers: authProviders, + session: { + strategy: 'jwt', + maxAge: SESSION_MAX_AGE, + }, + pages: { + signIn: '/auth/sign-in', + newUser: '/auth/welcome?isNewUser=true', // New users will be directed here on first sign in + error: '/auth/sign-in', // Error code passed in query string as ?error= + verifyRequest: '/auth/verify-request', + }, + callbacks: { + /** + * @param token Decrypted JSON Web Token + * @param user User object (only available on sign in) + * @param account Provider account (only available on sign in) + * @param profile Provider profile (only available on sign in) + * @return JSON Web Token that will be saved + */ + async jwt({ token /* user account, profile */ }) { + // TODO: Ask user to fill these fields, don't fill them automatically + //if (user) { + // await fillUserFields( + // user as any, + // profile as any, + // account?.provider as any, + // ); + //} + return { + ...token, + }; + }, + async session({ session, token }) { + const userId = token.sub; + if (!userId) { + throw new Error(`Expect valid user id`); + } + const userData = await prisma.user.findUnique({ + where: { + id: userId, + }, + select: { + name: true, + username: true, + email: true, + image: true, + projects: { + select: { + id: true, + }, + }, + }, + }); + if (!userData) { + throw new Error(`Can't find the user for id: ${userId}`); + } + const editableProjectIds = userData?.projects.map(({ id }) => id); + // Extra properties should be added here, jwt only save a small set of data due to cookie size limitation + session.user = { + name: session.user.name || userData.name || '', + username: session.user.username || userData.username || '', + email: session.user.email || userData.email || '', + image: session.user.image || userData.image || '', + id: userId, + editableProjectIds, + }; + return session; + }, + async signIn({ account, profile }) { + // Restrict access to people with verified accounts + if ( + account?.provider === 'google' && + (profile as GoogleProfile).email_verified !== true + ) { + return false; + } + return true; + }, + }, + events: { + async createUser({ user }) { + if (!user.email) { + return log.info('Create an anonymous user'); + } + await sendWelcomeLetter({ + to: { + name: user.name || user.email, + email: user.email, + }, + }); + }, + }, + cookies: defaultCookies(process.env.NEXTAUTH_URL.startsWith('https://')), + adapter: PrismaAdapter(prisma), + debug: isENVDev, +}; diff --git a/apps/main/src/server/services/auth/auth-providers.ts b/packages/trpc/src/auth/auth-providers.ts similarity index 87% rename from apps/main/src/server/services/auth/auth-providers.ts rename to packages/trpc/src/auth/auth-providers.ts index f766c3d54..2b06985ba 100644 --- a/apps/main/src/server/services/auth/auth-providers.ts +++ b/packages/trpc/src/auth/auth-providers.ts @@ -1,4 +1,4 @@ -import { UserByPkDocument } from '@chirpy-dev/graphql'; +import { sendVerificationEmail } from '@chirpy-dev/emails'; import { SESSION_MAX_AGE, isENVProd } from '@chirpy-dev/utils'; import { Provider } from 'next-auth/providers'; import credentialsProvider from 'next-auth/providers/credentials'; @@ -9,10 +9,7 @@ import gitHubProvider from 'next-auth/providers/github'; import googleProvider from 'next-auth/providers/google'; import twitterProvider from 'next-auth/providers/twitter'; -import { query } from '$/server/common/gql'; - -import { sendVerificationEmail } from '../email/send-emails'; -import { createUser } from './auth-adapter'; +import { prisma } from '../common/db'; import { generateUsername } from './utilities'; const REQUEST_TIMEOUT = isENVProd ? 10_000 : 60_000; @@ -72,21 +69,21 @@ export const authProviders: Provider[] = [ process.env.TEST_USER_ID?.replace(/-/g, '').slice(0, 23) ) { // Sync with `services/hasura/seeds/default/1639909399233_user.sql` - const user = await query( - UserByPkDocument, - { + const user = await prisma.user.findUnique({ + where: { id: process.env.TEST_USER_ID, }, - 'userByPk', - ); + }); return user; } if (credentials?.name) { const name = credentials.name.trim(); // Always create a new user with the provided name - const user = await createUser({ - username: generateUsername(name), - name, + const user = await prisma.user.create({ + data: { + username: generateUsername(name), + name, + }, }); return user; diff --git a/apps/main/src/server/utilities/default-cookies.ts b/packages/trpc/src/auth/default-cookies.ts similarity index 100% rename from apps/main/src/server/utilities/default-cookies.ts rename to packages/trpc/src/auth/default-cookies.ts diff --git a/packages/trpc/src/auth/index.ts b/packages/trpc/src/auth/index.ts new file mode 100644 index 000000000..48a9f5817 --- /dev/null +++ b/packages/trpc/src/auth/index.ts @@ -0,0 +1,5 @@ +import NextAuth from 'next-auth'; + +import { nextAuthOptions } from './auth-options'; + +export const nextAuth = NextAuth(nextAuthOptions); diff --git a/apps/main/src/server/services/auth/utilities.ts b/packages/trpc/src/auth/utilities.ts similarity index 100% rename from apps/main/src/server/services/auth/utilities.ts rename to packages/trpc/src/auth/utilities.ts diff --git a/packages/trpc/src/common/db.ts b/packages/trpc/src/common/db.ts new file mode 100644 index 000000000..f03ae8967 --- /dev/null +++ b/packages/trpc/src/common/db.ts @@ -0,0 +1,17 @@ +import { PrismaClient } from '@prisma/client'; + +// Save it to global, but don't declare it since we may misuse it +export const prisma: PrismaClient = + // @ts-ignore + global.prisma || + new PrismaClient({ + log: + process.env.NODE_ENV === 'development' + ? ['query', 'error', 'warn'] + : ['error', 'warn'], + }); + +if (process.env.NODE_ENV !== 'production') { + // @ts-ignore + global.prisma = prisma; +} diff --git a/packages/trpc/src/common/get-server-auth-session.ts b/packages/trpc/src/common/get-server-auth-session.ts new file mode 100644 index 000000000..239c3ccf3 --- /dev/null +++ b/packages/trpc/src/common/get-server-auth-session.ts @@ -0,0 +1,15 @@ +import { type GetServerSidePropsContext } from 'next'; +import { unstable_getServerSession } from 'next-auth'; + +import { nextAuthOptions } from '../auth/auth-options'; + +/** + * Wrapper for unstable_getServerSession https://next-auth.js.org/configuration/nextjs + * See example usage in trpc createContext or the restricted API route + */ +export const getServerAuthSession = async (ctx: { + req: GetServerSidePropsContext['req']; + res: GetServerSidePropsContext['res']; +}) => { + return await unstable_getServerSession(ctx.req, ctx.res, nextAuthOptions); +}; diff --git a/packages/trpc/src/context.ts b/packages/trpc/src/context.ts new file mode 100644 index 000000000..0bb5f4b8c --- /dev/null +++ b/packages/trpc/src/context.ts @@ -0,0 +1,39 @@ +import { type inferAsyncReturnType } from '@trpc/server'; +import { type CreateNextContextOptions } from '@trpc/server/adapters/next'; +import { type Session } from 'next-auth'; + +import { prisma } from './common/db'; +import { getServerAuthSession } from './common/get-server-auth-session'; + +type CreateContextOptions = { + session: Session | null; +}; + +/** Use this helper for: + * - testing, so we dont have to mock Next.js' req/res + * - trpc's `createSSGHelpers` where we don't have req/res + * @see https://create.t3.gg/en/usage/trpc#-servertrpccontextts + **/ +export const createContextInner = async (opts: CreateContextOptions) => { + return { + session: opts.session, + prisma, + }; +}; + +/** + * This is the actual context you'll use in your router + * @link https://trpc.io/docs/context + **/ +export const createContext = async (opts: CreateNextContextOptions) => { + const { req, res } = opts; + + // Get the session from the server using the unstable_getServerSession wrapper function + const session = await getServerAuthSession({ req, res }); + + return await createContextInner({ + session, + }); +}; + +export type Context = inferAsyncReturnType; diff --git a/packages/trpc/src/index.ts b/packages/trpc/src/index.ts new file mode 100644 index 000000000..acd208af1 --- /dev/null +++ b/packages/trpc/src/index.ts @@ -0,0 +1,2 @@ +export * from './trpc'; +export * from './auth'; diff --git a/packages/trpc/src/router/_app.ts b/packages/trpc/src/router/_app.ts new file mode 100644 index 000000000..1aa177aeb --- /dev/null +++ b/packages/trpc/src/router/_app.ts @@ -0,0 +1,11 @@ +import { router } from '../trpc'; +import { authRouter } from './auth'; +import { exampleRouter } from './example'; + +export const appRouter = router({ + example: exampleRouter, + auth: authRouter, +}); + +// export type definition of API +export type AppRouter = typeof appRouter; diff --git a/packages/trpc/src/router/auth.ts b/packages/trpc/src/router/auth.ts new file mode 100644 index 000000000..2e6f83969 --- /dev/null +++ b/packages/trpc/src/router/auth.ts @@ -0,0 +1,10 @@ +import { router, publicProcedure, protectedProcedure } from '../trpc'; + +export const authRouter = router({ + getSession: publicProcedure.query(({ ctx }) => { + return ctx.session; + }), + getSecretMessage: protectedProcedure.query(() => { + return 'you can now see this secret message!'; + }), +}); diff --git a/packages/trpc/src/router/example.ts b/packages/trpc/src/router/example.ts new file mode 100644 index 000000000..2ee3dda77 --- /dev/null +++ b/packages/trpc/src/router/example.ts @@ -0,0 +1,16 @@ +import { z } from 'zod'; + +import { router, publicProcedure } from '../trpc'; + +export const exampleRouter = router({ + hello: publicProcedure + .input(z.object({ text: z.string().nullish() }).nullish()) + .query(({ input }) => { + return { + greeting: `Hello ${input?.text ?? 'world'}`, + }; + }), + getAll: publicProcedure.query(({ ctx }) => { + return ctx.prisma.example.findMany(); + }), +}); diff --git a/packages/trpc/src/trpc.ts b/packages/trpc/src/trpc.ts new file mode 100644 index 000000000..c7bbf0190 --- /dev/null +++ b/packages/trpc/src/trpc.ts @@ -0,0 +1,42 @@ +import { initTRPC, TRPCError } from '@trpc/server'; + +import { type Context } from './context'; + +// import superjson from "superjson"; +export { createNextApiHandler } from '@trpc/server/adapters/next'; +export { appRouter } from './router/_app'; + +const t = initTRPC.context().create({ + // transformer: superjson, + errorFormatter({ shape }) { + return shape; + }, +}); + +export const router = t.router; + +/** + * Unprotected procedure + **/ +export const publicProcedure = t.procedure; + +/** + * Reusable middleware to ensure + * users are logged in + */ +const isAuthed = t.middleware(({ ctx, next }) => { + if (!ctx.session || !ctx.session.user) { + throw new TRPCError({ code: 'UNAUTHORIZED' }); + } + return next({ + ctx: { + // infers the `session` as non-nullable + session: { ...ctx.session, user: ctx.session.user }, + }, + }); +}); + +/** + * Protected procedure + **/ +export const protectedProcedure = t.procedure.use(isAuthed); diff --git a/packages/trpc/tsconfig.json b/packages/trpc/tsconfig.json new file mode 100644 index 000000000..01b176bed --- /dev/null +++ b/packages/trpc/tsconfig.json @@ -0,0 +1,10 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "extends": "@chirpy-dev/tsconfigs/base.json", + "compilerOptions": { + "baseUrl": ".", + "types": ["jest", "node"] + }, + "exclude": ["node_modules"], + "include": ["typings/**/*.d.ts", "src/**/*.ts", "src/**/*.tsx"] +} diff --git a/packages/trpc/typings/next-auth.d.ts b/packages/trpc/typings/next-auth.d.ts new file mode 100644 index 000000000..a541b592e --- /dev/null +++ b/packages/trpc/typings/next-auth.d.ts @@ -0,0 +1,36 @@ +// eslint-disable-next-line @typescript-eslint/no-unused-vars +import NextAuth from 'next-auth'; + +declare module 'next-auth' { + /** + * Returned by `useSession`, `getSession` and received as a prop on the `Provider` React Context + */ + interface Session { + hasuraToken: string; + user: { + id: string; + name: string; + username: string; + email: string; + image: string; + editableProjectIds: string[]; + }; + } + + /** + * The shape of the user object returned in the OAuth providers' `profile` callback, + * or the second parameter of the `session` callback, when using a database. + */ + interface User { + username?: string | null; + } +} + +declare module 'next-auth/adapters' { + export interface AdapterUser extends User { + id: string; + // Anonymous user doesn't have an email + email?: string | null; + emailVerified?: Date | null; + } +} diff --git a/packages/trpc/typings/next-env.d.ts b/packages/trpc/typings/next-env.d.ts new file mode 100644 index 000000000..c6643fda1 --- /dev/null +++ b/packages/trpc/typings/next-env.d.ts @@ -0,0 +1,3 @@ +/// +/// +/// diff --git a/packages/trpc/typings/node.d.ts b/packages/trpc/typings/node.d.ts new file mode 100644 index 000000000..a51c6e556 --- /dev/null +++ b/packages/trpc/typings/node.d.ts @@ -0,0 +1,33 @@ +declare namespace NodeJS { + interface ProcessEnv { + // Additional environment variables + NEXT_PUBLIC_APP_URL: string; + NEXT_PUBLIC_HASURA_HTTP_ORIGIN: string; + NEXT_PUBLIC_HASURA_WS_ORIGIN: string; + NEXT_PUBLIC_ANALYTICS_DOMAIN: string; + NEXT_PUBLIC_COMMENT_DOMAIN: string; + + NEXTAUTH_SECRET: string; + NEXTAUTH_URL: string; + HASH_ALGORITHM: string; + HASURA_ADMIN_SECRET: string; + HASURA_EVENT_SECRET: string; + NEXT_PUBLIC_VAPID: string; + PRIVATE_VAPID: string; + PROXY: string; + EMAIL_API_KEY: string; + SW_CACHE_ID: string; + + GOOGLE_CLIENT_ID: string; + GOOGLE_CLIENT_SECRET: string; + GITHUB_CLIENT_ID: string; + GITHUB_CLIENT_SECRET: string; + TWITTER_CONSUMER_KEY: string; + TWITTER_CONSUMER_SECRET: string; + FACEBOOK_APP_ID: string; + FACEBOOK_APP_SECRET: string; + + TEST_USER_ID: string; + DOCKER: string; + } +} diff --git a/packages/types/package.json b/packages/types/package.json index 4474a608e..df455edd3 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -8,15 +8,15 @@ "devDependencies": { "@chirpy-dev/graphql": "workspace:*", "@chirpy-dev/tsconfigs": "workspace:*", - "@tiptap/core": "2.0.0-beta.202", - "@tiptap/react": "2.0.0-beta.202", + "@tiptap/core": "2.0.0-beta.203", + "@tiptap/react": "2.0.0-beta.203", "@types/node": "16.11.45", "@types/react": "18.0.25", "@types/react-dom": "18.0.9", "csstype": "3.1.1", "graphql": "16.6.0", - "next": "13.0.4", - "next-auth": "4.16.4", + "next": "13.0.5", + "next-auth": "4.17.0", "next-mdx-remote": "3.0.8", "react": "18.2.0", "react-dom": "18.2.0", diff --git a/packages/ui/package.json b/packages/ui/package.json index 56213d797..3af73a3de 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -20,13 +20,13 @@ "@geist-ui/icons": "1.0.2", "@headlessui/react": "1.7.4", "@radix-ui/colors": "0.1.8", - "@tiptap/core": "2.0.0-beta.202", - "@tiptap/extension-image": "2.0.0-beta.202", - "@tiptap/extension-link": "2.0.0-beta.202", - "@tiptap/extension-placeholder": "2.0.0-beta.202", - "@tiptap/extension-underline": "2.0.0-beta.202", - "@tiptap/react": "2.0.0-beta.202", - "@tiptap/starter-kit": "2.0.0-beta.202", + "@tiptap/core": "2.0.0-beta.203", + "@tiptap/extension-image": "2.0.0-beta.203", + "@tiptap/extension-link": "2.0.0-beta.203", + "@tiptap/extension-placeholder": "2.0.0-beta.203", + "@tiptap/extension-underline": "2.0.0-beta.203", + "@tiptap/react": "2.0.0-beta.203", + "@tiptap/starter-kit": "2.0.0-beta.203", "@urql/devtools": "2.0.3", "@urql/exchange-graphcache": "5.0.5", "@urql/exchange-refocus": "1.0.0", @@ -39,12 +39,12 @@ "datamaps": "0.5.9", "dayjs": "1.11.6", "debounce-promise": "3.1.2", - "framer-motion": "7.6.7", + "framer-motion": "7.6.12", "graphql": "16.6.0", "graphql-tag": "2.12.6", "graphql-ws": "5.11.2", - "next": "13.0.4", - "next-auth": "4.16.4", + "next": "13.0.5", + "next-auth": "4.17.0", "next-axiom": "0.15.1", "next-mdx-remote": "3.0.8", "next-plausible": "3.6.4", @@ -88,10 +88,10 @@ "chromatic": "6.11.4", "concurrently": "7.5.0", "configs": "workspace:*", - "css-loader": "6.7.1", + "css-loader": "6.7.2", "csstype": "3.1.1", "downshift": "6.1.9", - "eslint": "8.27.0", + "eslint": "8.28.0", "fake-indexeddb": "4.0.0", "html-loader": "4.2.0", "intersection-observer": "0.12.2", diff --git a/packages/utils/package.json b/packages/utils/package.json index 2c8ba5425..6875b43cc 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -8,8 +8,8 @@ "devDependencies": { "@chirpy-dev/tsconfigs": "workspace:*", "@chirpy-dev/types": "workspace:*", - "@tiptap/core": "2.0.0-beta.202", - "@tiptap/react": "2.0.0-beta.202", + "@tiptap/core": "2.0.0-beta.203", + "@tiptap/react": "2.0.0-beta.203", "@types/node": "16.11.45", "@types/react": "18.0.25", "@types/react-dom": "18.0.9", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 62e44ae05..b3a39e18d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,11 +13,11 @@ importers: '@changesets/cli': 2.25.2 '@chirpy-dev/eslint-config': workspace:* '@chirpy-dev/prettier-config': workspace:* - eslint: 8.27.0 + eslint: 8.28.0 husky: 8.0.2 - lint-staged: 13.0.3 - next: 13.0.4 - prettier: 2.7.1 + lint-staged: 13.0.4 + next: 13.0.5 + prettier: 2.8.0 react: 18.2.0 react-dom: 18.2.0 turbo: 1.6.3 @@ -26,11 +26,11 @@ importers: '@changesets/cli': 2.25.2 '@chirpy-dev/eslint-config': link:packages/eslint-config '@chirpy-dev/prettier-config': link:packages/prettier-config - eslint: 8.27.0 + eslint: 8.28.0 husky: 8.0.2 - lint-staged: 13.0.3 - next: 13.0.4_biqbaboplfbrettd7655fr4n2y - prettier: 2.7.1 + lint-staged: 13.0.4 + next: 13.0.5_biqbaboplfbrettd7655fr4n2y + prettier: 2.8.0 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 turbo: 1.6.3 @@ -48,7 +48,7 @@ importers: dotenv: 16.0.3 dotenv-cli: 6.0.0 dotenv-expand: 9.0.0 - eslint: 8.27.0 + eslint: 8.28.0 jest: 29.3.1 react: 18.2.0 react-dom: 18.2.0 @@ -66,7 +66,7 @@ importers: dotenv: 16.0.3 dotenv-cli: 6.0.0 dotenv-expand: 9.0.0 - eslint: 8.27.0 + eslint: 8.28.0 jest: 29.3.1_@types+node@16.11.45 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 @@ -83,7 +83,7 @@ importers: dotenv: 16.0.3 dotenv-cli: 6.0.0 dotenv-expand: 9.0.0 - eslint: 8.27.0 + eslint: 8.28.0 typescript: 4.9.3 dependencies: '@chirpy-dev/eslint-config': link:../../packages/eslint-config @@ -94,7 +94,7 @@ importers: dotenv: 16.0.3 dotenv-cli: 6.0.0 dotenv-expand: 9.0.0 - eslint: 8.27.0 + eslint: 8.28.0 typescript: 4.9.3 apps/emails: @@ -124,15 +124,13 @@ importers: '@chirpy-dev/comment-bootstrapper': workspace:* '@chirpy-dev/emails': workspace:* '@chirpy-dev/eslint-config': workspace:* - '@chirpy-dev/graphql': workspace:* '@chirpy-dev/service-worker': workspace:* + '@chirpy-dev/trpc': workspace:* '@chirpy-dev/tsconfigs': workspace:* '@chirpy-dev/types': workspace:* '@chirpy-dev/ui': workspace:* '@chirpy-dev/utils': workspace:* - '@next-auth/prisma-adapter': 1.0.5 '@next/bundle-analyzer': 13.0.4 - '@prisma/client': 4.6.1 '@radix-ui/colors': 0.1.8 '@relative-ci/agent': 4.1.1 '@sendinblue/client': 3.2.2 @@ -156,8 +154,7 @@ importers: dotenv: 16.0.3 dotenv-cli: 6.0.0 dotenv-expand: 9.0.0 - eslint: 8.27.0 - eta: 1.12.3 + eslint: 8.28.0 github-slugger: 1.5.0 graphql: 16.6.0 graphql-tag: 2.12.6 @@ -167,8 +164,7 @@ importers: jest: 29.3.1 jsonwebtoken: 8.5.1 lodash: 4.17.21 - next: 13.0.4 - next-auth: 4.16.4 + next: 13.0.5 next-axiom: 0.15.1 next-connect: 0.13.0 next-mdx-remote: 3.0.8 @@ -177,7 +173,6 @@ importers: next-urql: 4.0.0 nodemailer: 6.7.8 postcss: 8.4.19 - prisma: 4.6.1 react: 18.2.0 react-dom: 18.2.0 reading-time: 1.5.0 @@ -197,12 +192,11 @@ importers: wonka: 6.1.1 ws: 8.11.0 dependencies: - '@chirpy-dev/graphql': link:../../packages/graphql + '@chirpy-dev/emails': link:../../packages/emails + '@chirpy-dev/trpc': link:../../packages/trpc '@chirpy-dev/types': link:../../packages/types '@chirpy-dev/ui': link:../../packages/ui '@chirpy-dev/utils': link:../../packages/utils - '@next-auth/prisma-adapter': 1.0.5_2pl3b2nwmjya7el2zbe6cwkney - '@prisma/client': 4.6.1_prisma@4.6.1 '@radix-ui/colors': 0.1.8 '@sendinblue/client': 3.2.2 '@tensorflow-models/toxicity': 1.2.2_ce7e77rhh6oipcy6kxvkentnmi @@ -210,7 +204,6 @@ importers: '@tensorflow/tfjs-converter': 3.18.0_br26fteayl44zj43fz4bazb7oq '@tensorflow/tfjs-core': 3.18.0 cors: 2.8.5 - eta: 1.12.3 github-slugger: 1.5.0 graphql: 16.6.0 graphql-tag: 2.12.6_graphql@16.6.0 @@ -219,13 +212,12 @@ importers: html-loader: 4.2.0_webpack@5.75.0 jsonwebtoken: 8.5.1 lodash: 4.17.21 - next: 13.0.4_biqbaboplfbrettd7655fr4n2y - next-auth: 4.16.4_wg23sy66rdimfz56mrp5vlofyy - next-axiom: 0.15.1_next@13.0.4 + next: 13.0.5_biqbaboplfbrettd7655fr4n2y + next-axiom: 0.15.1_next@13.0.5 next-connect: 0.13.0 next-mdx-remote: 3.0.8_biqbaboplfbrettd7655fr4n2y - next-plausible: 3.6.4_dcors23iqtgxrhrwosgnnc4xji - next-themes: 0.2.1_dcors23iqtgxrhrwosgnnc4xji + next-plausible: 3.6.4_7iuvftg57tblwyxclfkwku5xo4 + next-themes: 0.2.1_7iuvftg57tblwyxclfkwku5xo4 next-urql: 4.0.0_react@18.2.0+urql@3.0.3 nodemailer: 6.7.8 react: 18.2.0 @@ -244,7 +236,6 @@ importers: ws: 8.11.0 devDependencies: '@chirpy-dev/comment-bootstrapper': link:../comment-bootstrapper - '@chirpy-dev/emails': link:../emails '@chirpy-dev/eslint-config': link:../../packages/eslint-config '@chirpy-dev/service-worker': link:../service-worker '@chirpy-dev/tsconfigs': link:../../packages/tsconfigs @@ -265,10 +256,9 @@ importers: dotenv: 16.0.3 dotenv-cli: 6.0.0 dotenv-expand: 9.0.0 - eslint: 8.27.0 + eslint: 8.28.0 jest: 29.3.1_@types+node@16.11.45 postcss: 8.4.19 - prisma: 4.6.1 stellate: 1.17.1 tailwindcss: 3.2.4_postcss@8.4.19 typescript: 4.9.3 @@ -281,7 +271,7 @@ importers: dotenv: 16.0.3 dotenv-cli: 6.0.0 dotenv-expand: 9.0.0 - eslint: 8.27.0 + eslint: 8.28.0 typescript: 4.9.3 vite: 2.9.14 devDependencies: @@ -290,7 +280,7 @@ importers: dotenv: 16.0.3 dotenv-cli: 6.0.0 dotenv-expand: 9.0.0 - eslint: 8.27.0 + eslint: 8.28.0 typescript: 4.9.3 vite: 2.9.14 @@ -348,40 +338,51 @@ importers: yargs: 17.6.2 zx: 4.3.0 + packages/emails: + specifiers: + '@chirpy-dev/tsconfigs': workspace:* + eta: 1.12.3 + typescript: 4.9.3 + dependencies: + '@chirpy-dev/tsconfigs': link:../tsconfigs + eta: 1.12.3 + devDependencies: + typescript: 4.9.3 + packages/eslint-config: specifiers: '@chirpy-dev/prettier-config': workspace:* - '@typescript-eslint/eslint-plugin': 5.43.0 - '@typescript-eslint/parser': 5.43.0 - eslint: 8.27.0 - eslint-config-next: 13.0.4 + '@typescript-eslint/eslint-plugin': 5.44.0 + '@typescript-eslint/parser': 5.44.0 + eslint: 8.28.0 + eslint-config-next: 13.0.5 eslint-config-prettier: 8.5.0 - eslint-plugin-jest: 27.1.5 + eslint-plugin-jest: 27.1.6 eslint-plugin-prettier: 4.2.1 eslint-plugin-storybook: 0.6.7 - eslint-plugin-unicorn: 44.0.2 - next: 13.0.4 - prettier: 2.7.1 + eslint-plugin-unicorn: 45.0.0 + next: 13.0.5 + prettier: 2.8.0 react: 18.2.0 react-dom: 18.2.0 typescript: 4.9.3 dependencies: '@chirpy-dev/prettier-config': link:../prettier-config - '@typescript-eslint/eslint-plugin': 5.43.0_wze2rj5tow7zwqpgbdx2buoy3m - '@typescript-eslint/parser': 5.43.0_e3uo4sehh4zr4i6m57mkkxxv7y - eslint-config-next: 13.0.4_e3uo4sehh4zr4i6m57mkkxxv7y - eslint-config-prettier: 8.5.0_eslint@8.27.0 - eslint-plugin-jest: 27.1.5_zepgltmqngws2pl4a7zw2atiyy - eslint-plugin-prettier: 4.2.1_v7o5sx5x3wbs57ifz6wc4f76we - eslint-plugin-storybook: 0.6.7_e3uo4sehh4zr4i6m57mkkxxv7y - eslint-plugin-unicorn: 44.0.2_eslint@8.27.0 - next: 13.0.4_biqbaboplfbrettd7655fr4n2y - prettier: 2.7.1 + '@typescript-eslint/eslint-plugin': 5.44.0_fnsv2sbzcckq65bwfk7a5xwslu + '@typescript-eslint/parser': 5.44.0_hsf322ms6xhhd4b5ne6lb74y4a + eslint-config-next: 13.0.5_hsf322ms6xhhd4b5ne6lb74y4a + eslint-config-prettier: 8.5.0_eslint@8.28.0 + eslint-plugin-jest: 27.1.6_3fzdjyb43hmtmgc37n76yql3mq + eslint-plugin-prettier: 4.2.1_cwlo2dingkvfydnaculr42urve + eslint-plugin-storybook: 0.6.7_hsf322ms6xhhd4b5ne6lb74y4a + eslint-plugin-unicorn: 45.0.0_eslint@8.28.0 + next: 13.0.5_biqbaboplfbrettd7655fr4n2y + prettier: 2.8.0 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 typescript: 4.9.3 devDependencies: - eslint: 8.27.0 + eslint: 8.28.0 packages/graphql: specifiers: @@ -426,13 +427,58 @@ importers: packages/prettier-config: specifiers: '@ianvs/prettier-plugin-sort-imports': 3.7.1 - prettier: 2.7.1 + prettier: 2.8.0 prettier-plugin-tailwindcss: 0.1.13 dependencies: - '@ianvs/prettier-plugin-sort-imports': 3.7.1_prettier@2.7.1 - prettier-plugin-tailwindcss: 0.1.13_prettier@2.7.1 + '@ianvs/prettier-plugin-sort-imports': 3.7.1_prettier@2.8.0 + prettier-plugin-tailwindcss: 0.1.13_prettier@2.8.0 + devDependencies: + prettier: 2.8.0 + + packages/trpc: + specifiers: + '@chirpy-dev/emails': workspace:* + '@chirpy-dev/tsconfigs': workspace:* + '@chirpy-dev/utils': workspace:* + '@next-auth/prisma-adapter': 1.0.5 + '@prisma/client': 4.6.1 + '@tanstack/react-query': 4.16.1 + '@trpc/client': 10.1.0 + '@trpc/next': 10.1.0 + '@trpc/react-query': 10.1.0 + '@trpc/server': 10.1.0 + '@types/jest': 29.2.3 + '@types/node': 16.11.45 + next: 13.0.5 + next-auth: 4.17.0 + next-axiom: 0.15.1 + prisma: 4.6.1 + react: 18.2.0 + react-dom: 18.2.0 + typescript: 4.9.3 + zod: 3.19.1 + dependencies: + '@chirpy-dev/emails': link:../emails + '@chirpy-dev/tsconfigs': link:../tsconfigs + '@chirpy-dev/utils': link:../utils + '@next-auth/prisma-adapter': 1.0.5_o53gfpk3vz2btjrokqfjjwwn3m + '@prisma/client': 4.6.1_prisma@4.6.1 + '@tanstack/react-query': 4.16.1_biqbaboplfbrettd7655fr4n2y + '@trpc/client': 10.1.0_@trpc+server@10.1.0 + '@trpc/next': 10.1.0_7jhp4m32uvzpkauysslpvycneq + '@trpc/react-query': 10.1.0_6w4fappfojusde7o3jmgvyxwlu + '@trpc/server': 10.1.0 + next: 13.0.5_biqbaboplfbrettd7655fr4n2y + next-auth: 4.17.0_7iuvftg57tblwyxclfkwku5xo4 + next-axiom: 0.15.1_next@13.0.5 + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + zod: 3.19.1 devDependencies: - prettier: 2.7.1 + '@types/jest': 29.2.3 + '@types/node': 16.11.45 + prisma: 4.6.1 + typescript: 4.9.3 packages/tsconfigs: specifiers: {} @@ -441,15 +487,15 @@ importers: specifiers: '@chirpy-dev/graphql': workspace:* '@chirpy-dev/tsconfigs': workspace:* - '@tiptap/core': 2.0.0-beta.202 - '@tiptap/react': 2.0.0-beta.202 + '@tiptap/core': 2.0.0-beta.203 + '@tiptap/react': 2.0.0-beta.203 '@types/node': 16.11.45 '@types/react': 18.0.25 '@types/react-dom': 18.0.9 csstype: 3.1.1 graphql: 16.6.0 - next: 13.0.4 - next-auth: 4.16.4 + next: 13.0.5 + next-auth: 4.17.0 next-mdx-remote: 3.0.8 react: 18.2.0 react-dom: 18.2.0 @@ -459,15 +505,15 @@ importers: devDependencies: '@chirpy-dev/graphql': link:../graphql '@chirpy-dev/tsconfigs': link:../tsconfigs - '@tiptap/core': 2.0.0-beta.202 - '@tiptap/react': 2.0.0-beta.202_b34bfmrzq6nwqs5zwwuhxagzky + '@tiptap/core': 2.0.0-beta.203 + '@tiptap/react': 2.0.0-beta.203_3cxceey65s6k5bahhiuz7e4cvy '@types/node': 16.11.45 '@types/react': 18.0.25 '@types/react-dom': 18.0.9 csstype: 3.1.1 graphql: 16.6.0 - next: 13.0.4_biqbaboplfbrettd7655fr4n2y - next-auth: 4.16.4_dcors23iqtgxrhrwosgnnc4xji + next: 13.0.5_biqbaboplfbrettd7655fr4n2y + next-auth: 4.17.0_7iuvftg57tblwyxclfkwku5xo4 next-mdx-remote: 3.0.8_biqbaboplfbrettd7655fr4n2y react: 18.2.0 react-dom: 18.2.0_react@18.2.0 @@ -497,13 +543,13 @@ importers: '@testing-library/jest-dom': 5.16.5 '@testing-library/react': 13.4.0 '@testing-library/user-event': 14.4.3 - '@tiptap/core': 2.0.0-beta.202 - '@tiptap/extension-image': 2.0.0-beta.202 - '@tiptap/extension-link': 2.0.0-beta.202 - '@tiptap/extension-placeholder': 2.0.0-beta.202 - '@tiptap/extension-underline': 2.0.0-beta.202 - '@tiptap/react': 2.0.0-beta.202 - '@tiptap/starter-kit': 2.0.0-beta.202 + '@tiptap/core': 2.0.0-beta.203 + '@tiptap/extension-image': 2.0.0-beta.203 + '@tiptap/extension-link': 2.0.0-beta.203 + '@tiptap/extension-placeholder': 2.0.0-beta.203 + '@tiptap/extension-underline': 2.0.0-beta.203 + '@tiptap/react': 2.0.0-beta.203 + '@tiptap/starter-kit': 2.0.0-beta.203 '@types/canvas-confetti': 1.6.0 '@types/d3': 3.5.47 '@types/debounce-promise': 3.1.5 @@ -526,16 +572,16 @@ importers: clsx: 1.2.1 concurrently: 7.5.0 configs: workspace:* - css-loader: 6.7.1 + css-loader: 6.7.2 csstype: 3.1.1 d3: 3.5.17 datamaps: 0.5.9 dayjs: 1.11.6 debounce-promise: 3.1.2 downshift: 6.1.9 - eslint: 8.27.0 + eslint: 8.28.0 fake-indexeddb: 4.0.0 - framer-motion: 7.6.7 + framer-motion: 7.6.12 graphql: 16.6.0 graphql-tag: 2.12.6 graphql-ws: 5.11.2 @@ -545,8 +591,8 @@ importers: jest-environment-jsdom: 29.3.1 msw: 0.47.4 msw-storybook-addon: 1.6.3 - next: 13.0.4 - next-auth: 4.16.4 + next: 13.0.5 + next-auth: 4.17.0 next-axiom: 0.15.1 next-mdx-remote: 3.0.8 next-plausible: 3.6.4 @@ -577,13 +623,13 @@ importers: '@geist-ui/icons': 1.0.2_react@18.2.0 '@headlessui/react': 1.7.4_biqbaboplfbrettd7655fr4n2y '@radix-ui/colors': 0.1.8 - '@tiptap/core': 2.0.0-beta.202 - '@tiptap/extension-image': 2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu - '@tiptap/extension-link': 2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu - '@tiptap/extension-placeholder': 2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu - '@tiptap/extension-underline': 2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu - '@tiptap/react': 2.0.0-beta.202_b34bfmrzq6nwqs5zwwuhxagzky - '@tiptap/starter-kit': 2.0.0-beta.202 + '@tiptap/core': 2.0.0-beta.203 + '@tiptap/extension-image': 2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4 + '@tiptap/extension-link': 2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4 + '@tiptap/extension-placeholder': 2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4 + '@tiptap/extension-underline': 2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4 + '@tiptap/react': 2.0.0-beta.203_3cxceey65s6k5bahhiuz7e4cvy + '@tiptap/starter-kit': 2.0.0-beta.203 '@urql/devtools': 2.0.3_graphql@16.6.0 '@urql/exchange-graphcache': 5.0.5_graphql@16.6.0 '@urql/exchange-refocus': 1.0.0_graphql@16.6.0 @@ -596,16 +642,16 @@ importers: datamaps: 0.5.9 dayjs: 1.11.6 debounce-promise: 3.1.2 - framer-motion: 7.6.7_biqbaboplfbrettd7655fr4n2y + framer-motion: 7.6.12_biqbaboplfbrettd7655fr4n2y graphql: 16.6.0 graphql-tag: 2.12.6_graphql@16.6.0 graphql-ws: 5.11.2_graphql@16.6.0 - next: 13.0.4_vgii64pd2ccbnbx2v3ro5gbin4 - next-auth: 4.16.4_dcors23iqtgxrhrwosgnnc4xji - next-axiom: 0.15.1_next@13.0.4 + next: 13.0.5_vgii64pd2ccbnbx2v3ro5gbin4 + next-auth: 4.17.0_7iuvftg57tblwyxclfkwku5xo4 + next-axiom: 0.15.1_next@13.0.5 next-mdx-remote: 3.0.8_biqbaboplfbrettd7655fr4n2y - next-plausible: 3.6.4_dcors23iqtgxrhrwosgnnc4xji - next-themes: 0.2.1_dcors23iqtgxrhrwosgnnc4xji + next-plausible: 3.6.4_7iuvftg57tblwyxclfkwku5xo4 + next-themes: 0.2.1_7iuvftg57tblwyxclfkwku5xo4 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 react-error-boundary: 3.1.4_react@18.2.0 @@ -619,11 +665,11 @@ importers: '@chirpy-dev/graphql': link:../graphql '@chirpy-dev/tsconfigs': link:../tsconfigs '@storybook/addon-actions': 6.5.13_biqbaboplfbrettd7655fr4n2y - '@storybook/addon-essentials': 6.5.13_umcccjscsozh2kacy3kydywx3q - '@storybook/addon-interactions': 6.5.13_vcbktvupb3nrz536jx5pquykfm - '@storybook/builder-webpack5': 6.5.13_s4hqsayxgev7dbmg6rfftu2eyi - '@storybook/manager-webpack5': 6.5.13_s4hqsayxgev7dbmg6rfftu2eyi - '@storybook/react': 6.5.13_v4jjm24djpoj4yog7pcvrvfzne + '@storybook/addon-essentials': 6.5.13_ggaoyc47wy3ua4t6by2tzv2uxi + '@storybook/addon-interactions': 6.5.13_ivdudmvvzzsf6tsttamhsg5viq + '@storybook/builder-webpack5': 6.5.13_gpshdmfc4w665ax2rx6w5ydgtu + '@storybook/manager-webpack5': 6.5.13_gpshdmfc4w665ax2rx6w5ydgtu + '@storybook/react': 6.5.13_otevjqym6vjxr44enzkwargpjq '@storybook/testing-library': 0.0.13_biqbaboplfbrettd7655fr4n2y '@storybook/testing-react': 1.3.0_ttbexg3pjn2kdvnzqd2hzwfoge '@testing-library/jest-dom': 5.16.5 @@ -643,10 +689,10 @@ importers: chromatic: 6.11.4 concurrently: 7.5.0 configs: link:../configs - css-loader: 6.7.1_webpack@5.75.0 + css-loader: 6.7.2_webpack@5.75.0 csstype: 3.1.1 downshift: 6.1.9_react@18.2.0 - eslint: 8.27.0 + eslint: 8.28.0 fake-indexeddb: 4.0.0 html-loader: 4.2.0_webpack@5.75.0 intersection-observer: 0.12.2 @@ -660,7 +706,7 @@ importers: resolve-url-loader: 5.0.0 sass: 1.56.1 sass-loader: 13.2.0_sass@1.56.1+webpack@5.75.0 - storybook-addon-next: 1.6.10_gs5cs42cithblp2rzvqgbdw2qm + storybook-addon-next: 1.6.10_thexi4xsgip6ogigep7hzw43bm style-loader: 3.3.1_webpack@5.75.0 tailwindcss: 3.2.4_postcss@8.4.19 type-fest: 3.2.0 @@ -672,8 +718,8 @@ importers: specifiers: '@chirpy-dev/tsconfigs': workspace:* '@chirpy-dev/types': workspace:* - '@tiptap/core': 2.0.0-beta.202 - '@tiptap/react': 2.0.0-beta.202 + '@tiptap/core': 2.0.0-beta.203 + '@tiptap/react': 2.0.0-beta.203 '@types/node': 16.11.45 '@types/react': 18.0.25 '@types/react-dom': 18.0.9 @@ -683,8 +729,8 @@ importers: devDependencies: '@chirpy-dev/tsconfigs': link:../tsconfigs '@chirpy-dev/types': link:../types - '@tiptap/core': 2.0.0-beta.202 - '@tiptap/react': 2.0.0-beta.202_b34bfmrzq6nwqs5zwwuhxagzky + '@tiptap/core': 2.0.0-beta.203 + '@tiptap/react': 2.0.0-beta.203_3cxceey65s6k5bahhiuz7e4cvy '@types/node': 16.11.45 '@types/react': 18.0.25 '@types/react-dom': 18.0.9 @@ -714,7 +760,7 @@ packages: '@babel/core': 7.20.2 '@babel/generator': 7.19.6 '@babel/parser': 7.19.6 - '@babel/runtime': 7.19.4 + '@babel/runtime': 7.20.1 '@babel/traverse': 7.19.6 '@babel/types': 7.19.4 babel-preset-fbjs: 3.4.0_@babel+core@7.20.2 @@ -2269,29 +2315,22 @@ packages: dependencies: regenerator-runtime: 0.13.9 - /@babel/runtime/7.19.4: - resolution: {integrity: sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA==} - engines: {node: '>=6.9.0'} - dependencies: - regenerator-runtime: 0.13.10 - dev: true - /@babel/runtime/7.20.1: resolution: {integrity: sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg==} engines: {node: '>=6.9.0'} dependencies: - regenerator-runtime: 0.13.10 + regenerator-runtime: 0.13.11 /@babel/runtime/7.5.5: resolution: {integrity: sha512-28QvEGyQyNkB0/m2B4FU7IEZGK2NUrcMtT6BZEFALTguLk+AUT6ofsHtPk5QyjAdUkpMJ+/Em+quwz4HOt30AQ==} dependencies: - regenerator-runtime: 0.13.10 + regenerator-runtime: 0.13.11 dev: true /@babel/runtime/7.7.2: resolution: {integrity: sha512-JONRbXbTXc9WQE2mAZd1p0Z3DZ/6vaQIkgYMSTP3KjRCyd7rCZCcfhCyX+YjwcKxcZ82UrxbRD358bpExNgrjw==} dependencies: - regenerator-runtime: 0.13.10 + regenerator-runtime: 0.13.11 dev: true /@babel/template/7.18.10: @@ -2398,7 +2437,7 @@ packages: fs-extra: 7.0.1 lodash.startcase: 4.4.0 outdent: 0.5.0 - prettier: 2.7.1 + prettier: 2.8.0 resolve-from: 5.0.0 semver: 5.7.1 dev: true @@ -2584,7 +2623,7 @@ packages: '@changesets/types': 5.2.0 fs-extra: 7.0.1 human-id: 1.0.2 - prettier: 2.7.1 + prettier: 2.8.0 dev: true /@cnakazawa/watch/1.0.4: @@ -2898,7 +2937,7 @@ packages: ajv: 6.12.6 debug: 4.3.4 espree: 9.4.1 - globals: 13.17.0 + globals: 13.18.0 ignore: 5.2.0 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -4041,7 +4080,7 @@ packages: /@humanwhocodes/object-schema/1.2.1: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} - /@ianvs/prettier-plugin-sort-imports/3.7.1_prettier@2.7.1: + /@ianvs/prettier-plugin-sort-imports/3.7.1_prettier@2.8.0: resolution: {integrity: sha512-XDnBUUruJY9KgNd7T2ZHnVPWo5B9NzVDCLEMm7HjXTA3rTtMg5Q46gYRjLvampDXSmN8+icu54aRE3IIT8U+1w==} peerDependencies: '@vue/compiler-sfc': '>=3.0.0' @@ -4058,7 +4097,7 @@ packages: javascript-natural-sort: 0.7.1 lodash.clone: 4.5.0 lodash.isequal: 4.5.0 - prettier: 2.7.1 + prettier: 2.8.0 transitivePeerDependencies: - supports-color dev: false @@ -4088,7 +4127,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.3.1 - '@types/node': 16.11.45 + '@types/node': 18.11.9 chalk: 4.1.2 jest-message-util: 29.3.1 jest-util: 29.3.1 @@ -4109,14 +4148,14 @@ packages: '@jest/test-result': 29.3.1 '@jest/transform': 29.3.1 '@jest/types': 29.3.1 - '@types/node': 16.11.45 + '@types/node': 18.11.9 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.6.1 exit: 0.1.2 graceful-fs: 4.2.10 jest-changed-files: 29.2.0 - jest-config: 29.3.1_@types+node@16.11.45 + jest-config: 29.3.1_@types+node@18.11.9 jest-haste-map: 29.3.1 jest-message-util: 29.3.1 jest-regex-util: 29.2.0 @@ -4143,7 +4182,7 @@ packages: dependencies: '@jest/fake-timers': 29.3.1 '@jest/types': 29.3.1 - '@types/node': 18.11.5 + '@types/node': 18.11.9 jest-mock: 29.3.1 dev: true @@ -4170,7 +4209,7 @@ packages: dependencies: '@jest/types': 29.3.1 '@sinonjs/fake-timers': 9.1.2 - '@types/node': 18.11.5 + '@types/node': 18.11.9 jest-message-util: 29.3.1 jest-mock: 29.3.1 jest-util: 29.3.1 @@ -4203,7 +4242,7 @@ packages: '@jest/transform': 29.3.1 '@jest/types': 29.3.1 '@jridgewell/trace-mapping': 0.3.17 - '@types/node': 16.11.45 + '@types/node': 18.11.9 chalk: 4.1.2 collect-v8-coverage: 1.0.1 exit: 0.1.2 @@ -4313,7 +4352,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 18.11.5 + '@types/node': 18.11.9 '@types/yargs': 15.0.14 chalk: 4.1.2 dev: true @@ -4324,7 +4363,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 18.11.5 + '@types/node': 18.11.9 '@types/yargs': 16.0.4 chalk: 4.1.2 dev: true @@ -4336,7 +4375,7 @@ packages: '@jest/schemas': 29.0.0 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 16.11.45 + '@types/node': 18.11.9 '@types/yargs': 17.0.13 chalk: 4.1.2 dev: true @@ -4596,14 +4635,14 @@ packages: - supports-color dev: true - /@next-auth/prisma-adapter/1.0.5_2pl3b2nwmjya7el2zbe6cwkney: + /@next-auth/prisma-adapter/1.0.5_o53gfpk3vz2btjrokqfjjwwn3m: resolution: {integrity: sha512-VqMS11IxPXrPGXw6Oul6jcyS/n8GLOWzRMrPr3EMdtD6eOalM6zz05j08PcNiis8QzkfuYnCv49OvufTuaEwYQ==} peerDependencies: '@prisma/client': '>=2.26.0 || >=3' next-auth: ^4 dependencies: '@prisma/client': 4.6.1_prisma@4.6.1 - next-auth: 4.16.4_wg23sy66rdimfz56mrp5vlofyy + next-auth: 4.17.0_7iuvftg57tblwyxclfkwku5xo4 dev: false /@next/bundle-analyzer/13.0.4: @@ -4615,113 +4654,113 @@ packages: - utf-8-validate dev: true - /@next/env/13.0.4: - resolution: {integrity: sha512-N5Z3bdxBzoxrC5bwykDFITzdWuwDteOdZ+7nxixY+I1XpRX8/iQYbw2wuXMdqdfBGm2NNUpAqg8YF2e4oAC2UQ==} + /@next/env/13.0.5: + resolution: {integrity: sha512-F3KLtiDrUslAZhTYTh8Zk5ZaavbYwLUn3NYPBnOjAXU8hWm0QVGVzKIOuURQ098ofRU4e9oglf3Sj9pFx5nI5w==} - /@next/eslint-plugin-next/13.0.4: - resolution: {integrity: sha512-jZ4urKT+aO9QHm3ttihrIQscQISDSKK8isAom750+EySn9o3LCSkTdPGBtvBqY7Yku+NqhfQempR5J58DqTaVg==} + /@next/eslint-plugin-next/13.0.5: + resolution: {integrity: sha512-H9U9B1dFnCDmylDZ6/dYt95Ie1Iu+SLBMcO6rkIGIDcj5UK+DNyMiWm83xWBZ1gREM8cfp5Srv1g6wqf8pM4lw==} dependencies: glob: 7.1.7 dev: false - /@next/swc-android-arm-eabi/13.0.4: - resolution: {integrity: sha512-SD9H+/zuV3L0oHIhsDdFkDqFtg6pIHtqRUPlsrNdOsmWXgMlSzxBmwt2ta4kyrazS62BQu7XRUG++ZyODS7AWg==} + /@next/swc-android-arm-eabi/13.0.5: + resolution: {integrity: sha512-YO691dxHlviy6H0eghgwqn+5kU9J3iQnKERHTDSppqjjGDBl6ab4wz9XfI5AhljjkaTg3TknHoIEWFDoZ4Ve8g==} engines: {node: '>= 10'} cpu: [arm] os: [android] requiresBuild: true optional: true - /@next/swc-android-arm64/13.0.4: - resolution: {integrity: sha512-F8W5WcBbdn/zBoy32/mQiefs9DNsT12CTSSVCsO8GvQR7GjJU+uduQ4drKcSDoDLuAFULc2jDN06Circq4vuQg==} + /@next/swc-android-arm64/13.0.5: + resolution: {integrity: sha512-ugbwffkUmp8cd2afehDC8LtQeFUxElRUBBngfB5UYSWBx18HW4OgzkPFIY8jUBH16zifvGZWXbICXJWDHrOLtw==} engines: {node: '>= 10'} cpu: [arm64] os: [android] requiresBuild: true optional: true - /@next/swc-darwin-arm64/13.0.4: - resolution: {integrity: sha512-/lajev+9GSie+rRTl5z8skW9RJwZ+TwMKLzzM24TbDk8lUjqPTyJZ/cU0NDj8J7VQAZ6EehACSh9rcJeBRtLuA==} + /@next/swc-darwin-arm64/13.0.5: + resolution: {integrity: sha512-mshlh8QOtOalfZbc17uNAftWgqHTKnrv6QUwBe+mpGz04eqsSUzVz1JGZEdIkmuDxOz00cK2NPoc+VHDXh99IQ==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] requiresBuild: true optional: true - /@next/swc-darwin-x64/13.0.4: - resolution: {integrity: sha512-HK4b2rFiju8d40GTL/jH9U6OQ7BYA2MeEHs7Dm7Rp7kwQtLzP3z6osdQS8er20tIFHDE4b+oVBy03ZUQkHf0Pg==} + /@next/swc-darwin-x64/13.0.5: + resolution: {integrity: sha512-SfigOKW4Z2UB3ruUPyvrlDIkcJq1hiw1wvYApWugD+tQsAkYZKEoz+/8emCmeYZ6Gwgi1WHV+z52Oj8u7bEHPg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] requiresBuild: true optional: true - /@next/swc-freebsd-x64/13.0.4: - resolution: {integrity: sha512-xBvIGLaGzZtgJfRRJ2DBN82DQCJ/O7jkXyBp8X/vHefPWyVXVqF6C68Rv8ADp11thPpf8WpjkvDDLb9AuWHQUA==} + /@next/swc-freebsd-x64/13.0.5: + resolution: {integrity: sha512-0NJg8HZr4yG8ynmMGFXQf+Mahvq4ZgBmUwSlLXXymgxEQgH17erH/LoR69uITtW+KTsALgk9axEt5AAabM4ucg==} engines: {node: '>= 10'} cpu: [x64] os: [freebsd] requiresBuild: true optional: true - /@next/swc-linux-arm-gnueabihf/13.0.4: - resolution: {integrity: sha512-s13pxNp9deKmmxEGTp1MoL1e4nf4wbEymEaHgFxUlhoR1OD9tK8oTNrQphQePJgVjzcWmRGH/dX7O9mVkHbU/g==} + /@next/swc-linux-arm-gnueabihf/13.0.5: + resolution: {integrity: sha512-Cye+h3oDT3NDWjACMlRaolL8fokpKie34FlPj9nfoW7bYKmoMBY1d4IO/GgBF+5xEl7HkH0Ny/qex63vQ0pN+A==} engines: {node: '>= 10'} cpu: [arm] os: [linux] requiresBuild: true optional: true - /@next/swc-linux-arm64-gnu/13.0.4: - resolution: {integrity: sha512-Lklo65usNzoYwjX51CpDKOepWVZBdwO49/Jz3djxiYUr2lRtpDVnlfwCvzN+47j3BMVMWtC2ndIi8Q4s3J0v4g==} + /@next/swc-linux-arm64-gnu/13.0.5: + resolution: {integrity: sha512-5BfDS/VoRDR5QUGG9oedOCEZGmV2zxUVFYLUJVPMSMeIgqkjxWQBiG2BUHZI6/LGk9yvHmjx7BTvtBCLtRg6IQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@next/swc-linux-arm64-musl/13.0.4: - resolution: {integrity: sha512-+3BXtXBwjVhd5lahDe5nKZ7EwD6hE/oLFQkITCvgxymU5qYHGlLFyF52/lyw8qhyxoCr7mMVsUFhlCzVwCfNjg==} + /@next/swc-linux-arm64-musl/13.0.5: + resolution: {integrity: sha512-xenvqlXz+KxVKAB1YR723gnVNszpsCvKZkiFFaAYqDGJ502YuqU2fwLsaSm/ASRizNcBYeo9HPLTyc3r/9cdMQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@next/swc-linux-x64-gnu/13.0.4: - resolution: {integrity: sha512-QB8qoZrvHhZsz62nUrTKlp5IiZ8I7KZsaa6437H/W/NOZHLGJjCxROnhUjLvKVe/T5P86pjya2SUOUqWAjz4Pg==} + /@next/swc-linux-x64-gnu/13.0.5: + resolution: {integrity: sha512-9Ahi1bbdXwhrWQmOyoTod23/hhK05da/FzodiNqd6drrMl1y7+RujoEcU8Dtw3H1mGWB+yuTlWo8B4Iba8hqiQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@next/swc-linux-x64-musl/13.0.4: - resolution: {integrity: sha512-WaahF6DYUQRg1QqIMcuOu2ZsFhS3aC5iWeQyeptMHklP9wb4FfTNmBArKHknX/GXD8P9gI38WTAHJ25cc0zVwg==} + /@next/swc-linux-x64-musl/13.0.5: + resolution: {integrity: sha512-V+1mnh49qmS9fOZxVRbzjhBEz9IUGJ7AQ80JPWAYQM5LI4TxfdiF4APLPvJ52rOmNeTqnVz1bbKtVOso+7EZ4w==} engines: {node: '>= 10'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@next/swc-win32-arm64-msvc/13.0.4: - resolution: {integrity: sha512-FD+k1j2jeY0aKcqcpzFKfTsv55PPmIZ5GKDyPjjV5AO6XvQ4nALwWl4JwizjH2426TfLXObb+C3MH0bl9Ok1Kw==} + /@next/swc-win32-arm64-msvc/13.0.5: + resolution: {integrity: sha512-wRE9rkp7I+/3Jf2T9PFIJOKq3adMWYEFkPOA7XAkUfYbQHlDJm/U5cVCWUsKByyQq5RThwufI91sgd19MfxRxg==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] requiresBuild: true optional: true - /@next/swc-win32-ia32-msvc/13.0.4: - resolution: {integrity: sha512-+Q/Q8Ydvz3X3U84CyZdNv1HC7fE43k+xB8C6b3IFmWGa5Tu2tfskQ2FsUNBrYreZjhFC/894J3rVQ6Vj6Auugg==} + /@next/swc-win32-ia32-msvc/13.0.5: + resolution: {integrity: sha512-Q1XQSLEhFuFhkKFdJIGt7cYQ4T3u6P5wrtUNreg5M+7P+fjSiC8+X+Vjcw+oebaacsdl0pWZlK+oACGafush1w==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] requiresBuild: true optional: true - /@next/swc-win32-x64-msvc/13.0.4: - resolution: {integrity: sha512-vXtbo9N1FdtZZRcv4BliU28tTYrkb1EnVpUiiFFe88I6kS9aZVTMY9Z/OtDR52rl1JF1hgs9sL/59D/TQqSATQ==} + /@next/swc-win32-x64-msvc/13.0.5: + resolution: {integrity: sha512-t5gRblrwwiNZP6cT7NkxlgxrFgHWtv9ei5vUraCLgBqzvIsa7X+PnarZUeQCXqz6Jg9JSGGT9j8lvzD97UqeJQ==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -5161,7 +5200,7 @@ packages: util-deprecate: 1.0.2 dev: true - /@storybook/addon-controls/6.5.13_s4hqsayxgev7dbmg6rfftu2eyi: + /@storybook/addon-controls/6.5.13_gpshdmfc4w665ax2rx6w5ydgtu: resolution: {integrity: sha512-lYq3uf2mlVevm0bi6ueL3H6TpUMRYW9s/pTNTVJT225l27kLdFR9wEKxAkCBrlKaTgDLJmzzDRsJE3NLZlR/5Q==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 @@ -5176,7 +5215,7 @@ packages: '@storybook/api': 6.5.13_biqbaboplfbrettd7655fr4n2y '@storybook/client-logger': 6.5.13 '@storybook/components': 6.5.13_biqbaboplfbrettd7655fr4n2y - '@storybook/core-common': 6.5.13_s4hqsayxgev7dbmg6rfftu2eyi + '@storybook/core-common': 6.5.13_gpshdmfc4w665ax2rx6w5ydgtu '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/node-logger': 6.5.13 '@storybook/store': 6.5.13_biqbaboplfbrettd7655fr4n2y @@ -5195,7 +5234,7 @@ packages: - webpack-command dev: true - /@storybook/addon-docs/6.5.13_6orvhpp2bicuudsf4btokp7lou: + /@storybook/addon-docs/6.5.13_gfeskznvl6oz6i7voqpdbhf2xy: resolution: {integrity: sha512-RG/NjsheD9FixZ789RJlNyNccaR2Cuy7CtAwph4oUNi3aDFjtOI8Oe9L+FOT7qtVnZLw/YMjF+pZxoDqJNKLPw==} peerDependencies: '@storybook/mdx2-csf': ^0.0.3 @@ -5216,7 +5255,7 @@ packages: '@storybook/addons': 6.5.13_biqbaboplfbrettd7655fr4n2y '@storybook/api': 6.5.13_biqbaboplfbrettd7655fr4n2y '@storybook/components': 6.5.13_biqbaboplfbrettd7655fr4n2y - '@storybook/core-common': 6.5.13_s4hqsayxgev7dbmg6rfftu2eyi + '@storybook/core-common': 6.5.13_gpshdmfc4w665ax2rx6w5ydgtu '@storybook/core-events': 6.5.13 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/docs-tools': 6.5.13_biqbaboplfbrettd7655fr4n2y @@ -5250,7 +5289,7 @@ packages: - webpack-command dev: true - /@storybook/addon-essentials/6.5.13_umcccjscsozh2kacy3kydywx3q: + /@storybook/addon-essentials/6.5.13_ggaoyc47wy3ua4t6by2tzv2uxi: resolution: {integrity: sha512-G9FVAWV7ixjVLWeLgIX+VT90tcAk6yQxfZQegfg5ucRilGysJCDaNnoab4xuuvm1R40TfFhba3iAGZtQYsddmw==} peerDependencies: '@babel/core': ^7.9.6 @@ -5310,16 +5349,16 @@ packages: '@babel/core': 7.20.2 '@storybook/addon-actions': 6.5.13_biqbaboplfbrettd7655fr4n2y '@storybook/addon-backgrounds': 6.5.13_biqbaboplfbrettd7655fr4n2y - '@storybook/addon-controls': 6.5.13_s4hqsayxgev7dbmg6rfftu2eyi - '@storybook/addon-docs': 6.5.13_6orvhpp2bicuudsf4btokp7lou + '@storybook/addon-controls': 6.5.13_gpshdmfc4w665ax2rx6w5ydgtu + '@storybook/addon-docs': 6.5.13_gfeskznvl6oz6i7voqpdbhf2xy '@storybook/addon-measure': 6.5.13_biqbaboplfbrettd7655fr4n2y '@storybook/addon-outline': 6.5.13_biqbaboplfbrettd7655fr4n2y '@storybook/addon-toolbars': 6.5.13_biqbaboplfbrettd7655fr4n2y '@storybook/addon-viewport': 6.5.13_biqbaboplfbrettd7655fr4n2y '@storybook/addons': 6.5.13_biqbaboplfbrettd7655fr4n2y '@storybook/api': 6.5.13_biqbaboplfbrettd7655fr4n2y - '@storybook/builder-webpack5': 6.5.13_s4hqsayxgev7dbmg6rfftu2eyi - '@storybook/core-common': 6.5.13_s4hqsayxgev7dbmg6rfftu2eyi + '@storybook/builder-webpack5': 6.5.13_gpshdmfc4w665ax2rx6w5ydgtu + '@storybook/core-common': 6.5.13_gpshdmfc4w665ax2rx6w5ydgtu '@storybook/node-logger': 6.5.13 core-js: 3.26.0 react: 18.2.0 @@ -5337,7 +5376,7 @@ packages: - webpack-command dev: true - /@storybook/addon-interactions/6.5.13_vcbktvupb3nrz536jx5pquykfm: + /@storybook/addon-interactions/6.5.13_ivdudmvvzzsf6tsttamhsg5viq: resolution: {integrity: sha512-FPOeS7AT/Odxl6z7E0qYI4F0Sh06jFRttRvSgpKC5P2lYUWUstLP5TC8N+F5ijBeLfIdIsf5zBK7l5Y/cluueg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 @@ -5353,7 +5392,7 @@ packages: '@storybook/api': 6.5.13_biqbaboplfbrettd7655fr4n2y '@storybook/client-logger': 6.5.13 '@storybook/components': 6.5.13_biqbaboplfbrettd7655fr4n2y - '@storybook/core-common': 6.5.13_s4hqsayxgev7dbmg6rfftu2eyi + '@storybook/core-common': 6.5.13_gpshdmfc4w665ax2rx6w5ydgtu '@storybook/core-events': 6.5.13 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/instrumenter': 6.5.13_biqbaboplfbrettd7655fr4n2y @@ -5533,7 +5572,7 @@ packages: global: 4.4.0 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - regenerator-runtime: 0.13.10 + regenerator-runtime: 0.13.11 dev: true /@storybook/api/6.5.12_biqbaboplfbrettd7655fr4n2y: @@ -5556,7 +5595,7 @@ packages: memoizerific: 1.11.3 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - regenerator-runtime: 0.13.10 + regenerator-runtime: 0.13.11 store2: 2.14.2 telejson: 6.0.8 ts-dedent: 2.2.0 @@ -5610,14 +5649,14 @@ packages: memoizerific: 1.11.3 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - regenerator-runtime: 0.13.10 + regenerator-runtime: 0.13.11 store2: 2.14.2 telejson: 6.0.8 ts-dedent: 2.2.0 util-deprecate: 1.0.2 dev: true - /@storybook/builder-webpack4/6.5.13_s4hqsayxgev7dbmg6rfftu2eyi: + /@storybook/builder-webpack4/6.5.13_gpshdmfc4w665ax2rx6w5ydgtu: resolution: {integrity: sha512-Agqy3IKPv3Nl8QqdS7PjtqLp+c0BD8+/3A2ki/YfKqVz+F+J34EpbZlh3uU053avm1EoNQHSmhZok3ZlWH6O7A==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 @@ -5635,7 +5674,7 @@ packages: '@storybook/client-api': 6.5.13_biqbaboplfbrettd7655fr4n2y '@storybook/client-logger': 6.5.13 '@storybook/components': 6.5.13_biqbaboplfbrettd7655fr4n2y - '@storybook/core-common': 6.5.13_s4hqsayxgev7dbmg6rfftu2eyi + '@storybook/core-common': 6.5.13_gpshdmfc4w665ax2rx6w5ydgtu '@storybook/core-events': 6.5.13 '@storybook/node-logger': 6.5.13 '@storybook/preview-web': 6.5.13_biqbaboplfbrettd7655fr4n2y @@ -5653,7 +5692,7 @@ packages: css-loader: 3.6.0_webpack@4.46.0 file-loader: 6.2.0_webpack@4.46.0 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 4.1.6_nh7kisgxcfib7qeetfrkne66xa + fork-ts-checker-webpack-plugin: 4.1.6_2yqjpsxjcwhf26ay4mtn5wajne glob: 7.2.3 glob-promise: 3.4.0_glob@7.2.3 global: 4.4.0 @@ -5686,7 +5725,7 @@ packages: - webpack-command dev: true - /@storybook/builder-webpack5/6.5.13_s4hqsayxgev7dbmg6rfftu2eyi: + /@storybook/builder-webpack5/6.5.13_gpshdmfc4w665ax2rx6w5ydgtu: resolution: {integrity: sha512-juNH31ZljWbaoBD6Yx2/iQ4G66UBkwq+cFUqLzgVROKMXmYaT0AJYbfyY8CgGqcXkc+sqNA63yWaLWd8/K9vTg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 @@ -5704,7 +5743,7 @@ packages: '@storybook/client-api': 6.5.13_biqbaboplfbrettd7655fr4n2y '@storybook/client-logger': 6.5.13 '@storybook/components': 6.5.13_biqbaboplfbrettd7655fr4n2y - '@storybook/core-common': 6.5.13_s4hqsayxgev7dbmg6rfftu2eyi + '@storybook/core-common': 6.5.13_gpshdmfc4w665ax2rx6w5ydgtu '@storybook/core-events': 6.5.13 '@storybook/node-logger': 6.5.13 '@storybook/preview-web': 6.5.13_biqbaboplfbrettd7655fr4n2y @@ -5719,7 +5758,7 @@ packages: case-sensitive-paths-webpack-plugin: 2.4.0 core-js: 3.26.0 css-loader: 5.2.7_webpack@5.75.0 - fork-ts-checker-webpack-plugin: 6.5.2_bhjilrwoi7zg2tms4gfledt524 + fork-ts-checker-webpack-plugin: 6.5.2_fwd4bdvtlcwk7dnkbybkcmtpo4 glob: 7.2.3 glob-promise: 3.4.0_glob@7.2.3 html-webpack-plugin: 5.5.0_webpack@5.75.0 @@ -5937,7 +5976,7 @@ packages: webpack: 5.75.0 dev: true - /@storybook/core-common/6.5.13_s4hqsayxgev7dbmg6rfftu2eyi: + /@storybook/core-common/6.5.13_gpshdmfc4w665ax2rx6w5ydgtu: resolution: {integrity: sha512-+DVZrRsteE9pw0X5MNffkdBgejQnbnL+UOG3qXkE9xxUamQALnuqS/w1BzpHE9WmOHuf7RWMKflyQEW3OLKAJg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 @@ -5981,7 +6020,7 @@ packages: express: 4.18.2 file-system-cache: 1.1.0 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.2_nh7kisgxcfib7qeetfrkne66xa + fork-ts-checker-webpack-plugin: 6.5.2_2yqjpsxjcwhf26ay4mtn5wajne fs-extra: 9.1.0 glob: 7.2.3 handlebars: 4.7.7 @@ -6026,7 +6065,7 @@ packages: core-js: 3.26.0 dev: true - /@storybook/core-server/6.5.13_lrb4rharc5yx4sekeajplmwyz4: + /@storybook/core-server/6.5.13_bugjgtzxlvoxlp3jfb73mh42oe: resolution: {integrity: sha512-vs7tu3kAnFwuINio1p87WyqDNlFyZESmeh9s7vvrZVbe/xS/ElqDscr9DT5seW+jbtxufAaHsx+JUTver1dheQ==} peerDependencies: '@storybook/builder-webpack5': '*' @@ -6043,19 +6082,19 @@ packages: optional: true dependencies: '@discoveryjs/json-ext': 0.5.7 - '@storybook/builder-webpack4': 6.5.13_s4hqsayxgev7dbmg6rfftu2eyi - '@storybook/builder-webpack5': 6.5.13_s4hqsayxgev7dbmg6rfftu2eyi + '@storybook/builder-webpack4': 6.5.13_gpshdmfc4w665ax2rx6w5ydgtu + '@storybook/builder-webpack5': 6.5.13_gpshdmfc4w665ax2rx6w5ydgtu '@storybook/core-client': 6.5.13_5ey2xofmun3swml4ceosmuhnmq - '@storybook/core-common': 6.5.13_s4hqsayxgev7dbmg6rfftu2eyi + '@storybook/core-common': 6.5.13_gpshdmfc4w665ax2rx6w5ydgtu '@storybook/core-events': 6.5.13 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/csf-tools': 6.5.13 - '@storybook/manager-webpack4': 6.5.13_s4hqsayxgev7dbmg6rfftu2eyi - '@storybook/manager-webpack5': 6.5.13_s4hqsayxgev7dbmg6rfftu2eyi + '@storybook/manager-webpack4': 6.5.13_gpshdmfc4w665ax2rx6w5ydgtu + '@storybook/manager-webpack5': 6.5.13_gpshdmfc4w665ax2rx6w5ydgtu '@storybook/node-logger': 6.5.13 '@storybook/semver': 7.3.2 '@storybook/store': 6.5.13_biqbaboplfbrettd7655fr4n2y - '@storybook/telemetry': 6.5.13_s4hqsayxgev7dbmg6rfftu2eyi + '@storybook/telemetry': 6.5.13_gpshdmfc4w665ax2rx6w5ydgtu '@types/node': 16.11.45 '@types/node-fetch': 2.6.2 '@types/pretty-hrtime': 1.0.1 @@ -6081,7 +6120,7 @@ packages: prompts: 2.4.2 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - regenerator-runtime: 0.13.10 + regenerator-runtime: 0.13.11 serve-favicon: 2.5.0 slash: 3.0.0 telejson: 6.0.8 @@ -6105,7 +6144,7 @@ packages: - webpack-command dev: true - /@storybook/core/6.5.13_b76jomymgzscf2ddakwqnbje5i: + /@storybook/core/6.5.13_ihynli3r3rvrkbmo2u6ey6cdfq: resolution: {integrity: sha512-kw1lCgbsxzUimGww6t5rmuWJmFPe9kGGyzIqvj4RC4BBcEsP40LEu9XhSfvnb8vTOLIULFZeZpdRFfJs4TYbUw==} peerDependencies: '@storybook/builder-webpack5': '*' @@ -6122,10 +6161,10 @@ packages: typescript: optional: true dependencies: - '@storybook/builder-webpack5': 6.5.13_s4hqsayxgev7dbmg6rfftu2eyi + '@storybook/builder-webpack5': 6.5.13_gpshdmfc4w665ax2rx6w5ydgtu '@storybook/core-client': 6.5.13_ep3nicfz4qcahezcs7kmkfeniq - '@storybook/core-server': 6.5.13_lrb4rharc5yx4sekeajplmwyz4 - '@storybook/manager-webpack5': 6.5.13_s4hqsayxgev7dbmg6rfftu2eyi + '@storybook/core-server': 6.5.13_bugjgtzxlvoxlp3jfb73mh42oe + '@storybook/manager-webpack5': 6.5.13_gpshdmfc4w665ax2rx6w5ydgtu react: 18.2.0 react-dom: 18.2.0_react@18.2.0 typescript: 4.9.3 @@ -6163,7 +6202,7 @@ packages: core-js: 3.26.0 fs-extra: 9.1.0 global: 4.4.0 - regenerator-runtime: 0.13.10 + regenerator-runtime: 0.13.11 ts-dedent: 2.2.0 transitivePeerDependencies: - supports-color @@ -6229,7 +6268,7 @@ packages: - react-dom dev: true - /@storybook/manager-webpack4/6.5.13_s4hqsayxgev7dbmg6rfftu2eyi: + /@storybook/manager-webpack4/6.5.13_gpshdmfc4w665ax2rx6w5ydgtu: resolution: {integrity: sha512-pURzS5W3XM0F7bCBWzpl7TRsuy+OXFwLXiWLaexuvo0POZe31Ueo2A1R4rx3MT5Iee8O9mYvG2XTmvK9MlLefQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 @@ -6244,7 +6283,7 @@ packages: '@babel/preset-react': 7.18.6_@babel+core@7.20.2 '@storybook/addons': 6.5.13_biqbaboplfbrettd7655fr4n2y '@storybook/core-client': 6.5.13_5ey2xofmun3swml4ceosmuhnmq - '@storybook/core-common': 6.5.13_s4hqsayxgev7dbmg6rfftu2eyi + '@storybook/core-common': 6.5.13_gpshdmfc4w665ax2rx6w5ydgtu '@storybook/node-logger': 6.5.13 '@storybook/theming': 6.5.13_biqbaboplfbrettd7655fr4n2y '@storybook/ui': 6.5.13_biqbaboplfbrettd7655fr4n2y @@ -6265,7 +6304,7 @@ packages: react: 18.2.0 react-dom: 18.2.0_react@18.2.0 read-pkg-up: 7.0.1 - regenerator-runtime: 0.13.10 + regenerator-runtime: 0.13.11 resolve-from: 5.0.0 style-loader: 1.3.0_webpack@4.46.0 telejson: 6.0.8 @@ -6287,7 +6326,7 @@ packages: - webpack-command dev: true - /@storybook/manager-webpack5/6.5.13_s4hqsayxgev7dbmg6rfftu2eyi: + /@storybook/manager-webpack5/6.5.13_gpshdmfc4w665ax2rx6w5ydgtu: resolution: {integrity: sha512-lQEZacSfeRsbqfJE7TVk35Hm1vkr0I2i1pyYqM+4862gRbMh1nJQXbJ5GqZ+Fo/bf0ZfyFZ32jGDIJAFdlpkuQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 @@ -6302,7 +6341,7 @@ packages: '@babel/preset-react': 7.18.6_@babel+core@7.20.2 '@storybook/addons': 6.5.13_biqbaboplfbrettd7655fr4n2y '@storybook/core-client': 6.5.13_ep3nicfz4qcahezcs7kmkfeniq - '@storybook/core-common': 6.5.13_s4hqsayxgev7dbmg6rfftu2eyi + '@storybook/core-common': 6.5.13_gpshdmfc4w665ax2rx6w5ydgtu '@storybook/node-logger': 6.5.13 '@storybook/theming': 6.5.13_biqbaboplfbrettd7655fr4n2y '@storybook/ui': 6.5.13_biqbaboplfbrettd7655fr4n2y @@ -6424,7 +6463,7 @@ packages: - supports-color dev: true - /@storybook/react/6.5.13_v4jjm24djpoj4yog7pcvrvfzne: + /@storybook/react/6.5.13_otevjqym6vjxr44enzkwargpjq: resolution: {integrity: sha512-4gO8qihEkVZ8RNm9iQd7G2iZz4rRAHizJ6T5m58Sn21fxfyg9zAMzhgd0JzXuPXR8lTTj4AvRyPv1Qx7b43smg==} engines: {node: '>=10.13.0'} hasBin: true @@ -6457,13 +6496,13 @@ packages: '@babel/preset-react': 7.18.6_@babel+core@7.20.2 '@pmmmwh/react-refresh-webpack-plugin': 0.5.8_b55igmbf5xgiivp6m2jrxoxcxm '@storybook/addons': 6.5.13_biqbaboplfbrettd7655fr4n2y - '@storybook/builder-webpack5': 6.5.13_s4hqsayxgev7dbmg6rfftu2eyi + '@storybook/builder-webpack5': 6.5.13_gpshdmfc4w665ax2rx6w5ydgtu '@storybook/client-logger': 6.5.13 - '@storybook/core': 6.5.13_b76jomymgzscf2ddakwqnbje5i - '@storybook/core-common': 6.5.13_s4hqsayxgev7dbmg6rfftu2eyi + '@storybook/core': 6.5.13_ihynli3r3rvrkbmo2u6ey6cdfq + '@storybook/core-common': 6.5.13_gpshdmfc4w665ax2rx6w5ydgtu '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/docs-tools': 6.5.13_biqbaboplfbrettd7655fr4n2y - '@storybook/manager-webpack5': 6.5.13_s4hqsayxgev7dbmg6rfftu2eyi + '@storybook/manager-webpack5': 6.5.13_gpshdmfc4w665ax2rx6w5ydgtu '@storybook/node-logger': 6.5.13 '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0_vfotqvx6lgcbf3upbs6hgaza4q '@storybook/semver': 7.3.2 @@ -6528,7 +6567,7 @@ packages: qs: 6.11.0 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - regenerator-runtime: 0.13.10 + regenerator-runtime: 0.13.11 dev: true /@storybook/router/6.5.13_biqbaboplfbrettd7655fr4n2y: @@ -6558,7 +6597,7 @@ packages: qs: 6.11.0 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - regenerator-runtime: 0.13.10 + regenerator-runtime: 0.13.11 dev: true /@storybook/semver/7.3.2: @@ -6587,7 +6626,7 @@ packages: prettier: 2.3.0 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - regenerator-runtime: 0.13.10 + regenerator-runtime: 0.13.11 dev: true /@storybook/store/6.5.13_biqbaboplfbrettd7655fr4n2y: @@ -6615,11 +6654,11 @@ packages: util-deprecate: 1.0.2 dev: true - /@storybook/telemetry/6.5.13_s4hqsayxgev7dbmg6rfftu2eyi: + /@storybook/telemetry/6.5.13_gpshdmfc4w665ax2rx6w5ydgtu: resolution: {integrity: sha512-PFJEfGbunmfFWabD3rdCF8EHH+45578OHOkMPpXJjqXl94vPQxUH2XTVKQgEQJbYrgX0Vx9Z4tSkdMHuzYDbWQ==} dependencies: '@storybook/client-logger': 6.5.13 - '@storybook/core-common': 6.5.13_s4hqsayxgev7dbmg6rfftu2eyi + '@storybook/core-common': 6.5.13_gpshdmfc4w665ax2rx6w5ydgtu chalk: 4.1.2 core-js: 3.26.0 detect-package-manager: 2.0.1 @@ -6629,7 +6668,7 @@ packages: isomorphic-unfetch: 3.1.0 nanoid: 3.3.4 read-pkg-up: 7.0.1 - regenerator-runtime: 0.13.10 + regenerator-runtime: 0.13.11 transitivePeerDependencies: - encoding - eslint @@ -6673,7 +6712,7 @@ packages: optional: true dependencies: '@storybook/csf': 0.0.2--canary.87bc651.0 - '@storybook/react': 6.5.13_v4jjm24djpoj4yog7pcvrvfzne + '@storybook/react': 6.5.13_otevjqym6vjxr44enzkwargpjq react: 18.2.0 dev: true @@ -6688,7 +6727,7 @@ packages: memoizerific: 1.11.3 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - regenerator-runtime: 0.13.10 + regenerator-runtime: 0.13.11 dev: true /@storybook/theming/6.5.13_biqbaboplfbrettd7655fr4n2y: @@ -6716,7 +6755,7 @@ packages: memoizerific: 1.11.3 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - regenerator-runtime: 0.13.10 + regenerator-runtime: 0.13.11 dev: true /@storybook/ui/6.5.13_biqbaboplfbrettd7655fr4n2y: @@ -6743,8 +6782,8 @@ packages: resolve-from: 5.0.0 dev: true - /@swc/helpers/0.4.11: - resolution: {integrity: sha512-rEUrBSGIoSFuYxwBYtlUFMlE2CwGhmW+w9355/5oduSw8e5h2+Tj4UrAGNNgP9915++wj5vkQo0UuOBqOAq4nw==} + /@swc/helpers/0.4.14: + resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} dependencies: tslib: 2.4.1 @@ -6782,6 +6821,28 @@ packages: tailwindcss: 3.2.4_postcss@8.4.19 dev: false + /@tanstack/query-core/4.15.1: + resolution: {integrity: sha512-+UfqJsNbPIVo0a9ANW0ZxtjiMfGLaaoIaL9vZeVycvmBuWywJGtSi7fgPVMCPdZQFOzMsaXaOsDtSKQD5xLRVQ==} + dev: false + + /@tanstack/react-query/4.16.1_biqbaboplfbrettd7655fr4n2y: + resolution: {integrity: sha512-PDE9u49wSDykPazlCoLFevUpceLjQ0Mm8i6038HgtTEKb/aoVnUZdlUP7C392ds3Cd75+EGlHU7qpEX06R7d9Q==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 + react-native: '*' + peerDependenciesMeta: + react-dom: + optional: true + react-native: + optional: true + dependencies: + '@tanstack/query-core': 4.15.1 + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + use-sync-external-store: 1.2.0_react@18.2.0 + dev: false + /@tensorflow-models/toxicity/1.2.2_ce7e77rhh6oipcy6kxvkentnmi: resolution: {integrity: sha512-DSMIoBzNyX7+4D4cGKjsFLbCuJz3bksYpwFHKAjTp4+tmgAGpNyg5nDXXI/IQp18nMTbLKgLruLWOxq5y7P4WQ==} peerDependencies: @@ -6987,260 +7048,260 @@ packages: optional: true dev: true - /@tiptap/core/2.0.0-beta.202: - resolution: {integrity: sha512-KnOcZBtkWoDT7EsVLiJr9DyBnQcKJQHI8kOhNIL0snUrksr25q8xBW05iYqw6cGAF7iu1cFM80VikfgefsZUpw==} + /@tiptap/core/2.0.0-beta.203: + resolution: {integrity: sha512-iRkFv4jjRtI7b18quyO3C8rilD8T24S3KYrZ3idRRw+ifO0dTeuDsRKjlcDT815zJRYdz99s5/lGq2ES0vC2gA==} dependencies: prosemirror-commands: 1.3.1 prosemirror-keymap: 1.2.0 - prosemirror-model: 1.18.1 + prosemirror-model: 1.18.3 prosemirror-schema-list: 1.2.2 prosemirror-state: 1.4.2 prosemirror-transform: 1.7.0 - prosemirror-view: 1.29.0 + prosemirror-view: 1.29.1 - /@tiptap/extension-blockquote/2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu: - resolution: {integrity: sha512-weLbMxM7VfI4hJsThw1+mB4jbQnVFizmzRlGU40LKMzEU5yIgIhuaomQ02Z7V0cRgfXsoKX9oc0BYGiO0Ra6/g==} + /@tiptap/extension-blockquote/2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4: + resolution: {integrity: sha512-e8jE9AZ5L21AO6exMxFWFgU0c0ygxWVcuYJRMiThNhj38NWCNoHGHDqXbOjh2kM9NoRnad9erFuilVgYRmXcTw==} peerDependencies: '@tiptap/core': ^2.0.0-beta.1 dependencies: - '@tiptap/core': 2.0.0-beta.202 + '@tiptap/core': 2.0.0-beta.203 dev: false - /@tiptap/extension-bold/2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu: - resolution: {integrity: sha512-AsfoChIleoSbY9gAuhbLF8BAEhHPrRKofmU09xJ62SBkL1rtgci8YzJYhL9leQCM4n1MQZEDeVf0ho75HeTPMA==} + /@tiptap/extension-bold/2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4: + resolution: {integrity: sha512-MuhBt7O44hJZ/5N42wVSN/9YB0iXkFgRkltbXPaWDqrXQjbZh9NRXMbQw7pOuW+3gn4NmUP5cd6pe9qHII1MtA==} peerDependencies: '@tiptap/core': ^2.0.0-beta.193 dependencies: - '@tiptap/core': 2.0.0-beta.202 + '@tiptap/core': 2.0.0-beta.203 dev: false - /@tiptap/extension-bubble-menu/2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu: - resolution: {integrity: sha512-Xa0BO5liIHitaxj70JbbmiC70Yg9+EcF9airfI32uOFNHwgEKyXVb5MRyQadRSmXnwPMPLVGWgf3Kg/5rnDqeg==} + /@tiptap/extension-bubble-menu/2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4: + resolution: {integrity: sha512-5EdYWCi6SyKVpY6xPqD5S0u7Jz8CG/FjgnFng0FBBJ2dCvxbeVdwTWL/WwN3KmIkY8T91ScQtbJb0bruC+GIUw==} peerDependencies: '@tiptap/core': ^2.0.0-beta.193 dependencies: - '@tiptap/core': 2.0.0-beta.202 + '@tiptap/core': 2.0.0-beta.203 prosemirror-state: 1.4.2 - prosemirror-view: 1.29.0 + prosemirror-view: 1.29.1 tippy.js: 6.3.7 - /@tiptap/extension-bullet-list/2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu: - resolution: {integrity: sha512-Su+GvRGyW9FTBtcFjvNkkYwzDRo+1O2YTNOZi1Z/OkDqbg3g89kRue78avs0nHW7HEgdhCap+z8KtAPrie4eBg==} + /@tiptap/extension-bullet-list/2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4: + resolution: {integrity: sha512-u9uY4XL0y9cIwEsm8008fpMPGXr9IVxbbmRXGh19oRnBPS1C3vnxGmgThrXojYwEWkp+5NimoH/E6ljUbuNbBQ==} peerDependencies: '@tiptap/core': ^2.0.0-beta.193 dependencies: - '@tiptap/core': 2.0.0-beta.202 + '@tiptap/core': 2.0.0-beta.203 dev: false - /@tiptap/extension-code-block/2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu: - resolution: {integrity: sha512-tfK9khIroGjsXQvk2K/9z1/UyQrB4+zghkjyK1xikzRmhgfOeqQzA0TDrFrz7ywFXmSFQ7GnnYAp+RW6r6wyUg==} + /@tiptap/extension-code-block/2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4: + resolution: {integrity: sha512-wXN1POlJBA9NG0eTKRGoBQFX40+TQUvfYi3i1mDk47sNdtbITJIFR3WRkljqSWrFbKdLFKPADUaQ+k6f2KZm/w==} peerDependencies: '@tiptap/core': ^2.0.0-beta.193 dependencies: - '@tiptap/core': 2.0.0-beta.202 + '@tiptap/core': 2.0.0-beta.203 prosemirror-state: 1.4.2 dev: false - /@tiptap/extension-code/2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu: - resolution: {integrity: sha512-XwAr7ysSWJVZWHNXDaNBTPH1CTyVxHnPv/PiCWTGhf8Fkx7R7xW2QCUKx4ablwxFlTY7H8xGmCujaewUQBdO5w==} + /@tiptap/extension-code/2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4: + resolution: {integrity: sha512-iYC26EI4V4aAh10dq6LuCbPgHHrNCURotn2jA90fOjFnCspIuAXdQsPPV6syCLIIUdjFT8t/dscijlhzMYzVOg==} peerDependencies: '@tiptap/core': ^2.0.0-beta.193 dependencies: - '@tiptap/core': 2.0.0-beta.202 + '@tiptap/core': 2.0.0-beta.203 dev: false - /@tiptap/extension-document/2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu: - resolution: {integrity: sha512-UsDSe93QtnuDrUo11wYCMtp7XlTIBvL5HNhx+enLRY7B8nUhX+d78u1BzspTpCkMYKcdwDmAGfIYMqqPViPEvA==} + /@tiptap/extension-document/2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4: + resolution: {integrity: sha512-H0HyFvnlMl0dHujGO+/+xjmOgu3aTslWVNLT2hOxBvfCAwW4hLmxQVaaMr+75so68rr1ndTPGUnPtXlQHvtzbA==} peerDependencies: '@tiptap/core': ^2.0.0-beta.193 dependencies: - '@tiptap/core': 2.0.0-beta.202 + '@tiptap/core': 2.0.0-beta.203 dev: false - /@tiptap/extension-dropcursor/2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu: - resolution: {integrity: sha512-4Q3LnqvMnxP0KdX7tIgCoTCKg949rg351m0wguVb1bo4v9lA0zfJpSgqjQ1Xs2vaYVBwkFjLoqrfhTRn5mnopQ==} + /@tiptap/extension-dropcursor/2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4: + resolution: {integrity: sha512-oR4WjZdNcxYeYuKDzugMgEZGH7c6uzkV6InewPpHSuKVcbzjF1HbS/EHgpBSRFvLRYJ+nrbJMzERLWn9ZS5njA==} peerDependencies: '@tiptap/core': ^2.0.0-beta.193 dependencies: - '@tiptap/core': 2.0.0-beta.202 + '@tiptap/core': 2.0.0-beta.203 prosemirror-dropcursor: 1.5.0 dev: false - /@tiptap/extension-floating-menu/2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu: - resolution: {integrity: sha512-09liirOFsPDFRLS2FiFdnfzyyOQwwyVXLzI6MzUOw5RZbOsGJ5kB8jZdkXvsAIiOs0YYsH3fyOyWirIwSRhBTQ==} + /@tiptap/extension-floating-menu/2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4: + resolution: {integrity: sha512-QiWXX9vmDTvP6jo/lwZpQ/7Sf2XCeD1RQQmWIC+cohfxdd606dMVvFhYt8OofjoWn+e4uxobEtfxkvA418zUkg==} peerDependencies: '@tiptap/core': ^2.0.0-beta.193 dependencies: - '@tiptap/core': 2.0.0-beta.202 + '@tiptap/core': 2.0.0-beta.203 prosemirror-state: 1.4.2 - prosemirror-view: 1.29.0 + prosemirror-view: 1.29.1 tippy.js: 6.3.7 - /@tiptap/extension-gapcursor/2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu: - resolution: {integrity: sha512-jOPMPPnTfVuc5YpFTcQM42/cg1J3+OeHitYb1/vBMpaNinVijuafsK14xDoVP8+sydKVgtBzYkfP/faN82I9iA==} + /@tiptap/extension-gapcursor/2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4: + resolution: {integrity: sha512-HwY2dwAyIBOy+V2+Dbyw59POtAxz7UER9R470SGabi9/M7rBhZYrzL0gs+V9OB4AH1OO5hib02l8Dcnq+KKF7A==} peerDependencies: '@tiptap/core': ^2.0.0-beta.193 dependencies: - '@tiptap/core': 2.0.0-beta.202 + '@tiptap/core': 2.0.0-beta.203 prosemirror-gapcursor: 1.3.1 dev: false - /@tiptap/extension-hard-break/2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu: - resolution: {integrity: sha512-Nr9BXeP+dXS5vLP/C2voTrhl+4YkDHBtPlc+5xm5NPBn04slTGSPO2lgV3YrMsfUOMNXHqeob1lq4qiLF4pybQ==} + /@tiptap/extension-hard-break/2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4: + resolution: {integrity: sha512-FfMufoiIwzNTsTZkb6qaNpJbyh6dOYagnGzlDmjyvc6+wqdJWE4sxwVAcMO0j1tvCdkaozWeWSuJzYv4xZKMFA==} peerDependencies: '@tiptap/core': ^2.0.0-beta.193 dependencies: - '@tiptap/core': 2.0.0-beta.202 + '@tiptap/core': 2.0.0-beta.203 dev: false - /@tiptap/extension-heading/2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu: - resolution: {integrity: sha512-sF271jSWHgtoJLDNFLS7eyUcUStl7mBDQNJIENWVI+lFu2Ax8GmO7AoB74Q6L5Zaw4h73L6TAvaafHIXurz7tA==} + /@tiptap/extension-heading/2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4: + resolution: {integrity: sha512-pjBQNwWya+eGffesgn/Fz+7xC+RoiRVNo5xjahZVSP2MVZwbvcq/UV+fIut1nu9WJgPfAPkYnBSXmbPp0SRB0g==} peerDependencies: '@tiptap/core': ^2.0.0-beta.193 dependencies: - '@tiptap/core': 2.0.0-beta.202 + '@tiptap/core': 2.0.0-beta.203 dev: false - /@tiptap/extension-history/2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu: - resolution: {integrity: sha512-BLwaOWmFHBQjOonojYHl1Po27IHxgjSAPw+ijMKtKzqa2msJRJevjC4tBaX5s/YrB7PQ2tFE7rfJED4HLjBm6w==} + /@tiptap/extension-history/2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4: + resolution: {integrity: sha512-3gaplasYTuHepP1gnP/p5qjN5Sz9QudXz3Vue+2j1XulTFDjoB83j4FSujnAPshw2hePXNxv1mdHeeJ219Odxw==} peerDependencies: '@tiptap/core': ^2.0.0-beta.193 dependencies: - '@tiptap/core': 2.0.0-beta.202 + '@tiptap/core': 2.0.0-beta.203 prosemirror-history: 1.3.0 dev: false - /@tiptap/extension-horizontal-rule/2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu: - resolution: {integrity: sha512-ut2Im/TNQynnuqdoY9yOjMDUKmxn97ERVEpqcQSaIgqBuF6bjk60Wa13ob6oS2g6vqXxwWFrnQVz48A9TcF5FQ==} + /@tiptap/extension-horizontal-rule/2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4: + resolution: {integrity: sha512-mvERa4IfFBPVG1he1b+urtQD8mk9nGzZif9yPMfcpDIW8ewJv/MUH/mEASxZbb7cqXOMAWZqp1rVpH/MLBgtfw==} peerDependencies: '@tiptap/core': ^2.0.0-beta.193 dependencies: - '@tiptap/core': 2.0.0-beta.202 + '@tiptap/core': 2.0.0-beta.203 prosemirror-state: 1.4.2 dev: false - /@tiptap/extension-image/2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu: - resolution: {integrity: sha512-aHPJMXuoMgToTYkGZsz2ue8gKzes+B92qb9lVRYlY9f+r/tC2K4q3HMtx6qvh8l4Dei5/yeV9TqliY79E9A5dg==} + /@tiptap/extension-image/2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4: + resolution: {integrity: sha512-Oi3WBtWTkKjn3Abz/1nc4MuBtTnaFkF+eiNe9LVc7ro+GMkzRzAXYo+KZsZjOnss5Gzu1lTefgdwdNgfC6rvPQ==} peerDependencies: '@tiptap/core': ^2.0.0-beta.193 dependencies: - '@tiptap/core': 2.0.0-beta.202 + '@tiptap/core': 2.0.0-beta.203 dev: false - /@tiptap/extension-italic/2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu: - resolution: {integrity: sha512-vgSLy4KDp6AmnAHLHXe/nWeNbLnyUXxmf4U4+esebAV5Hu2F7LgceknFt9D8AGEtYUU+/fYKSeE2NGJgTQG9lA==} + /@tiptap/extension-italic/2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4: + resolution: {integrity: sha512-7X/Z6V2DnziNfHhIoCLHI+EKQoaz0nyjPvNvs7wfSno6LTYUz33bXBpPF7gNZPyBJK/F/znC2Mg2l6XzcI7c+g==} peerDependencies: '@tiptap/core': ^2.0.0-beta.193 dependencies: - '@tiptap/core': 2.0.0-beta.202 + '@tiptap/core': 2.0.0-beta.203 dev: false - /@tiptap/extension-link/2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu: - resolution: {integrity: sha512-/9bZd43dMkzmo7SCCDtEscgdFKCat9yZAyAyg+PHYdhI8Lbqv5GfjxzBbx58v7jEP1eDKFnwTDFVwAsxCE9f0w==} + /@tiptap/extension-link/2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4: + resolution: {integrity: sha512-eU/kDiI1BAL4Q2WZjVfh6FNQT7FU40CltD0mTj2r88XPByzURP1cs49E8f4TLf1Z8IyYkXkSCD84M2r0oULsgA==} peerDependencies: '@tiptap/core': ^2.0.0-beta.193 dependencies: - '@tiptap/core': 2.0.0-beta.202 + '@tiptap/core': 2.0.0-beta.203 linkifyjs: 3.0.5 - prosemirror-model: 1.18.1 + prosemirror-model: 1.18.3 prosemirror-state: 1.4.2 dev: false - /@tiptap/extension-list-item/2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu: - resolution: {integrity: sha512-15yAsO+CCM8ievdX4oxg8kMBVFqhzVAw7pU6E8KL76kIwWCIIyVW6hU3VZdglyBVnAG0ws5/DaZ4VRFtVPRDvg==} + /@tiptap/extension-list-item/2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4: + resolution: {integrity: sha512-hfVxILSkLGKH4AVkj1imyHu1hAJjV6gWPDm7zQDi9MtQEoxU3fH+5nLwedsrveDZZHguwjHc/B+JyGcljzVeeg==} peerDependencies: '@tiptap/core': ^2.0.0-beta.193 dependencies: - '@tiptap/core': 2.0.0-beta.202 + '@tiptap/core': 2.0.0-beta.203 dev: false - /@tiptap/extension-ordered-list/2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu: - resolution: {integrity: sha512-PpJn8EtS8MLZ4NN9R3crmrivbjTMHjuSE2Ab3Y9TdeR9x9DIF23O/EkunnkPUiBUx6sNADprEWJIQesgpakrtw==} + /@tiptap/extension-ordered-list/2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4: + resolution: {integrity: sha512-Dp+SzrJ4yrFheng8pAtow19/wviC2g4QcxT88ZVz4wjC6JTo0M6sOQg9slxvx+Q+VbqrmPdikbqTiE/Ef416ig==} peerDependencies: '@tiptap/core': ^2.0.0-beta.193 dependencies: - '@tiptap/core': 2.0.0-beta.202 + '@tiptap/core': 2.0.0-beta.203 dev: false - /@tiptap/extension-paragraph/2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu: - resolution: {integrity: sha512-QI86DMUAz5froDJJXpbFV0I+iSFikjhQ8W5clYDbnrP/clRI/FYxklQ3oxSk4VzGBGB5EaBJf+jD7htLKb39UA==} + /@tiptap/extension-paragraph/2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4: + resolution: {integrity: sha512-kqsW7KPl2orCEJiNjCRCY/p06TrTTiq2n2hxatFRbHwvpQC4Z71JgaRJ/28WCL61QVy9v2UwNmCT2NFxUvMLgg==} peerDependencies: '@tiptap/core': ^2.0.0-beta.193 dependencies: - '@tiptap/core': 2.0.0-beta.202 + '@tiptap/core': 2.0.0-beta.203 dev: false - /@tiptap/extension-placeholder/2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu: - resolution: {integrity: sha512-HIJwyhLs7Aq3jH4JRpNlpjFtF7PyoOO6YgqLu2GYhUCVQeVEuqD8zKe8Xphja92cHB5jVLteOspa7FFfWr+9NA==} + /@tiptap/extension-placeholder/2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4: + resolution: {integrity: sha512-MMwCzCZdapY6+LIubo/c4KmdXM1NKc2sBu8ahWF97h9pfs7UGxYDtWoAAUQlV4IzFiC5OhpYHwhStOaD3LhWjw==} peerDependencies: '@tiptap/core': ^2.0.0-beta.193 dependencies: - '@tiptap/core': 2.0.0-beta.202 - prosemirror-model: 1.18.1 + '@tiptap/core': 2.0.0-beta.203 + prosemirror-model: 1.18.3 prosemirror-state: 1.4.2 - prosemirror-view: 1.29.0 + prosemirror-view: 1.29.1 dev: false - /@tiptap/extension-strike/2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu: - resolution: {integrity: sha512-cs87UI/VTkmSfIwlHpm7nAPXok2bAQvxmNJ1y7UPzTATVl+ixP1F4aIkwiYk+X7rE/Sys+09PGg1Pr1shwUUkQ==} + /@tiptap/extension-strike/2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4: + resolution: {integrity: sha512-CxgaJybQs36AUn1PrXbiNbqliYkf4n7LM/NvqtkoXPLISvndqAEQGmx1hS0NdoqERoAIz2FTOBdoWrL0b60vFA==} peerDependencies: '@tiptap/core': ^2.0.0-beta.193 dependencies: - '@tiptap/core': 2.0.0-beta.202 + '@tiptap/core': 2.0.0-beta.203 dev: false - /@tiptap/extension-text/2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu: - resolution: {integrity: sha512-6UsfU9xvKTxHfZYxVJy5DSQ0ibnhC403KLRQ4ePwpJql0TotBx93/CBfPCVLFEwF86HNhf1fFUCx+j2wuwVxmA==} + /@tiptap/extension-text/2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4: + resolution: {integrity: sha512-hOAPb3C2nIFZNJaFCaWj72sgcXqxJNTazXcsiei9A/p0L4NAIVa0ySub7H3NxRvxY/hRLUniA6u3QTzMo7Xsug==} peerDependencies: '@tiptap/core': ^2.0.0-beta.193 dependencies: - '@tiptap/core': 2.0.0-beta.202 + '@tiptap/core': 2.0.0-beta.203 dev: false - /@tiptap/extension-underline/2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu: - resolution: {integrity: sha512-aZ2BdBDopL7KNDQZZ707VIF6S2FUHGMQxJvfGPrgvCHY5lu34B9F/FGCMPd5VAZC0vaJlHTQ30FWkeQjIDetWg==} + /@tiptap/extension-underline/2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4: + resolution: {integrity: sha512-L/cV4uTY8cXNlAuSqMLZWZ09q7dytRQ66I/FWtkvjaQ631h8dQXqJ5IglK8t3Q1A52UIHbXzjzhGWx9tkveIZg==} peerDependencies: '@tiptap/core': ^2.0.0-beta.193 dependencies: - '@tiptap/core': 2.0.0-beta.202 + '@tiptap/core': 2.0.0-beta.203 dev: false - /@tiptap/react/2.0.0-beta.202_b34bfmrzq6nwqs5zwwuhxagzky: - resolution: {integrity: sha512-K0vjWOhqBFSN68wdIWvfUOer38GbBdOi80cZH7bafZQbka2gD8l6v0qknwM4KxOiq9FpqGBOVmGQs0ukgWGSDA==} + /@tiptap/react/2.0.0-beta.203_3cxceey65s6k5bahhiuz7e4cvy: + resolution: {integrity: sha512-0KtnxE0a13wGzwNeGxOW2vw79dQj4Rtoq7l3Y25RPIucjbAcupnUiwEwBabifWMe5WX8nPj8KvQ1iWSjXwSyHw==} peerDependencies: '@tiptap/core': ^2.0.0-beta.193 react: ^17.0.0 || ^18.0.0 || 18 react-dom: ^17.0.0 || ^18.0.0 || 18 dependencies: - '@tiptap/core': 2.0.0-beta.202 - '@tiptap/extension-bubble-menu': 2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu - '@tiptap/extension-floating-menu': 2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu - prosemirror-view: 1.29.0 + '@tiptap/core': 2.0.0-beta.203 + '@tiptap/extension-bubble-menu': 2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4 + '@tiptap/extension-floating-menu': 2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4 + prosemirror-view: 1.29.1 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - /@tiptap/starter-kit/2.0.0-beta.202: - resolution: {integrity: sha512-hmtHgSKMAYtPNA12pa6kPortaKtsz4D6a18KncP26cWkuIwSBZLANls8L7vBISAcbIKRrSizsmqDBoDrFqtQcg==} - dependencies: - '@tiptap/core': 2.0.0-beta.202 - '@tiptap/extension-blockquote': 2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu - '@tiptap/extension-bold': 2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu - '@tiptap/extension-bullet-list': 2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu - '@tiptap/extension-code': 2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu - '@tiptap/extension-code-block': 2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu - '@tiptap/extension-document': 2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu - '@tiptap/extension-dropcursor': 2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu - '@tiptap/extension-gapcursor': 2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu - '@tiptap/extension-hard-break': 2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu - '@tiptap/extension-heading': 2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu - '@tiptap/extension-history': 2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu - '@tiptap/extension-horizontal-rule': 2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu - '@tiptap/extension-italic': 2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu - '@tiptap/extension-list-item': 2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu - '@tiptap/extension-ordered-list': 2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu - '@tiptap/extension-paragraph': 2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu - '@tiptap/extension-strike': 2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu - '@tiptap/extension-text': 2.0.0-beta.202_fosglmwb3u6jhi6bbjmnlbdsbu + /@tiptap/starter-kit/2.0.0-beta.203: + resolution: {integrity: sha512-tKnQW1MA+9MijptQuIUlJYIeulMLhKRFbcR++UM/K1oRw6nlOyyvFz07prehIPwsjV0RsZg0TYYiuNTWOaEOAg==} + dependencies: + '@tiptap/core': 2.0.0-beta.203 + '@tiptap/extension-blockquote': 2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4 + '@tiptap/extension-bold': 2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4 + '@tiptap/extension-bullet-list': 2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4 + '@tiptap/extension-code': 2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4 + '@tiptap/extension-code-block': 2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4 + '@tiptap/extension-document': 2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4 + '@tiptap/extension-dropcursor': 2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4 + '@tiptap/extension-gapcursor': 2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4 + '@tiptap/extension-hard-break': 2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4 + '@tiptap/extension-heading': 2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4 + '@tiptap/extension-history': 2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4 + '@tiptap/extension-horizontal-rule': 2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4 + '@tiptap/extension-italic': 2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4 + '@tiptap/extension-list-item': 2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4 + '@tiptap/extension-ordered-list': 2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4 + '@tiptap/extension-paragraph': 2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4 + '@tiptap/extension-strike': 2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4 + '@tiptap/extension-text': 2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4 dev: false /@tootallnate/once/2.0.0: @@ -7248,6 +7309,55 @@ packages: engines: {node: '>= 10'} dev: true + /@trpc/client/10.1.0_@trpc+server@10.1.0: + resolution: {integrity: sha512-E7L9l2OTa5lIdM0NYvQLJf/GLapskfiVLv0Jv7t6GVxEOFd+O4THWsWQgJVUUAz9iq805iMNkY3uqSvf4GJaWg==} + peerDependencies: + '@trpc/server': 10.1.0 + dependencies: + '@trpc/server': 10.1.0 + dev: false + + /@trpc/next/10.1.0_7jhp4m32uvzpkauysslpvycneq: + resolution: {integrity: sha512-bJ3zMbrSO+udhMi/8KZ1JY5VpXsucTOat08LdU5MPXzMFEQ+d0QehoM4PoZirO39batZfM0rmbCJ8w6P5hLCow==} + peerDependencies: + '@tanstack/react-query': ^4.3.8 + '@trpc/client': 10.1.0 + '@trpc/react-query': ^10.0.0-proxy-beta.21 + '@trpc/server': 10.1.0 + next: '*' + react: '>=16.8.0 || 18' + react-dom: '>=16.8.0 || 18' + dependencies: + '@tanstack/react-query': 4.16.1_biqbaboplfbrettd7655fr4n2y + '@trpc/client': 10.1.0_@trpc+server@10.1.0 + '@trpc/react-query': 10.1.0_6w4fappfojusde7o3jmgvyxwlu + '@trpc/server': 10.1.0 + next: 13.0.5_biqbaboplfbrettd7655fr4n2y + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + react-ssr-prepass: 1.5.0_react@18.2.0 + dev: false + + /@trpc/react-query/10.1.0_6w4fappfojusde7o3jmgvyxwlu: + resolution: {integrity: sha512-Xjx3m73CDuBNrpAOF6scUQedYyp4LIxthwmdjw8Y+iR193XNwFTH+C8TZn5qOLVw9u/FM5YchAJjPPgUJyXBBQ==} + peerDependencies: + '@tanstack/react-query': ^4.3.8 + '@trpc/client': 10.1.0 + '@trpc/server': 10.1.0 + react: '>=16.8.0 || 18' + react-dom: '>=16.8.0 || 18' + dependencies: + '@tanstack/react-query': 4.16.1_biqbaboplfbrettd7655fr4n2y + '@trpc/client': 10.1.0_@trpc+server@10.1.0 + '@trpc/server': 10.1.0 + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + dev: false + + /@trpc/server/10.1.0: + resolution: {integrity: sha512-UiRZPApLruhi1UKukTNsB9igFBEhEA0aMxy86Xp1OvbzuY00yoFcvDUYsBdBjp9mzIHR3yNjqrlfS/RNpPhZEw==} + dev: false + /@tsconfig/node10/1.0.9: resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} @@ -7297,7 +7407,7 @@ packages: dependencies: '@types/http-cache-semantics': 4.0.1 '@types/keyv': 3.1.4 - '@types/node': 18.11.5 + '@types/node': 18.11.9 '@types/responselike': 1.0.0 dev: false @@ -7347,7 +7457,7 @@ packages: /@types/fs-extra/9.0.13: resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} dependencies: - '@types/node': 18.11.5 + '@types/node': 18.11.9 /@types/github-slugger/1.3.0: resolution: {integrity: sha512-J/rMZa7RqiH/rT29TEVZO4nBoDP9XJOjnbbIofg7GQKs4JIduEO3WLpte+6WeUz/TcrXKlY+bM7FYrp8yFB+3g==} @@ -7357,19 +7467,19 @@ packages: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 18.11.5 + '@types/node': 18.11.9 /@types/glob/8.0.0: resolution: {integrity: sha512-l6NQsDDyQUVeoTynNpC9uRvCUint/gSUXQA2euwmTuWGvPY5LSDUu6tkCtJB2SvGQlJQzLaKqcGZP4//7EDveA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 18.11.5 + '@types/node': 18.11.9 dev: true /@types/graceful-fs/4.1.5: resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==} dependencies: - '@types/node': 18.11.5 + '@types/node': 18.11.9 dev: true /@types/hast/2.3.4: @@ -7392,7 +7502,7 @@ packages: /@types/http-proxy/1.17.9: resolution: {integrity: sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==} dependencies: - '@types/node': 18.7.16 + '@types/node': 18.11.9 dev: true /@types/is-ci/3.0.0: @@ -7443,7 +7553,7 @@ packages: /@types/jsdom/20.0.1: resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==} dependencies: - '@types/node': 18.11.5 + '@types/node': 18.11.9 '@types/tough-cookie': 4.0.2 parse5: 7.1.1 dev: true @@ -7470,13 +7580,13 @@ packages: /@types/jsonwebtoken/8.5.9: resolution: {integrity: sha512-272FMnFGzAVMGtu9tkr29hRL6bZj4Zs1KZNeHLnKqAvp06tAIcarTMwOh8/8bz4FmKRcMxZhZNeUAQsNLoiPhg==} dependencies: - '@types/node': 18.7.16 + '@types/node': 18.11.9 dev: true /@types/keyv/3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: - '@types/node': 18.11.5 + '@types/node': 18.11.9 dev: false /@types/lodash/4.14.189: @@ -7505,7 +7615,7 @@ packages: /@types/node-fetch/2.6.2: resolution: {integrity: sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==} dependencies: - '@types/node': 18.11.5 + '@types/node': 18.11.9 form-data: 3.0.1 /@types/node/12.20.55: @@ -7519,12 +7629,8 @@ packages: /@types/node/16.11.45: resolution: {integrity: sha512-3rKg/L5x0rofKuuUt5zlXzOnKyIHXmIu5R8A0TuNDMF2062/AOIDBciFIjToLEJ/9F9DzkHNot+BpNsMI1OLdQ==} - /@types/node/18.11.5: - resolution: {integrity: sha512-3JRwhbjI+cHLAkUorhf8RnqUbFXajvzX4q6fMn5JwkgtuwfYtRQYI3u4V92vI6NJuTsbBQWWh3RZjFsuevyMGQ==} - /@types/node/18.11.9: resolution: {integrity: sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==} - dev: false /@types/node/18.7.16: resolution: {integrity: sha512-EQHhixfu+mkqHMZl1R2Ovuvn47PUw18azMJOTwSZr9/fhzHNGXAJ0ma0dayRVchprpCj0Kc1K1xKoWaATWF1qg==} @@ -7598,7 +7704,7 @@ packages: /@types/responselike/1.0.0: resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} dependencies: - '@types/node': 18.11.5 + '@types/node': 18.11.9 dev: false /@types/scheduler/0.16.2: @@ -7620,7 +7726,7 @@ packages: /@types/set-cookie-parser/2.4.2: resolution: {integrity: sha512-fBZgytwhYAUkj/jC/FAV4RQ5EerRup1YQsXQCh8rZfiHkc4UahC192oH0smGwsXol3cL3A5oETuAHeQHmhXM4w==} dependencies: - '@types/node': 18.11.5 + '@types/node': 18.11.9 dev: true /@types/sinonjs__fake-timers/8.1.1: @@ -7682,7 +7788,7 @@ packages: /@types/webpack-sources/3.2.0: resolution: {integrity: sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==} dependencies: - '@types/node': 18.11.5 + '@types/node': 18.11.9 '@types/source-list-map': 0.1.2 source-map: 0.7.4 dev: true @@ -7690,7 +7796,7 @@ packages: /@types/webpack/4.41.33: resolution: {integrity: sha512-PPajH64Ft2vWevkerISMtnZ8rTs4YmRbs+23c402J0INmxDKCrhZNvwZYtzx96gY2wAtXdrK1BS2fiC8MlLr3g==} dependencies: - '@types/node': 18.11.5 + '@types/node': 18.11.9 '@types/tapable': 1.0.8 '@types/uglify-js': 3.17.1 '@types/webpack-sources': 3.2.0 @@ -7704,7 +7810,7 @@ packages: /@types/ws/8.5.3: resolution: {integrity: sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==} dependencies: - '@types/node': 18.7.16 + '@types/node': 18.11.9 dev: true /@types/yargs-parser/21.0.0: @@ -7731,12 +7837,12 @@ packages: resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} requiresBuild: true dependencies: - '@types/node': 16.11.45 + '@types/node': 18.11.9 dev: false optional: true - /@typescript-eslint/eslint-plugin/5.43.0_wze2rj5tow7zwqpgbdx2buoy3m: - resolution: {integrity: sha512-wNPzG+eDR6+hhW4yobEmpR36jrqqQv1vxBq5LJO3fBAktjkvekfr4BRl+3Fn1CM/A+s8/EiGUbOMDoYqWdbtXA==} + /@typescript-eslint/eslint-plugin/5.44.0_fnsv2sbzcckq65bwfk7a5xwslu: + resolution: {integrity: sha512-j5ULd7FmmekcyWeArx+i8x7sdRHzAtXTkmDPthE4amxZOWKFK7bomoJ4r7PJ8K7PoMzD16U8MmuZFAonr1ERvw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -7746,12 +7852,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.43.0_e3uo4sehh4zr4i6m57mkkxxv7y - '@typescript-eslint/scope-manager': 5.43.0 - '@typescript-eslint/type-utils': 5.43.0_e3uo4sehh4zr4i6m57mkkxxv7y - '@typescript-eslint/utils': 5.43.0_e3uo4sehh4zr4i6m57mkkxxv7y + '@typescript-eslint/parser': 5.44.0_hsf322ms6xhhd4b5ne6lb74y4a + '@typescript-eslint/scope-manager': 5.44.0 + '@typescript-eslint/type-utils': 5.44.0_hsf322ms6xhhd4b5ne6lb74y4a + '@typescript-eslint/utils': 5.44.0_hsf322ms6xhhd4b5ne6lb74y4a debug: 4.3.4 - eslint: 8.27.0 + eslint: 8.28.0 ignore: 5.2.0 natural-compare-lite: 1.4.0 regexpp: 3.2.0 @@ -7762,21 +7868,21 @@ packages: - supports-color dev: false - /@typescript-eslint/experimental-utils/5.30.6_e3uo4sehh4zr4i6m57mkkxxv7y: + /@typescript-eslint/experimental-utils/5.30.6_hsf322ms6xhhd4b5ne6lb74y4a: resolution: {integrity: sha512-bqvT+0L8IjtW7MCrMgm9oVNxs4g7mESro1mm5c1/SNfTnHuFTf9OUX1WzVkTz75M9cp//UrTrSmGvK48NEKshQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@typescript-eslint/utils': 5.30.6_e3uo4sehh4zr4i6m57mkkxxv7y - eslint: 8.27.0 + '@typescript-eslint/utils': 5.30.6_hsf322ms6xhhd4b5ne6lb74y4a + eslint: 8.28.0 transitivePeerDependencies: - supports-color - typescript dev: false - /@typescript-eslint/parser/5.43.0_e3uo4sehh4zr4i6m57mkkxxv7y: - resolution: {integrity: sha512-2iHUK2Lh7PwNUlhFxxLI2haSDNyXvebBO9izhjhMoDC+S3XI9qt2DGFUsiJ89m2k7gGYch2aEpYqV5F/+nwZug==} + /@typescript-eslint/parser/5.44.0_hsf322ms6xhhd4b5ne6lb74y4a: + resolution: {integrity: sha512-H7LCqbZnKqkkgQHaKLGC6KUjt3pjJDx8ETDqmwncyb6PuoigYajyAwBGz08VU/l86dZWZgI4zm5k2VaKqayYyA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -7785,11 +7891,11 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.43.0 - '@typescript-eslint/types': 5.43.0 - '@typescript-eslint/typescript-estree': 5.43.0_typescript@4.9.3 + '@typescript-eslint/scope-manager': 5.44.0 + '@typescript-eslint/types': 5.44.0 + '@typescript-eslint/typescript-estree': 5.44.0_typescript@4.9.3 debug: 4.3.4 - eslint: 8.27.0 + eslint: 8.28.0 typescript: 4.9.3 transitivePeerDependencies: - supports-color @@ -7803,24 +7909,16 @@ packages: '@typescript-eslint/visitor-keys': 5.30.6 dev: false - /@typescript-eslint/scope-manager/5.42.1: - resolution: {integrity: sha512-QAZY/CBP1Emx4rzxurgqj3rUinfsh/6mvuKbLNMfJMMKYLRBfweus8brgXF8f64ABkIZ3zdj2/rYYtF8eiuksQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@typescript-eslint/types': 5.42.1 - '@typescript-eslint/visitor-keys': 5.42.1 - dev: false - - /@typescript-eslint/scope-manager/5.43.0: - resolution: {integrity: sha512-XNWnGaqAtTJsUiZaoiGIrdJYHsUOd3BZ3Qj5zKp9w6km6HsrjPk/TGZv0qMTWyWj0+1QOqpHQ2gZOLXaGA9Ekw==} + /@typescript-eslint/scope-manager/5.44.0: + resolution: {integrity: sha512-2pKml57KusI0LAhgLKae9kwWeITZ7IsZs77YxyNyIVOwQ1kToyXRaJLl+uDEXzMN5hnobKUOo2gKntK9H1YL8g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.43.0 - '@typescript-eslint/visitor-keys': 5.43.0 + '@typescript-eslint/types': 5.44.0 + '@typescript-eslint/visitor-keys': 5.44.0 dev: false - /@typescript-eslint/type-utils/5.43.0_e3uo4sehh4zr4i6m57mkkxxv7y: - resolution: {integrity: sha512-K21f+KY2/VvYggLf5Pk4tgBOPs2otTaIHy2zjclo7UZGLyFH86VfUOm5iq+OtDtxq/Zwu2I3ujDBykVW4Xtmtg==} + /@typescript-eslint/type-utils/5.44.0_hsf322ms6xhhd4b5ne6lb74y4a: + resolution: {integrity: sha512-A1u0Yo5wZxkXPQ7/noGkRhV4J9opcymcr31XQtOzcc5nO/IHN2E2TPMECKWYpM3e6olWEM63fq/BaL1wEYnt/w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -7829,10 +7927,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.43.0_typescript@4.9.3 - '@typescript-eslint/utils': 5.43.0_e3uo4sehh4zr4i6m57mkkxxv7y + '@typescript-eslint/typescript-estree': 5.44.0_typescript@4.9.3 + '@typescript-eslint/utils': 5.44.0_hsf322ms6xhhd4b5ne6lb74y4a debug: 4.3.4 - eslint: 8.27.0 + eslint: 8.28.0 tsutils: 3.21.0_typescript@4.9.3 typescript: 4.9.3 transitivePeerDependencies: @@ -7844,13 +7942,8 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: false - /@typescript-eslint/types/5.42.1: - resolution: {integrity: sha512-Qrco9dsFF5lhalz+lLFtxs3ui1/YfC6NdXu+RAGBa8uSfn01cjO7ssCsjIsUs484vny9Xm699FSKwpkCcqwWwA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: false - - /@typescript-eslint/types/5.43.0: - resolution: {integrity: sha512-jpsbcD0x6AUvV7tyOlyvon0aUsQpF8W+7TpJntfCUWU1qaIKu2K34pMwQKSzQH8ORgUrGYY6pVIh1Pi8TNeteg==} + /@typescript-eslint/types/5.44.0: + resolution: {integrity: sha512-Tp+zDnHmGk4qKR1l+Y1rBvpjpm5tGXX339eAlRBDg+kgZkz9Bw+pqi4dyseOZMsGuSH69fYfPJCBKBrbPCxYFQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: false @@ -7875,8 +7968,8 @@ packages: - supports-color dev: false - /@typescript-eslint/typescript-estree/5.42.1_typescript@4.9.3: - resolution: {integrity: sha512-qElc0bDOuO0B8wDhhW4mYVgi/LZL+igPwXtV87n69/kYC/7NG3MES0jHxJNCr4EP7kY1XVsRy8C/u3DYeTKQmw==} + /@typescript-eslint/typescript-estree/5.44.0_typescript@4.9.3: + resolution: {integrity: sha512-M6Jr+RM7M5zeRj2maSfsZK2660HKAJawv4Ud0xT+yauyvgrsHu276VtXlKDFnEmhG+nVEd0fYZNXGoAgxwDWJw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -7884,8 +7977,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.42.1 - '@typescript-eslint/visitor-keys': 5.42.1 + '@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 @@ -7896,28 +7989,7 @@ packages: - supports-color dev: false - /@typescript-eslint/typescript-estree/5.43.0_typescript@4.9.3: - resolution: {integrity: sha512-BZ1WVe+QQ+igWal2tDbNg1j2HWUkAa+CVqdU79L4HP9izQY6CNhXfkNwd1SS4+sSZAP/EthI1uiCSY/+H0pROg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 5.43.0 - '@typescript-eslint/visitor-keys': 5.43.0 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.3.8 - tsutils: 3.21.0_typescript@4.9.3 - typescript: 4.9.3 - transitivePeerDependencies: - - supports-color - dev: false - - /@typescript-eslint/utils/5.30.6_e3uo4sehh4zr4i6m57mkkxxv7y: + /@typescript-eslint/utils/5.30.6_hsf322ms6xhhd4b5ne6lb74y4a: resolution: {integrity: sha512-xFBLc/esUbLOJLk9jKv0E9gD/OH966M40aY9jJ8GiqpSkP2xOV908cokJqqhVd85WoIvHVHYXxSFE4cCSDzVvA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -7927,48 +7999,28 @@ packages: '@typescript-eslint/scope-manager': 5.30.6 '@typescript-eslint/types': 5.30.6 '@typescript-eslint/typescript-estree': 5.30.6_typescript@4.9.3 - eslint: 8.27.0 - eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.27.0 - transitivePeerDependencies: - - supports-color - - typescript - dev: false - - /@typescript-eslint/utils/5.42.1_e3uo4sehh4zr4i6m57mkkxxv7y: - resolution: {integrity: sha512-Gxvf12xSp3iYZd/fLqiQRD4uKZjDNR01bQ+j8zvhPjpsZ4HmvEFL/tC4amGNyxN9Rq+iqvpHLhlqx6KTxz9ZyQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - '@types/json-schema': 7.0.11 - '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.42.1 - '@typescript-eslint/types': 5.42.1 - '@typescript-eslint/typescript-estree': 5.42.1_typescript@4.9.3 - eslint: 8.27.0 + eslint: 8.28.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.27.0 - semver: 7.3.8 + eslint-utils: 3.0.0_eslint@8.28.0 transitivePeerDependencies: - supports-color - typescript dev: false - /@typescript-eslint/utils/5.43.0_e3uo4sehh4zr4i6m57mkkxxv7y: - resolution: {integrity: sha512-8nVpA6yX0sCjf7v/NDfeaOlyaIIqL7OaIGOWSPFqUKK59Gnumd3Wa+2l8oAaYO2lk0sO+SbWFWRSvhu8gLGv4A==} + /@typescript-eslint/utils/5.44.0_hsf322ms6xhhd4b5ne6lb74y4a: + resolution: {integrity: sha512-fMzA8LLQ189gaBjS0MZszw5HBdZgVwxVFShCO3QN+ws3GlPkcy9YuS3U4wkT6su0w+Byjq3mS3uamy9HE4Yfjw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@types/json-schema': 7.0.11 '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.43.0 - '@typescript-eslint/types': 5.43.0 - '@typescript-eslint/typescript-estree': 5.43.0_typescript@4.9.3 - eslint: 8.27.0 + '@typescript-eslint/scope-manager': 5.44.0 + '@typescript-eslint/types': 5.44.0 + '@typescript-eslint/typescript-estree': 5.44.0_typescript@4.9.3 + eslint: 8.28.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.27.0 + eslint-utils: 3.0.0_eslint@8.28.0 semver: 7.3.8 transitivePeerDependencies: - supports-color @@ -7983,19 +8035,11 @@ packages: eslint-visitor-keys: 3.3.0 dev: false - /@typescript-eslint/visitor-keys/5.42.1: - resolution: {integrity: sha512-LOQtSF4z+hejmpUvitPlc4hA7ERGoj2BVkesOcG91HCn8edLGUXbTrErmutmPbl8Bo9HjAvOO/zBKQHExXNA2A==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@typescript-eslint/types': 5.42.1 - eslint-visitor-keys: 3.3.0 - dev: false - - /@typescript-eslint/visitor-keys/5.43.0: - resolution: {integrity: sha512-icl1jNH/d18OVHLfcwdL3bWUKsBeIiKYTGxMJCoGe7xFht+E4QgzOqoWYrU8XSLJWhVw8nTacbm03v23J/hFTg==} + /@typescript-eslint/visitor-keys/5.44.0: + resolution: {integrity: sha512-a48tLG8/4m62gPFbJ27FxwCOqPKxsb8KC3HkmYoq2As/4YyjQl1jDbRr1s63+g4FS/iIehjmN3L5UjmKva1HzQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.43.0 + '@typescript-eslint/types': 5.44.0 eslint-visitor-keys: 3.3.0 dev: false @@ -8483,8 +8527,8 @@ packages: /airbnb-js-shims/2.2.1: resolution: {integrity: sha512-wJNXPH66U2xjgo1Zwyjf9EydvJ2Si94+vSdk6EERcBfB2VZkeltpqIats0cqIZMLCXP3zcyaUKGYQeIBT6XjsQ==} dependencies: - array-includes: 3.1.5 - array.prototype.flat: 1.3.0 + array-includes: 3.1.6 + array.prototype.flat: 1.3.1 array.prototype.flatmap: 1.3.0 es5-shim: 4.6.7 es6-shim: 0.35.6 @@ -8493,7 +8537,7 @@ packages: object.entries: 1.1.5 object.fromentries: 2.0.5 object.getownpropertydescriptors: 2.1.4 - object.values: 1.1.5 + object.values: 1.1.6 promise.allsettled: 1.0.5 promise.prototype.finally: 3.1.3 string.prototype.matchall: 4.0.7 @@ -8597,8 +8641,8 @@ packages: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} - /ansi-styles/6.1.0: - resolution: {integrity: sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==} + /ansi-styles/6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} dev: true @@ -8736,17 +8780,6 @@ packages: resolution: {integrity: sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=} dev: true - /array-includes/3.1.5: - resolution: {integrity: sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.4 - es-abstract: 1.20.4 - get-intrinsic: 1.1.3 - is-string: 1.0.7 - dev: true - /array-includes/3.1.6: resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} engines: {node: '>= 0.4'} @@ -8756,7 +8789,6 @@ packages: es-abstract: 1.20.4 get-intrinsic: 1.1.3 is-string: 1.0.7 - dev: false /array-pull-all-with-glob/5.1.0: resolution: {integrity: sha512-MjdGBXSgwaDRJwXm7dajtA/fvtOn7qgEMnUgbRTCa8EYYf4dodLcgirEknTYjOwK3sQcqq1g5yp+EOdFbddRRA==} @@ -8791,16 +8823,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /array.prototype.flat/1.3.0: - resolution: {integrity: sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.4 - es-abstract: 1.20.4 - es-shim-unscopables: 1.0.0 - dev: true - /array.prototype.flat/1.3.1: resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} engines: {node: '>= 0.4'} @@ -8852,6 +8874,16 @@ packages: is-string: 1.0.7 dev: true + /array.prototype.tosorted/1.1.1: + resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.4 + es-abstract: 1.20.4 + es-shim-unscopables: 1.0.0 + get-intrinsic: 1.1.3 + dev: false + /arrayiffy-if-string/3.14.0: resolution: {integrity: sha512-pQQDnM+wOBvgElVGB8//y16IpZEsi3mU3jkjvhJCm3J7zSvRPlm/8Wl76gE1O9vnU1CWcz2u5JfsOLtD7yvuLw==} dependencies: @@ -8993,7 +9025,7 @@ packages: hasBin: true dependencies: browserslist: 4.21.4 - caniuse-lite: 1.0.30001431 + caniuse-lite: 1.0.30001434 normalize-range: 0.1.2 num2fraction: 1.2.2 picocolors: 0.2.1 @@ -9903,8 +9935,8 @@ packages: /caniuse-lite/1.0.30001430: resolution: {integrity: sha512-IB1BXTZKPDVPM7cnV4iaKaHxckvdr/3xtctB3f7Hmenx3qYBhGtTZ//7EllK66aKXW98Lx0+7Yr0kxBtIt3tzg==} - /caniuse-lite/1.0.30001431: - resolution: {integrity: sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ==} + /caniuse-lite/1.0.30001434: + resolution: {integrity: sha512-aOBHrLmTQw//WFa2rcF1If9fa3ypkC1wzqqiKHgfdrXTWcU8C4gKVZT77eQAPWN1APys3+uQ0Df07rKauXGEYA==} /canvas-confetti/1.6.0: resolution: {integrity: sha512-ej+w/m8Jzpv9Z7W7uJZer14Ke8P2ogsjg4ZMGIuq4iqUOqY2Jq8BNW42iGmNfRwREaaEfFIczLuZZiEVSYNHAA==} @@ -10153,12 +10185,17 @@ packages: /ci-info/3.5.0: resolution: {integrity: sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw==} + dev: true /ci-info/3.6.1: resolution: {integrity: sha512-up5ggbaDqOqJ4UqLKZ2naVkyqSJQgJi5lwD6b6mM748ysrghDBX0bx/qJTUHzw7zu6Mq4gycviSF5hJnwceD8w==} engines: {node: '>=8'} dev: true + /ci-info/3.7.0: + resolution: {integrity: sha512-2CpRNYmImPx+RXKLq6jko/L07phmS9I02TyqkcNU20GCF/GgaWvc58hPtjxDX8lPpkdwc9sNh72V9k00S7ezog==} + engines: {node: '>=8'} + /cipher-base/1.0.4: resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} dependencies: @@ -10480,11 +10517,6 @@ packages: engines: {node: '>= 12'} dev: true - /commander/9.3.0: - resolution: {integrity: sha512-hv95iU5uXPbK83mjrJKuZyFM/LBAoCV/XhVGkS5Je6tl7sxr6A0ITMw5WoRV46/UaJ46Nllm3Xt7IaJhXTIkzw==} - engines: {node: ^12.20.0 || >=14} - dev: true - /commander/9.4.0: resolution: {integrity: sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==} engines: {node: ^12.20.0 || >=14} @@ -11000,8 +11032,8 @@ packages: webpack: 5.75.0 dev: true - /css-loader/6.7.1_webpack@5.75.0: - resolution: {integrity: sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==} + /css-loader/6.7.2_webpack@5.75.0: + resolution: {integrity: sha512-oqGbbVcBJkm8QwmnNzrFrWTnudnRZC+1eXikLJl0n4ljcfotgRifpg2a1lKy8jTrc4/d9A/ap1GFq1jDKG7J+Q==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 @@ -11935,6 +11967,14 @@ packages: graceful-fs: 4.2.10 tapable: 2.2.1 + /enhanced-resolve/5.12.0: + resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.10 + tapable: 2.2.1 + dev: false + /enquirer/2.3.6: resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} engines: {node: '>=8.6'} @@ -12342,8 +12382,8 @@ packages: source-map: 0.6.1 dev: true - /eslint-config-next/13.0.4_e3uo4sehh4zr4i6m57mkkxxv7y: - resolution: {integrity: sha512-moEC7BW2TK7JKq3QfnaauqRjWzVcEf71gp5DbClpFPHM6QXE0u0uVvSTiHlmOgtCe1vyWAO+AhF87ZITd8mIDw==} + /eslint-config-next/13.0.5_hsf322ms6xhhd4b5ne6lb74y4a: + resolution: {integrity: sha512-lge94W7ME6kNCO96eCykq5GbKbllzmcDNDhh1/llMCRgNPl0+GIQ8dOoM0I7uRQVW56VmTXFybJFXgow11a5pg==} peerDependencies: eslint: ^7.23.0 || ^8.0.0 typescript: '>=3.3.1' @@ -12351,29 +12391,29 @@ packages: typescript: optional: true dependencies: - '@next/eslint-plugin-next': 13.0.4 + '@next/eslint-plugin-next': 13.0.5 '@rushstack/eslint-patch': 1.2.0 - '@typescript-eslint/parser': 5.43.0_e3uo4sehh4zr4i6m57mkkxxv7y - eslint: 8.27.0 + '@typescript-eslint/parser': 5.44.0_hsf322ms6xhhd4b5ne6lb74y4a + eslint: 8.28.0 eslint-import-resolver-node: 0.3.6 - eslint-import-resolver-typescript: 3.5.2_dcpv4nbdr5ks2h5677xdltrk6e - eslint-plugin-import: 2.26.0_bbzxof3vtngyannf3l4jlcflvy - eslint-plugin-jsx-a11y: 6.6.1_eslint@8.27.0 - eslint-plugin-react: 7.31.10_eslint@8.27.0 - eslint-plugin-react-hooks: 4.6.0_eslint@8.27.0 + eslint-import-resolver-typescript: 3.5.2_ktrec6dplf4now6nlbc6d67jee + eslint-plugin-import: 2.26.0_vc54pluhgv7booofyyjouvuf74 + eslint-plugin-jsx-a11y: 6.6.1_eslint@8.28.0 + eslint-plugin-react: 7.31.11_eslint@8.28.0 + eslint-plugin-react-hooks: 4.6.0_eslint@8.28.0 typescript: 4.9.3 transitivePeerDependencies: - eslint-import-resolver-webpack - supports-color dev: false - /eslint-config-prettier/8.5.0_eslint@8.27.0: + /eslint-config-prettier/8.5.0_eslint@8.28.0: resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.27.0 + eslint: 8.28.0 dev: false /eslint-import-resolver-node/0.3.6: @@ -12385,7 +12425,7 @@ packages: - supports-color dev: false - /eslint-import-resolver-typescript/3.5.2_dcpv4nbdr5ks2h5677xdltrk6e: + /eslint-import-resolver-typescript/3.5.2_ktrec6dplf4now6nlbc6d67jee: resolution: {integrity: sha512-zX4ebnnyXiykjhcBvKIf5TNvt8K7yX6bllTRZ14MiurKPjDpCAZujlszTdB8pcNXhZcOf+god4s9SjQa5GnytQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -12393,9 +12433,9 @@ packages: eslint-plugin-import: '*' dependencies: debug: 4.3.4 - enhanced-resolve: 5.10.0 - eslint: 8.27.0 - eslint-plugin-import: 2.26.0_bbzxof3vtngyannf3l4jlcflvy + enhanced-resolve: 5.12.0 + eslint: 8.28.0 + eslint-plugin-import: 2.26.0_vc54pluhgv7booofyyjouvuf74 get-tsconfig: 4.2.0 globby: 13.1.2 is-core-module: 2.11.0 @@ -12405,7 +12445,7 @@ packages: - supports-color dev: false - /eslint-module-utils/2.7.4_algk2ee5wzunqscd2r3nujqfhi: + /eslint-module-utils/2.7.4_d2eo2jksnn7c2x6eoou4blnbne: resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==} engines: {node: '>=4'} peerDependencies: @@ -12426,16 +12466,16 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.43.0_e3uo4sehh4zr4i6m57mkkxxv7y + '@typescript-eslint/parser': 5.44.0_hsf322ms6xhhd4b5ne6lb74y4a debug: 3.2.7 - eslint: 8.27.0 + eslint: 8.28.0 eslint-import-resolver-node: 0.3.6 - eslint-import-resolver-typescript: 3.5.2_dcpv4nbdr5ks2h5677xdltrk6e + eslint-import-resolver-typescript: 3.5.2_ktrec6dplf4now6nlbc6d67jee transitivePeerDependencies: - supports-color dev: false - /eslint-plugin-import/2.26.0_bbzxof3vtngyannf3l4jlcflvy: + /eslint-plugin-import/2.26.0_vc54pluhgv7booofyyjouvuf74: resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==} engines: {node: '>=4'} peerDependencies: @@ -12445,14 +12485,14 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.43.0_e3uo4sehh4zr4i6m57mkkxxv7y + '@typescript-eslint/parser': 5.44.0_hsf322ms6xhhd4b5ne6lb74y4a array-includes: 3.1.6 array.prototype.flat: 1.3.1 debug: 2.6.9 doctrine: 2.1.0 - eslint: 8.27.0 + eslint: 8.28.0 eslint-import-resolver-node: 0.3.6 - eslint-module-utils: 2.7.4_algk2ee5wzunqscd2r3nujqfhi + eslint-module-utils: 2.7.4_d2eo2jksnn7c2x6eoou4blnbne has: 1.0.3 is-core-module: 2.11.0 is-glob: 4.0.3 @@ -12466,8 +12506,8 @@ packages: - supports-color dev: false - /eslint-plugin-jest/27.1.5_zepgltmqngws2pl4a7zw2atiyy: - resolution: {integrity: sha512-CK2dekZ5VBdzsOSOH5Fc1rwC+cWXjkcyrmf1RV714nDUDKu+o73TTJiDxpbILG8PtPPpAAl3ywzh5QA7Ft0mjA==} + /eslint-plugin-jest/27.1.6_3fzdjyb43hmtmgc37n76yql3mq: + resolution: {integrity: sha512-XA7RFLSrlQF9IGtAmhddkUkBuICCTuryfOTfCSWcZHiHb69OilIH05oozH2XA6CEOtztnOd0vgXyvxZodkxGjg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@typescript-eslint/eslint-plugin': ^5.0.0 @@ -12479,15 +12519,15 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.43.0_wze2rj5tow7zwqpgbdx2buoy3m - '@typescript-eslint/utils': 5.42.1_e3uo4sehh4zr4i6m57mkkxxv7y - eslint: 8.27.0 + '@typescript-eslint/eslint-plugin': 5.44.0_fnsv2sbzcckq65bwfk7a5xwslu + '@typescript-eslint/utils': 5.44.0_hsf322ms6xhhd4b5ne6lb74y4a + eslint: 8.28.0 transitivePeerDependencies: - supports-color - typescript dev: false - /eslint-plugin-jsx-a11y/6.6.1_eslint@8.27.0: + /eslint-plugin-jsx-a11y/6.6.1_eslint@8.28.0: resolution: {integrity: sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==} engines: {node: '>=4.0'} peerDependencies: @@ -12501,7 +12541,7 @@ packages: axobject-query: 2.2.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 8.27.0 + eslint: 8.28.0 has: 1.0.3 jsx-ast-utils: 3.3.3 language-tags: 1.0.5 @@ -12509,7 +12549,7 @@ packages: semver: 6.3.0 dev: false - /eslint-plugin-prettier/4.2.1_v7o5sx5x3wbs57ifz6wc4f76we: + /eslint-plugin-prettier/4.2.1_cwlo2dingkvfydnaculr42urve: resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} engines: {node: '>=12.0.0'} peerDependencies: @@ -12520,31 +12560,32 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 8.27.0 - eslint-config-prettier: 8.5.0_eslint@8.27.0 - prettier: 2.7.1 + eslint: 8.28.0 + eslint-config-prettier: 8.5.0_eslint@8.28.0 + prettier: 2.8.0 prettier-linter-helpers: 1.0.0 dev: false - /eslint-plugin-react-hooks/4.6.0_eslint@8.27.0: + /eslint-plugin-react-hooks/4.6.0_eslint@8.28.0: resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 8.27.0 + eslint: 8.28.0 dev: false - /eslint-plugin-react/7.31.10_eslint@8.27.0: - resolution: {integrity: sha512-e4N/nc6AAlg4UKW/mXeYWd3R++qUano5/o+t+wnWxIf+bLsOaH3a4q74kX3nDjYym3VBN4HyO9nEn1GcAqgQOA==} + /eslint-plugin-react/7.31.11_eslint@8.28.0: + resolution: {integrity: sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw==} engines: {node: '>=4'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 dependencies: array-includes: 3.1.6 array.prototype.flatmap: 1.3.1 + array.prototype.tosorted: 1.1.1 doctrine: 2.1.0 - eslint: 8.27.0 + eslint: 8.28.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.3 minimatch: 3.1.2 @@ -12558,15 +12599,15 @@ packages: string.prototype.matchall: 4.0.8 dev: false - /eslint-plugin-storybook/0.6.7_e3uo4sehh4zr4i6m57mkkxxv7y: + /eslint-plugin-storybook/0.6.7_hsf322ms6xhhd4b5ne6lb74y4a: resolution: {integrity: sha512-lcUsB+3PesKWXwwEHGSTCijKWDXuQ4ITVbnsSDMXRCR/cjGtHZIEcy2pp/Eh7nfWA/GZrDPpK97DsTWEzyN6Bw==} engines: {node: 12.x || 14.x || >= 16} peerDependencies: eslint: '>=6' dependencies: '@storybook/csf': 0.0.1 - '@typescript-eslint/experimental-utils': 5.30.6_e3uo4sehh4zr4i6m57mkkxxv7y - eslint: 8.27.0 + '@typescript-eslint/experimental-utils': 5.30.6_hsf322ms6xhhd4b5ne6lb74y4a + eslint: 8.28.0 requireindex: 1.2.0 ts-dedent: 2.2.0 transitivePeerDependencies: @@ -12574,24 +12615,26 @@ packages: - typescript dev: false - /eslint-plugin-unicorn/44.0.2_eslint@8.27.0: - resolution: {integrity: sha512-GLIDX1wmeEqpGaKcnMcqRvMVsoabeF0Ton0EX4Th5u6Kmf7RM9WBl705AXFEsns56ESkEs0uyelLuUTvz9Tr0w==} + /eslint-plugin-unicorn/45.0.0_eslint@8.28.0: + resolution: {integrity: sha512-iP8cMRxXKHonKioOhnCoCcqVhoqhAp6rB+nsoLjXFDxTHz3btWMAp8xwzjHA0B1K6YV/U/Yvqn1bUXZt8sJPuQ==} engines: {node: '>=14.18'} peerDependencies: - eslint: '>=8.23.1' + eslint: '>=8.28.0' dependencies: '@babel/helper-validator-identifier': 7.19.1 - ci-info: 3.5.0 + ci-info: 3.7.0 clean-regexp: 1.0.0 - eslint: 8.27.0 - eslint-utils: 3.0.0_eslint@8.27.0 + eslint: 8.28.0 + eslint-utils: 3.0.0_eslint@8.28.0 esquery: 1.4.0 indent-string: 4.0.0 is-builtin-module: 3.2.0 + jsesc: 3.0.2 lodash: 4.17.21 pluralize: 8.0.0 read-pkg-up: 7.0.1 regexp-tree: 0.1.24 + regjsparser: 0.9.1 safe-regex: 2.1.1 semver: 7.3.8 strip-indent: 3.0.0 @@ -12619,13 +12662,13 @@ packages: esrecurse: 4.3.0 estraverse: 5.3.0 - /eslint-utils/3.0.0_eslint@8.27.0: + /eslint-utils/3.0.0_eslint@8.28.0: resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: - eslint: 8.27.0 + eslint: 8.28.0 eslint-visitor-keys: 2.1.0 /eslint-visitor-keys/2.1.0: @@ -12636,8 +12679,8 @@ packages: resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - /eslint/8.27.0: - resolution: {integrity: sha512-0y1bfG2ho7mty+SiILVf9PfuRA49ek4Nc60Wmmu62QlobNR+CeXa4xXIJgcuwSQgZiWaPH+5BDsctpIW0PR/wQ==} + /eslint/8.28.0: + resolution: {integrity: sha512-S27Di+EVyMxcHiwDrFzk8dJYAaD+/5SoWKxL1ri/71CRHsnJnRDPNt2Kzj24+MT9FDupf4aqqyqPrvI8MvQ4VQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: @@ -12652,7 +12695,7 @@ packages: doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.1.1 - eslint-utils: 3.0.0_eslint@8.27.0 + eslint-utils: 3.0.0_eslint@8.28.0 eslint-visitor-keys: 3.3.0 espree: 9.4.1 esquery: 1.4.0 @@ -12661,14 +12704,14 @@ packages: file-entry-cache: 6.0.1 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.17.0 + globals: 13.18.0 grapheme-splitter: 1.0.4 ignore: 5.2.0 import-fresh: 3.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 - js-sdsl: 4.1.5 + js-sdsl: 4.2.0 js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 @@ -13399,7 +13442,7 @@ packages: resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} dev: false - /fork-ts-checker-webpack-plugin/4.1.6_nh7kisgxcfib7qeetfrkne66xa: + /fork-ts-checker-webpack-plugin/4.1.6_2yqjpsxjcwhf26ay4mtn5wajne: resolution: {integrity: sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==} engines: {node: '>=6.11.5', yarn: '>=1.0.0'} peerDependencies: @@ -13415,7 +13458,7 @@ packages: dependencies: '@babel/code-frame': 7.18.6 chalk: 2.4.2 - eslint: 8.27.0 + eslint: 8.28.0 micromatch: 3.1.10 minimatch: 3.1.2 semver: 5.7.1 @@ -13427,7 +13470,7 @@ packages: - supports-color dev: true - /fork-ts-checker-webpack-plugin/6.5.2_bhjilrwoi7zg2tms4gfledt524: + /fork-ts-checker-webpack-plugin/6.5.2_2yqjpsxjcwhf26ay4mtn5wajne: resolution: {integrity: sha512-m5cUmF30xkZ7h4tWUgTAcEaKmUW7tfyUyTqNNOz7OxWJ0v1VWKTcOvH8FWHUwSjlW/356Ijc9vi3XfcPstpQKA==} engines: {node: '>=10', yarn: '>=1.0.0'} peerDependencies: @@ -13447,7 +13490,7 @@ packages: chokidar: 3.5.3 cosmiconfig: 6.0.0 deepmerge: 4.2.2 - eslint: 8.27.0 + eslint: 8.28.0 fs-extra: 9.1.0 glob: 7.2.3 memfs: 3.4.9 @@ -13456,10 +13499,10 @@ packages: semver: 7.3.8 tapable: 1.1.3 typescript: 4.9.3 - webpack: 5.75.0 + webpack: 4.46.0 dev: true - /fork-ts-checker-webpack-plugin/6.5.2_nh7kisgxcfib7qeetfrkne66xa: + /fork-ts-checker-webpack-plugin/6.5.2_fwd4bdvtlcwk7dnkbybkcmtpo4: resolution: {integrity: sha512-m5cUmF30xkZ7h4tWUgTAcEaKmUW7tfyUyTqNNOz7OxWJ0v1VWKTcOvH8FWHUwSjlW/356Ijc9vi3XfcPstpQKA==} engines: {node: '>=10', yarn: '>=1.0.0'} peerDependencies: @@ -13479,7 +13522,7 @@ packages: chokidar: 3.5.3 cosmiconfig: 6.0.0 deepmerge: 4.2.2 - eslint: 8.27.0 + eslint: 8.28.0 fs-extra: 9.1.0 glob: 7.2.3 memfs: 3.4.9 @@ -13488,7 +13531,7 @@ packages: semver: 7.3.8 tapable: 1.1.3 typescript: 4.9.3 - webpack: 4.46.0 + webpack: 5.75.0 dev: true /form-data-encoder/1.7.2: @@ -13559,8 +13602,8 @@ packages: map-cache: 0.2.2 dev: true - /framer-motion/7.6.7_biqbaboplfbrettd7655fr4n2y: - resolution: {integrity: sha512-vEGsjXygf4qSmgXXsCT1FC56DjiZau9tSQTCchwAP2mOHnYHUy5gbthc4RXFWJh4Z/gFtqE8bzEmjahwOrfT7w==} + /framer-motion/7.6.12_biqbaboplfbrettd7655fr4n2y: + resolution: {integrity: sha512-Xm1jPB91v6vIr9b+V3q6c96sPzU1jWdvN+Mv4CvIAY23ZIezGNIWxWNGIWj1We0CZ8SSOQkttz8921M10TQjXg==} peerDependencies: react: ^18.0.0 || 18 react-dom: ^18.0.0 || 18 @@ -13907,8 +13950,8 @@ packages: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - /globals/13.17.0: - resolution: {integrity: sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==} + /globals/13.18.0: + resolution: {integrity: sha512-/mR4KI8Ps2spmoc0Ulu9L7agOF0du1CZNQ3dke8yItYlyKNmGrkONemBbd6V8UTc1Wgcqn21t3WYB7dbRmh6/A==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 @@ -15925,7 +15968,7 @@ packages: '@jest/expect': 29.3.1 '@jest/test-result': 29.3.1 '@jest/types': 29.3.1 - '@types/node': 16.11.45 + '@types/node': 18.11.9 chalk: 4.1.2 co: 4.6.0 dedent: 0.7.0 @@ -15990,7 +16033,46 @@ packages: '@types/node': 16.11.45 babel-jest: 29.3.1_@babel+core@7.20.2 chalk: 4.1.2 - ci-info: 3.6.1 + ci-info: 3.7.0 + deepmerge: 4.2.2 + glob: 7.2.3 + graceful-fs: 4.2.10 + 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.3.1 + jest-runner: 29.3.1 + jest-util: 29.3.1 + jest-validate: 29.3.1 + micromatch: 4.0.5 + parse-json: 5.2.0 + pretty-format: 29.3.1 + slash: 3.0.0 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-config/29.3.1_@types+node@18.11.9: + resolution: {integrity: sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@types/node': '*' + ts-node: '>=9.0.0' + peerDependenciesMeta: + '@types/node': + optional: true + ts-node: + optional: true + dependencies: + '@babel/core': 7.20.2 + '@jest/test-sequencer': 29.3.1 + '@jest/types': 29.3.1 + '@types/node': 18.11.9 + babel-jest: 29.3.1_@babel+core@7.20.2 + chalk: 4.1.2 + ci-info: 3.7.0 deepmerge: 4.2.2 glob: 7.2.3 graceful-fs: 4.2.10 @@ -16052,7 +16134,7 @@ packages: '@jest/fake-timers': 29.3.1 '@jest/types': 29.3.1 '@types/jsdom': 20.0.1 - '@types/node': 18.11.5 + '@types/node': 18.11.9 jest-mock: 29.3.1 jest-util: 29.3.1 jsdom: 20.0.2 @@ -16069,7 +16151,7 @@ packages: '@jest/environment': 29.3.1 '@jest/fake-timers': 29.3.1 '@jest/types': 29.3.1 - '@types/node': 16.11.45 + '@types/node': 18.11.9 jest-mock: 29.3.1 jest-util: 29.3.1 dev: true @@ -16085,7 +16167,7 @@ packages: dependencies: '@jest/types': 26.6.2 '@types/graceful-fs': 4.1.5 - '@types/node': 18.11.5 + '@types/node': 18.11.9 anymatch: 3.1.2 fb-watchman: 2.0.2 graceful-fs: 4.2.10 @@ -16108,7 +16190,7 @@ packages: dependencies: '@jest/types': 29.3.1 '@types/graceful-fs': 4.1.5 - '@types/node': 16.11.45 + '@types/node': 18.11.9 anymatch: 3.1.2 fb-watchman: 2.0.2 graceful-fs: 4.2.10 @@ -16159,7 +16241,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 18.11.5 + '@types/node': 18.11.9 dev: true /jest-mock/29.3.1: @@ -16167,7 +16249,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.3.1 - '@types/node': 18.11.5 + '@types/node': 18.11.9 jest-util: 29.3.1 dev: true @@ -16227,7 +16309,7 @@ packages: '@jest/test-result': 29.3.1 '@jest/transform': 29.3.1 '@jest/types': 29.3.1 - '@types/node': 16.11.45 + '@types/node': 18.11.9 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.10 @@ -16258,7 +16340,7 @@ packages: '@jest/test-result': 29.3.1 '@jest/transform': 29.3.1 '@jest/types': 29.3.1 - '@types/node': 16.11.45 + '@types/node': 18.11.9 chalk: 4.1.2 cjs-module-lexer: 1.2.2 collect-v8-coverage: 1.0.1 @@ -16281,7 +16363,7 @@ packages: resolution: {integrity: sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==} engines: {node: '>= 10.14.2'} dependencies: - '@types/node': 18.11.5 + '@types/node': 18.11.9 graceful-fs: 4.2.10 dev: true @@ -16322,7 +16404,7 @@ packages: engines: {node: '>= 10.14.2'} dependencies: '@jest/types': 26.6.2 - '@types/node': 18.11.5 + '@types/node': 18.11.9 chalk: 4.1.2 graceful-fs: 4.2.10 is-ci: 2.0.0 @@ -16334,9 +16416,9 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.3.1 - '@types/node': 18.11.5 + '@types/node': 18.11.9 chalk: 4.1.2 - ci-info: 3.6.1 + ci-info: 3.7.0 graceful-fs: 4.2.10 picomatch: 2.3.1 dev: true @@ -16359,7 +16441,7 @@ packages: dependencies: '@jest/test-result': 29.3.1 '@jest/types': 29.3.1 - '@types/node': 16.11.45 + '@types/node': 18.11.9 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -16371,7 +16453,7 @@ packages: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 18.11.5 + '@types/node': 18.11.9 merge-stream: 2.0.0 supports-color: 7.2.0 dev: true @@ -16380,7 +16462,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 18.11.5 + '@types/node': 18.11.9 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -16388,7 +16470,7 @@ packages: resolution: {integrity: sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 16.11.45 + '@types/node': 18.11.9 jest-util: 29.3.1 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -16414,8 +16496,8 @@ packages: - ts-node dev: true - /jose/4.11.0: - resolution: {integrity: sha512-wLe+lJHeG8Xt6uEubS4x0LVjS/3kXXu9dGoj9BNnlhYq7Kts0Pbb2pvv5KiI0yaKH/eaiR0LUOBhOVo9ktd05A==} + /jose/4.11.1: + resolution: {integrity: sha512-YRv4Tk/Wlug8qicwqFNFVEZSdbROCHRAC6qu/i0dyNKr5JQdoa2pIGoS04lLO/jXQX7Z9omoNewYIVIxqZBd9Q==} /jpeg-js/0.4.4: resolution: {integrity: sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==} @@ -16437,8 +16519,8 @@ packages: engines: {node: '>=0.10.0'} dev: true - /js-sdsl/4.1.5: - resolution: {integrity: sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==} + /js-sdsl/4.2.0: + resolution: {integrity: sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==} /js-string-escape/1.0.1: resolution: {integrity: sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==} @@ -16509,13 +16591,18 @@ packages: /jsesc/0.5.0: resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true - dev: true /jsesc/2.5.2: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} engines: {node: '>=4'} hasBin: true + /jsesc/3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} + hasBin: true + dev: false + /json-buffer/3.0.0: resolution: {integrity: sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==} dev: false @@ -16794,11 +16881,6 @@ packages: prelude-ls: 1.2.1 type-check: 0.4.0 - /lilconfig/2.0.5: - resolution: {integrity: sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==} - engines: {node: '>=10'} - dev: true - /lilconfig/2.0.6: resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==} engines: {node: '>=10'} @@ -16820,18 +16902,18 @@ packages: resolution: {integrity: sha512-1Y9XQH65eQKA9p2xtk+zxvnTeQBG7rdAXSkUG97DmuI/Xhji9uaUzaWxRj6rf9YC0v8KKHkxav7tnLX82Sz5Fg==} dev: false - /lint-staged/13.0.3: - resolution: {integrity: sha512-9hmrwSCFroTSYLjflGI8Uk+GWAwMB4OlpU4bMJEAT5d/llQwtYKoim4bLOyLCuWFAhWEupE0vkIFqtw/WIsPug==} + /lint-staged/13.0.4: + resolution: {integrity: sha512-HxlHCXoYRsq9QCby5wFozmZW00hMs/9e3l+/dz6Qr8Kle4UH0kJTdABAbqhzG+3pcG6QjL9kz7NgGBfph+a5dw==} engines: {node: ^14.13.1 || >=16.0.0} hasBin: true dependencies: cli-truncate: 3.1.0 colorette: 2.0.19 - commander: 9.3.0 + commander: 9.4.1 debug: 4.3.4 execa: 6.1.0 - lilconfig: 2.0.5 - listr2: 4.0.5 + lilconfig: 2.0.6 + listr2: 5.0.5 micromatch: 4.0.5 normalize-path: 3.0.0 object-inspect: 1.12.2 @@ -16942,6 +17024,25 @@ packages: wrap-ansi: 7.0.0 dev: true + /listr2/5.0.5: + resolution: {integrity: sha512-DpBel6fczu7oQKTXMekeprc0o3XDgGMkD7JNYyX+X0xbwK+xgrx9dcyKoXKqpLSUvAWfmoePS7kavniOcq3r4w==} + engines: {node: ^14.13.1 || >=16.0.0} + peerDependencies: + enquirer: '>= 2.3.0 < 3' + peerDependenciesMeta: + enquirer: + optional: true + dependencies: + cli-truncate: 2.1.0 + colorette: 2.0.19 + log-update: 4.0.0 + p-map: 4.0.0 + rfdc: 1.3.0 + rxjs: 7.5.7 + through: 2.3.8 + wrap-ansi: 7.0.0 + dev: true + /load-json-file/1.1.0: resolution: {integrity: sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==} engines: {node: '>=0.10.0'} @@ -17881,8 +17982,8 @@ packages: type-fest: 0.4.1 dev: false - /next-auth/4.16.4_dcors23iqtgxrhrwosgnnc4xji: - resolution: {integrity: sha512-KXW578+ER1u5RcWLwCHMdb/RIBIO6JM8r6xlf9RIPSKzkvDcX9FHiZfJS2vOq/SurHXPJZc4J3OS4IDJpF74Dw==} + /next-auth/4.17.0_7iuvftg57tblwyxclfkwku5xo4: + resolution: {integrity: sha512-aN2tdnjS0MDeUpB2tBDOaWnegkgeMWrsccujbXRGMJ607b+EwRcy63MFGSr0OAboDJEe0902piXQkt94GqF8Qw==} engines: {node: ^12.19.0 || ^14.15.0 || ^16.13.0 || ^18.12.0} peerDependencies: next: ^12.2.5 || ^13 @@ -17896,50 +17997,23 @@ packages: '@babel/runtime': 7.20.1 '@panva/hkdf': 1.0.2 cookie: 0.5.0 - jose: 4.11.0 - next: 13.0.4_biqbaboplfbrettd7655fr4n2y + jose: 4.11.1 + next: 13.0.5_biqbaboplfbrettd7655fr4n2y oauth: 0.9.15 openid-client: 5.3.0 - preact: 10.11.2 - preact-render-to-string: 5.2.6_preact@10.11.2 + preact: 10.11.3 + preact-render-to-string: 5.2.6_preact@10.11.3 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 uuid: 8.3.2 - /next-auth/4.16.4_wg23sy66rdimfz56mrp5vlofyy: - resolution: {integrity: sha512-KXW578+ER1u5RcWLwCHMdb/RIBIO6JM8r6xlf9RIPSKzkvDcX9FHiZfJS2vOq/SurHXPJZc4J3OS4IDJpF74Dw==} - engines: {node: ^12.19.0 || ^14.15.0 || ^16.13.0 || ^18.12.0} - peerDependencies: - next: ^12.2.5 || ^13 - nodemailer: ^6.6.5 - react: ^17.0.2 || ^18 || 18 - react-dom: ^17.0.2 || ^18 || 18 - peerDependenciesMeta: - nodemailer: - optional: true - dependencies: - '@babel/runtime': 7.20.1 - '@panva/hkdf': 1.0.2 - cookie: 0.5.0 - jose: 4.11.0 - next: 13.0.4_biqbaboplfbrettd7655fr4n2y - nodemailer: 6.7.8 - oauth: 0.9.15 - openid-client: 5.3.0 - preact: 10.11.2 - preact-render-to-string: 5.2.6_preact@10.11.2 - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - uuid: 8.3.2 - dev: false - - /next-axiom/0.15.1_next@13.0.4: + /next-axiom/0.15.1_next@13.0.5: resolution: {integrity: sha512-5leWEoW6LugxLGFilmJPCVmG8cfZio6sXtVw+/7dqQvEbX5T1dwvoOSfmLh2NjocP/i/R2jpdrtgFl+ZrkOl1Q==} engines: {node: '>=15'} peerDependencies: next: ^12.1.4 || ^13 dependencies: - next: 13.0.4_biqbaboplfbrettd7655fr4n2y + next: 13.0.5_biqbaboplfbrettd7655fr4n2y whatwg-fetch: 3.6.2 dev: false @@ -17964,26 +18038,26 @@ packages: transitivePeerDependencies: - supports-color - /next-plausible/3.6.4_dcors23iqtgxrhrwosgnnc4xji: + /next-plausible/3.6.4_7iuvftg57tblwyxclfkwku5xo4: resolution: {integrity: sha512-aHL4IL+gkkjs5ScB18LZ3LMEWXKR5VTvnMDs/fHNFHadOh23i37fD+VP5oAQLALR8Mde63l9JJljrw9DkvjWjQ==} peerDependencies: next: ^11.1.0 || ^12.0.0 || ^13.0.0 react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 dependencies: - next: 13.0.4_biqbaboplfbrettd7655fr4n2y + next: 13.0.5_vgii64pd2ccbnbx2v3ro5gbin4 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 dev: false - /next-themes/0.2.1_dcors23iqtgxrhrwosgnnc4xji: + /next-themes/0.2.1_7iuvftg57tblwyxclfkwku5xo4: resolution: {integrity: sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==} peerDependencies: next: '*' react: '*' react-dom: '*' dependencies: - next: 13.0.4_biqbaboplfbrettd7655fr4n2y + next: 13.0.5_vgii64pd2ccbnbx2v3ro5gbin4 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 dev: false @@ -17999,8 +18073,8 @@ packages: urql: 3.0.3_onqnqwb3ubg5opvemcqf7c2qhy dev: false - /next/13.0.4_biqbaboplfbrettd7655fr4n2y: - resolution: {integrity: sha512-4P0MvbjPCI1E/UPL1GrTXtYlgFnbBbY3JQ+AMY8jYE2SwyvCWctEJySoRjveznAHjrl6TIjuAJeB8u1c2StYUQ==} + /next/13.0.5_biqbaboplfbrettd7655fr4n2y: + resolution: {integrity: sha512-awpc3DkphyKydwCotcBnuKwh6hMqkT5xdiBK4OatJtOZurDPBYLP62jtM2be/4OunpmwIbsS0Eyv+ZGU97ciEg==} engines: {node: '>=14.6.0'} hasBin: true peerDependencies: @@ -18017,34 +18091,33 @@ packages: sass: optional: true dependencies: - '@next/env': 13.0.4 - '@swc/helpers': 0.4.11 - caniuse-lite: 1.0.30001431 + '@next/env': 13.0.5 + '@swc/helpers': 0.4.14 + caniuse-lite: 1.0.30001434 postcss: 8.4.14 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 styled-jsx: 5.1.0_react@18.2.0 - use-sync-external-store: 1.2.0_react@18.2.0 optionalDependencies: - '@next/swc-android-arm-eabi': 13.0.4 - '@next/swc-android-arm64': 13.0.4 - '@next/swc-darwin-arm64': 13.0.4 - '@next/swc-darwin-x64': 13.0.4 - '@next/swc-freebsd-x64': 13.0.4 - '@next/swc-linux-arm-gnueabihf': 13.0.4 - '@next/swc-linux-arm64-gnu': 13.0.4 - '@next/swc-linux-arm64-musl': 13.0.4 - '@next/swc-linux-x64-gnu': 13.0.4 - '@next/swc-linux-x64-musl': 13.0.4 - '@next/swc-win32-arm64-msvc': 13.0.4 - '@next/swc-win32-ia32-msvc': 13.0.4 - '@next/swc-win32-x64-msvc': 13.0.4 + '@next/swc-android-arm-eabi': 13.0.5 + '@next/swc-android-arm64': 13.0.5 + '@next/swc-darwin-arm64': 13.0.5 + '@next/swc-darwin-x64': 13.0.5 + '@next/swc-freebsd-x64': 13.0.5 + '@next/swc-linux-arm-gnueabihf': 13.0.5 + '@next/swc-linux-arm64-gnu': 13.0.5 + '@next/swc-linux-arm64-musl': 13.0.5 + '@next/swc-linux-x64-gnu': 13.0.5 + '@next/swc-linux-x64-musl': 13.0.5 + '@next/swc-win32-arm64-msvc': 13.0.5 + '@next/swc-win32-ia32-msvc': 13.0.5 + '@next/swc-win32-x64-msvc': 13.0.5 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros - /next/13.0.4_vgii64pd2ccbnbx2v3ro5gbin4: - resolution: {integrity: sha512-4P0MvbjPCI1E/UPL1GrTXtYlgFnbBbY3JQ+AMY8jYE2SwyvCWctEJySoRjveznAHjrl6TIjuAJeB8u1c2StYUQ==} + /next/13.0.5_vgii64pd2ccbnbx2v3ro5gbin4: + resolution: {integrity: sha512-awpc3DkphyKydwCotcBnuKwh6hMqkT5xdiBK4OatJtOZurDPBYLP62jtM2be/4OunpmwIbsS0Eyv+ZGU97ciEg==} engines: {node: '>=14.6.0'} hasBin: true peerDependencies: @@ -18061,29 +18134,28 @@ packages: sass: optional: true dependencies: - '@next/env': 13.0.4 - '@swc/helpers': 0.4.11 - caniuse-lite: 1.0.30001431 + '@next/env': 13.0.5 + '@swc/helpers': 0.4.14 + caniuse-lite: 1.0.30001434 postcss: 8.4.14 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 sass: 1.56.1 styled-jsx: 5.1.0_3lzqd2prgnu7gkxqqdmtvzna5u - use-sync-external-store: 1.2.0_react@18.2.0 optionalDependencies: - '@next/swc-android-arm-eabi': 13.0.4 - '@next/swc-android-arm64': 13.0.4 - '@next/swc-darwin-arm64': 13.0.4 - '@next/swc-darwin-x64': 13.0.4 - '@next/swc-freebsd-x64': 13.0.4 - '@next/swc-linux-arm-gnueabihf': 13.0.4 - '@next/swc-linux-arm64-gnu': 13.0.4 - '@next/swc-linux-arm64-musl': 13.0.4 - '@next/swc-linux-x64-gnu': 13.0.4 - '@next/swc-linux-x64-musl': 13.0.4 - '@next/swc-win32-arm64-msvc': 13.0.4 - '@next/swc-win32-ia32-msvc': 13.0.4 - '@next/swc-win32-x64-msvc': 13.0.4 + '@next/swc-android-arm-eabi': 13.0.5 + '@next/swc-android-arm64': 13.0.5 + '@next/swc-darwin-arm64': 13.0.5 + '@next/swc-darwin-x64': 13.0.5 + '@next/swc-freebsd-x64': 13.0.5 + '@next/swc-linux-arm-gnueabihf': 13.0.5 + '@next/swc-linux-arm64-gnu': 13.0.5 + '@next/swc-linux-arm64-musl': 13.0.5 + '@next/swc-linux-x64-gnu': 13.0.5 + '@next/swc-linux-x64-musl': 13.0.5 + '@next/swc-win32-arm64-msvc': 13.0.5 + '@next/swc-win32-ia32-msvc': 13.0.5 + '@next/swc-win32-x64-msvc': 13.0.5 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -18478,15 +18550,6 @@ packages: isobject: 3.0.1 dev: true - /object.values/1.1.5: - resolution: {integrity: sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.4 - es-abstract: 1.20.4 - dev: true - /object.values/1.1.6: resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} engines: {node: '>= 0.4'} @@ -18494,7 +18557,6 @@ packages: call-bind: 1.0.2 define-properties: 1.1.4 es-abstract: 1.20.4 - dev: false /objectorarray/1.0.5: resolution: {integrity: sha512-eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg==} @@ -18587,7 +18649,7 @@ packages: /openid-client/5.3.0: resolution: {integrity: sha512-SykPCeZBZ/SxiBH5AWynvFUIDX3//2pgwc/3265alUmGHeCN03+X8uP+pHOVnCXCKfX/XOhO90qttAQ76XcGxA==} dependencies: - jose: 4.11.0 + jose: 4.11.1 lru-cache: 6.0.0 object-hash: 2.2.0 oidc-token-hash: 5.0.1 @@ -19515,7 +19577,7 @@ packages: dependencies: icss-utils: 4.1.1 postcss: 7.0.39 - postcss-selector-parser: 6.0.10 + postcss-selector-parser: 6.0.11 postcss-value-parser: 4.2.0 dev: true @@ -19527,7 +19589,7 @@ packages: dependencies: icss-utils: 5.1.0_postcss@8.4.19 postcss: 8.4.19 - postcss-selector-parser: 6.0.10 + postcss-selector-parser: 6.0.11 postcss-value-parser: 4.2.0 dev: true @@ -19536,7 +19598,7 @@ packages: engines: {node: '>= 6'} dependencies: postcss: 7.0.39 - postcss-selector-parser: 6.0.10 + postcss-selector-parser: 6.0.11 dev: true /postcss-modules-scope/3.0.0_postcss@8.4.19: @@ -19546,7 +19608,7 @@ packages: postcss: ^8.1.0 dependencies: postcss: 8.4.19 - postcss-selector-parser: 6.0.10 + postcss-selector-parser: 6.0.11 dev: true /postcss-modules-values/3.0.0: @@ -19730,6 +19792,14 @@ packages: cssesc: 3.0.0 util-deprecate: 1.0.2 + /postcss-selector-parser/6.0.11: + resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: true + /postcss-value-parser/3.3.1: resolution: {integrity: sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==} dev: false @@ -19951,16 +20021,16 @@ packages: posthtml-render: 3.0.0 dev: false - /preact-render-to-string/5.2.6_preact@10.11.2: + /preact-render-to-string/5.2.6_preact@10.11.3: resolution: {integrity: sha512-JyhErpYOvBV1hEPwIxc/fHWXPfnEGdRKxc8gFdAZ7XV4tlzyzG847XAyEZqoDnynP88akM4eaHcSOzNcLWFguw==} peerDependencies: preact: '>=10' dependencies: - preact: 10.11.2 + preact: 10.11.3 pretty-format: 3.8.0 - /preact/10.11.2: - resolution: {integrity: sha512-skAwGDFmgxhq1DCBHke/9e12ewkhc7WYwjuhHB8HHS8zkdtITXLRmUMTeol2ldxvLwYtwbFeifZ9uDDWuyL4Iw==} + /preact/10.11.3: + resolution: {integrity: sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg==} /preferred-pm/3.0.3: resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==} @@ -19992,13 +20062,13 @@ packages: fast-diff: 1.2.0 dev: false - /prettier-plugin-tailwindcss/0.1.13_prettier@2.7.1: + /prettier-plugin-tailwindcss/0.1.13_prettier@2.8.0: resolution: {integrity: sha512-/EKQURUrxLu66CMUg4+1LwGdxnz8of7IDvrSLqEtDqhLH61SAlNNUSr90UTvZaemujgl3OH/VHg+fyGltrNixw==} engines: {node: '>=12.17.0'} peerDependencies: prettier: '>=2.2.0' dependencies: - prettier: 2.7.1 + prettier: 2.8.0 dev: false /prettier/2.3.0: @@ -20007,8 +20077,8 @@ packages: hasBin: true dev: true - /prettier/2.7.1: - resolution: {integrity: sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==} + /prettier/2.8.0: + resolution: {integrity: sha512-9Lmg8hTFZKG0Asr/kW9Bp8tJjRVluO8EJQVfY2T7FMw9T5jy4I/Uvx0Rca/XWf50QQ1/SS48+6IJWnrb+2yemA==} engines: {node: '>=10.13.0'} hasBin: true @@ -20155,7 +20225,7 @@ packages: /prosemirror-commands/1.3.1: resolution: {integrity: sha512-XTporPgoECkOQACVw0JTe3RZGi+fls3/byqt+tXwGTkD7qLuB4KdVrJamDMJf4kfKga3uB8hZ+kUUyZ5oWpnfg==} dependencies: - prosemirror-model: 1.18.1 + prosemirror-model: 1.18.3 prosemirror-state: 1.4.2 prosemirror-transform: 1.7.0 @@ -20164,16 +20234,16 @@ packages: dependencies: prosemirror-state: 1.4.2 prosemirror-transform: 1.7.0 - prosemirror-view: 1.29.0 + prosemirror-view: 1.29.1 dev: false /prosemirror-gapcursor/1.3.1: resolution: {integrity: sha512-GKTeE7ZoMsx5uVfc51/ouwMFPq0o8YrZ7Hx4jTF4EeGbXxBveUV8CGv46mSHuBBeXGmvu50guoV2kSnOeZZnUA==} dependencies: prosemirror-keymap: 1.2.0 - prosemirror-model: 1.18.1 + prosemirror-model: 1.18.3 prosemirror-state: 1.4.2 - prosemirror-view: 1.29.0 + prosemirror-view: 1.29.1 dev: false /prosemirror-history/1.3.0: @@ -20190,34 +20260,34 @@ packages: prosemirror-state: 1.4.2 w3c-keyname: 2.2.6 - /prosemirror-model/1.18.1: - resolution: {integrity: sha512-IxSVBKAEMjD7s3n8cgtwMlxAXZrC7Mlag7zYsAKDndAqnDScvSmp/UdnRTV/B33lTCVU3CCm7dyAn/rVVD0mcw==} + /prosemirror-model/1.18.3: + resolution: {integrity: sha512-yUVejauEY3F1r7PDy4UJKEGeIU+KFc71JQl5sNvG66CLVdKXRjhWpBW6KMeduGsmGOsw85f6EGrs6QxIKOVILA==} dependencies: orderedmap: 2.1.0 /prosemirror-schema-list/1.2.2: resolution: {integrity: sha512-rd0pqSDp86p0MUMKG903g3I9VmElFkQpkZ2iOd3EOVg1vo5Cst51rAsoE+5IPy0LPXq64eGcCYlW1+JPNxOj2w==} dependencies: - prosemirror-model: 1.18.1 + prosemirror-model: 1.18.3 prosemirror-state: 1.4.2 prosemirror-transform: 1.7.0 /prosemirror-state/1.4.2: resolution: {integrity: sha512-puuzLD2mz/oTdfgd8msFbe0A42j5eNudKAAPDB0+QJRw8cO1ygjLmhLrg9RvDpf87Dkd6D4t93qdef00KKNacQ==} dependencies: - prosemirror-model: 1.18.1 + prosemirror-model: 1.18.3 prosemirror-transform: 1.7.0 - prosemirror-view: 1.29.0 + prosemirror-view: 1.29.1 /prosemirror-transform/1.7.0: resolution: {integrity: sha512-O4T697Cqilw06Zvc3Wm+e237R6eZtJL/xGMliCi+Uo8VL6qHk6afz1qq0zNjT3eZMuYwnP8ZS0+YxX/tfcE9TQ==} dependencies: - prosemirror-model: 1.18.1 + prosemirror-model: 1.18.3 - /prosemirror-view/1.29.0: - resolution: {integrity: sha512-bifVd5aD9uCNtpLL1AyhquG/cVbNZSv+ALBxTEGYv51a6OHDhq+aOuzqq4MermNdeBdT+5uyURXCALgzk0EN5g==} + /prosemirror-view/1.29.1: + resolution: {integrity: sha512-OhujVZSDsh0l0PyHNdfaBj6DBkbhYaCfbaxmTeFrMKd/eWS+G6IC+OAbmR9IsLC8Se1HSbphMaXnsXjupHL3UQ==} dependencies: - prosemirror-model: 1.18.1 + prosemirror-model: 1.18.3 prosemirror-state: 1.4.2 prosemirror-transform: 1.7.0 @@ -20746,10 +20816,10 @@ packages: /regenerator-runtime/0.13.10: resolution: {integrity: sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==} + dev: true /regenerator-runtime/0.13.11: resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} - dev: false /regenerator-runtime/0.13.9: resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==} @@ -20835,7 +20905,6 @@ packages: hasBin: true dependencies: jsesc: 0.5.0 - dev: true /rehype-autolink-headings/6.1.1: resolution: {integrity: sha512-NMYzZIsHM3sA14nC5rAFuUPIOfg+DFmf9EY1YMhaNlB7+3kK/ZlE6kqPfuxr1tsJ1XWkTrMtMoyHosU70d35mA==} @@ -20904,7 +20973,7 @@ packages: /relay-runtime/12.0.0: resolution: {integrity: sha512-QU6JKr1tMsry22DXNy9Whsq5rmvwr3LSZiiWV/9+DFpuTWvp+WFhobWMc8TC4OjKFfNhEZy7mOiqUAn5atQtug==} dependencies: - '@babel/runtime': 7.19.4 + '@babel/runtime': 7.20.1 fbjs: 3.0.4 invariant: 2.2.4 transitivePeerDependencies: @@ -21761,7 +21830,7 @@ packages: resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} engines: {node: '>=12'} dependencies: - ansi-styles: 6.1.0 + ansi-styles: 6.2.1 is-fullwidth-code-point: 4.0.0 dev: true @@ -22111,7 +22180,7 @@ packages: resolution: {integrity: sha512-siT1RiqlfQnGqgT/YzXVUNsom9S0H1OX+dpdGN1xkyYATo4I6sep5NmsRD/40s3IIOvlCq6akxkqG82urIZW1w==} dev: true - /storybook-addon-next/1.6.10_gs5cs42cithblp2rzvqgbdw2qm: + /storybook-addon-next/1.6.10_thexi4xsgip6ogigep7hzw43bm: resolution: {integrity: sha512-BYs2B5dHIfk5EXVKGC91LZJ5/z+fUjhG7mDfuZvSA0igCm7AZFbe2LJz8NxtIKJpQwiqsqSr62suAcggMRkBNg==} peerDependencies: '@storybook/addon-actions': ^6.0.0 @@ -22126,7 +22195,7 @@ packages: '@storybook/addons': 6.5.13_biqbaboplfbrettd7655fr4n2y image-size: 1.0.2 loader-utils: 3.2.0 - next: 13.0.4_vgii64pd2ccbnbx2v3ro5gbin4 + next: 13.0.5_vgii64pd2ccbnbx2v3ro5gbin4 postcss-loader: 6.2.1_upg3rk2kpasnbk27hkqapxaxfq react: 18.2.0 react-dom: 18.2.0_react@18.2.0 @@ -23822,6 +23891,7 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 dependencies: react: 18.2.0 + dev: false /use/3.1.1: resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} @@ -24769,7 +24839,6 @@ packages: /zod/3.19.1: resolution: {integrity: sha512-LYjZsEDhCdYET9ikFu6dVPGp2YH9DegXjdJToSzD9rO6fy4qiRYFoyEYwps88OseJlPyl2NOe2iJuhEhL7IpEA==} - dev: true /zwitch/1.0.5: resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==} From 929eb0d6c4c3717e12beb4fd8a367732b1dbfecf Mon Sep 17 00:00:00 2001 From: Qing <7880675+devrsi0n@users.noreply.github.com> Date: Fri, 25 Nov 2022 22:32:51 +0800 Subject: [PATCH 04/34] refactor: notifcation hub and play page --- apps/main/next.config.js | 8 +++ apps/main/src/pages/play.tsx | 23 +++--- packages/trpc/package.json | 4 -- packages/trpc/src/index.ts | 3 +- packages/trpc/src/router/_app.ts | 11 --- packages/trpc/src/router/auth.ts | 2 +- packages/trpc/src/router/comment.ts | 22 ++++++ packages/trpc/src/router/example.ts | 16 ----- packages/trpc/src/router/index.ts | 13 ++++ packages/trpc/src/router/notification.ts | 63 ++++++++++++++++ packages/trpc/src/router/user.ts | 17 +++++ packages/trpc/src/{trpc.ts => trpc-server.ts} | 2 +- packages/trpc/tsconfig.json | 8 ++- packages/ui/package.json | 6 ++ .../confirm-user-fields.tsx | 5 +- .../notification-hub/notification-hub.tsx | 54 +++++++------- .../notification-hub/notification-item.tsx | 11 +-- .../current-user-context.ts | 10 +-- .../current-user-provider.tsx | 29 ++++---- .../gql-client-provider.tsx | 24 ------- .../src/contexts/gql-client-context/index.ts | 1 - packages/ui/src/contexts/index.ts | 1 - packages/ui/src/hooks/index.ts | 1 - .../ui/src/hooks/use-bypass-cache-refetch.ts | 25 ------- packages/ui/src/pages/app.tsx | 30 ++++---- packages/ui/src/utilities/gql-client.ts | 72 ------------------- packages/ui/src/utilities/index.ts | 1 - packages/ui/src/utilities/trpc-client.ts | 37 ++++++++++ packages/utils/src/function.ts | 4 ++ packages/utils/src/index.ts | 1 + packages/utils/src/url.ts | 5 ++ pnpm-lock.yaml | 22 +++--- 32 files changed, 279 insertions(+), 252 deletions(-) delete mode 100644 packages/trpc/src/router/_app.ts create mode 100644 packages/trpc/src/router/comment.ts delete mode 100644 packages/trpc/src/router/example.ts create mode 100644 packages/trpc/src/router/index.ts create mode 100644 packages/trpc/src/router/notification.ts create mode 100644 packages/trpc/src/router/user.ts rename packages/trpc/src/{trpc.ts => trpc-server.ts} (95%) delete mode 100644 packages/ui/src/contexts/gql-client-context/gql-client-provider.tsx delete mode 100644 packages/ui/src/contexts/gql-client-context/index.ts delete mode 100644 packages/ui/src/hooks/use-bypass-cache-refetch.ts delete mode 100644 packages/ui/src/utilities/gql-client.ts create mode 100644 packages/ui/src/utilities/trpc-client.ts create mode 100644 packages/utils/src/url.ts diff --git a/apps/main/next.config.js b/apps/main/next.config.js index 4096381a8..66e39c604 100644 --- a/apps/main/next.config.js +++ b/apps/main/next.config.js @@ -108,6 +108,14 @@ const nextConfig = { test: /\.html$/, loader: 'html-loader', }); + if (!isServer) { + config.resolve.fallback = { + ...config.resolve.fallback, + net: false, + tls: false, + fs: false, + }; + } return config; }, }; diff --git a/apps/main/src/pages/play.tsx b/apps/main/src/pages/play.tsx index 5e956d3b3..e8da0ef64 100644 --- a/apps/main/src/pages/play.tsx +++ b/apps/main/src/pages/play.tsx @@ -1,11 +1,9 @@ -import { DeleteStaleCommentsDocument } from '@chirpy-dev/graphql'; +import { prisma } from '@chirpy-dev/trpc'; import { cpDayjs } from '@chirpy-dev/ui'; import { getAppURL } from '@chirpy-dev/utils'; import { GetStaticProps, GetStaticPropsResult } from 'next'; import { log } from 'next-axiom'; -import { mutate } from '$/server/common/gql'; - type StaticProps = { // }; @@ -19,15 +17,18 @@ export const getStaticProps: GetStaticProps = async (): Promise< }; } const beforeDate = cpDayjs().subtract(1, 'day').toISOString(); - const data = await mutate( - DeleteStaleCommentsDocument, - { - beforeDate, - url: `${getAppURL()}/play`, + + const result = await prisma.comment.deleteMany({ + where: { + createdAt: { + lt: beforeDate, + }, + page: { + url: `${getAppURL()}/play`, + }, }, - 'deleteComments', - ); - log.debug('DeleteStaleComments, affected rows:', data.affected_rows); + }); + log.debug('DeleteStaleComments, affected rows:', result.count); return { revalidate: 60 * 60, // We only need it to trigger periodicity tasks, no need props diff --git a/packages/trpc/package.json b/packages/trpc/package.json index 0046c8bdb..e77996acb 100644 --- a/packages/trpc/package.json +++ b/packages/trpc/package.json @@ -14,10 +14,6 @@ "@chirpy-dev/utils": "workspace:*", "@next-auth/prisma-adapter": "1.0.5", "@prisma/client": "4.6.1", - "@tanstack/react-query": "4.16.1", - "@trpc/client": "10.1.0", - "@trpc/next": "10.1.0", - "@trpc/react-query": "10.1.0", "@trpc/server": "10.1.0", "next": "13.0.5", "next-auth": "4.17.0", diff --git a/packages/trpc/src/index.ts b/packages/trpc/src/index.ts index acd208af1..51ddceb9e 100644 --- a/packages/trpc/src/index.ts +++ b/packages/trpc/src/index.ts @@ -1,2 +1,3 @@ -export * from './trpc'; export * from './auth'; +export * from './trpc-server'; +export * from './common/db'; diff --git a/packages/trpc/src/router/_app.ts b/packages/trpc/src/router/_app.ts deleted file mode 100644 index 1aa177aeb..000000000 --- a/packages/trpc/src/router/_app.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { router } from '../trpc'; -import { authRouter } from './auth'; -import { exampleRouter } from './example'; - -export const appRouter = router({ - example: exampleRouter, - auth: authRouter, -}); - -// export type definition of API -export type AppRouter = typeof appRouter; diff --git a/packages/trpc/src/router/auth.ts b/packages/trpc/src/router/auth.ts index 2e6f83969..1f8f90b35 100644 --- a/packages/trpc/src/router/auth.ts +++ b/packages/trpc/src/router/auth.ts @@ -1,4 +1,4 @@ -import { router, publicProcedure, protectedProcedure } from '../trpc'; +import { router, publicProcedure, protectedProcedure } from '../trpc-server'; export const authRouter = router({ getSession: publicProcedure.query(({ ctx }) => { diff --git a/packages/trpc/src/router/comment.ts b/packages/trpc/src/router/comment.ts new file mode 100644 index 000000000..34f255c20 --- /dev/null +++ b/packages/trpc/src/router/comment.ts @@ -0,0 +1,22 @@ +import { z } from 'zod'; + +import { prisma } from '../common/db'; +import { router, protectedProcedure } from '../trpc-server'; + +export const commentRouter = router({ + deleteStaleComments: protectedProcedure + .input(z.object({ beforeDate: z.string(), url: z.string() })) + .mutation(async ({ input }) => { + const result = await prisma.comment.deleteMany({ + where: { + createdAt: { + lt: input.beforeDate, + }, + page: { + url: input.url, + }, + }, + }); + return result; + }), +}); diff --git a/packages/trpc/src/router/example.ts b/packages/trpc/src/router/example.ts deleted file mode 100644 index 2ee3dda77..000000000 --- a/packages/trpc/src/router/example.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { z } from 'zod'; - -import { router, publicProcedure } from '../trpc'; - -export const exampleRouter = router({ - hello: publicProcedure - .input(z.object({ text: z.string().nullish() }).nullish()) - .query(({ input }) => { - return { - greeting: `Hello ${input?.text ?? 'world'}`, - }; - }), - getAll: publicProcedure.query(({ ctx }) => { - return ctx.prisma.example.findMany(); - }), -}); diff --git a/packages/trpc/src/router/index.ts b/packages/trpc/src/router/index.ts new file mode 100644 index 000000000..5d539fefd --- /dev/null +++ b/packages/trpc/src/router/index.ts @@ -0,0 +1,13 @@ +import { router } from '../trpc-server'; +import { authRouter } from './auth'; +import { notificationRouter } from './notification'; +import { userRouter } from './user'; + +export const appRouter = router({ + user: userRouter, + auth: authRouter, + notification: notificationRouter, +}); + +// export type definition of API +export type AppRouter = typeof appRouter; diff --git a/packages/trpc/src/router/notification.ts b/packages/trpc/src/router/notification.ts new file mode 100644 index 000000000..6818ea6ac --- /dev/null +++ b/packages/trpc/src/router/notification.ts @@ -0,0 +1,63 @@ +import { z } from 'zod'; + +import { prisma } from '../common/db'; +import { router, protectedProcedure } from '../trpc-server'; + +export const notificationRouter = router({ + messages: protectedProcedure + .input(z.object({ userId: z.string() })) + .query(async ({ input }) => { + const messages = await prisma.notificationMessage.findMany({ + where: { + recipientId: input.userId, + }, + select: { + id: true, + type: true, + content: true, + createdAt: true, + read: true, + url: true, + triggeredBy: { + select: { + id: true, + name: true, + username: true, + image: true, + email: true, + }, + }, + }, + }); + return messages; + }), + readAMessage: protectedProcedure + .input(z.object({ messageId: z.string() })) + .mutation(async ({ input }) => { + const result = await prisma.notificationMessage.update({ + where: { + id: input.messageId, + }, + data: { + read: true, + }, + select: { + id: true, + }, + }); + return result; + }), + deleteAMessage: protectedProcedure + .input(z.object({ messageId: z.string() })) + .mutation(async ({ input }) => { + const result = await prisma.notificationMessage.delete({ + where: { + id: input.messageId, + }, + select: { + id: true, + }, + }); + return result; + }), +}); diff --git a/packages/trpc/src/router/user.ts b/packages/trpc/src/router/user.ts new file mode 100644 index 000000000..8bc620997 --- /dev/null +++ b/packages/trpc/src/router/user.ts @@ -0,0 +1,17 @@ +import { z } from 'zod'; + +import { prisma } from '../common/db'; +import { router, protectedProcedure } from '../trpc-server'; + +export const userRouter = router({ + me: protectedProcedure + .input(z.object({ id: z.string() })) + .query(async ({ input }) => { + const me = await prisma.user.findUnique({ + where: { + id: input.id, + }, + }); + return me; + }), +}); diff --git a/packages/trpc/src/trpc.ts b/packages/trpc/src/trpc-server.ts similarity index 95% rename from packages/trpc/src/trpc.ts rename to packages/trpc/src/trpc-server.ts index c7bbf0190..359fbcb53 100644 --- a/packages/trpc/src/trpc.ts +++ b/packages/trpc/src/trpc-server.ts @@ -4,7 +4,7 @@ import { type Context } from './context'; // import superjson from "superjson"; export { createNextApiHandler } from '@trpc/server/adapters/next'; -export { appRouter } from './router/_app'; +export { appRouter } from './router'; const t = initTRPC.context().create({ // transformer: superjson, diff --git a/packages/trpc/tsconfig.json b/packages/trpc/tsconfig.json index 01b176bed..3b24cbda2 100644 --- a/packages/trpc/tsconfig.json +++ b/packages/trpc/tsconfig.json @@ -6,5 +6,11 @@ "types": ["jest", "node"] }, "exclude": ["node_modules"], - "include": ["typings/**/*.d.ts", "src/**/*.ts", "src/**/*.tsx"] + "include": [ + "typings/**/*.d.ts", + "src/**/*.ts", + "src/**/*.tsx", + "../ui/src/utilities/trpc-client.ts", + "src/router/page.ts_" + ] } diff --git a/packages/ui/package.json b/packages/ui/package.json index 3af73a3de..bbc95dd3e 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -15,6 +15,7 @@ "sideEffects": false, "types": "./src/index.ts", "dependencies": { + "@chirpy-dev/trpc": "workspace:*", "@chirpy-dev/types": "workspace:*", "@chirpy-dev/utils": "workspace:*", "@geist-ui/icons": "1.0.2", @@ -27,6 +28,11 @@ "@tiptap/extension-underline": "2.0.0-beta.203", "@tiptap/react": "2.0.0-beta.203", "@tiptap/starter-kit": "2.0.0-beta.203", + "@tanstack/react-query": "4.16.1", + "@trpc/client": "10.1.0", + "@trpc/server": "10.1.0", + "@trpc/next": "10.1.0", + "@trpc/react-query": "10.1.0", "@urql/devtools": "2.0.3", "@urql/exchange-graphcache": "5.0.5", "@urql/exchange-refocus": "1.0.0", diff --git a/packages/ui/src/blocks/confirm-user-fields/confirm-user-fields.tsx b/packages/ui/src/blocks/confirm-user-fields/confirm-user-fields.tsx index 843011f85..32b24495d 100644 --- a/packages/ui/src/blocks/confirm-user-fields/confirm-user-fields.tsx +++ b/packages/ui/src/blocks/confirm-user-fields/confirm-user-fields.tsx @@ -8,7 +8,6 @@ import { IconCheck, IconLoader, IconSend } from '../../components/icons'; import { TextField } from '../../components/text-field'; import { useToast } from '../../components/toast'; import { useCurrentUser } from '../../contexts/current-user-context'; -import { useBypassCacheRefetch } from '../../hooks/use-bypass-cache-refetch'; import { useForm } from '../../hooks/use-form'; import { logger } from '../../utilities/logger'; import { EMAIL_REGEXP } from '../../utilities/validator'; @@ -20,7 +19,7 @@ export type ConfirmUserFieldsProps = { export function ConfirmUserFields(/*props: ConfirmUserFieldsProps*/): JSX.Element { const { data, loading: isLoadingUser, refetchUser } = useCurrentUser(); - const refetchWithoutCache = useBypassCacheRefetch(refetchUser); + const { register, errors, hasError, handleSubmit, setError, setFields } = useForm({ defaultValues: { @@ -53,7 +52,7 @@ export function ConfirmUserFields(/*props: ConfirmUserFieldsProps*/): JSX.Elemen name: fields.name, username: fields.username, }); - refetchWithoutCache(); + refetchUser(); } catch (error: any) { logger.debug(`Update user fields failed: ${error}`); if (/duplicate key.+users_username_key/.test(error.message)) { diff --git a/packages/ui/src/blocks/notification-hub/notification-hub.tsx b/packages/ui/src/blocks/notification-hub/notification-hub.tsx index 854ce1585..c62a035dd 100644 --- a/packages/ui/src/blocks/notification-hub/notification-hub.tsx +++ b/packages/ui/src/blocks/notification-hub/notification-hub.tsx @@ -1,8 +1,3 @@ -import { - useCurrentNotificationMessagesQuery, - useDeleteNotificationMessageMutation, - useHaveReadANotificationMutation, -} from '@chirpy-dev/graphql'; import * as React from 'react'; import { Badge } from '../../components/badge'; @@ -12,33 +7,33 @@ import { Menu } from '../../components/menu'; import { Spinner } from '../../components/spinner'; import { Text } from '../../components/text'; import { useCurrentUser } from '../../contexts/current-user-context'; -import { useBypassCacheRefetch } from '../../hooks/use-bypass-cache-refetch'; +import { trpcClient } from '../../utilities/trpc-client'; import styles from './notification-hub.module.scss'; import { NotificationItem } from './notification-item'; export function NotificationHub(): JSX.Element { const { data: userData } = useCurrentUser(); - const [{ data, fetching }, refetchNotification] = - useCurrentNotificationMessagesQuery({ - variables: { - userId: userData.id || '-1', - }, - pause: !userData.id, - }); - const refetchWithoutCache = useBypassCacheRefetch(refetchNotification); - const [{}, haveReadANotification] = useHaveReadANotificationMutation(); - const [{}, deleteNotificationMessage] = - useDeleteNotificationMessageMutation(); - const hasUnreadNotifications = data?.notificationMessages.some( - (msg) => !msg.read, - ); + const { + data, + refetch: refechMessages, + status, + } = trpcClient.notification.messages.useQuery({ + userId: userData.id || '-1', + }); + + const { mutateAsync: readANotification } = + trpcClient.notification.readAMessage.useMutation(); + + const { mutateAsync: deleteNotificationMessage } = + trpcClient.notification.readAMessage.useMutation(); + const hasUnreadNotifications = data?.some((msg) => !msg.read); return (
!open && refetchNotification()} + onClick={(open) => !open && refechMessages()} > {hasUnreadNotifications && ( @@ -49,23 +44,24 @@ export function NotificationHub(): JSX.Element { Notifications - {fetching && ( + {status === 'loading' && ( )} - {data?.notificationMessages?.length || 0 > 0 ? ( + {data && (data?.length || 0) > 0 ? (
- {data?.notificationMessages.map((msg, index) => ( + {data.map((msg, index) => ( - haveReadANotification({ messageId }) - } + length={data.length} + onClickCapture={async (messageId) => { + await readANotification({ messageId }); + await refechMessages(); + }} onClickDelete={async (messageId) => { await deleteNotificationMessage({ messageId }); - refetchWithoutCache(); + refechMessages(); }} /> ))} diff --git a/packages/ui/src/blocks/notification-hub/notification-item.tsx b/packages/ui/src/blocks/notification-hub/notification-item.tsx index 8d78ac550..b52ea616c 100644 --- a/packages/ui/src/blocks/notification-hub/notification-item.tsx +++ b/packages/ui/src/blocks/notification-hub/notification-item.tsx @@ -1,5 +1,4 @@ -import { CurrentNotificationMessagesQuery } from '@chirpy-dev/graphql'; -import { NotificationType_Enum } from '@chirpy-dev/graphql'; +import { RouterOutputs } from '@chirpy-dev/trpc'; import clsx from 'clsx'; import * as React from 'react'; @@ -23,7 +22,7 @@ export type INotificationItemProps = { * Message array total length */ length: number; - message: CurrentNotificationMessagesQuery['notificationMessages'][number]; + message: RouterOutputs['notification']['messages'][number]; onClickCapture: (messageId: string) => void; onClickDelete: (messageId: string) => void; }; @@ -126,7 +125,8 @@ function NotificationText({ className, ...restProps }: TextProps): JSX.Element { ); } -const TITLE_MAP: Record = { +// TODO: Use enum after mgrating to trpc +const TITLE_MAP: Record = { ReceivedAComment: 'left a comment', ReceivedAReply: 'replied to your comment', ReceivedALike: 'liked your comment', @@ -140,7 +140,8 @@ const COMMENT_ICON = ( ); -const ICON_MAP: Record = { +// TODO: Use enum after mgrating to trpc +const ICON_MAP: Record = { ReceivedAComment: COMMENT_ICON, ReceivedAReply: COMMENT_ICON, ReceivedALike: ( diff --git a/packages/ui/src/contexts/current-user-context/current-user-context.ts b/packages/ui/src/contexts/current-user-context/current-user-context.ts index f01e96be9..df7b8fc66 100644 --- a/packages/ui/src/contexts/current-user-context/current-user-context.ts +++ b/packages/ui/src/contexts/current-user-context/current-user-context.ts @@ -1,13 +1,14 @@ import { Nullable } from '@chirpy-dev/types'; -import { noop } from '@chirpy-dev/utils'; +import { asyncNoop } from '@chirpy-dev/utils'; import { Session } from 'next-auth'; import * as React from 'react'; -import { OperationContext } from 'urql'; + +import { trpcClient } from '../../utilities/trpc-client'; export type UserData = Nullable; export type CurrentUserContextType = { - refetchUser: (opts?: Partial | undefined) => void; + refetchUser: ReturnType['refetch']; loading: boolean; isSignIn: boolean; data: UserData & { @@ -19,7 +20,8 @@ export const EMPTY_CURRENT_USER_CONTEXT: CurrentUserContextType = { isSignIn: false, data: {}, loading: true, - refetchUser: noop, + // @ts-ignore + refetchUser: asyncNoop, }; export const CurrentUserContext = React.createContext( diff --git a/packages/ui/src/contexts/current-user-context/current-user-provider.tsx b/packages/ui/src/contexts/current-user-context/current-user-provider.tsx index 14169c0f1..9abc6f3cd 100644 --- a/packages/ui/src/contexts/current-user-context/current-user-provider.tsx +++ b/packages/ui/src/contexts/current-user-context/current-user-provider.tsx @@ -1,8 +1,8 @@ -import { useCurrentUserQuery } from '@chirpy-dev/graphql'; import { useSession } from 'next-auth/react'; import * as React from 'react'; import { useHasMounted } from '../../hooks/use-has-mounted'; +import { trpcClient } from '../../utilities/trpc-client'; import { CurrentUserContext, CurrentUserContextType, @@ -16,11 +16,14 @@ export type CurrentUserProviderProps = { export function CurrentUserProvider({ children, }: CurrentUserProviderProps): JSX.Element { - const { data: session, status } = useSession(); - const sessionIsLoading = status === 'loading'; - const [{ data: queryData, fetching }, refetchUser] = useCurrentUserQuery({ - variables: { id: session?.user.id || '-1' }, - pause: true, + const { data: session, status: sessionStatus } = useSession(); + const sessionIsLoading = sessionStatus === 'loading'; + const { + data, + status: queryStatus, + refetch: refetchUser, + } = trpcClient.user.me.useQuery({ + id: session?.user.id || '-1', }); const hasMounted = useHasMounted(); const value = React.useMemo(() => { @@ -32,23 +35,23 @@ export function CurrentUserProvider({ const _data: CurrentUserContextType['data'] = session?.user.id ? { ...session?.user, - ...queryData?.userByPk, + ...data, editableProjectIds: session?.user.editableProjectIds || [], } : {}; return { data: _data, - loading: sessionIsLoading || fetching, + loading: sessionIsLoading || queryStatus == 'loading', isSignIn: !!_data.id, - refetchUser, + refetchUser: refetchUser, }; }, [ - session, - sessionIsLoading, hasMounted, + session?.user, + data, + sessionIsLoading, + queryStatus, refetchUser, - fetching, - queryData?.userByPk, ]); return ( diff --git a/packages/ui/src/contexts/gql-client-context/gql-client-provider.tsx b/packages/ui/src/contexts/gql-client-context/gql-client-provider.tsx deleted file mode 100644 index ec48c3dfe..000000000 --- a/packages/ui/src/contexts/gql-client-context/gql-client-provider.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { useSession } from 'next-auth/react'; -import * as React from 'react'; -import { Provider } from 'urql'; - -import { createGqlClient } from '../../utilities/gql-client'; - -export type GqlClientProviderProps = React.PropsWithChildren<{ - // -}>; - -// TODO: Replace it with `next-urql` for better performance -export function GQLClientProvider({ - children, -}: GqlClientProviderProps): JSX.Element { - const { data: session } = useSession(); - const client = React.useMemo( - () => createGqlClient(session?.hasuraToken), - [session?.hasuraToken], - ); - - return {children}; -} - -export { SessionProvider, getSession, useSession } from 'next-auth/react'; diff --git a/packages/ui/src/contexts/gql-client-context/index.ts b/packages/ui/src/contexts/gql-client-context/index.ts deleted file mode 100644 index 8f22a74b5..000000000 --- a/packages/ui/src/contexts/gql-client-context/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './gql-client-provider'; diff --git a/packages/ui/src/contexts/index.ts b/packages/ui/src/contexts/index.ts index 61629c7da..40dc98ff7 100644 --- a/packages/ui/src/contexts/index.ts +++ b/packages/ui/src/contexts/index.ts @@ -1,5 +1,4 @@ export * from './comment-context'; export * from './current-user-context'; -export * from './gql-client-context'; export * from './notification-context'; export * from './theme-context'; diff --git a/packages/ui/src/hooks/index.ts b/packages/ui/src/hooks/index.ts index d248ad619..b8dade2d5 100644 --- a/packages/ui/src/hooks/index.ts +++ b/packages/ui/src/hooks/index.ts @@ -1,6 +1,5 @@ export * from './use-form'; export * from './use-async'; -export * from './use-bypass-cache-refetch'; export * from './use-celebration'; export * from './use-click-outside'; export * from './use-event-listener'; diff --git a/packages/ui/src/hooks/use-bypass-cache-refetch.ts b/packages/ui/src/hooks/use-bypass-cache-refetch.ts deleted file mode 100644 index 4834a9e39..000000000 --- a/packages/ui/src/hooks/use-bypass-cache-refetch.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { Refetch } from '@chirpy-dev/types'; -import { useSession } from 'next-auth/react'; - -import { getAuthHeaders } from '../utilities/gql-client'; - -/** - * Bypass gql cache - */ -export function useBypassCacheRefetch(refetch: Refetch): Refetch { - const { data } = useSession(); - return (opts) => { - if (!data?.hasuraToken) { - throw new Error('Refetch without a valid hasuraToken'); - } - refetch({ - ...opts, - fetchOptions: { - headers: { - ...getAuthHeaders(data?.hasuraToken), - 'x-stellate-bypass': 'true', - }, - }, - }); - }; -} diff --git a/packages/ui/src/pages/app.tsx b/packages/ui/src/pages/app.tsx index b16f560f8..cf9a5eb15 100644 --- a/packages/ui/src/pages/app.tsx +++ b/packages/ui/src/pages/app.tsx @@ -1,21 +1,17 @@ import { CommonWidgetProps, PageProps } from '@chirpy-dev/types'; import { ANALYTICS_DOMAIN, HASURA_TOKEN_MAX_AGE } from '@chirpy-dev/utils'; import { LazyMotion } from 'framer-motion'; +import { SessionProvider } from 'next-auth/react'; import PlausibleProvider from 'next-plausible'; import { ThemeProvider as NextThemesProvider } from 'next-themes'; import type { AppProps } from 'next/app'; import * as React from 'react'; import { ToastProvider } from '../components'; -import { - CurrentUserProvider, - GQLClientProvider, - NotificationProvider, // This is the same SessionProvider as next-auth/react, - // fix ref issue - SessionProvider, -} from '../contexts'; +import { CurrentUserProvider, NotificationProvider } from '../contexts'; +import { trpcClient } from '../utilities/trpc-client'; -export function App({ +export const App = trpcClient.withTRPC(function App({ Component, pageProps: { session, ...pageProps }, }: AppProps): JSX.Element { @@ -36,21 +32,19 @@ export function App({ } > - - - - - - - - - + + + + + + + ); -} +}); export { reportWebVitals } from 'next-axiom/dist/webVitals'; diff --git a/packages/ui/src/utilities/gql-client.ts b/packages/ui/src/utilities/gql-client.ts deleted file mode 100644 index 5132ee24e..000000000 --- a/packages/ui/src/utilities/gql-client.ts +++ /dev/null @@ -1,72 +0,0 @@ -import { isENVDev, getPublicEnvVar, isBrowser } from '@chirpy-dev/utils'; -import { devtoolsExchange } from '@urql/devtools'; -import { refocusExchange } from '@urql/exchange-refocus'; -import { createClient as createWSClient, Client as WsClient } from 'graphql-ws'; -import { - createClient, - Client, - subscriptionExchange, - ClientOptions, - RequestPolicy, - Exchange, - dedupExchange, - fetchExchange, -} from 'urql'; - -export function createGqlClient(hasuraToken = ''): Client { - return createClient(getGqlClientOptions(getAuthHeaders(hasuraToken))); -} - -export function getGqlClientOptions( - headers: Record, - requestPolicy: RequestPolicy = 'cache-and-network', - wsClient?: WsClient, -): ClientOptions { - const exchanges: Exchange[] = [ - dedupExchange, - ...(isBrowser ? [refocusExchange()] : []), - fetchExchange, - subscriptionExchange({ - forwardSubscription: (operation) => ({ - subscribe: (sink) => { - const _wsClient = - wsClient || - createWSClient({ - url: getPublicEnvVar( - 'NEXT_PUBLIC_HASURA_WS_ORIGIN', - process.env.NEXT_PUBLIC_HASURA_WS_ORIGIN, - ), - connectionParams: () => { - return { - headers, - }; - }, - }); - return { - unsubscribe: _wsClient.subscribe(operation, sink), - }; - }, - }), - }), - ]; - if (isENVDev) { - exchanges.unshift(devtoolsExchange as any); - } - return { - url: getPublicEnvVar( - 'NEXT_PUBLIC_HASURA_HTTP_ORIGIN', - process.env.NEXT_PUBLIC_HASURA_HTTP_ORIGIN, - ), - exchanges, - fetchOptions: { - headers, - }, - requestPolicy, - }; -} - -export function getAuthHeaders(hasuraToken: string) { - return { - authorization: `Bearer ${hasuraToken}`, - }; -} diff --git a/packages/ui/src/utilities/index.ts b/packages/ui/src/utilities/index.ts index c734c88a7..76ae6b644 100644 --- a/packages/ui/src/utilities/index.ts +++ b/packages/ui/src/utilities/index.ts @@ -1,4 +1,3 @@ -export * from './gql-client'; export * from './logger'; export * from './date'; export * from './validator'; diff --git a/packages/ui/src/utilities/trpc-client.ts b/packages/ui/src/utilities/trpc-client.ts new file mode 100644 index 000000000..8870969cc --- /dev/null +++ b/packages/ui/src/utilities/trpc-client.ts @@ -0,0 +1,37 @@ +// import superjson from "superjson"; + +import { type AppRouter } from '@chirpy-dev/trpc/src/router'; +import { getBaseUrl } from '@chirpy-dev/utils'; +import { httpBatchLink, loggerLink } from '@trpc/client'; +import { createTRPCNext } from '@trpc/next'; +import { type inferRouterInputs, type inferRouterOutputs } from '@trpc/server'; + +export const trpcClient = createTRPCNext({ + config() { + return { + // transformer: superjson, + links: [ + loggerLink({ + enabled: (opts) => + process.env.NODE_ENV === 'development' || + (opts.direction === 'down' && opts.result instanceof Error), + }), + httpBatchLink({ + url: `${getBaseUrl()}/api/trpc`, + }), + ], + }; + }, + ssr: false, +}); + +/** + * Inference helper for inputs + * @example type HelloInput = RouterInputs['example']['hello'] + **/ +export type RouterInputs = inferRouterInputs; +/** + * Inference helper for outputs + * @example type HelloOutput = RouterOutputs['example']['hello'] + **/ +export type RouterOutputs = inferRouterOutputs; diff --git a/packages/utils/src/function.ts b/packages/utils/src/function.ts index 301d1be07..13f41ad79 100644 --- a/packages/utils/src/function.ts +++ b/packages/utils/src/function.ts @@ -2,6 +2,10 @@ export function noop() { return; } +export type Noop = typeof noop; + export async function asyncNoop(): Promise { return; } + +export type AsyncNoop = typeof asyncNoop; diff --git a/packages/utils/src/index.ts b/packages/utils/src/index.ts index bd1d286f5..d5fb2bd43 100644 --- a/packages/utils/src/index.ts +++ b/packages/utils/src/index.ts @@ -2,3 +2,4 @@ export * from './env'; export * from './function'; export * from './text'; export * from './constants'; +export * from './url'; diff --git a/packages/utils/src/url.ts b/packages/utils/src/url.ts new file mode 100644 index 000000000..8038a221d --- /dev/null +++ b/packages/utils/src/url.ts @@ -0,0 +1,5 @@ +export function getBaseUrl() { + if (typeof window !== 'undefined') return ''; // browser should use relative url + if (process.env.VERCEL_URL) return `https://${process.env.VERCEL_URL}`; // SSR should use vercel url + return `http://localhost:${process.env.PORT ?? 3000}`; // dev SSR should use localhost +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b3a39e18d..0cf0a112b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -442,10 +442,6 @@ importers: '@chirpy-dev/utils': workspace:* '@next-auth/prisma-adapter': 1.0.5 '@prisma/client': 4.6.1 - '@tanstack/react-query': 4.16.1 - '@trpc/client': 10.1.0 - '@trpc/next': 10.1.0 - '@trpc/react-query': 10.1.0 '@trpc/server': 10.1.0 '@types/jest': 29.2.3 '@types/node': 16.11.45 @@ -463,10 +459,6 @@ importers: '@chirpy-dev/utils': link:../utils '@next-auth/prisma-adapter': 1.0.5_o53gfpk3vz2btjrokqfjjwwn3m '@prisma/client': 4.6.1_prisma@4.6.1 - '@tanstack/react-query': 4.16.1_biqbaboplfbrettd7655fr4n2y - '@trpc/client': 10.1.0_@trpc+server@10.1.0 - '@trpc/next': 10.1.0_7jhp4m32uvzpkauysslpvycneq - '@trpc/react-query': 10.1.0_6w4fappfojusde7o3jmgvyxwlu '@trpc/server': 10.1.0 next: 13.0.5_biqbaboplfbrettd7655fr4n2y next-auth: 4.17.0_7iuvftg57tblwyxclfkwku5xo4 @@ -526,6 +518,7 @@ importers: '@babel/core': 7.20.2 '@chirpy-dev/eslint-config': workspace:* '@chirpy-dev/graphql': workspace:* + '@chirpy-dev/trpc': workspace:* '@chirpy-dev/tsconfigs': workspace:* '@chirpy-dev/types': workspace:* '@chirpy-dev/utils': workspace:* @@ -540,6 +533,7 @@ importers: '@storybook/react': 6.5.13 '@storybook/testing-library': 0.0.13 '@storybook/testing-react': 1.3.0 + '@tanstack/react-query': 4.16.1 '@testing-library/jest-dom': 5.16.5 '@testing-library/react': 13.4.0 '@testing-library/user-event': 14.4.3 @@ -550,6 +544,10 @@ importers: '@tiptap/extension-underline': 2.0.0-beta.203 '@tiptap/react': 2.0.0-beta.203 '@tiptap/starter-kit': 2.0.0-beta.203 + '@trpc/client': 10.1.0 + '@trpc/next': 10.1.0 + '@trpc/react-query': 10.1.0 + '@trpc/server': 10.1.0 '@types/canvas-confetti': 1.6.0 '@types/d3': 3.5.47 '@types/debounce-promise': 3.1.5 @@ -618,11 +616,13 @@ importers: webpack: 5.75.0 whatwg-fetch: 3.6.2 dependencies: + '@chirpy-dev/trpc': link:../trpc '@chirpy-dev/types': link:../types '@chirpy-dev/utils': link:../utils '@geist-ui/icons': 1.0.2_react@18.2.0 '@headlessui/react': 1.7.4_biqbaboplfbrettd7655fr4n2y '@radix-ui/colors': 0.1.8 + '@tanstack/react-query': 4.16.1_biqbaboplfbrettd7655fr4n2y '@tiptap/core': 2.0.0-beta.203 '@tiptap/extension-image': 2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4 '@tiptap/extension-link': 2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4 @@ -630,6 +630,10 @@ importers: '@tiptap/extension-underline': 2.0.0-beta.203_ywil7uncaz323pl33xz5cqvwo4 '@tiptap/react': 2.0.0-beta.203_3cxceey65s6k5bahhiuz7e4cvy '@tiptap/starter-kit': 2.0.0-beta.203 + '@trpc/client': 10.1.0_@trpc+server@10.1.0 + '@trpc/next': 10.1.0_7jhp4m32uvzpkauysslpvycneq + '@trpc/react-query': 10.1.0_6w4fappfojusde7o3jmgvyxwlu + '@trpc/server': 10.1.0 '@urql/devtools': 2.0.3_graphql@16.6.0 '@urql/exchange-graphcache': 5.0.5_graphql@16.6.0 '@urql/exchange-refocus': 1.0.0_graphql@16.6.0 @@ -7332,7 +7336,7 @@ packages: '@trpc/client': 10.1.0_@trpc+server@10.1.0 '@trpc/react-query': 10.1.0_6w4fappfojusde7o3jmgvyxwlu '@trpc/server': 10.1.0 - next: 13.0.5_biqbaboplfbrettd7655fr4n2y + next: 13.0.5_vgii64pd2ccbnbx2v3ro5gbin4 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 react-ssr-prepass: 1.5.0_react@18.2.0 From f0902f4b546ca58365b232e54fbfb74e7cf1b497 Mon Sep 17 00:00:00 2001 From: Qing <7880675+devrsi0n@users.noreply.github.com> Date: Fri, 25 Nov 2022 23:56:33 +0800 Subject: [PATCH 05/34] refactor: notification subscription --- apps/main/src/pages/api/auth/[...nextauth].ts | 4 +- .../server/services/notification/register.ts | 63 ------------------- apps/main/src/server/utilities/url.ts | 11 ---- apps/main/tsconfig.json | 7 ++- packages/trpc/package.json | 2 + packages/trpc/src/auth/index.ts | 6 +- packages/trpc/src/router/notification.ts | 19 ++++++ .../notification-provider.tsx | 9 +-- .../use-register-device.ts | 55 ++++++++++++++++ .../notification-context/utilities.ts | 57 ----------------- packages/utils/src/url.ts | 12 ++++ pnpm-lock.yaml | 9 ++- 12 files changed, 111 insertions(+), 143 deletions(-) delete mode 100644 apps/main/src/server/services/notification/register.ts delete mode 100644 apps/main/src/server/utilities/url.ts create mode 100644 packages/ui/src/contexts/notification-context/use-register-device.ts diff --git a/apps/main/src/pages/api/auth/[...nextauth].ts b/apps/main/src/pages/api/auth/[...nextauth].ts index c9b4bb1bd..a55063fba 100644 --- a/apps/main/src/pages/api/auth/[...nextauth].ts +++ b/apps/main/src/pages/api/auth/[...nextauth].ts @@ -1 +1,3 @@ -export { nextAuth as default } from '@chirpy-dev/trpc'; +import { NextAuth, nextAuthOptions } from '@chirpy-dev/trpc'; + +export default NextAuth(nextAuthOptions); diff --git a/apps/main/src/server/services/notification/register.ts b/apps/main/src/server/services/notification/register.ts deleted file mode 100644 index 5d162e007..000000000 --- a/apps/main/src/server/services/notification/register.ts +++ /dev/null @@ -1,63 +0,0 @@ -import { - InsertOneNotificationSubscriptionDocument, - InsertOneNotificationSubscriptionMutationVariables, -} from '@chirpy-dev/graphql'; -import { getSession } from '@chirpy-dev/ui'; -import { NextApiRequest, NextApiResponse } from 'next'; -import { PushSubscription } from 'web-push'; - -import { mutate } from '$/server/common/gql'; - -import { badRequest, unauthorized } from '../../utilities/response'; -import { isValidHttpUrl } from '../../utilities/url'; - -export async function registerDevice( - req: NextApiRequest, - res: NextApiResponse>, -) { - const session = await getSession({ req }); - if (!session?.user?.id) { - unauthorized(res); - return; - } - const { subscription }: { subscription: PushSubscription } = req.body; - if (!isValidSubscription(subscription)) { - badRequest(res, 'Invalid subscription'); - return; - } - try { - await createOneNotificationSubscription({ - userId: session.user.id, - subscription, - }); - } catch (error) { - // Ignore duplicated registration - if (!(error as Error).message.includes('Uniqueness violation')) { - throw error; - } - } - res.json({ - message: 'ok', - }); - res.end(); -} - -function createOneNotificationSubscription( - variables: InsertOneNotificationSubscriptionMutationVariables, -) { - return mutate( - InsertOneNotificationSubscriptionDocument, - variables, - 'insertOneNotificationSubscription', - ); -} - -function isValidSubscription(subscription: PushSubscription) { - return ( - isValidHttpUrl(subscription.endpoint) && - subscription.keys.p256dh && - subscription.keys.auth && - subscription.keys.p256dh.length > 0 && - subscription.keys.auth.length > 0 - ); -} diff --git a/apps/main/src/server/utilities/url.ts b/apps/main/src/server/utilities/url.ts deleted file mode 100644 index ea61e14da..000000000 --- a/apps/main/src/server/utilities/url.ts +++ /dev/null @@ -1,11 +0,0 @@ -export function isValidHttpUrl(str: string): boolean { - let url; - - try { - url = new URL(str); - } catch { - return false; - } - - return url.protocol === 'http:' || url.protocol === 'https:'; -} diff --git a/apps/main/tsconfig.json b/apps/main/tsconfig.json index 3794caaa9..b1a24c83d 100644 --- a/apps/main/tsconfig.json +++ b/apps/main/tsconfig.json @@ -9,5 +9,10 @@ } }, "exclude": ["node_modules", ".next"], - "include": ["typings/**/*.d.ts", "src/**/*.ts", "src/**/*.tsx"] + "include": [ + "typings/**/*.d.ts", + "src/**/*.ts", + "src/**/*.tsx", + "../../packages/trpc/src/router/services/register.ts" + ] } diff --git a/packages/trpc/package.json b/packages/trpc/package.json index e77996acb..9bec81be4 100644 --- a/packages/trpc/package.json +++ b/packages/trpc/package.json @@ -15,6 +15,8 @@ "@next-auth/prisma-adapter": "1.0.5", "@prisma/client": "4.6.1", "@trpc/server": "10.1.0", + "@types/web-push": "3.3.2", + "web-push": "3.5.0", "next": "13.0.5", "next-auth": "4.17.0", "next-axiom": "0.15.1", diff --git a/packages/trpc/src/auth/index.ts b/packages/trpc/src/auth/index.ts index 48a9f5817..a953aad78 100644 --- a/packages/trpc/src/auth/index.ts +++ b/packages/trpc/src/auth/index.ts @@ -1,5 +1,3 @@ -import NextAuth from 'next-auth'; +export { default as NextAuth } from 'next-auth'; -import { nextAuthOptions } from './auth-options'; - -export const nextAuth = NextAuth(nextAuthOptions); +export { nextAuthOptions } from './auth-options'; diff --git a/packages/trpc/src/router/notification.ts b/packages/trpc/src/router/notification.ts index 6818ea6ac..45d6bf76b 100644 --- a/packages/trpc/src/router/notification.ts +++ b/packages/trpc/src/router/notification.ts @@ -60,4 +60,23 @@ export const notificationRouter = router({ }); return result; }), + registerSubscriptionDevice: protectedProcedure + .input( + z.object({ + subscription: z.object({ + endpoint: z.string().url(), + }), + }), + ) + .mutation(async ({ input, ctx }) => { + await prisma.notificationSubscription.create({ + data: { + subscription: input.subscription, + userId: ctx.session.user.id, + }, + select: { + id: true, + }, + }); + }), }); diff --git a/packages/ui/src/contexts/notification-context/notification-provider.tsx b/packages/ui/src/contexts/notification-context/notification-provider.tsx index 1382041a6..e90b99b20 100644 --- a/packages/ui/src/contexts/notification-context/notification-provider.tsx +++ b/packages/ui/src/contexts/notification-context/notification-provider.tsx @@ -3,11 +3,11 @@ import * as React from 'react'; import { logger } from '../../utilities/logger'; import { useCurrentUser } from '../current-user-context'; +import { useRegisterNotificationSubscription } from './use-register-device'; import { useReloadWhenSwChange } from './use-reload-when-sw-change'; import { askNotificationPermission, checkNotificationCompatibility, - registerNotificationSubscription, } from './utilities'; export interface INotificationContext { @@ -41,6 +41,7 @@ export function NotificationProvider({ children }: INotificationProviderProps) { }, []); const { isSignIn } = useCurrentUser(); + const registerSub = useRegisterNotificationSubscription(); const registerNotification = React.useCallback(async (): Promise => { if (!isSignIn) { return; @@ -58,8 +59,8 @@ export function NotificationProvider({ children }: INotificationProviderProps) { } // We don't want to wait here for registering the service worker, we only need to wait for permission check - registerNotificationSubscription().then(() => setDidRegister(true)); - }, [isSignIn]); + registerSub().then(() => setDidRegister(true)); + }, [isSignIn, registerSub]); const value = React.useMemo( () => ({ didRegister, @@ -77,7 +78,7 @@ export function NotificationProvider({ children }: INotificationProviderProps) { // Register the service worker on first load if (!didRegister && Notification.permission === 'granted') { // Only register once on whole page - registerNotificationSubscription().then(() => setDidRegister(true)); + registerSub().then(() => setDidRegister(true)); } // eslint-disable-next-line react-hooks/exhaustive-deps diff --git a/packages/ui/src/contexts/notification-context/use-register-device.ts b/packages/ui/src/contexts/notification-context/use-register-device.ts new file mode 100644 index 000000000..1c2dea6c2 --- /dev/null +++ b/packages/ui/src/contexts/notification-context/use-register-device.ts @@ -0,0 +1,55 @@ +import { getPublicEnvVar } from '@chirpy-dev/utils'; +import * as React from 'react'; + +import { logger } from '../../utilities'; +import { trpcClient } from '../../utilities/trpc-client'; +import { + checkServiceWorkerCompatibility, + urlBase64ToUint8Array, +} from './utilities'; + +export type RegisterNotificationSubscription = () => Promise; + +export function useRegisterNotificationSubscription(): RegisterNotificationSubscription { + const { mutateAsync: registerDevice } = + trpcClient.notification.registerSubscriptionDevice.useMutation(); + + // It's safe to register the service worker multiply times + return React.useCallback(async () => { + if (!checkServiceWorkerCompatibility()) { + throw new Error(`Service worker not supported`); + } + try { + const registration = await navigator.serviceWorker.register('/sw.js'); + if (!registration?.pushManager) { + // Not supported + return; + } + let subscription = await registration.pushManager.getSubscription(); + if (subscription) { + // Already registered + return; + } + const vapidKey = urlBase64ToUint8Array( + getPublicEnvVar('NEXT_PUBLIC_VAPID', process.env.NEXT_PUBLIC_VAPID), + ); + subscription = await registration.pushManager.subscribe({ + // This means all push events will result in a notification + userVisibleOnly: true, + applicationServerKey: vapidKey, + }); + + try { + // Save the subscription details to server + await registerDevice({ + subscription: subscription, + }); + } catch (error) { + logger.warn('Register notification subscription failed', error); + } + } catch (error) { + logger.error('Service worker registration failed', error); + throw error; + } + }, [registerDevice]); +} diff --git a/packages/ui/src/contexts/notification-context/utilities.ts b/packages/ui/src/contexts/notification-context/utilities.ts index abfa2f48e..89745c424 100644 --- a/packages/ui/src/contexts/notification-context/utilities.ts +++ b/packages/ui/src/contexts/notification-context/utilities.ts @@ -2,63 +2,6 @@ import { getPublicEnvVar } from '@chirpy-dev/utils'; import { logger } from '../../utilities/logger'; -const NOTIFICATION_DID_REGISTER_KEY = - 'chirpy.notification-subscription.did-register'; - -export function registerNotificationSubscription(): Promise { - if (!checkServiceWorkerCompatibility()) { - return Promise.reject(); - } - // It's safe to register the service worker multiply times - return navigator.serviceWorker - .register('/sw.js') - .then((registration) => { - if (!registration.pushManager) { - // Not supported - return; - } - return registration.pushManager - .getSubscription() - .then((subscription) => { - if (subscription) { - return subscription; - } - const vapidKey = urlBase64ToUint8Array( - getPublicEnvVar('NEXT_PUBLIC_VAPID', process.env.NEXT_PUBLIC_VAPID), - ); - return registration.pushManager.subscribe({ - // This means all push events will result in a notification - userVisibleOnly: true, - applicationServerKey: vapidKey, - }); - }) - .then((subscription) => { - if (sessionStorage.getItem(NOTIFICATION_DID_REGISTER_KEY)) { - return; - } - // Save the subscription details to server - return fetch('/api/notification/register-device', { - method: 'POST', - headers: { - 'Content-type': 'application/json', - }, - body: JSON.stringify({ subscription }), - }) - .then((rsp) => { - sessionStorage.setItem(NOTIFICATION_DID_REGISTER_KEY, 'true'); - return rsp; - }) - .catch((error) => { - logger.warn('Register notification subscription', error); - }); - }); - }) - .catch((error) => { - logger.error('Service worker registration failed', error); - throw error; - }); -} - const SERVICE_WORKER_ERROR = 'Service worker not supported'; export function checkServiceWorkerCompatibility(): boolean { const supported = 'serviceWorker' in navigator; diff --git a/packages/utils/src/url.ts b/packages/utils/src/url.ts index 8038a221d..9bb3b633b 100644 --- a/packages/utils/src/url.ts +++ b/packages/utils/src/url.ts @@ -3,3 +3,15 @@ export function getBaseUrl() { if (process.env.VERCEL_URL) return `https://${process.env.VERCEL_URL}`; // SSR should use vercel url return `http://localhost:${process.env.PORT ?? 3000}`; // dev SSR should use localhost } + +export function isValidHttpUrl(str: string): boolean { + let url; + + try { + url = new URL(str); + } catch { + return false; + } + + return url.protocol === 'http:' || url.protocol === 'https:'; +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0cf0a112b..e7b32d4c7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -445,6 +445,7 @@ importers: '@trpc/server': 10.1.0 '@types/jest': 29.2.3 '@types/node': 16.11.45 + '@types/web-push': 3.3.2 next: 13.0.5 next-auth: 4.17.0 next-axiom: 0.15.1 @@ -452,6 +453,7 @@ importers: react: 18.2.0 react-dom: 18.2.0 typescript: 4.9.3 + web-push: 3.5.0 zod: 3.19.1 dependencies: '@chirpy-dev/emails': link:../emails @@ -460,11 +462,13 @@ importers: '@next-auth/prisma-adapter': 1.0.5_o53gfpk3vz2btjrokqfjjwwn3m '@prisma/client': 4.6.1_prisma@4.6.1 '@trpc/server': 10.1.0 + '@types/web-push': 3.3.2 next: 13.0.5_biqbaboplfbrettd7655fr4n2y next-auth: 4.17.0_7iuvftg57tblwyxclfkwku5xo4 next-axiom: 0.15.1_next@13.0.5 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 + web-push: 3.5.0 zod: 3.19.1 devDependencies: '@types/jest': 29.2.3 @@ -7638,6 +7642,7 @@ packages: /@types/node/18.7.16: resolution: {integrity: sha512-EQHhixfu+mkqHMZl1R2Ovuvn47PUw18azMJOTwSZr9/fhzHNGXAJ0ma0dayRVchprpCj0Kc1K1xKoWaATWF1qg==} + dev: true /@types/normalize-package-data/2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} @@ -7775,7 +7780,7 @@ packages: /@types/web-push/3.3.2: resolution: {integrity: sha512-JxWGVL/m7mWTIg4mRYO+A6s0jPmBkr4iJr39DqJpRJAc+jrPiEe1/asmkwerzRon8ZZDxaZJpsxpv0Z18Wo9gw==} dependencies: - '@types/node': 18.7.16 + '@types/node': 18.11.9 /@types/webgl-ext/0.0.30: resolution: {integrity: sha512-LKVgNmBxN0BbljJrVUwkxwRYqzsAEPcZOe6S2T6ZaBDIrFp0qu4FNlpc5sM1tGbXUYFgdVQIoeLk1Y1UoblyEg==} @@ -24165,7 +24170,7 @@ packages: http_ece: 1.1.0 https-proxy-agent: 5.0.1 jws: 4.0.0 - minimist: 1.2.6 + minimist: 1.2.7 urlsafe-base64: 1.0.0 transitivePeerDependencies: - supports-color From a3501763df2b24ec4b0669e3af4bf53f009a4a4d Mon Sep 17 00:00:00 2001 From: Qing <7880675+devrsi0n@users.noreply.github.com> Date: Sat, 26 Nov 2022 06:05:04 +0800 Subject: [PATCH 06/34] fix: cannot find prisma schema and next-auth model errors --- .npmrc | 3 ++- packages/trpc/prisma/schema.prisma | 8 ++++---- packages/trpc/src/index.ts | 2 ++ packages/trpc/src/router/notification.ts | 16 +++++++++++++--- packages/trpc/src/trpc-server.ts | 2 -- 5 files changed, 21 insertions(+), 10 deletions(-) diff --git a/.npmrc b/.npmrc index 265e49be6..cc6b87bb8 100644 --- a/.npmrc +++ b/.npmrc @@ -1,2 +1,3 @@ strict-peer-dependencies=false -save-exact=true \ No newline at end of file +save-exact=true +public-hoist-pattern[]=*prisma* \ No newline at end of file diff --git a/packages/trpc/prisma/schema.prisma b/packages/trpc/prisma/schema.prisma index 91c0bcb72..63a48a8a4 100644 --- a/packages/trpc/prisma/schema.prisma +++ b/packages/trpc/prisma/schema.prisma @@ -17,18 +17,18 @@ model Account { type String provider String providerAccountId String - refreshToken String? @db.Text - accessToken String? @db.Text + refresh_token String? @db.Text + access_token String? @db.Text expiresAt DateTime? tokenType String? scope String? idToken String? @db.Text - sessionState String? + session_state String? oauthTokenSecret String? oauthToken String? user User @relation(fields: [userId], references: [id], onDelete: Cascade) - @@unique([providerAccountId, provider]) + @@unique([provider, providerAccountId]) } model Comment { diff --git a/packages/trpc/src/index.ts b/packages/trpc/src/index.ts index 51ddceb9e..0f1f13d01 100644 --- a/packages/trpc/src/index.ts +++ b/packages/trpc/src/index.ts @@ -1,3 +1,5 @@ export * from './auth'; export * from './trpc-server'; export * from './common/db'; +export { createNextApiHandler } from '@trpc/server/adapters/next'; +export { appRouter } from './router'; diff --git a/packages/trpc/src/router/notification.ts b/packages/trpc/src/router/notification.ts index 45d6bf76b..f131eb719 100644 --- a/packages/trpc/src/router/notification.ts +++ b/packages/trpc/src/router/notification.ts @@ -69,14 +69,24 @@ export const notificationRouter = router({ }), ) .mutation(async ({ input, ctx }) => { + const result = await prisma.notificationSubscription.findFirst({ + where: { + subscription: { + equals: input.subscription, + }, + userId: ctx.session.user.id, + }, + }); + if (result?.id) { + // Ignore duplicated subscription + return; + } await prisma.notificationSubscription.create({ data: { subscription: input.subscription, userId: ctx.session.user.id, }, - select: { - id: true, - }, + select: {}, }); }), }); diff --git a/packages/trpc/src/trpc-server.ts b/packages/trpc/src/trpc-server.ts index 359fbcb53..1e2b8f7d3 100644 --- a/packages/trpc/src/trpc-server.ts +++ b/packages/trpc/src/trpc-server.ts @@ -3,8 +3,6 @@ import { initTRPC, TRPCError } from '@trpc/server'; import { type Context } from './context'; // import superjson from "superjson"; -export { createNextApiHandler } from '@trpc/server/adapters/next'; -export { appRouter } from './router'; const t = initTRPC.context().create({ // transformer: superjson, From dcb97a80cb6220cf74d8bd3ee6f71318a4cd156d Mon Sep 17 00:00:00 2001 From: Qing <7880675+devrsi0n@users.noreply.github.com> Date: Sat, 26 Nov 2022 06:44:26 +0800 Subject: [PATCH 07/34] fix: dashboard trpc --- packages/trpc/src/router/index.ts | 2 + packages/trpc/src/router/project.ts | 75 +++++++++++++++++++ .../src/blocks/project-card/project-card.tsx | 12 +-- packages/ui/src/pages/dashboard/index.tsx | 62 +++++++-------- 4 files changed, 108 insertions(+), 43 deletions(-) create mode 100644 packages/trpc/src/router/project.ts diff --git a/packages/trpc/src/router/index.ts b/packages/trpc/src/router/index.ts index 5d539fefd..65d1102e0 100644 --- a/packages/trpc/src/router/index.ts +++ b/packages/trpc/src/router/index.ts @@ -1,12 +1,14 @@ import { router } from '../trpc-server'; import { authRouter } from './auth'; import { notificationRouter } from './notification'; +import { projectRouter } from './project'; import { userRouter } from './user'; export const appRouter = router({ user: userRouter, auth: authRouter, notification: notificationRouter, + project: projectRouter, }); // export type definition of API diff --git a/packages/trpc/src/router/project.ts b/packages/trpc/src/router/project.ts new file mode 100644 index 000000000..b090273e4 --- /dev/null +++ b/packages/trpc/src/router/project.ts @@ -0,0 +1,75 @@ +import { z } from 'zod'; + +import { prisma } from '../common/db'; +import { router, protectedProcedure } from '../trpc-server'; + +export const projectRouter = router({ + all: protectedProcedure + .input(z.object({ userId: z.string() })) + .query(async ({ input }) => { + const projects = await prisma.project.findMany({ + where: { + userId: input.userId, + }, + select: { + id: true, + name: true, + domain: true, + createdAt: true, + pages: { + select: { + id: true, + title: true, + url: true, + }, + }, + }, + }); + return projects; + }), + create: protectedProcedure + .input( + z.object({ + name: z.string(), + domain: z.string(), + teamId: z.string().nullish(), + }), + ) + .mutation(async ({ input, ctx }) => { + const projects = await prisma.project.create({ + data: { + ...input, + userId: ctx.session.user.id, + }, + select: { + id: true, + name: true, + domain: true, + createdAt: true, + pages: { + select: { + id: true, + title: true, + url: true, + }, + }, + }, + }); + return projects; + }), + delete: protectedProcedure + .input( + z.object({ + id: z.string(), + }), + ) + .mutation(async ({ input, ctx }) => { + await prisma.project.deleteMany({ + where: { + id: input.id, + // User can only delete their own projects + userId: ctx.session.user.id, + }, + }); + }), +}); diff --git a/packages/ui/src/blocks/project-card/project-card.tsx b/packages/ui/src/blocks/project-card/project-card.tsx index b081c0085..2d38dedc6 100644 --- a/packages/ui/src/blocks/project-card/project-card.tsx +++ b/packages/ui/src/blocks/project-card/project-card.tsx @@ -1,7 +1,4 @@ -import { - useDeleteProjectByPkMutation, - UserDashboardProjectsQuery, -} from '@chirpy-dev/graphql'; +import { useDeleteProjectByPkMutation } from '@chirpy-dev/graphql'; import * as React from 'react'; import { BaseButton, Button } from '../../components/button'; @@ -22,13 +19,12 @@ import { useToast } from '../../components/toast'; import { listHoverable } from '../../styles/common'; import { cpDayjs } from '../../utilities/date'; import { logger } from '../../utilities/logger'; +import { RouterOutputs } from '../../utilities/trpc-client'; import { IntegrateGuide } from '../integrate-guide'; import { PageViewStats } from './page-view-stats'; export type ProjectCardProps = { - project: NonNullable< - UserDashboardProjectsQuery['userByPk'] - >['projects'][number]; + project: RouterOutputs['project']['all'][number]; onDeletedProject: () => void; }; @@ -138,7 +134,7 @@ export function ProjectCard({ onClick={handleClickExpand} className="ml-4 rounded px-2 py-1 text-primary-900 hover:bg-primary-900 hover:text-white" > - {!isExpanded ? 'Show more' : 'Show less'} + {isExpanded ? 'Show less' : 'Show more'} )}
diff --git a/packages/ui/src/pages/dashboard/index.tsx b/packages/ui/src/pages/dashboard/index.tsx index d3d8a2eb6..5ce4d95c2 100644 --- a/packages/ui/src/pages/dashboard/index.tsx +++ b/packages/ui/src/pages/dashboard/index.tsx @@ -1,7 +1,3 @@ -import { - useInsertOneProjectMutation, - useUserDashboardProjectsQuery, -} from '@chirpy-dev/graphql'; import { isENVProd } from '@chirpy-dev/utils'; import * as React from 'react'; @@ -19,8 +15,9 @@ import { TextField, } from '../../components'; import { useCurrentUser } from '../../contexts'; -import { useBypassCacheRefetch, useForm } from '../../hooks'; +import { useForm } from '../../hooks'; import { isValidDomain } from '../../utilities'; +import { trpcClient } from '../../utilities/trpc-client'; type FormFields = { name: string; @@ -33,25 +30,16 @@ export function Dashboard(): JSX.Element { loading: userLoading, } = useCurrentUser(); - const [{ data, fetching: projectLoading }, fetchUserProjects] = - useUserDashboardProjectsQuery({ - variables: { - id: id || '-1', - }, - pause: !id, - }); - const fetchProjects = React.useCallback( - (options?: Parameters[0]) => { - if (!id) return; - fetchUserProjects({ - ...options, - }); - }, - [id, fetchUserProjects], - ); - const { projects } = data?.userByPk || {}; + const { + data: projects, + refetch: fetchUserProjects, + status, + } = trpcClient.project.all.useQuery({ + userId: id || '-1', + }); - const [{}, insertProjectMutation] = useInsertOneProjectMutation(); + const { mutateAsync: createAProject } = + trpcClient.project.create.useMutation(); const handleCreateProject = React.useCallback(() => { setShowDialog(true); }, []); @@ -67,20 +55,24 @@ export function Dashboard(): JSX.Element { domain: '', }, }); - const forceRefetchProjects = useBypassCacheRefetch(fetchProjects); const handleClickSubmit = handleSubmit( async (fields, _event: unknown): Promise => { - const { error } = await insertProjectMutation({ - // TODO: Team id? - name: fields.name, - domain: fields.domain, - }); - if (error?.message?.includes('Uniqueness violation')) { - setError('domain', 'A project associated with this domain already'); - return; + try { + await createAProject({ + // TODO: Team id? + name: fields.name, + domain: fields.domain, + }); + } catch (error: any) { + if (error?.message?.includes('Unique constraint')) { + setError('domain', 'A project associated with this domain already'); + return; + } + throw error; } + setShowDialog(false); - forceRefetchProjects(); + fetchUserProjects(); }, ); const disableCreation = isENVProd && (projects?.length || 0) > 0; @@ -108,14 +100,14 @@ export function Dashboard(): JSX.Element {
  • ))}
    - ) : projectLoading || userLoading ? ( + ) : status === 'loading' || userLoading ? ( ) : (
    From 5ecc7c8bdc09a1ed989362b4a1bc13a0be359e50 Mon Sep 17 00:00:00 2001 From: Qing <7880675+devrsi0n@users.noreply.github.com> Date: Sat, 26 Nov 2022 08:01:02 +0800 Subject: [PATCH 08/34] fix: theme ssg --- apps/main/src/pages/analytics/[domain].tsx | 5 ++-- apps/main/src/pages/theme/[domain].tsx | 26 +++++++++---------- apps/main/src/server/services/project.ts | 19 +++++++++----- packages/trpc/package.json | 4 +++ packages/trpc/src/context.ts | 4 +-- packages/trpc/src/index.ts | 12 +++++++++ packages/trpc/src/router/auth.ts | 10 ------- packages/trpc/src/router/index.ts | 2 -- packages/trpc/src/router/project.ts | 17 +++++++++++- packages/trpc/src/trpc-server.ts | 6 ----- packages/trpc/tsconfig.json | 8 +----- .../src/blocks/theme-editor/theme-editor.tsx | 4 +-- packages/ui/src/pages/theme/index.tsx | 15 +++++++---- pnpm-lock.yaml | 10 ++++++- 14 files changed, 83 insertions(+), 59 deletions(-) delete mode 100644 packages/trpc/src/router/auth.ts diff --git a/apps/main/src/pages/analytics/[domain].tsx b/apps/main/src/pages/analytics/[domain].tsx index 5c857ffb1..ddb6cc5c5 100644 --- a/apps/main/src/pages/analytics/[domain].tsx +++ b/apps/main/src/pages/analytics/[domain].tsx @@ -4,7 +4,7 @@ import { AnalyticsByDomainPageProps } from '@chirpy-dev/ui'; import { GetStaticPaths, GetStaticProps } from 'next'; import { query } from '$/server/common/gql'; -import { getAllProjectStaticPathsByDomain } from '$/server/services/project'; +import { getRecentProjectStaticPathsByDomain } from '$/server/services/project'; type PathParams = { domain: string; @@ -17,8 +17,7 @@ export const getStaticPaths: GetStaticPaths = async () => { fallback: 'blocking', }; } - // TODO: only generated a subset of analytics pages - const paths = await getAllProjectStaticPathsByDomain(); + const paths = await getRecentProjectStaticPathsByDomain(50); return { paths, fallback: 'blocking' }; }; diff --git a/apps/main/src/pages/theme/[domain].tsx b/apps/main/src/pages/theme/[domain].tsx index 7f28f5b6d..15be77fed 100644 --- a/apps/main/src/pages/theme/[domain].tsx +++ b/apps/main/src/pages/theme/[domain].tsx @@ -1,4 +1,4 @@ -import { ThemeProjectByPkDocument } from '@chirpy-dev/graphql'; +import { ssg } from '@chirpy-dev/trpc'; import { ThemeProps } from '@chirpy-dev/ui'; import { GetStaticPaths, @@ -7,8 +7,7 @@ import { GetStaticPropsResult, } from 'next'; -import { query } from '$/server/common/gql'; -import { getAllProjectStaticPathsByDomain } from '$/server/services/project'; +import { getRecentProjectStaticPathsByDomain } from '$/server/services/project'; type PathParams = { domain: string; @@ -22,7 +21,7 @@ export const getStaticPaths: GetStaticPaths = async () => { }; } // TODO: only generated a subset of theme pages to improve build perf - const paths = await getAllProjectStaticPathsByDomain(); + const paths = await getRecentProjectStaticPathsByDomain(50); return { paths, fallback: 'blocking' }; }; @@ -38,19 +37,18 @@ export const getStaticProps: GetStaticProps = async ({ return { notFound: true }; } const { domain } = params; - const projects = await query( - ThemeProjectByPkDocument, - { - domain, - }, - 'projects', - ); - - if (!projects || !projects[0]) { + const project = await ssg.project.theme.fetch({ + domain, + }); + if (!project?.id) { return { notFound: true }; } return { - props: { project: projects[0], buildDate: new Date().toISOString() }, + props: { + trpcState: ssg.dehydrate(), + domain, + buildDate: new Date().toISOString(), + }, revalidate: 60 * 60, }; }; diff --git a/apps/main/src/server/services/project.ts b/apps/main/src/server/services/project.ts index ad59fc688..2e825575c 100644 --- a/apps/main/src/server/services/project.ts +++ b/apps/main/src/server/services/project.ts @@ -1,12 +1,19 @@ -import { AllProjectsDocument } from '@chirpy-dev/graphql'; - -import { query } from '../common/gql'; +import { prisma } from '@chirpy-dev/trpc'; export type AllProjectStaticPathParams = { params: { domain: string } }[]; -export async function getAllProjectStaticPathsByDomain(): Promise { - const projects = await query(AllProjectsDocument, {}, 'projects'); - +export async function getRecentProjectStaticPathsByDomain( + take: number, +): Promise { + const projects = await prisma.project.findMany({ + select: { + domain: true, + }, + orderBy: { + createdAt: 'desc', + }, + take, + }); return ( projects.map(({ domain }) => { return { diff --git a/packages/trpc/package.json b/packages/trpc/package.json index 9bec81be4..040481d5a 100644 --- a/packages/trpc/package.json +++ b/packages/trpc/package.json @@ -15,7 +15,11 @@ "@next-auth/prisma-adapter": "1.0.5", "@prisma/client": "4.6.1", "@trpc/server": "10.1.0", + "@trpc/react-query": "10.1.0", "@types/web-push": "3.3.2", + "@tanstack/react-query": "4.16.1", + "@trpc/client": "10.1.0", + "@trpc/next": "10.1.0", "web-push": "3.5.0", "next": "13.0.5", "next-auth": "4.17.0", diff --git a/packages/trpc/src/context.ts b/packages/trpc/src/context.ts index 0bb5f4b8c..b9af1a2b7 100644 --- a/packages/trpc/src/context.ts +++ b/packages/trpc/src/context.ts @@ -14,7 +14,7 @@ type CreateContextOptions = { * - trpc's `createSSGHelpers` where we don't have req/res * @see https://create.t3.gg/en/usage/trpc#-servertrpccontextts **/ -export const createContextInner = async (opts: CreateContextOptions) => { +export const createContextInner = (opts: CreateContextOptions) => { return { session: opts.session, prisma, @@ -31,7 +31,7 @@ export const createContext = async (opts: CreateNextContextOptions) => { // Get the session from the server using the unstable_getServerSession wrapper function const session = await getServerAuthSession({ req, res }); - return await createContextInner({ + return createContextInner({ session, }); }; diff --git a/packages/trpc/src/index.ts b/packages/trpc/src/index.ts index 0f1f13d01..c385205db 100644 --- a/packages/trpc/src/index.ts +++ b/packages/trpc/src/index.ts @@ -1,5 +1,17 @@ +import { createProxySSGHelpers } from '@trpc/react-query/ssg'; + +import { createContextInner } from './context'; +import { appRouter } from './router'; + export * from './auth'; export * from './trpc-server'; export * from './common/db'; export { createNextApiHandler } from '@trpc/server/adapters/next'; export { appRouter } from './router'; + +export const ssg = createProxySSGHelpers({ + router: appRouter, + ctx: createContextInner({ + session: null, + }), +}); diff --git a/packages/trpc/src/router/auth.ts b/packages/trpc/src/router/auth.ts deleted file mode 100644 index 1f8f90b35..000000000 --- a/packages/trpc/src/router/auth.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { router, publicProcedure, protectedProcedure } from '../trpc-server'; - -export const authRouter = router({ - getSession: publicProcedure.query(({ ctx }) => { - return ctx.session; - }), - getSecretMessage: protectedProcedure.query(() => { - return 'you can now see this secret message!'; - }), -}); diff --git a/packages/trpc/src/router/index.ts b/packages/trpc/src/router/index.ts index 65d1102e0..cac7192c2 100644 --- a/packages/trpc/src/router/index.ts +++ b/packages/trpc/src/router/index.ts @@ -1,12 +1,10 @@ import { router } from '../trpc-server'; -import { authRouter } from './auth'; import { notificationRouter } from './notification'; import { projectRouter } from './project'; import { userRouter } from './user'; export const appRouter = router({ user: userRouter, - auth: authRouter, notification: notificationRouter, project: projectRouter, }); diff --git a/packages/trpc/src/router/project.ts b/packages/trpc/src/router/project.ts index b090273e4..588ddc186 100644 --- a/packages/trpc/src/router/project.ts +++ b/packages/trpc/src/router/project.ts @@ -1,7 +1,7 @@ import { z } from 'zod'; import { prisma } from '../common/db'; -import { router, protectedProcedure } from '../trpc-server'; +import { router, protectedProcedure, publicProcedure } from '../trpc-server'; export const projectRouter = router({ all: protectedProcedure @@ -27,6 +27,21 @@ export const projectRouter = router({ }); return projects; }), + // Must use publicProcedure since it's used by ssg + theme: publicProcedure + .input(z.object({ domain: z.string() })) + .query(async ({ input }) => { + const project = await prisma.project.findUnique({ + where: input, + select: { + id: true, + name: true, + domain: true, + theme: true, + }, + }); + return project; + }), create: protectedProcedure .input( z.object({ diff --git a/packages/trpc/src/trpc-server.ts b/packages/trpc/src/trpc-server.ts index 1e2b8f7d3..444befde9 100644 --- a/packages/trpc/src/trpc-server.ts +++ b/packages/trpc/src/trpc-server.ts @@ -13,9 +13,6 @@ const t = initTRPC.context().create({ export const router = t.router; -/** - * Unprotected procedure - **/ export const publicProcedure = t.procedure; /** @@ -34,7 +31,4 @@ const isAuthed = t.middleware(({ ctx, next }) => { }); }); -/** - * Protected procedure - **/ export const protectedProcedure = t.procedure.use(isAuthed); diff --git a/packages/trpc/tsconfig.json b/packages/trpc/tsconfig.json index 3b24cbda2..01b176bed 100644 --- a/packages/trpc/tsconfig.json +++ b/packages/trpc/tsconfig.json @@ -6,11 +6,5 @@ "types": ["jest", "node"] }, "exclude": ["node_modules"], - "include": [ - "typings/**/*.d.ts", - "src/**/*.ts", - "src/**/*.tsx", - "../ui/src/utilities/trpc-client.ts", - "src/router/page.ts_" - ] + "include": ["typings/**/*.d.ts", "src/**/*.ts", "src/**/*.tsx"] } diff --git a/packages/ui/src/blocks/theme-editor/theme-editor.tsx b/packages/ui/src/blocks/theme-editor/theme-editor.tsx index 608f67789..043fc85ee 100644 --- a/packages/ui/src/blocks/theme-editor/theme-editor.tsx +++ b/packages/ui/src/blocks/theme-editor/theme-editor.tsx @@ -1,5 +1,4 @@ import { useUpdateThemeMutation } from '@chirpy-dev/graphql'; -import { ThemeProjectByPkQuery } from '@chirpy-dev/graphql'; import { Theme } from '@chirpy-dev/types'; import clsx from 'clsx'; import debounce from 'debounce-promise'; @@ -14,6 +13,7 @@ import { useToast } from '../../components/toast'; import { useWidgetTheme } from '../../contexts/theme-context'; import { logger } from '../../utilities/logger'; import { mergeDeep } from '../../utilities/object'; +import { RouterOutputs } from '../../utilities/trpc-client'; import { ColorModeSelect } from '../color-mode-select'; import { CommentWidgetPreview, @@ -26,7 +26,7 @@ import { hslToHex, revalidateProjectPages } from './utilities'; export const THEME_WIDGET_CLS = 'theme-widget'; export type ThemeEditorProps = { - project: ThemeProjectByPkQuery['projects'][number]; + project: NonNullable; } & Pick; export function ThemeEditor(props: ThemeEditorProps): JSX.Element { diff --git a/packages/ui/src/pages/theme/index.tsx b/packages/ui/src/pages/theme/index.tsx index 83f33881c..49f59b13d 100644 --- a/packages/ui/src/pages/theme/index.tsx +++ b/packages/ui/src/pages/theme/index.tsx @@ -1,5 +1,5 @@ -import { ThemeProjectByPkQuery } from '@chirpy-dev/graphql'; import { Theme as ThemeType } from '@chirpy-dev/types'; +import { DehydratedState } from '@tanstack/react-query'; import { SiteLayout, @@ -8,24 +8,29 @@ import { THEME_WIDGET_CLS, } from '../../blocks'; import { WidgetThemeProvider } from '../../contexts'; +import { trpcClient } from '../../utilities/trpc-client'; export type ThemeProps = { - project: ThemeProjectByPkQuery['projects'][0]; + trpcState: DehydratedState; + domain: string; } & Pick; export function ThemePage(props: ThemeProps): JSX.Element { + const { data: project } = trpcClient.project.theme.useQuery({ + domain: props.domain, + }); return ( - + ); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e7b32d4c7..a18c09599 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -442,6 +442,10 @@ importers: '@chirpy-dev/utils': workspace:* '@next-auth/prisma-adapter': 1.0.5 '@prisma/client': 4.6.1 + '@tanstack/react-query': 4.16.1 + '@trpc/client': 10.1.0 + '@trpc/next': 10.1.0 + '@trpc/react-query': 10.1.0 '@trpc/server': 10.1.0 '@types/jest': 29.2.3 '@types/node': 16.11.45 @@ -461,6 +465,10 @@ importers: '@chirpy-dev/utils': link:../utils '@next-auth/prisma-adapter': 1.0.5_o53gfpk3vz2btjrokqfjjwwn3m '@prisma/client': 4.6.1_prisma@4.6.1 + '@tanstack/react-query': 4.16.1_biqbaboplfbrettd7655fr4n2y + '@trpc/client': 10.1.0_@trpc+server@10.1.0 + '@trpc/next': 10.1.0_7jhp4m32uvzpkauysslpvycneq + '@trpc/react-query': 10.1.0_6w4fappfojusde7o3jmgvyxwlu '@trpc/server': 10.1.0 '@types/web-push': 3.3.2 next: 13.0.5_biqbaboplfbrettd7655fr4n2y @@ -7340,7 +7348,7 @@ packages: '@trpc/client': 10.1.0_@trpc+server@10.1.0 '@trpc/react-query': 10.1.0_6w4fappfojusde7o3jmgvyxwlu '@trpc/server': 10.1.0 - next: 13.0.5_vgii64pd2ccbnbx2v3ro5gbin4 + next: 13.0.5_biqbaboplfbrettd7655fr4n2y react: 18.2.0 react-dom: 18.2.0_react@18.2.0 react-ssr-prepass: 1.5.0_react@18.2.0 From 52ae9275214c5da50b7ec6d91555fd74dabe153b Mon Sep 17 00:00:00 2001 From: Qing <7880675+devrsi0n@users.noreply.github.com> Date: Sat, 26 Nov 2022 08:15:46 +0800 Subject: [PATCH 09/34] fix: theme editor --- apps/main/src/pages/theme/[domain].tsx | 1 - apps/main/src/server/services/project.ts | 2 +- .../src/server/services/revalidate/widgets.ts | 20 +++++++++------- packages/trpc/src/router/project.ts | 24 +++++++++++++++++++ .../src/blocks/theme-editor/theme-editor.tsx | 5 ++-- 5 files changed, 40 insertions(+), 12 deletions(-) diff --git a/apps/main/src/pages/theme/[domain].tsx b/apps/main/src/pages/theme/[domain].tsx index 15be77fed..348d78fd0 100644 --- a/apps/main/src/pages/theme/[domain].tsx +++ b/apps/main/src/pages/theme/[domain].tsx @@ -20,7 +20,6 @@ export const getStaticPaths: GetStaticPaths = async () => { fallback: 'blocking', }; } - // TODO: only generated a subset of theme pages to improve build perf const paths = await getRecentProjectStaticPathsByDomain(50); return { paths, fallback: 'blocking' }; diff --git a/apps/main/src/server/services/project.ts b/apps/main/src/server/services/project.ts index 2e825575c..6e1726090 100644 --- a/apps/main/src/server/services/project.ts +++ b/apps/main/src/server/services/project.ts @@ -10,7 +10,7 @@ export async function getRecentProjectStaticPathsByDomain( domain: true, }, orderBy: { - createdAt: 'desc', + updatedAt: 'desc', }, take, }); diff --git a/apps/main/src/server/services/revalidate/widgets.ts b/apps/main/src/server/services/revalidate/widgets.ts index 727723a08..3f13867e1 100644 --- a/apps/main/src/server/services/revalidate/widgets.ts +++ b/apps/main/src/server/services/revalidate/widgets.ts @@ -1,7 +1,6 @@ -import { PageUrLsOfProjectDocument } from '@chirpy-dev/graphql'; +import { prisma } from '@chirpy-dev/trpc'; import { NextApiRequest, NextApiResponse } from 'next'; -import { query } from '$/server/common/gql'; import { badRequest } from '$/server/utilities/response'; import { revalidateCommentWidgets } from '$/server/utilities/revalidate'; @@ -14,14 +13,19 @@ export async function revalidateWidgets( badRequest(res, 'Invalid projectId'); return; } - const project = await query( - PageUrLsOfProjectDocument, - { + const project = await prisma.project.findUnique({ + where: { id: projectId, }, - 'projectByPk', - ); - const pageURLs = project.pages.map((p) => p.url); + select: { + pages: { + select: { + url: true, + }, + }, + }, + }); + const pageURLs = project?.pages.map((p) => p.url) || []; await revalidateCommentWidgets(pageURLs, res); res.json({ message: 'ok', diff --git a/packages/trpc/src/router/project.ts b/packages/trpc/src/router/project.ts index 588ddc186..8676318f3 100644 --- a/packages/trpc/src/router/project.ts +++ b/packages/trpc/src/router/project.ts @@ -87,4 +87,28 @@ export const projectRouter = router({ }, }); }), + updateTheme: protectedProcedure + .input( + z.object({ + projectId: z.string(), + theme: z.object({ + colors: z.object({ + light: z.any(), + dark: z.any(), + }), + }), + }), + ) + .mutation(async ({ input, ctx }) => { + const project = await prisma.project.updateMany({ + where: { + id: input.projectId, + userId: ctx.session.user.id, + }, + data: { + theme: input.theme, + }, + }); + return project; + }), }); diff --git a/packages/ui/src/blocks/theme-editor/theme-editor.tsx b/packages/ui/src/blocks/theme-editor/theme-editor.tsx index 043fc85ee..1ec99a40e 100644 --- a/packages/ui/src/blocks/theme-editor/theme-editor.tsx +++ b/packages/ui/src/blocks/theme-editor/theme-editor.tsx @@ -13,7 +13,7 @@ import { useToast } from '../../components/toast'; import { useWidgetTheme } from '../../contexts/theme-context'; import { logger } from '../../utilities/logger'; import { mergeDeep } from '../../utilities/object'; -import { RouterOutputs } from '../../utilities/trpc-client'; +import { RouterOutputs, trpcClient } from '../../utilities/trpc-client'; import { ColorModeSelect } from '../color-mode-select'; import { CommentWidgetPreview, @@ -32,7 +32,8 @@ export type ThemeEditorProps = { export function ThemeEditor(props: ThemeEditorProps): JSX.Element { const { widgetTheme, setWidgetTheme, siteTheme } = useWidgetTheme(); - const [{}, updateTheme] = useUpdateThemeMutation(); + const { mutateAsync: updateTheme } = + trpcClient.project.updateTheme.useMutation(); const { showToast } = useToast(); const saveTheme = debounce( React.useCallback( From ac2b99a268508ecdf4da9afa2970e1795c9861ff Mon Sep 17 00:00:00 2001 From: Qing <7880675+devrsi0n@users.noreply.github.com> Date: Sat, 26 Nov 2022 09:16:32 +0800 Subject: [PATCH 10/34] fix: analytics trpc --- .../src/lib/comment-bootstrapper.ts | 6 +- apps/main/package.json | 4 +- apps/main/src/pages/analytics/[domain].tsx | 22 +- apps/main/src/pages/api/trpc/[trpc].ts | 2 +- apps/main/src/pages/theme/[domain].tsx | 4 +- apps/main/src/server/services/page.ts | 86 ++--- apps/main/src/server/types/page.ts | 5 - packages/trpc/package.json | 15 +- packages/trpc/src/common/db.ts | 2 + packages/trpc/src/index.ts | 3 + packages/trpc/src/router/page.ts | 6 + packages/trpc/src/router/project.ts | 29 +- packages/trpc/src/trpc-server.ts | 4 +- packages/types/package.json | 4 +- packages/ui/package.json | 25 +- .../src/blocks/theme-editor/theme-editor.tsx | 2 +- packages/ui/src/pages/analytics/domain.tsx | 8 +- packages/ui/src/pages/theme/index.tsx | 4 +- packages/utils/package.json | 4 +- pnpm-lock.yaml | 350 +++++++++--------- 20 files changed, 280 insertions(+), 305 deletions(-) delete mode 100644 apps/main/src/server/types/page.ts create mode 100644 packages/trpc/src/router/page.ts diff --git a/apps/comment-bootstrapper/src/lib/comment-bootstrapper.ts b/apps/comment-bootstrapper/src/lib/comment-bootstrapper.ts index d3cf827c0..3e30debc4 100644 --- a/apps/comment-bootstrapper/src/lib/comment-bootstrapper.ts +++ b/apps/comment-bootstrapper/src/lib/comment-bootstrapper.ts @@ -1,8 +1,8 @@ import { EVENT_CLICK_CONTAINER } from '@chirpy-dev/utils'; import { ERR_UNMATCHED_DOMAIN } from '../../../main/src/server/common/error-code'; +import type { PagePayload } from '../../../main/src/server/services/page'; import type { ResponseError } from '../../../main/src/server/types/error'; -import type { GetPagByUrl } from '../../../main/src/server/types/page'; import { observeAndBroadcastThemeChange, observeWidgetLoadedEvent, @@ -49,7 +49,7 @@ export async function initCommentWidget(): Promise { origin + pathname, )}&title=${encodeURIComponent(window.document.title)}`, ); - const page: GetPagByUrl = await res.json(); + const page: PagePayload = await res.json(); if (isResponseError(page)) { if (page.code == ERR_UNMATCHED_DOMAIN) { return console.error(page.error); @@ -96,7 +96,7 @@ export async function initCommentWidget(): Promise { renderTarget.append(iframe); } -function isResponseError(res: GetPagByUrl): res is ResponseError { +function isResponseError(res: PagePayload): res is ResponseError { return !!(res as ResponseError).error; } diff --git a/apps/main/package.json b/apps/main/package.json index 881f00fb1..dd0ce7d5f 100644 --- a/apps/main/package.json +++ b/apps/main/package.json @@ -16,10 +16,10 @@ }, "dependencies": { "@chirpy-dev/emails": "workspace:*", + "@chirpy-dev/trpc": "workspace:*", "@chirpy-dev/types": "workspace:*", "@chirpy-dev/ui": "workspace:*", "@chirpy-dev/utils": "workspace:*", - "@chirpy-dev/trpc": "workspace:*", "@radix-ui/colors": "0.1.8", "@sendinblue/client": "3.2.2", "@tensorflow-models/toxicity": "1.2.2", @@ -64,7 +64,7 @@ "@chirpy-dev/eslint-config": "workspace:*", "@chirpy-dev/service-worker": "workspace:*", "@chirpy-dev/tsconfigs": "workspace:*", - "@next/bundle-analyzer": "13.0.4", + "@next/bundle-analyzer": "13.0.5", "@relative-ci/agent": "4.1.1", "@types/cors": "2.8.12", "@types/github-slugger": "1.3.0", diff --git a/apps/main/src/pages/analytics/[domain].tsx b/apps/main/src/pages/analytics/[domain].tsx index ddb6cc5c5..000dc7b63 100644 --- a/apps/main/src/pages/analytics/[domain].tsx +++ b/apps/main/src/pages/analytics/[domain].tsx @@ -1,9 +1,8 @@ -import { ProjectByDomainDocument } from '@chirpy-dev/graphql'; +import { ssg } from '@chirpy-dev/trpc'; import { CommonPageProps } from '@chirpy-dev/types'; import { AnalyticsByDomainPageProps } from '@chirpy-dev/ui'; import { GetStaticPaths, GetStaticProps } from 'next'; -import { query } from '$/server/common/gql'; import { getRecentProjectStaticPathsByDomain } from '$/server/services/project'; type PathParams = { @@ -30,23 +29,20 @@ export const getStaticProps: GetStaticProps< return { notFound: true }; } const { domain } = params; - const projects = await query( - ProjectByDomainDocument, - { - domain, - }, - 'projects', - ); - const [project] = projects; - if (!project.domain) { + const project = await ssg.project.byDomain.fetch(domain); + if (!project?.id) { return { notFound: true }; } return { props: { - project: project, + project: { + ...project, + createdAt: project.createdAt.toISOString(), + }, }, - revalidate: 60 * 60, + // Only need the createdAt data + revalidate: 24 * 60 * 60, }; }; diff --git a/apps/main/src/pages/api/trpc/[trpc].ts b/apps/main/src/pages/api/trpc/[trpc].ts index 43acf1ea5..992226492 100644 --- a/apps/main/src/pages/api/trpc/[trpc].ts +++ b/apps/main/src/pages/api/trpc/[trpc].ts @@ -1,5 +1,5 @@ import { appRouter, createNextApiHandler } from '@chirpy-dev/trpc'; -import { createContext } from '@chirpy-dev/trpc/src/context'; +import { createContext } from '@chirpy-dev/trpc'; import { log } from 'next-axiom'; export default createNextApiHandler({ diff --git a/apps/main/src/pages/theme/[domain].tsx b/apps/main/src/pages/theme/[domain].tsx index 348d78fd0..ce93dfaca 100644 --- a/apps/main/src/pages/theme/[domain].tsx +++ b/apps/main/src/pages/theme/[domain].tsx @@ -36,9 +36,7 @@ export const getStaticProps: GetStaticProps = async ({ return { notFound: true }; } const { domain } = params; - const project = await ssg.project.theme.fetch({ - domain, - }); + const project = await ssg.project.byDomain.fetch(domain); if (!project?.id) { return { notFound: true }; } diff --git a/apps/main/src/server/services/page.ts b/apps/main/src/server/services/page.ts index d023b8a9b..669465bbc 100644 --- a/apps/main/src/server/services/page.ts +++ b/apps/main/src/server/services/page.ts @@ -1,18 +1,14 @@ -import { - InsertOnePageDocument, - PageByUrlDocument, - UpdatePagesDocument, - ProjectByDomainDocument, -} from '@chirpy-dev/graphql'; +import { Page, prisma } from '@chirpy-dev/trpc'; import { NextApiRequest, NextApiResponse } from 'next'; import { ERR_UNMATCHED_DOMAIN } from '../common/error-code'; -import { mutate, query } from '../common/gql'; -import { GetPagByUrl } from '../types/page'; +import { ResponseError } from '../types/error'; + +export type PagePayload = Page | ResponseError; export async function getPage( req: NextApiRequest, - res: NextApiResponse, + res: NextApiResponse, ): Promise { const { url, domain, title } = req.query as { [key: string]: string; @@ -28,67 +24,41 @@ export async function getPage( error: `url(${url}) and domain(${domain}) must be matched`, }); } - const projects = await query( - ProjectByDomainDocument, - { + const project = await prisma.project.findUnique({ + where: { domain, }, - 'projects', - ); - const projectId = projects[0]?.id; + select: { + id: true, + name: true, + domain: true, + theme: true, + createdAt: true, + }, + }); + const projectId = project?.id; if (!projectId) { return res.status(500).json({ code: ERR_UNMATCHED_DOMAIN, error: `Wrong domain(${domain}), you may need to create a project first, or your configuration is wrong`, }); } - const pages = await query( - PageByUrlDocument, - { + // Create page if not exist + const page = await prisma.page.upsert({ + where: { + url, + }, + create: { url, projectId, + title, }, - 'pages', - ); - const page = pages[0]; - - if (!page?.id) { - const insertOnePage = await mutate( - InsertOnePageDocument, - { - projectId, - url, - title: title || '', - }, - 'insertOnePage', - ); - - if (!insertOnePage?.id) { - // TODO: Handle duplicated pages - return res.status(500).json({ - error: 'Create page failed', - }); - } - return res.json(insertOnePage); - } else if (page.title !== title) { - const updatePages = await mutate( - UpdatePagesDocument, - { - projectId, - url, - title: title || '', - }, - 'updatePages', - ); - - if (updatePages?.affected_rows !== 1 || !updatePages?.returning[0].id) { - return res.status(500).json({ - error: 'Update page error', - }); - } - } + update: { + title, + }, + }); - res.json(page); + return res.json(page); } const isLocalDomain = (domain: string) => diff --git a/apps/main/src/server/types/page.ts b/apps/main/src/server/types/page.ts deleted file mode 100644 index e5f663817..000000000 --- a/apps/main/src/server/types/page.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { PageByUrlQuery } from '@chirpy-dev/graphql'; - -import { ResponseError } from './error'; - -export type GetPagByUrl = PageByUrlQuery['pages'][number] | ResponseError; diff --git a/packages/trpc/package.json b/packages/trpc/package.json index 040481d5a..bab32bbe7 100644 --- a/packages/trpc/package.json +++ b/packages/trpc/package.json @@ -6,7 +6,7 @@ "sideEffects": false, "types": "./src/index.ts", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "build": "prisma generate" }, "dependencies": { "@chirpy-dev/emails": "workspace:*", @@ -14,18 +14,19 @@ "@chirpy-dev/utils": "workspace:*", "@next-auth/prisma-adapter": "1.0.5", "@prisma/client": "4.6.1", - "@trpc/server": "10.1.0", - "@trpc/react-query": "10.1.0", + "@tanstack/react-query": "4.17.1", + "@trpc/client": "10.2.0", + "@trpc/next": "10.2.0", + "@trpc/react-query": "10.2.0", + "@trpc/server": "10.2.0", "@types/web-push": "3.3.2", - "@tanstack/react-query": "4.16.1", - "@trpc/client": "10.1.0", - "@trpc/next": "10.1.0", - "web-push": "3.5.0", "next": "13.0.5", "next-auth": "4.17.0", "next-axiom": "0.15.1", "react": "18.2.0", "react-dom": "18.2.0", + "superjson": "1.11.0", + "web-push": "3.5.0", "zod": "3.19.1" }, "devDependencies": { diff --git a/packages/trpc/src/common/db.ts b/packages/trpc/src/common/db.ts index f03ae8967..f1340eccb 100644 --- a/packages/trpc/src/common/db.ts +++ b/packages/trpc/src/common/db.ts @@ -1,5 +1,7 @@ import { PrismaClient } from '@prisma/client'; +export type { Page, Project, User, NotificationMessage } from '@prisma/client'; + // Save it to global, but don't declare it since we may misuse it export const prisma: PrismaClient = // @ts-ignore diff --git a/packages/trpc/src/index.ts b/packages/trpc/src/index.ts index c385205db..9a92f2ccb 100644 --- a/packages/trpc/src/index.ts +++ b/packages/trpc/src/index.ts @@ -1,8 +1,10 @@ import { createProxySSGHelpers } from '@trpc/react-query/ssg'; +// import superjson from "superjson"; import { createContextInner } from './context'; import { appRouter } from './router'; +export { createContext } from './context'; export * from './auth'; export * from './trpc-server'; export * from './common/db'; @@ -14,4 +16,5 @@ export const ssg = createProxySSGHelpers({ ctx: createContextInner({ session: null, }), + // transformer: superjson, }); diff --git a/packages/trpc/src/router/page.ts b/packages/trpc/src/router/page.ts new file mode 100644 index 000000000..d5d1a4014 --- /dev/null +++ b/packages/trpc/src/router/page.ts @@ -0,0 +1,6 @@ +import { z } from 'zod'; + +import { prisma } from '../common/db'; +import { router, protectedProcedure } from '../trpc-server'; + +export const pageRouter = router({}); diff --git a/packages/trpc/src/router/project.ts b/packages/trpc/src/router/project.ts index 8676318f3..3a97cd36e 100644 --- a/packages/trpc/src/router/project.ts +++ b/packages/trpc/src/router/project.ts @@ -28,20 +28,21 @@ export const projectRouter = router({ return projects; }), // Must use publicProcedure since it's used by ssg - theme: publicProcedure - .input(z.object({ domain: z.string() })) - .query(async ({ input }) => { - const project = await prisma.project.findUnique({ - where: input, - select: { - id: true, - name: true, - domain: true, - theme: true, - }, - }); - return project; - }), + byDomain: publicProcedure.input(z.string()).query(async ({ input }) => { + const project = await prisma.project.findUnique({ + where: { + domain: input, + }, + select: { + id: true, + name: true, + domain: true, + theme: true, + createdAt: true, + }, + }); + return project; + }), create: protectedProcedure .input( z.object({ diff --git a/packages/trpc/src/trpc-server.ts b/packages/trpc/src/trpc-server.ts index 444befde9..df62d7ff8 100644 --- a/packages/trpc/src/trpc-server.ts +++ b/packages/trpc/src/trpc-server.ts @@ -1,8 +1,8 @@ import { initTRPC, TRPCError } from '@trpc/server'; -import { type Context } from './context'; +// import superjson from 'superjson'; -// import superjson from "superjson"; +import { type Context } from './context'; const t = initTRPC.context().create({ // transformer: superjson, diff --git a/packages/types/package.json b/packages/types/package.json index df455edd3..05f5e8696 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -8,8 +8,8 @@ "devDependencies": { "@chirpy-dev/graphql": "workspace:*", "@chirpy-dev/tsconfigs": "workspace:*", - "@tiptap/core": "2.0.0-beta.203", - "@tiptap/react": "2.0.0-beta.203", + "@tiptap/core": "2.0.0-beta.204", + "@tiptap/react": "2.0.0-beta.204", "@types/node": "16.11.45", "@types/react": "18.0.25", "@types/react-dom": "18.0.9", diff --git a/packages/ui/package.json b/packages/ui/package.json index bbc95dd3e..8b73e8606 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -21,18 +21,18 @@ "@geist-ui/icons": "1.0.2", "@headlessui/react": "1.7.4", "@radix-ui/colors": "0.1.8", - "@tiptap/core": "2.0.0-beta.203", - "@tiptap/extension-image": "2.0.0-beta.203", - "@tiptap/extension-link": "2.0.0-beta.203", - "@tiptap/extension-placeholder": "2.0.0-beta.203", - "@tiptap/extension-underline": "2.0.0-beta.203", - "@tiptap/react": "2.0.0-beta.203", - "@tiptap/starter-kit": "2.0.0-beta.203", - "@tanstack/react-query": "4.16.1", - "@trpc/client": "10.1.0", - "@trpc/server": "10.1.0", - "@trpc/next": "10.1.0", - "@trpc/react-query": "10.1.0", + "@tanstack/react-query": "4.17.1", + "@tiptap/core": "2.0.0-beta.204", + "@tiptap/extension-image": "2.0.0-beta.204", + "@tiptap/extension-link": "2.0.0-beta.204", + "@tiptap/extension-placeholder": "2.0.0-beta.204", + "@tiptap/extension-underline": "2.0.0-beta.204", + "@tiptap/react": "2.0.0-beta.204", + "@tiptap/starter-kit": "2.0.0-beta.204", + "@trpc/client": "10.2.0", + "@trpc/next": "10.2.0", + "@trpc/react-query": "10.2.0", + "@trpc/server": "10.2.0", "@urql/devtools": "2.0.3", "@urql/exchange-graphcache": "5.0.5", "@urql/exchange-refocus": "1.0.0", @@ -61,6 +61,7 @@ "react-flatpickr": "3.10.13", "react-flip-move": "3.0.4", "super-tiny-icons": "0.4.0", + "superjson": "1.11.0", "urql": "3.0.3" }, "devDependencies": { diff --git a/packages/ui/src/blocks/theme-editor/theme-editor.tsx b/packages/ui/src/blocks/theme-editor/theme-editor.tsx index 1ec99a40e..da7f23f83 100644 --- a/packages/ui/src/blocks/theme-editor/theme-editor.tsx +++ b/packages/ui/src/blocks/theme-editor/theme-editor.tsx @@ -26,7 +26,7 @@ import { hslToHex, revalidateProjectPages } from './utilities'; export const THEME_WIDGET_CLS = 'theme-widget'; export type ThemeEditorProps = { - project: NonNullable; + project: NonNullable; } & Pick; export function ThemeEditor(props: ThemeEditorProps): JSX.Element { diff --git a/packages/ui/src/pages/analytics/domain.tsx b/packages/ui/src/pages/analytics/domain.tsx index c859c90db..88163e5cc 100644 --- a/packages/ui/src/pages/analytics/domain.tsx +++ b/packages/ui/src/pages/analytics/domain.tsx @@ -1,10 +1,10 @@ -import { ProjectByDomainQuery } from '@chirpy-dev/graphql'; import * as React from 'react'; +import { RouterOutputs } from 'src/utilities/trpc-client'; import { AnalyticsBlock, SiteLayout, PageTitle } from '../../blocks'; export type AnalyticsByDomainPageProps = { - project: ProjectByDomainQuery['projects'][number]; + project: NonNullable; }; export function AnalyticsByDomainPage({ @@ -16,10 +16,10 @@ export function AnalyticsByDomainPage({ Analytics ; export function ThemePage(props: ThemeProps): JSX.Element { - const { data: project } = trpcClient.project.theme.useQuery({ - domain: props.domain, - }); + const { data: project } = trpcClient.project.byDomain.useQuery(props.domain); return ( = 10'} dev: true - /@trpc/client/10.1.0_@trpc+server@10.1.0: - resolution: {integrity: sha512-E7L9l2OTa5lIdM0NYvQLJf/GLapskfiVLv0Jv7t6GVxEOFd+O4THWsWQgJVUUAz9iq805iMNkY3uqSvf4GJaWg==} + /@trpc/client/10.2.0_@trpc+server@10.2.0: + resolution: {integrity: sha512-Mehf6euqMzAak+Umay1LKol9nC716yBjHNqrF6blWY/n2hwSICrLXQwveNaHK7qjKXJ86b4aDW39KR02WCQP4A==} peerDependencies: - '@trpc/server': 10.1.0 + '@trpc/server': 10.2.0 dependencies: - '@trpc/server': 10.1.0 + '@trpc/server': 10.2.0 dev: false - /@trpc/next/10.1.0_7jhp4m32uvzpkauysslpvycneq: - resolution: {integrity: sha512-bJ3zMbrSO+udhMi/8KZ1JY5VpXsucTOat08LdU5MPXzMFEQ+d0QehoM4PoZirO39batZfM0rmbCJ8w6P5hLCow==} + /@trpc/next/10.2.0_dfo4zyd5puickhsctwfhhecacy: + resolution: {integrity: sha512-1zbZb9Xd6nYVZfgb6zNA6fLzZ5CWZjd7KYSUIWY0Bh7cVjDAmAtIj2wC3wcXWI7UsKntLIpvUB4XMEsFK/RxiQ==} peerDependencies: '@tanstack/react-query': ^4.3.8 - '@trpc/client': 10.1.0 + '@trpc/client': 10.2.0 '@trpc/react-query': ^10.0.0-proxy-beta.21 - '@trpc/server': 10.1.0 + '@trpc/server': 10.2.0 next: '*' react: '>=16.8.0 || 18' react-dom: '>=16.8.0 || 18' dependencies: - '@tanstack/react-query': 4.16.1_biqbaboplfbrettd7655fr4n2y - '@trpc/client': 10.1.0_@trpc+server@10.1.0 - '@trpc/react-query': 10.1.0_6w4fappfojusde7o3jmgvyxwlu - '@trpc/server': 10.1.0 - next: 13.0.5_biqbaboplfbrettd7655fr4n2y + '@tanstack/react-query': 4.17.1_biqbaboplfbrettd7655fr4n2y + '@trpc/client': 10.2.0_@trpc+server@10.2.0 + '@trpc/react-query': 10.2.0_xdgyyx5u2iaaonjivvzelfawba + '@trpc/server': 10.2.0 + next: 13.0.5_vgii64pd2ccbnbx2v3ro5gbin4 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 react-ssr-prepass: 1.5.0_react@18.2.0 dev: false - /@trpc/react-query/10.1.0_6w4fappfojusde7o3jmgvyxwlu: - resolution: {integrity: sha512-Xjx3m73CDuBNrpAOF6scUQedYyp4LIxthwmdjw8Y+iR193XNwFTH+C8TZn5qOLVw9u/FM5YchAJjPPgUJyXBBQ==} + /@trpc/react-query/10.2.0_xdgyyx5u2iaaonjivvzelfawba: + resolution: {integrity: sha512-OH1T1VztPp9qG66cvxPd/Sr9pPsDn+nFmgWtpJmoiTgZJ2DnUPsdi9DVkXdaE9M2OwdoXhFqwboclPzaUAD22g==} peerDependencies: '@tanstack/react-query': ^4.3.8 - '@trpc/client': 10.1.0 - '@trpc/server': 10.1.0 + '@trpc/client': 10.2.0 + '@trpc/server': 10.2.0 react: '>=16.8.0 || 18' react-dom: '>=16.8.0 || 18' dependencies: - '@tanstack/react-query': 4.16.1_biqbaboplfbrettd7655fr4n2y - '@trpc/client': 10.1.0_@trpc+server@10.1.0 - '@trpc/server': 10.1.0 + '@tanstack/react-query': 4.17.1_biqbaboplfbrettd7655fr4n2y + '@trpc/client': 10.2.0_@trpc+server@10.2.0 + '@trpc/server': 10.2.0 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 dev: false - /@trpc/server/10.1.0: - resolution: {integrity: sha512-UiRZPApLruhi1UKukTNsB9igFBEhEA0aMxy86Xp1OvbzuY00yoFcvDUYsBdBjp9mzIHR3yNjqrlfS/RNpPhZEw==} + /@trpc/server/10.2.0: + resolution: {integrity: sha512-WGOA2bk6JOnOywUu1gkAgwqnxZ5g+vNkL9EpCGLgKYwwMcjAwgNRgYzLPsDsR1XL48wmdYOzfWzJ0G575+g/jA==} dev: false /@tsconfig/node10/1.0.9: @@ -18015,7 +18019,7 @@ packages: '@panva/hkdf': 1.0.2 cookie: 0.5.0 jose: 4.11.1 - next: 13.0.5_biqbaboplfbrettd7655fr4n2y + next: 13.0.5_vgii64pd2ccbnbx2v3ro5gbin4 oauth: 0.9.15 openid-client: 5.3.0 preact: 10.11.3 @@ -18030,7 +18034,7 @@ packages: peerDependencies: next: ^12.1.4 || ^13 dependencies: - next: 13.0.5_biqbaboplfbrettd7655fr4n2y + next: 13.0.5_vgii64pd2ccbnbx2v3ro5gbin4 whatwg-fetch: 3.6.2 dev: false From adba2450fdde72fbfb8f86abdc4ad0db71aa1b44 Mon Sep 17 00:00:00 2001 From: Qing <7880675+devrsi0n@users.noreply.github.com> Date: Sat, 26 Nov 2022 10:13:08 +0800 Subject: [PATCH 11/34] fix: comment widget --- .../src/pages/widget/comment/[pageURL].tsx | 83 +++++++------------ apps/main/src/server/services/page.ts | 2 +- packages/trpc/src/common/db.ts | 8 +- packages/trpc/src/router/comment.ts | 35 ++++++-- packages/trpc/src/router/index.ts | 2 + packages/types/package.json | 3 + packages/types/src/page.ts | 4 +- .../__tests__/comment-forest.test.tsx} | 10 +-- .../comment-forest.tsx} | 24 +++--- .../ui/src/blocks/comment-forest/index.tsx | 1 + .../use-comment-order-by.ts | 0 .../src/blocks/comment-tree/comment-tree.tsx | 3 +- .../ui/src/blocks/comment-trees/index.tsx | 1 - .../comment-widget-preview.tsx | 4 +- packages/ui/src/blocks/index.ts | 2 +- packages/ui/src/index.ts | 2 +- packages/ui/src/pages/widget/page-url.tsx | 41 +++------ .../ui/src/utilities/get-comment-count.ts | 6 +- pnpm-lock.yaml | 5 +- 19 files changed, 119 insertions(+), 117 deletions(-) rename packages/ui/src/blocks/{comment-trees/__tests__/comment-trees.test.tsx => comment-forest/__tests__/comment-forest.test.tsx} (88%) rename packages/ui/src/blocks/{comment-trees/comment-trees.tsx => comment-forest/comment-forest.tsx} (85%) create mode 100644 packages/ui/src/blocks/comment-forest/index.tsx rename packages/ui/src/blocks/{comment-trees => comment-forest}/use-comment-order-by.ts (100%) delete mode 100644 packages/ui/src/blocks/comment-trees/index.tsx diff --git a/apps/main/src/pages/widget/comment/[pageURL].tsx b/apps/main/src/pages/widget/comment/[pageURL].tsx index f3868de5f..69bc38156 100644 --- a/apps/main/src/pages/widget/comment/[pageURL].tsx +++ b/apps/main/src/pages/widget/comment/[pageURL].tsx @@ -1,12 +1,5 @@ -import { - CommentTreeDocument, - CommentTreeSubscription, - CommentTreeSubscriptionVariables, - ThemeOfPageDocument, - PageByUrlOnlyDocument, - FreshPagesDocument, -} from '@chirpy-dev/graphql'; -import { CommonWidgetProps, Theme, CommentLeafType } from '@chirpy-dev/types'; +import { prisma, ssg } from '@chirpy-dev/trpc'; +import { CommonWidgetProps, Theme } from '@chirpy-dev/types'; import { GetStaticProps, InferGetStaticPropsType, @@ -16,11 +9,6 @@ import { } from 'next'; import { log } from 'next-axiom'; import superjson from 'superjson'; -import { OperationResult } from 'urql'; -import { pipe, subscribe } from 'wonka'; - -import { getAdminGqlClient } from '$/lib/admin-gql-client'; -import { query } from '$/server/common/gql'; export type PageCommentProps = InferGetStaticPropsType; @@ -33,8 +21,6 @@ type PathParams = { pageURL: string; }; -const client = getAdminGqlClient(); - // Get all project then prerender all their page comments export const getStaticPaths: GetStaticPaths = async () => { if (process.env.DOCKER) { @@ -43,13 +29,13 @@ export const getStaticPaths: GetStaticPaths = async () => { fallback: 'blocking', }; } - const freshPages = await query( - FreshPagesDocument, - { - limit: 50, + const freshPages = await prisma.page.findMany({ + orderBy: { createdAt: 'desc' }, + take: 50, + select: { + url: true, }, - 'pages', - ); + }); const paths: { params: PathParams }[] = freshPages.map(({ url }) => { @@ -67,7 +53,6 @@ export const getStaticPaths: GetStaticPaths = async () => { type StaticProps = PathParams & CommonWidgetProps & { - comments: CommentLeafType[]; pageId: string; }; type StaticError = { @@ -86,50 +71,44 @@ export const getStaticProps: GetStaticProps< return { notFound: true }; } const { pageURL } = params; - const pages = await query(PageByUrlOnlyDocument, { url: pageURL }, 'pages'); - const pageId = pages?.[0]?.id; + const page = await prisma.page.findUnique({ + where: { + url: pageURL, + }, + }); + const pageId = page?.id; if (!pageId) { return { notFound: true }; } try { - const { data } = await new Promise< - OperationResult - >((resolve /*reject*/) => { - pipe< - OperationResult< - CommentTreeSubscription, - CommentTreeSubscriptionVariables - >, - any - >( - // @ts-ignore - client.subscription(CommentTreeDocument, { pageURL }), - subscribe((result) => { - // log.debug(result); - resolve(result); - }), - ); + const comments = await ssg.comment.forest.fetch({ + url: pageURL, }); - if (!data?.comments) { + if (!comments?.length) { return { notFound: true }; } - const { comments } = data; - const pageByPk = await query( - ThemeOfPageDocument, - { - pageId, + const pageByPk = await prisma.page.findUnique({ + where: { + id: pageId, + }, + select: { + project: { + select: { + id: true, + theme: true, + }, + }, }, - 'pageByPk', - ); - if (!pageByPk) { + }); + if (!pageByPk?.project.id) { log.error(`Can't find theme info`); return { notFound: true }; } return { props: { - comments, + trpcState: ssg.dehydrate(), pageURL, pageId, projectId: pageByPk.project.id, diff --git a/apps/main/src/server/services/page.ts b/apps/main/src/server/services/page.ts index 669465bbc..da72d1af1 100644 --- a/apps/main/src/server/services/page.ts +++ b/apps/main/src/server/services/page.ts @@ -43,7 +43,7 @@ export async function getPage( error: `Wrong domain(${domain}), you may need to create a project first, or your configuration is wrong`, }); } - // Create page if not exist + // Create page if not exist, or update the title const page = await prisma.page.upsert({ where: { url, diff --git a/packages/trpc/src/common/db.ts b/packages/trpc/src/common/db.ts index f1340eccb..76e03379c 100644 --- a/packages/trpc/src/common/db.ts +++ b/packages/trpc/src/common/db.ts @@ -1,6 +1,12 @@ import { PrismaClient } from '@prisma/client'; -export type { Page, Project, User, NotificationMessage } from '@prisma/client'; +export type { + Page, + Project, + User, + NotificationMessage, + Comment, +} from '@prisma/client'; // Save it to global, but don't declare it since we may misuse it export const prisma: PrismaClient = diff --git a/packages/trpc/src/router/comment.ts b/packages/trpc/src/router/comment.ts index 34f255c20..cfe23c477 100644 --- a/packages/trpc/src/router/comment.ts +++ b/packages/trpc/src/router/comment.ts @@ -4,17 +4,38 @@ import { prisma } from '../common/db'; import { router, protectedProcedure } from '../trpc-server'; export const commentRouter = router({ - deleteStaleComments: protectedProcedure - .input(z.object({ beforeDate: z.string(), url: z.string() })) - .mutation(async ({ input }) => { - const result = await prisma.comment.deleteMany({ + forest: protectedProcedure + .input(z.object({ url: z.string() })) + .query(async ({ input }) => { + const result = await prisma.comment.findMany({ where: { - createdAt: { - lt: input.beforeDate, - }, page: { url: input.url, }, + parentId: null, + }, + include: { + user: true, + likes: true, + replies: { + include: { + user: true, + likes: true, + replies: { + include: { + user: true, + likes: true, + replies: { + include: { + user: true, + replies: true, + likes: true, + }, + }, + }, + }, + }, + }, }, }); return result; diff --git a/packages/trpc/src/router/index.ts b/packages/trpc/src/router/index.ts index cac7192c2..370d0cec2 100644 --- a/packages/trpc/src/router/index.ts +++ b/packages/trpc/src/router/index.ts @@ -1,4 +1,5 @@ import { router } from '../trpc-server'; +import { commentRouter } from './comment'; import { notificationRouter } from './notification'; import { projectRouter } from './project'; import { userRouter } from './user'; @@ -7,6 +8,7 @@ export const appRouter = router({ user: userRouter, notification: notificationRouter, project: projectRouter, + comment: commentRouter, }); // export type definition of API diff --git a/packages/types/package.json b/packages/types/package.json index 05f5e8696..5bdfcde45 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -26,5 +26,8 @@ }, "publishConfig": { "access": "public" + }, + "dependencies": { + "@tanstack/react-query": "4.17.1" } } diff --git a/packages/types/src/page.ts b/packages/types/src/page.ts index 309c93de4..2c087f84f 100644 --- a/packages/types/src/page.ts +++ b/packages/types/src/page.ts @@ -1,3 +1,4 @@ +import type { DehydratedState } from '@tanstack/react-query'; import { Session } from 'next-auth'; import { Theme } from './theme'; @@ -5,8 +6,8 @@ import { Theme } from './theme'; export type CommonPageProps = { projectId?: string; theme?: Theme; - session?: Session; + trpcState?: DehydratedState; }; export type CommonWidgetProps = { @@ -14,6 +15,7 @@ export type CommonWidgetProps = { theme?: Theme; session?: Session; isWidget: true; + trpcState?: DehydratedState; }; export type PageProps = CommonPageProps | CommonWidgetProps; diff --git a/packages/ui/src/blocks/comment-trees/__tests__/comment-trees.test.tsx b/packages/ui/src/blocks/comment-forest/__tests__/comment-forest.test.tsx similarity index 88% rename from packages/ui/src/blocks/comment-trees/__tests__/comment-trees.test.tsx rename to packages/ui/src/blocks/comment-forest/__tests__/comment-forest.test.tsx index abfa45be5..1de680257 100644 --- a/packages/ui/src/blocks/comment-trees/__tests__/comment-trees.test.tsx +++ b/packages/ui/src/blocks/comment-forest/__tests__/comment-forest.test.tsx @@ -1,12 +1,12 @@ import { cleanup, screen } from '@testing-library/react'; -import { CommentTrees } from '..'; +import { CommentForest } from '..'; import { pageRender } from '../../../__tests__/fixtures/page-render'; +import * as CommentContext from '../../../contexts/comment-context/comment-context-provider'; import { generateCommentFragment, getTextsOfComment, -} from '../../../blocks/comment-timeline/__tests__/mock-data'; -import * as CommentContext from '../../../contexts/comment-context/comment-context-provider'; +} from '../../comment-timeline/__tests__/mock-data'; jest.mock('../../../contexts/comment-context/comment-context-provider', () => { return { @@ -39,9 +39,9 @@ const mockComments = [ }, ]; -describe('CommentTrees', () => { +describe('CommentForest', () => { beforeEach(() => { - pageRender(); + pageRender(); }); afterEach(() => { diff --git a/packages/ui/src/blocks/comment-trees/comment-trees.tsx b/packages/ui/src/blocks/comment-forest/comment-forest.tsx similarity index 85% rename from packages/ui/src/blocks/comment-trees/comment-trees.tsx rename to packages/ui/src/blocks/comment-forest/comment-forest.tsx index 94d5eb860..1b45fed6b 100644 --- a/packages/ui/src/blocks/comment-trees/comment-trees.tsx +++ b/packages/ui/src/blocks/comment-forest/comment-forest.tsx @@ -1,8 +1,8 @@ import { Order_By } from '@chirpy-dev/graphql'; -import { CommentLeafType } from '@chirpy-dev/types'; import clsx from 'clsx'; import { AnimatePresence } from 'framer-motion'; import * as React from 'react'; +import { RouterOutputs } from 'src/utilities/trpc-client'; import { BaseButton, IconArrowUp } from '../../components'; import { Heading } from '../../components/heading'; @@ -15,15 +15,15 @@ import { RichTextEditor } from '../rich-text-editor'; import { UserMenu } from '../user-menu'; import { useCommentOrderBy } from './use-comment-order-by'; -export type CommentTreesProps = { - comments: CommentLeafType[]; +export type CommentForestProps = { + comments: RouterOutputs['comment']['forest']; rtePlaceholder?: string; }; -export function CommentTrees({ +export function CommentForest({ comments, rtePlaceholder, -}: CommentTreesProps): JSX.Element { +}: CommentForestProps): JSX.Element { const { createAComment } = useCommentContext(); const commentCount = getCommentCount(comments); const [orderBy, setOrderBy] = useCommentOrderBy(); @@ -76,9 +76,11 @@ export function CommentTrees({
      - {orderedComments?.map((comment: CommentLeafType) => ( - - ))} + {orderedComments?.map( + (comment: RouterOutputs['comment']['forest'][number]) => ( + + ), + )}
    @@ -87,9 +89,9 @@ export function CommentTrees({ } function sortComments( - comments: CommentLeafType[], + comments: RouterOutputs['comment']['forest'], orderBy?: Order_By, -): CommentLeafType[] { +): RouterOutputs['comment']['forest'] { if (!orderBy) { return comments; } @@ -116,6 +118,6 @@ function formatTitle(count: number): string { return `${count} comments`; } -function dateToNumber(date: string): number { +function dateToNumber(date: string | Date): number { return new Date(date).getTime(); } diff --git a/packages/ui/src/blocks/comment-forest/index.tsx b/packages/ui/src/blocks/comment-forest/index.tsx new file mode 100644 index 000000000..d58b952d0 --- /dev/null +++ b/packages/ui/src/blocks/comment-forest/index.tsx @@ -0,0 +1 @@ +export * from './comment-forest'; diff --git a/packages/ui/src/blocks/comment-trees/use-comment-order-by.ts b/packages/ui/src/blocks/comment-forest/use-comment-order-by.ts similarity index 100% rename from packages/ui/src/blocks/comment-trees/use-comment-order-by.ts rename to packages/ui/src/blocks/comment-forest/use-comment-order-by.ts diff --git a/packages/ui/src/blocks/comment-tree/comment-tree.tsx b/packages/ui/src/blocks/comment-tree/comment-tree.tsx index c68e17905..61ea64c70 100644 --- a/packages/ui/src/blocks/comment-tree/comment-tree.tsx +++ b/packages/ui/src/blocks/comment-tree/comment-tree.tsx @@ -1,11 +1,12 @@ import { CommentLeafType, RTEValue } from '@chirpy-dev/types'; import * as React from 'react'; +import { RouterOutputs } from 'src/utilities/trpc-client'; import { CommentBranch } from '../comment-branch'; import { CommentCard } from '../comment-card'; export type CommentProps = { - comment: CommentLeafType; + comment: RouterOutputs['comment']['forest'][number]; depth: number; }; diff --git a/packages/ui/src/blocks/comment-trees/index.tsx b/packages/ui/src/blocks/comment-trees/index.tsx deleted file mode 100644 index 6db09168a..000000000 --- a/packages/ui/src/blocks/comment-trees/index.tsx +++ /dev/null @@ -1 +0,0 @@ -export * from './comment-trees'; diff --git a/packages/ui/src/blocks/comment-widget-preview/comment-widget-preview.tsx b/packages/ui/src/blocks/comment-widget-preview/comment-widget-preview.tsx index e42458f94..ccb40ab1d 100644 --- a/packages/ui/src/blocks/comment-widget-preview/comment-widget-preview.tsx +++ b/packages/ui/src/blocks/comment-widget-preview/comment-widget-preview.tsx @@ -10,7 +10,7 @@ import { UseToggleALikeAction, } from '../../contexts/comment-context'; import { useCurrentUser } from '../../contexts/current-user-context'; -import { CommentTrees } from '../comment-trees'; +import { CommentForest } from '../comment-forest'; import { PredefinedCurrentUser } from './predefined-current-user'; import { PredefinedNotification } from './predefined-notification'; import { getPreviewComments, PAGE_ID, PROJECT_ID } from './preview-data'; @@ -132,7 +132,7 @@ function CommentWidgetPreviewInternal( ); return ( - diff --git a/packages/ui/src/blocks/index.ts b/packages/ui/src/blocks/index.ts index 9e9a21681..86cdf08d1 100644 --- a/packages/ui/src/blocks/index.ts +++ b/packages/ui/src/blocks/index.ts @@ -3,7 +3,7 @@ export * from './comment-branch'; export * from './comment-card'; export * from './comment-timeline'; export * from './comment-tree'; -export * from './comment-trees'; +export * from './comment-forest'; export * from './comment-widget'; export * from './comment-widget-preview'; export * from './comment-widget-preview'; diff --git a/packages/ui/src/index.ts b/packages/ui/src/index.ts index fb189049a..6a2d61b30 100644 --- a/packages/ui/src/index.ts +++ b/packages/ui/src/index.ts @@ -1,3 +1,3 @@ export * from './pages'; -export { cpDayjs, getGqlClientOptions } from './utilities'; +export { cpDayjs } from './utilities'; export { getSession } from 'next-auth/react'; diff --git a/packages/ui/src/pages/widget/page-url.tsx b/packages/ui/src/pages/widget/page-url.tsx index 28dfc0960..52b7820cc 100644 --- a/packages/ui/src/pages/widget/page-url.tsx +++ b/packages/ui/src/pages/widget/page-url.tsx @@ -1,14 +1,11 @@ -import { useCommentTreeSubscription } from '@chirpy-dev/graphql'; -import { CommonWidgetProps, CommentLeafType } from '@chirpy-dev/types'; -import { isSSRMode } from '@chirpy-dev/utils'; +import { CommonWidgetProps } from '@chirpy-dev/types'; -import { CommentTrees, WidgetLayout, PoweredBy } from '../../blocks'; -import { useCommentOrderBy } from '../../blocks/comment-trees/use-comment-order-by'; +import { CommentForest, WidgetLayout, PoweredBy } from '../../blocks'; import { CommentContextProvider } from '../../contexts'; +import { trpcClient } from '../../utilities/trpc-client'; export type PageCommentProps = CommonWidgetProps & { pageURL: string; - comments: CommentLeafType[]; pageId: string; }; @@ -17,36 +14,22 @@ export type PageCommentProps = CommonWidgetProps & { * @param props */ export function CommentWidgetPage(props: PageCommentProps): JSX.Element { - let error = ''; - let pageId = ''; - let pageURL = ''; - - if (isStaticError(props)) { - error = props.error; - } else { - pageId = props.pageId; - pageURL = props.pageURL; - } - const [{ data }] = useCommentTreeSubscription({ - variables: { pageURL }, - pause: isSSRMode, + const { data: comments } = trpcClient.comment.forest.useQuery({ + url: props.pageURL, }); - const comments = - data?.comments || (isStaticError(props) ? [] : props.comments || []); - if (error) { - return

    {error}

    ; - } - // TODO: resolve this comments undefined error - if (isStaticError(props)) { - return

    Wrong page.

    ; + if (isStaticError(props) || !comments) { + return ( +

    {`Can't find a Chirpy comment widget with this page, please contact the support.`}

    + ); } return ( - +
    - + {/* @ts-ignore */} +
    diff --git a/packages/ui/src/utilities/get-comment-count.ts b/packages/ui/src/utilities/get-comment-count.ts index 3286c028d..e3afedf62 100644 --- a/packages/ui/src/utilities/get-comment-count.ts +++ b/packages/ui/src/utilities/get-comment-count.ts @@ -1,14 +1,14 @@ -import { CommentTreeSubscription } from '@chirpy-dev/graphql'; +import { RouterOutputs } from './trpc-client'; export function getCommentCount( - comments: CommentTreeSubscription['comments'], + comments: RouterOutputs['comment']['forest'], ): number { let counter = 0; for (const comment of comments) { if (comment.replies) { counter += getCommentCount( - comment.replies as unknown as CommentTreeSubscription['comments'], + comment.replies as unknown as RouterOutputs['comment']['forest'], ) + 1; } else { counter++; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f335ce546..e2e5225b0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -493,6 +493,7 @@ importers: specifiers: '@chirpy-dev/graphql': workspace:* '@chirpy-dev/tsconfigs': workspace:* + '@tanstack/react-query': 4.17.1 '@tiptap/core': 2.0.0-beta.204 '@tiptap/react': 2.0.0-beta.204 '@types/node': 16.11.45 @@ -508,6 +509,8 @@ importers: reading-time: 1.5.0 typescript: 4.9.3 urql: 3.0.3 + dependencies: + '@tanstack/react-query': 4.17.1_biqbaboplfbrettd7655fr4n2y devDependencies: '@chirpy-dev/graphql': link:../graphql '@chirpy-dev/tsconfigs': link:../tsconfigs @@ -18019,7 +18022,7 @@ packages: '@panva/hkdf': 1.0.2 cookie: 0.5.0 jose: 4.11.1 - next: 13.0.5_vgii64pd2ccbnbx2v3ro5gbin4 + next: 13.0.5_biqbaboplfbrettd7655fr4n2y oauth: 0.9.15 openid-client: 5.3.0 preact: 10.11.3 From 98a652e3d6b0e6224240d32cf2683bb1c1f60fd3 Mon Sep 17 00:00:00 2001 From: Qing <7880675+devrsi0n@users.noreply.github.com> Date: Sat, 26 Nov 2022 10:55:23 +0800 Subject: [PATCH 12/34] fix: comment timeline hydration --- .../src/pages/widget/comment/[pageURL].tsx | 5 +- .../widget/comment/timeline/[commentId].tsx | 97 ++++++++----------- packages/trpc/src/router/comment.ts | 56 ++++++++++- .../src/blocks/comment-card/comment-card.tsx | 9 +- .../comment-timeline/comment-timeline.tsx | 10 +- packages/ui/src/pages/widget/timeline.tsx | 20 ++-- 6 files changed, 113 insertions(+), 84 deletions(-) diff --git a/apps/main/src/pages/widget/comment/[pageURL].tsx b/apps/main/src/pages/widget/comment/[pageURL].tsx index 69bc38156..f64dbbcec 100644 --- a/apps/main/src/pages/widget/comment/[pageURL].tsx +++ b/apps/main/src/pages/widget/comment/[pageURL].tsx @@ -82,13 +82,10 @@ export const getStaticProps: GetStaticProps< } try { - const comments = await ssg.comment.forest.fetch({ + await ssg.comment.forest.prefetch({ url: pageURL, }); - if (!comments?.length) { - return { notFound: true }; - } const pageByPk = await prisma.page.findUnique({ where: { id: pageId, diff --git a/apps/main/src/pages/widget/comment/timeline/[commentId].tsx b/apps/main/src/pages/widget/comment/timeline/[commentId].tsx index a785914dc..f62a98f2e 100644 --- a/apps/main/src/pages/widget/comment/timeline/[commentId].tsx +++ b/apps/main/src/pages/widget/comment/timeline/[commentId].tsx @@ -1,15 +1,6 @@ -import { - CommentTimelineDocument, - CommentTimelineSubscription, - CommentsDocument, - ThemeOfPageDocument, -} from '@chirpy-dev/graphql'; -import { - CommonWidgetProps, - Theme, - CommentTimelineNode, -} from '@chirpy-dev/types'; -import { cpDayjs } from '@chirpy-dev/ui'; +import { prisma, ssg } from '@chirpy-dev/trpc'; +import { CommonWidgetProps, Theme } from '@chirpy-dev/types'; +import { CommentTimelineWidgetProps } from '@chirpy-dev/ui'; import { GetStaticProps, GetStaticPropsContext, @@ -18,22 +9,13 @@ import { } from 'next'; import { log } from 'next-axiom'; import superjson from 'superjson'; -import { OperationResult } from 'urql'; -import { pipe, subscribe } from 'wonka'; import { getAdminGqlClient } from '$/lib/admin-gql-client'; -import { query } from '$/server/common/gql'; type PathParams = { commentId: string; }; -type StaticProps = PathParams & - CommonWidgetProps & { - comment: CommentTimelineNode; - pageURL: string; - }; - export const getStaticPaths: GetStaticPaths = async () => { if (process.env.DOCKER) { return { @@ -41,13 +23,13 @@ export const getStaticPaths: GetStaticPaths = async () => { fallback: 'blocking', }; } - const comments = await query( - CommentsDocument, - { - newerThan: cpDayjs().subtract(1, 'day').toISOString(), + const comments = await prisma.comment.findMany({ + orderBy: { createdAt: 'desc' }, + take: 50, + select: { + id: true, }, - 'comments', - ); + }); const paths = comments.map(({ id }) => ({ @@ -63,10 +45,13 @@ export const getStaticPaths: GetStaticPaths = async () => { const client = getAdminGqlClient(); -export const getStaticProps: GetStaticProps = async ({ +export const getStaticProps: GetStaticProps< + CommentTimelineWidgetProps, + PathParams +> = async ({ params, }: GetStaticPropsContext): Promise< - GetStaticPropsResult + GetStaticPropsResult > => { if (!params?.commentId) { return { notFound: true }; @@ -74,42 +59,40 @@ export const getStaticProps: GetStaticProps = async ({ const { commentId } = params; try { - const { data } = await new Promise< - OperationResult - >((resolve /*reject*/) => { - pipe, any>( - // @ts-ignore - client.subscription(CommentTimelineDocument, { id: commentId }), - subscribe((result) => { - // log.debug(result); - resolve(result); - }), - ); - }); + await ssg.comment.timeline.prefetch({ id: commentId }); - if (!data?.commentByPk) { - return { notFound: true }; - } - - const pageByPk = await query( - ThemeOfPageDocument, - { - pageId: data.commentByPk.pageId, + const data = await prisma.comment.findUnique({ + where: { + id: commentId, }, - 'pageByPk', - ); - if (!pageByPk) { - log.error(`Can't find page info`); + select: { + page: { + select: { + id: true, + url: true, + project: { + select: { + id: true, + theme: true, + }, + }, + }, + }, + }, + }); + if (!data?.page.project.id) { + log.error(`Can't find theme info`); return { notFound: true }; } return { props: { - projectId: pageByPk.project.id, - comment: data.commentByPk, + trpcState: ssg.dehydrate(), + pageId: data.page.id, + projectId: data.page.project.id, commentId, - pageURL: pageByPk.url, - theme: (pageByPk.project.theme as Theme) || null, + pageURL: data.page.url, + theme: (data.page.project.theme as Theme) || null, isWidget: true, }, revalidate: 600, diff --git a/packages/trpc/src/router/comment.ts b/packages/trpc/src/router/comment.ts index cfe23c477..1abed3e51 100644 --- a/packages/trpc/src/router/comment.ts +++ b/packages/trpc/src/router/comment.ts @@ -1,10 +1,10 @@ import { z } from 'zod'; import { prisma } from '../common/db'; -import { router, protectedProcedure } from '../trpc-server'; +import { router, publicProcedure } from '../trpc-server'; export const commentRouter = router({ - forest: protectedProcedure + forest: publicProcedure .input(z.object({ url: z.string() })) .query(async ({ input }) => { const result = await prisma.comment.findMany({ @@ -40,4 +40,56 @@ export const commentRouter = router({ }); return result; }), + timeline: publicProcedure + .input(z.object({ id: z.string() })) + .query(async ({ input }) => { + const result = await prisma.comment.findUnique({ + where: { + id: input.id, + }, + include: { + user: true, + likes: true, + replies: { + include: { + user: true, + likes: true, + replies: { + include: { + user: true, + likes: true, + replies: { + include: { + user: true, + replies: true, + likes: true, + }, + }, + }, + }, + }, + }, + parent: { + include: { + user: true, + likes: true, + parent: { + include: { + user: true, + likes: true, + parent: { + include: { + user: true, + parent: true, + likes: true, + }, + }, + }, + }, + }, + }, + }, + }); + return result; + }), }); diff --git a/packages/ui/src/blocks/comment-card/comment-card.tsx b/packages/ui/src/blocks/comment-card/comment-card.tsx index a6e9c9360..f3b967130 100644 --- a/packages/ui/src/blocks/comment-card/comment-card.tsx +++ b/packages/ui/src/blocks/comment-card/comment-card.tsx @@ -34,8 +34,8 @@ export type CommentCardProps = { commentId: string; author: Author; content: RTEValue; - createdAt: string; - deletedAt?: string | null; + createdAt: string | Date; + deletedAt?: string | Date | null; likes: Like[]; depth: number; /** @@ -104,6 +104,7 @@ export function CommentCard({ if (isDeleted) { return ; } + const createdAtDate = cpDayjs(createdAt); return ( - {cpDayjs(createdAt).fromNow()} + {createdAtDate.fromNow()} <> diff --git a/packages/ui/src/blocks/comment-timeline/comment-timeline.tsx b/packages/ui/src/blocks/comment-timeline/comment-timeline.tsx index df8ccbef6..fabc19492 100644 --- a/packages/ui/src/blocks/comment-timeline/comment-timeline.tsx +++ b/packages/ui/src/blocks/comment-timeline/comment-timeline.tsx @@ -2,6 +2,7 @@ import { CommentTimelineNode, RTEValue } from '@chirpy-dev/types'; import clsx from 'clsx'; import * as React from 'react'; +import { RouterOutputs } from '../../utilities/trpc-client'; import { CommentBranch } from '../comment-branch'; import { CommentCard } from '../comment-card'; import styles from './comment-linked-list.module.scss'; @@ -9,7 +10,7 @@ import styles from './comment-linked-list.module.scss'; export type Comment = NonNullable; export type CommentTimelineProps = { - comment: Comment; + comment: RouterOutputs['comment']['timeline']; }; /** @@ -26,6 +27,7 @@ export function CommentTimeline({ _parentComments.unshift(currComment.parent); currComment = currComment.parent; } + // @ts-ignore setAncestorComments(_parentComments); }, [comment]); let depth = 0; @@ -38,7 +40,7 @@ export function CommentTimeline({ return (
      - {comment.replies?.map((reply) => ( + {comment?.replies?.map((reply) => ( - +
      {/* Can't use history.back() here in case user open this page individual */}
      + {/* @ts-ignore */} {comment?.id && }
      From 57a52d9616ea78fcf0754dbcc32318dfed706029 Mon Sep 17 00:00:00 2001 From: Qing <7880675+devrsi0n@users.noreply.github.com> Date: Sat, 26 Nov 2022 15:11:35 +0800 Subject: [PATCH 13/34] fix: create/delete a comment --- apps/main/next.config.js | 4 +++ apps/main/package.json | 1 + packages/trpc/src/router/comment.ts | 32 ++++++++++++++++++- .../src/blocks/comment-card/comment-card.tsx | 5 +-- .../blocks/comment-forest/comment-forest.tsx | 2 +- .../comment-context-provider.tsx | 16 +++++++--- .../comment-context/comment-context.ts | 8 +++++ .../comment-context/use-create-a-comment.ts | 18 +++++++---- .../comment-context/use-delete-a-comment.ts | 11 ++++--- packages/ui/src/pages/widget/page-url.tsx | 11 +++++-- packages/ui/src/utilities/trpc-client.ts | 9 ++++++ pnpm-lock.yaml | 25 +++++++++++++-- 12 files changed, 118 insertions(+), 24 deletions(-) diff --git a/apps/main/next.config.js b/apps/main/next.config.js index 66e39c604..7c2e57c3b 100644 --- a/apps/main/next.config.js +++ b/apps/main/next.config.js @@ -38,6 +38,10 @@ const nextConfig = { '@chirpy-dev/types', '@chirpy-dev/trpc', ], + swcPlugins: [ + // Allow Date/Map in getStaticProps + ['next-superjson-plugin', {}], + ], }, async rewrites() { return [ diff --git a/apps/main/package.json b/apps/main/package.json index dd0ce7d5f..d2adc5399 100644 --- a/apps/main/package.json +++ b/apps/main/package.json @@ -40,6 +40,7 @@ "next-connect": "0.13.0", "next-mdx-remote": "3.0.8", "next-plausible": "3.6.4", + "next-superjson-plugin": "0.4.9", "next-themes": "0.2.1", "next-urql": "4.0.0", "nodemailer": "6.7.8", diff --git a/packages/trpc/src/router/comment.ts b/packages/trpc/src/router/comment.ts index 1abed3e51..13d17a922 100644 --- a/packages/trpc/src/router/comment.ts +++ b/packages/trpc/src/router/comment.ts @@ -1,7 +1,7 @@ import { z } from 'zod'; import { prisma } from '../common/db'; -import { router, publicProcedure } from '../trpc-server'; +import { router, publicProcedure, protectedProcedure } from '../trpc-server'; export const commentRouter = router({ forest: publicProcedure @@ -92,4 +92,34 @@ export const commentRouter = router({ }); return result; }), + create: protectedProcedure + .input( + z.object({ + content: z.any(), + pageId: z.string(), + parentId: z.string().optional(), + }), + ) + .mutation(async ({ input, ctx }) => { + const data = await prisma.comment.create({ + data: { + content: input.content, + pageId: input.pageId, + parentId: input.parentId, + userId: ctx.session.user.id, + }, + }); + return data; + }), + delete: protectedProcedure + .input(z.string()) + .mutation(async ({ input, ctx }) => { + const data = await prisma.comment.deleteMany({ + where: { + id: input, + userId: ctx.session.user.id, + }, + }); + return data; + }), }); diff --git a/packages/ui/src/blocks/comment-card/comment-card.tsx b/packages/ui/src/blocks/comment-card/comment-card.tsx index f3b967130..c029b2314 100644 --- a/packages/ui/src/blocks/comment-card/comment-card.tsx +++ b/packages/ui/src/blocks/comment-card/comment-card.tsx @@ -2,10 +2,10 @@ import { CommentLeafType } from '@chirpy-dev/types'; import { RTEValue } from '@chirpy-dev/types'; import { COMMENT_TREE_MAX_DEPTH, isENVDev } from '@chirpy-dev/utils'; import clsx from 'clsx'; -import { AnimatePresence, m, MotionProps, Variants } from 'framer-motion'; +import { AnimatePresence, m, Variants } from 'framer-motion'; import * as React from 'react'; +import { trpcClient } from 'src/utilities/trpc-client'; -import { easeInOut, expanded } from '../../components/animation'; import { Avatar } from '../../components/avatar'; import { ActionButton, Button } from '../../components/button'; import { @@ -65,6 +65,7 @@ export function CommentCard({ const handleSubmitReply = async (replyContent: RTEValue) => { try { await createAComment(replyContent, commentId); + setShowReplyEditor(false); } catch (error) { showToast({ diff --git a/packages/ui/src/blocks/comment-forest/comment-forest.tsx b/packages/ui/src/blocks/comment-forest/comment-forest.tsx index 1b45fed6b..8b8870d54 100644 --- a/packages/ui/src/blocks/comment-forest/comment-forest.tsx +++ b/packages/ui/src/blocks/comment-forest/comment-forest.tsx @@ -2,13 +2,13 @@ import { Order_By } from '@chirpy-dev/graphql'; import clsx from 'clsx'; import { AnimatePresence } from 'framer-motion'; import * as React from 'react'; -import { RouterOutputs } from 'src/utilities/trpc-client'; import { BaseButton, IconArrowUp } from '../../components'; import { Heading } from '../../components/heading'; import { useCommentContext } from '../../contexts/comment-context'; import { useForceUpdate, useInterval } from '../../hooks'; import { getCommentCount } from '../../utilities/get-comment-count'; +import { RouterOutputs } from '../../utilities/trpc-client'; import { CommentTree } from '../comment-tree'; import { NotificationHub } from '../notification-hub'; import { RichTextEditor } from '../rich-text-editor'; diff --git a/packages/ui/src/contexts/comment-context/comment-context-provider.tsx b/packages/ui/src/contexts/comment-context/comment-context-provider.tsx index 2025413ae..6845228b3 100644 --- a/packages/ui/src/contexts/comment-context/comment-context-provider.tsx +++ b/packages/ui/src/contexts/comment-context/comment-context-provider.tsx @@ -1,18 +1,25 @@ import { useRouter } from 'next/router'; import * as React from 'react'; -import { CommentContextType, CommentContext } from './comment-context'; +import { + CommentContextType, + CommentContext, + RefetchComments, +} from './comment-context'; import { useCreateAComment } from './use-create-a-comment'; import { useDeleteAComment } from './use-delete-a-comment'; import { useToggleALikeAction } from './use-toggle-a-like-action'; export type CommentContextProviderProps = React.PropsWithChildren< - Pick + RefetchComments & Pick >; export function CommentContextProvider(props: CommentContextProviderProps) { - const createAComment = useCreateAComment({ pageId: props.pageId }); - const deleteAComment = useDeleteAComment(); + const createAComment = useCreateAComment({ + pageId: props.pageId, + refetchComments: props.refetchComments, + }); + const deleteAComment = useDeleteAComment(props.refetchComments); const toggleALikeAction = useToggleALikeAction(); const router = useRouter(); const onClickCommentTimeline = React.useCallback( @@ -25,6 +32,7 @@ export function CommentContextProvider(props: CommentContextProviderProps) { () => ({ projectId: props.projectId, pageId: props.pageId, + refetchComments: props.refetchComments, createAComment, deleteAComment, toggleALikeAction, diff --git a/packages/ui/src/contexts/comment-context/comment-context.ts b/packages/ui/src/contexts/comment-context/comment-context.ts index a02e9987d..01b84c03f 100644 --- a/packages/ui/src/contexts/comment-context/comment-context.ts +++ b/packages/ui/src/contexts/comment-context/comment-context.ts @@ -1,6 +1,7 @@ import { asyncNoop, noop } from '@chirpy-dev/utils'; import * as React from 'react'; +import { trpcClient } from '../../utilities/trpc-client'; import { UseCreateAComment } from './use-create-a-comment'; import { UseDeleteAComment } from './use-delete-a-comment'; import { UseToggleALikeAction } from './use-toggle-a-like-action'; @@ -26,3 +27,10 @@ export const CommentContext = React.createContext({ // eslint-disable-next-line unicorn/prefer-export-from export type { UseCreateAComment, UseDeleteAComment, UseToggleALikeAction }; + +export type RefetchComments = { + refetchComments: ReturnType< + | typeof trpcClient.comment.forest.useQuery + | typeof trpcClient.comment.timeline.useQuery + >['refetch']; +}; diff --git a/packages/ui/src/contexts/comment-context/use-create-a-comment.ts b/packages/ui/src/contexts/comment-context/use-create-a-comment.ts index 395d89413..3940e34c1 100644 --- a/packages/ui/src/contexts/comment-context/use-create-a-comment.ts +++ b/packages/ui/src/contexts/comment-context/use-create-a-comment.ts @@ -1,20 +1,25 @@ -import { useInsertOneCommentMutation } from '@chirpy-dev/graphql'; import { RTEValue } from '@chirpy-dev/types'; import { JsonArray } from 'type-fest'; import { useToast } from '../../components/toast'; import { logger } from '../../utilities/logger'; +import { trpcClient } from '../../utilities/trpc-client'; import { useCurrentUser } from '../current-user-context'; +import { RefetchComments } from './comment-context'; export type useCreateACommentOptions = { pageId: string; -}; +} & RefetchComments; export type UseCreateAComment = ReturnType; -export function useCreateAComment({ pageId }: useCreateACommentOptions) { +export function useCreateAComment({ + pageId, + refetchComments, +}: useCreateACommentOptions) { const { isSignIn } = useCurrentUser(); - const [{}, insertOneComment] = useInsertOneCommentMutation(); + const { mutateAsync: insertOneComment } = + trpcClient.comment.create.useMutation(); const { showToast } = useToast(); const createAComment = async (reply: RTEValue, commentId?: string) => { @@ -22,12 +27,13 @@ export function useCreateAComment({ pageId }: useCreateACommentOptions) { logger.error('Navigate to sign-in page'); throw undefined; } - const { data } = await insertOneComment({ + const data = await insertOneComment({ parentId: commentId, content: reply as JsonArray, pageId, }); - if (!data?.insertOneComment?.id) { + await refetchComments(); + if (!data?.id) { showToast({ type: 'error', title: `Server didn't respond, please try again later.`, diff --git a/packages/ui/src/contexts/comment-context/use-delete-a-comment.ts b/packages/ui/src/contexts/comment-context/use-delete-a-comment.ts index e72b9727d..978400296 100644 --- a/packages/ui/src/contexts/comment-context/use-delete-a-comment.ts +++ b/packages/ui/src/contexts/comment-context/use-delete-a-comment.ts @@ -1,17 +1,20 @@ -import { useDeleteOneCommentMutation } from '@chirpy-dev/graphql'; import * as React from 'react'; import { useToast } from '../../components/toast'; +import { trpcClient } from '../../utilities/trpc-client'; +import { RefetchComments } from './comment-context'; export type UseDeleteAComment = ReturnType; -export function useDeleteAComment() { - const [{}, deleteOneComment] = useDeleteOneCommentMutation(); +export function useDeleteAComment(refetch: RefetchComments['refetchComments']) { + const { mutateAsync: deleteOneComment } = + trpcClient.comment.delete.useMutation(); const { showToast } = useToast(); const deleteAComment = React.useCallback( async (commentId: string) => { try { - await deleteOneComment({ id: commentId }); + await deleteOneComment(commentId); + await refetch(); showToast({ type: 'success', title: 'Deleted successfully!', diff --git a/packages/ui/src/pages/widget/page-url.tsx b/packages/ui/src/pages/widget/page-url.tsx index 52b7820cc..422ab887a 100644 --- a/packages/ui/src/pages/widget/page-url.tsx +++ b/packages/ui/src/pages/widget/page-url.tsx @@ -1,6 +1,7 @@ import { CommonWidgetProps } from '@chirpy-dev/types'; import { CommentForest, WidgetLayout, PoweredBy } from '../../blocks'; +import { Text } from '../../components'; import { CommentContextProvider } from '../../contexts'; import { trpcClient } from '../../utilities/trpc-client'; @@ -14,19 +15,23 @@ export type PageCommentProps = CommonWidgetProps & { * @param props */ export function CommentWidgetPage(props: PageCommentProps): JSX.Element { - const { data: comments } = trpcClient.comment.forest.useQuery({ + const { data: comments, refetch } = trpcClient.comment.forest.useQuery({ url: props.pageURL, }); if (isStaticError(props) || !comments) { return ( -

      {`Can't find a Chirpy comment widget with this page, please contact the support.`}

      + {`Can't find a Chirpy comment widget with this page, please contact the support.`} ); } return ( - +
      {/* @ts-ignore */} diff --git a/packages/ui/src/utilities/trpc-client.ts b/packages/ui/src/utilities/trpc-client.ts index 8870969cc..9338bc89c 100644 --- a/packages/ui/src/utilities/trpc-client.ts +++ b/packages/ui/src/utilities/trpc-client.ts @@ -20,6 +20,15 @@ export const trpcClient = createTRPCNext({ url: `${getBaseUrl()}/api/trpc`, }), ], + abortOnUnmount: true, + queryClientConfig: { + defaultOptions: { + queries: { + staleTime: 1000 * 2, + cacheTime: 1000 * 60 * 60 * 72, + }, + }, + }, }; }, ssr: false, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e2e5225b0..584739295 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -169,6 +169,7 @@ importers: next-connect: 0.13.0 next-mdx-remote: 3.0.8 next-plausible: 3.6.4 + next-superjson-plugin: 0.4.9 next-themes: 0.2.1 next-urql: 4.0.0 nodemailer: 6.7.8 @@ -217,6 +218,7 @@ importers: next-connect: 0.13.0 next-mdx-remote: 3.0.8_biqbaboplfbrettd7655fr4n2y next-plausible: 3.6.4_7iuvftg57tblwyxclfkwku5xo4 + next-superjson-plugin: 0.4.9_o7ninycgoz2lf73je52p7wq4ja next-themes: 0.2.1_7iuvftg57tblwyxclfkwku5xo4 next-urql: 4.0.0_react@18.2.0+urql@3.0.3 nodemailer: 6.7.8 @@ -14669,6 +14671,12 @@ packages: minimalistic-crypto-utils: 1.0.1 dev: true + /hoist-non-react-statics/3.3.2: + resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} + dependencies: + react-is: 16.13.1 + dev: false + /hosted-git-info/2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} @@ -18037,7 +18045,7 @@ packages: peerDependencies: next: ^12.1.4 || ^13 dependencies: - next: 13.0.5_vgii64pd2ccbnbx2v3ro5gbin4 + next: 13.0.5_biqbaboplfbrettd7655fr4n2y whatwg-fetch: 3.6.2 dev: false @@ -18069,11 +18077,22 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 dependencies: - next: 13.0.5_vgii64pd2ccbnbx2v3ro5gbin4 + next: 13.0.5_biqbaboplfbrettd7655fr4n2y react: 18.2.0 react-dom: 18.2.0_react@18.2.0 dev: false + /next-superjson-plugin/0.4.9_o7ninycgoz2lf73je52p7wq4ja: + resolution: {integrity: sha512-MSj40zj+ZRmFnZgZxOgQFD6efk3A5OQAPhU9e018JthWPjiE/Xx3HyxOsuOycoBDSxurBa6xH+m78SRr60JTXw==} + peerDependencies: + next: '>12.3.0' + superjson: ^1 + dependencies: + hoist-non-react-statics: 3.3.2 + next: 13.0.5_biqbaboplfbrettd7655fr4n2y + superjson: 1.11.0 + dev: false + /next-themes/0.2.1_7iuvftg57tblwyxclfkwku5xo4: resolution: {integrity: sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==} peerDependencies: @@ -18081,7 +18100,7 @@ packages: react: '*' react-dom: '*' dependencies: - next: 13.0.5_vgii64pd2ccbnbx2v3ro5gbin4 + next: 13.0.5_biqbaboplfbrettd7655fr4n2y react: 18.2.0 react-dom: 18.2.0_react@18.2.0 dev: false From 58ac3b656bf89841b620ee87a5ea451b2a6bc570 Mon Sep 17 00:00:00 2001 From: Qing <7880675+devrsi0n@users.noreply.github.com> Date: Sat, 26 Nov 2022 15:50:59 +0800 Subject: [PATCH 14/34] fix: toggle a comment like --- .gitignore | 1 + packages/trpc/src/router/index.ts | 3 +- packages/trpc/src/router/like.ts | 29 +++++++++ .../ui/src/blocks/like-action/like-action.tsx | 17 +++++- .../comment-context-provider.tsx | 12 ++-- .../comment-context/comment-context.ts | 4 +- .../comment-context/use-create-a-comment.ts | 6 +- .../comment-context/use-delete-a-comment.ts | 4 +- .../use-toggle-a-like-action.ts | 59 +++++++++---------- packages/ui/src/pages/widget/page-url.tsx | 2 +- packages/ui/src/pages/widget/timeline.tsx | 8 ++- 11 files changed, 95 insertions(+), 50 deletions(-) create mode 100644 packages/trpc/src/router/like.ts diff --git a/.gitignore b/.gitignore index 4472e33fe..12f4fe2b6 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ dist .DS_Store .next out/ +.env *.env.local .envproduction .vercel diff --git a/packages/trpc/src/router/index.ts b/packages/trpc/src/router/index.ts index 370d0cec2..3aae21857 100644 --- a/packages/trpc/src/router/index.ts +++ b/packages/trpc/src/router/index.ts @@ -1,5 +1,6 @@ import { router } from '../trpc-server'; import { commentRouter } from './comment'; +import { likeRouter } from './like'; import { notificationRouter } from './notification'; import { projectRouter } from './project'; import { userRouter } from './user'; @@ -9,7 +10,7 @@ export const appRouter = router({ notification: notificationRouter, project: projectRouter, comment: commentRouter, + like: likeRouter, }); -// export type definition of API export type AppRouter = typeof appRouter; diff --git a/packages/trpc/src/router/like.ts b/packages/trpc/src/router/like.ts new file mode 100644 index 000000000..b39166cea --- /dev/null +++ b/packages/trpc/src/router/like.ts @@ -0,0 +1,29 @@ +import { z } from 'zod'; + +import { prisma } from '../common/db'; +import { router, protectedProcedure } from '../trpc-server'; + +export const likeRouter = router({ + create: protectedProcedure + .input(z.object({ commentId: z.string() })) + .mutation(async ({ input, ctx }) => { + const result = await prisma.like.create({ + data: { + commentId: input.commentId, + userId: ctx.session.user.id, + }, + }); + return result; + }), + delete: protectedProcedure + .input(z.string()) + .mutation(async ({ input, ctx }) => { + const result = await prisma.like.deleteMany({ + where: { + id: input, + userId: ctx.session.user.id, + }, + }); + return result; + }), +}); diff --git a/packages/ui/src/blocks/like-action/like-action.tsx b/packages/ui/src/blocks/like-action/like-action.tsx index 98d8e7a63..fd347f5cb 100644 --- a/packages/ui/src/blocks/like-action/like-action.tsx +++ b/packages/ui/src/blocks/like-action/like-action.tsx @@ -1,5 +1,6 @@ import * as React from 'react'; +import { useToast } from '../../components'; import { ActionButton, ActionButtonProps } from '../../components/button'; import { IconHeart, IconHeartFill } from '../../components/icons'; import { useCommentContext } from '../../contexts/comment-context'; @@ -42,9 +43,19 @@ export function LikeAction({ } return false; }); - - const handleClickLike = () => { - toggleALikeAction(didLike, likedId, commentId); + const { showToast } = useToast(); + const isPending = React.useRef(false); + const handleClickLike = async () => { + if (isPending.current) { + return showToast({ + type: 'warning', + title: 'Click too quick', + description: "You're clicking too quick, please wait a moment.", + }); + } + isPending.current = true; + await toggleALikeAction(didLike, likedId, commentId); + isPending.current = false; }; const HeartComponent = didLike ? IconHeartFill : IconHeart; diff --git a/packages/ui/src/contexts/comment-context/comment-context-provider.tsx b/packages/ui/src/contexts/comment-context/comment-context-provider.tsx index 6845228b3..945097973 100644 --- a/packages/ui/src/contexts/comment-context/comment-context-provider.tsx +++ b/packages/ui/src/contexts/comment-context/comment-context-provider.tsx @@ -4,23 +4,23 @@ import * as React from 'react'; import { CommentContextType, CommentContext, - RefetchComments, + RefetchComment, } from './comment-context'; import { useCreateAComment } from './use-create-a-comment'; import { useDeleteAComment } from './use-delete-a-comment'; import { useToggleALikeAction } from './use-toggle-a-like-action'; export type CommentContextProviderProps = React.PropsWithChildren< - RefetchComments & Pick + RefetchComment & Pick >; export function CommentContextProvider(props: CommentContextProviderProps) { const createAComment = useCreateAComment({ pageId: props.pageId, - refetchComments: props.refetchComments, + refetchComment: props.refetchComment, }); - const deleteAComment = useDeleteAComment(props.refetchComments); - const toggleALikeAction = useToggleALikeAction(); + const deleteAComment = useDeleteAComment(props.refetchComment); + const toggleALikeAction = useToggleALikeAction(props.refetchComment); const router = useRouter(); const onClickCommentTimeline = React.useCallback( (href: string) => { @@ -32,7 +32,7 @@ export function CommentContextProvider(props: CommentContextProviderProps) { () => ({ projectId: props.projectId, pageId: props.pageId, - refetchComments: props.refetchComments, + refetchComments: props.refetchComment, createAComment, deleteAComment, toggleALikeAction, diff --git a/packages/ui/src/contexts/comment-context/comment-context.ts b/packages/ui/src/contexts/comment-context/comment-context.ts index 01b84c03f..012c7dba2 100644 --- a/packages/ui/src/contexts/comment-context/comment-context.ts +++ b/packages/ui/src/contexts/comment-context/comment-context.ts @@ -28,8 +28,8 @@ export const CommentContext = React.createContext({ // eslint-disable-next-line unicorn/prefer-export-from export type { UseCreateAComment, UseDeleteAComment, UseToggleALikeAction }; -export type RefetchComments = { - refetchComments: ReturnType< +export type RefetchComment = { + refetchComment: ReturnType< | typeof trpcClient.comment.forest.useQuery | typeof trpcClient.comment.timeline.useQuery >['refetch']; diff --git a/packages/ui/src/contexts/comment-context/use-create-a-comment.ts b/packages/ui/src/contexts/comment-context/use-create-a-comment.ts index 3940e34c1..68f03ec82 100644 --- a/packages/ui/src/contexts/comment-context/use-create-a-comment.ts +++ b/packages/ui/src/contexts/comment-context/use-create-a-comment.ts @@ -5,17 +5,17 @@ import { useToast } from '../../components/toast'; import { logger } from '../../utilities/logger'; import { trpcClient } from '../../utilities/trpc-client'; import { useCurrentUser } from '../current-user-context'; -import { RefetchComments } from './comment-context'; +import { RefetchComment } from './comment-context'; export type useCreateACommentOptions = { pageId: string; -} & RefetchComments; +} & RefetchComment; export type UseCreateAComment = ReturnType; export function useCreateAComment({ pageId, - refetchComments, + refetchComment: refetchComments, }: useCreateACommentOptions) { const { isSignIn } = useCurrentUser(); const { mutateAsync: insertOneComment } = diff --git a/packages/ui/src/contexts/comment-context/use-delete-a-comment.ts b/packages/ui/src/contexts/comment-context/use-delete-a-comment.ts index 978400296..b795828fc 100644 --- a/packages/ui/src/contexts/comment-context/use-delete-a-comment.ts +++ b/packages/ui/src/contexts/comment-context/use-delete-a-comment.ts @@ -2,11 +2,11 @@ import * as React from 'react'; import { useToast } from '../../components/toast'; import { trpcClient } from '../../utilities/trpc-client'; -import { RefetchComments } from './comment-context'; +import { RefetchComment } from './comment-context'; export type UseDeleteAComment = ReturnType; -export function useDeleteAComment(refetch: RefetchComments['refetchComments']) { +export function useDeleteAComment(refetch: RefetchComment['refetchComment']) { const { mutateAsync: deleteOneComment } = trpcClient.comment.delete.useMutation(); const { showToast } = useToast(); diff --git a/packages/ui/src/contexts/comment-context/use-toggle-a-like-action.ts b/packages/ui/src/contexts/comment-context/use-toggle-a-like-action.ts index b2c98f52b..7971ac3ce 100644 --- a/packages/ui/src/contexts/comment-context/use-toggle-a-like-action.ts +++ b/packages/ui/src/contexts/comment-context/use-toggle-a-like-action.ts @@ -1,21 +1,20 @@ -import { - useDeleteLikeByPkMutation, - useInsertOneLikeMutation, -} from '@chirpy-dev/graphql'; - import { useToast } from '../../components/toast'; import { useCurrentUser } from '../../contexts/current-user-context'; import { useSignInWindow } from '../../hooks/use-sign-in-window'; import { logger } from '../../utilities/logger'; +import { trpcClient } from '../../utilities/trpc-client'; +import { RefetchComment } from './comment-context'; export type UseToggleALikeAction = ReturnType; -export function useToggleALikeAction() { +export function useToggleALikeAction( + refetch: RefetchComment['refetchComment'], +) { const { data: { id: currentUserId }, } = useCurrentUser(); - const [{}, insertOneLike] = useInsertOneLikeMutation(); - const [{}, deleteLikeByPk] = useDeleteLikeByPkMutation(); + const { mutateAsync: insertOneLike } = trpcClient.like.create.useMutation(); + const { mutateAsync: deleteLikeByPk } = trpcClient.like.delete.useMutation(); const { showToast } = useToast(); const handleSignIn = useSignInWindow(); @@ -30,34 +29,34 @@ export function useToggleALikeAction() { return; } if (isLiked) { - const { data } = await deleteLikeByPk({ - id: likeId, - }); - if (!data?.deleteLikeByPk?.id) { - logger.error(`Can't delete the like, id ${likeId}`); + const data = await deleteLikeByPk(likeId); + if (!data?.count) { + return logger.error(`Can't delete the like, id ${likeId}`); } - } else { - try { - const { data } = await insertOneLike({ - commentId, - }); - if (!data?.insertOneLike?.id) { - showToast({ - type: 'error', - title: `Server didn't respond, please try again later.`, - }); - logger.error(`Can't create a like action`); - } - } catch (error) { + await refetch(); + return; + } + try { + const data = await insertOneLike({ + commentId, + }); + if (!data?.id) { showToast({ type: 'error', title: `Server didn't respond, please try again later.`, }); - // There is a `Unique constraint failed on the fields: (`userId`,`commentId`)` error - // when a user click the like button again during this API processing - // TODO: Refresh UI immediately, call APIs in the background - logger.error('Insert a like', error); + logger.error(`Can't create a like action`); } + await refetch(); + } catch (error) { + showToast({ + type: 'error', + title: `Server didn't respond, please try again later.`, + }); + // There is a `Unique constraint failed on the fields: (`userId`,`commentId`)` error + // when a user click the like button again during this API processing + // TODO: Refresh UI immediately, call APIs in the background + logger.error('Insert a like', error); } }; diff --git a/packages/ui/src/pages/widget/page-url.tsx b/packages/ui/src/pages/widget/page-url.tsx index 422ab887a..171e42279 100644 --- a/packages/ui/src/pages/widget/page-url.tsx +++ b/packages/ui/src/pages/widget/page-url.tsx @@ -30,7 +30,7 @@ export function CommentWidgetPage(props: PageCommentProps): JSX.Element {
      {/* @ts-ignore */} diff --git a/packages/ui/src/pages/widget/timeline.tsx b/packages/ui/src/pages/widget/timeline.tsx index 6393274f1..bbb20dd7e 100644 --- a/packages/ui/src/pages/widget/timeline.tsx +++ b/packages/ui/src/pages/widget/timeline.tsx @@ -19,13 +19,17 @@ export type CommentTimelineWidgetProps = CommonWidgetProps & { export function CommentTimelineWidget( props: CommentTimelineWidgetProps, ): JSX.Element { - const { data: comment } = trpcClient.comment.timeline.useQuery({ + const { data: comment, refetch } = trpcClient.comment.timeline.useQuery({ id: props.commentId, }); return ( - +
      {/* Can't use history.back() here in case user open this page individual */} Date: Sat, 26 Nov 2022 16:19:51 +0800 Subject: [PATCH 15/34] fix: fetch and update profile --- packages/trpc/prisma/schema.prisma | 6 +- packages/trpc/src/router/comment.ts | 6 +- packages/trpc/src/router/user.ts | 42 ++++++++-- .../current-user-provider.tsx | 4 +- packages/ui/src/pages/profile/index.tsx | 78 +++++++++---------- packages/ui/src/utilities/trpc-client.ts | 2 +- 6 files changed, 86 insertions(+), 52 deletions(-) diff --git a/packages/trpc/prisma/schema.prisma b/packages/trpc/prisma/schema.prisma index 63a48a8a4..06c518d1a 100644 --- a/packages/trpc/prisma/schema.prisma +++ b/packages/trpc/prisma/schema.prisma @@ -17,13 +17,13 @@ model Account { type String provider String providerAccountId String - refresh_token String? @db.Text - access_token String? @db.Text + refresh_token String? @db.Text + access_token String? @db.Text expiresAt DateTime? tokenType String? scope String? idToken String? @db.Text - session_state String? + session_state String? oauthTokenSecret String? oauthToken String? user User @relation(fields: [userId], references: [id], onDelete: Cascade) diff --git a/packages/trpc/src/router/comment.ts b/packages/trpc/src/router/comment.ts index 13d17a922..b5c0391c3 100644 --- a/packages/trpc/src/router/comment.ts +++ b/packages/trpc/src/router/comment.ts @@ -114,11 +114,15 @@ export const commentRouter = router({ delete: protectedProcedure .input(z.string()) .mutation(async ({ input, ctx }) => { - const data = await prisma.comment.deleteMany({ + // Soft delete + const data = await prisma.comment.updateMany({ where: { id: input, userId: ctx.session.user.id, }, + data: { + deletedAt: new Date(), + }, }); return data; }), diff --git a/packages/trpc/src/router/user.ts b/packages/trpc/src/router/user.ts index 8bc620997..a178d4f8d 100644 --- a/packages/trpc/src/router/user.ts +++ b/packages/trpc/src/router/user.ts @@ -4,13 +4,45 @@ import { prisma } from '../common/db'; import { router, protectedProcedure } from '../trpc-server'; export const userRouter = router({ - me: protectedProcedure - .input(z.object({ id: z.string() })) - .query(async ({ input }) => { - const me = await prisma.user.findUnique({ + me: protectedProcedure.query(async ({ ctx }) => { + const me = await prisma.user.findUnique({ + where: { + id: ctx.session.user.id, + }, + select: { + id: true, + name: true, + username: true, + email: true, + image: true, + }, + }); + return me; + }), + myProfile: protectedProcedure.query(async ({ ctx }) => { + const me = await prisma.user.findUnique({ + where: { + id: ctx.session.user.id, + }, + }); + return me; + }), + updateProfile: protectedProcedure + .input( + z.object({ + name: z.string().nullish(), + email: z.string().nullish(), + bio: z.string().nullish(), + website: z.string().nullish(), + twitterUserName: z.string().nullish(), + }), + ) + .mutation(async ({ input, ctx }) => { + const me = await prisma.user.update({ where: { - id: input.id, + id: ctx.session.user.id, }, + data: input, }); return me; }), diff --git a/packages/ui/src/contexts/current-user-context/current-user-provider.tsx b/packages/ui/src/contexts/current-user-context/current-user-provider.tsx index 9abc6f3cd..a0de0061f 100644 --- a/packages/ui/src/contexts/current-user-context/current-user-provider.tsx +++ b/packages/ui/src/contexts/current-user-context/current-user-provider.tsx @@ -22,9 +22,7 @@ export function CurrentUserProvider({ data, status: queryStatus, refetch: refetchUser, - } = trpcClient.user.me.useQuery({ - id: session?.user.id || '-1', - }); + } = trpcClient.user.me.useQuery(); const hasMounted = useHasMounted(); const value = React.useMemo(() => { if (!hasMounted) { diff --git a/packages/ui/src/pages/profile/index.tsx b/packages/ui/src/pages/profile/index.tsx index 0df5bfc1d..bdc106f32 100644 --- a/packages/ui/src/pages/profile/index.tsx +++ b/packages/ui/src/pages/profile/index.tsx @@ -1,7 +1,3 @@ -import { - useCurrentUserQuery, - useUpdateUserByPkMutation, -} from '@chirpy-dev/graphql'; import * as React from 'react'; import { SiteLayout, PageTitle } from '../../blocks'; @@ -23,8 +19,9 @@ import { useToast, } from '../../components'; import { useCurrentUser } from '../../contexts'; -import { useBypassCacheRefetch, useForm } from '../../hooks'; +import { useForm } from '../../hooks'; import { EMAIL_REGEXP, logger } from '../../utilities'; +import { trpcClient } from '../../utilities/trpc-client'; type FormFields = { name: string; @@ -35,26 +32,27 @@ type FormFields = { }; export function Profile(): JSX.Element { - const { data: currentUser, isSignIn, refetchUser } = useCurrentUser(); - const refetchWithoutCache = useBypassCacheRefetch(refetchUser); - const [{ data, fetching }] = useCurrentUserQuery({ - variables: { id: currentUser.id || '-1' }, - pause: !currentUser.id, - }); + const { isSignIn, refetchUser } = useCurrentUser(); + const { + data, + status, + refetch: refetchProfile, + } = trpcClient.user.myProfile.useQuery(); const { name, email, bio, website, twitterUserName, - id, image, username, emailVerified, type, - } = data?.userByPk || {}; + } = data || {}; + const fetching = status === 'loading'; const [isEditMode, setIsEditMode] = React.useState(false); - const [{}, updateUserByPk] = useUpdateUserByPkMutation(); + const { mutateAsync: updateProfile } = + trpcClient.user.updateProfile.useMutation(); const { register, errors, handleSubmit } = useForm({ defaultValues: { @@ -68,33 +66,35 @@ export function Profile(): JSX.Element { const { showToast } = useToast(); const handleClickButton = handleSubmit(async (fields) => { if (isEditMode) { - const { error } = await updateUserByPk({ - id: id || '-1', - name: fields.name, - email: fields.email, - bio: fields.bio, - website: fields.website, - twitterUserName: fields.twitter, - }); - if (error) { - logger.error('Update user profile failed', error); - if (error.message.includes(`unique constraint \"User_email_key\"`)) { - showToast({ - type: 'error', - title: `${fields.email} is in use`, - description: - 'The email address you entered is already in use. Please try another one.', - }); - } else { - showToast({ - type: 'error', - title: - 'Sorry, something wrong happened in our side, please try again later.', - }); + try { + await updateProfile({ + name: fields.name, + email: fields.email, + bio: fields.bio, + website: fields.website, + twitterUserName: fields.twitter, + }); + } catch (error) { + if (error instanceof Error) { + logger.error('Update user profile failed', error); + if (error.message.includes(`Unique constraint`)) { + showToast({ + type: 'error', + title: `${fields.email} is in use`, + description: + 'The email address you entered is already in use. Please try another one.', + }); + } else { + showToast({ + type: 'error', + title: + 'Sorry, something wrong happened in our side, please try again later.', + }); + } + return; } - return; } - refetchWithoutCache(); + await Promise.all([refetchProfile(), refetchUser()]); setIsEditMode(false); } else { setIsEditMode(true); diff --git a/packages/ui/src/utilities/trpc-client.ts b/packages/ui/src/utilities/trpc-client.ts index 9338bc89c..f7af8ae0e 100644 --- a/packages/ui/src/utilities/trpc-client.ts +++ b/packages/ui/src/utilities/trpc-client.ts @@ -24,7 +24,7 @@ export const trpcClient = createTRPCNext({ queryClientConfig: { defaultOptions: { queries: { - staleTime: 1000 * 2, + staleTime: 1000 * 20, cacheTime: 1000 * 60 * 60 * 72, }, }, From ff03a37bf18d7ac93028eefa78d9641f57589dd3 Mon Sep 17 00:00:00 2001 From: Qing <7880675+devrsi0n@users.noreply.github.com> Date: Sun, 27 Nov 2022 11:21:05 +0800 Subject: [PATCH 16/34] refactor: notification --- .../mutation-event/comment-handler.ts | 191 ---------------- .../services/mutation-event/event-type.ts | 197 ---------------- .../services/mutation-event/like-handler.ts | 76 ------- .../services/mutation-event/mutation-event.ts | 21 -- .../services/mutation-event/utilities.ts | 50 ---- packages/trpc/package.json | 1 + packages/trpc/prisma/schema.prisma | 3 +- packages/trpc/src/common/db.ts | 11 +- .../trpc/src/common}/revalidate.ts | 0 packages/trpc/src/context.ts | 9 +- packages/trpc/src/index.ts | 6 +- .../src/mutation-event/comment-handler.ts | 213 ++++++++++++++++++ .../trpc/src/mutation-event/like-handler.ts | 92 ++++++++ packages/trpc/src/mutation-event/utilities.ts | 69 ++++++ .../notification/push-web-notification.ts | 37 ++- .../send-notification-via-email.ts | 0 .../trpc/src}/notification/send.ts | 21 +- .../trpc/src}/notification/types.ts | 2 +- packages/trpc/src/router/comment.ts | 34 ++- packages/trpc/src/router/notification.ts | 53 ++++- packages/trpc/src/router/validator.ts | 36 +++ packages/trpc/src/trpc-server.ts | 5 +- packages/types/src/index.ts | 1 + packages/types/src/notification.ts | 9 + .../notification-hub/notification-hub.tsx | 4 +- .../notification-hub/notification-item.tsx | 2 +- .../comment-context/use-create-a-comment.ts | 13 +- .../comment-context/use-delete-a-comment.ts | 13 +- .../use-toggle-a-like-action.ts | 10 +- .../use-register-device.ts | 2 +- packages/ui/src/utilities/trpc-client.ts | 5 +- packages/utils/src/text.ts | 2 + pnpm-lock.yaml | 8 +- 33 files changed, 598 insertions(+), 598 deletions(-) delete mode 100644 apps/main/src/server/services/mutation-event/comment-handler.ts delete mode 100644 apps/main/src/server/services/mutation-event/event-type.ts delete mode 100644 apps/main/src/server/services/mutation-event/like-handler.ts delete mode 100644 apps/main/src/server/services/mutation-event/mutation-event.ts delete mode 100644 apps/main/src/server/services/mutation-event/utilities.ts rename {apps/main/src/server/utilities => packages/trpc/src/common}/revalidate.ts (100%) create mode 100644 packages/trpc/src/mutation-event/comment-handler.ts create mode 100644 packages/trpc/src/mutation-event/like-handler.ts create mode 100644 packages/trpc/src/mutation-event/utilities.ts rename {apps/main/src/server/services => packages/trpc/src}/notification/push-web-notification.ts (72%) rename {apps/main/src/server/services => packages/trpc/src}/notification/send-notification-via-email.ts (100%) rename {apps/main/src/server/services => packages/trpc/src}/notification/send.ts (65%) rename {apps/main/src/server/services => packages/trpc/src}/notification/types.ts (79%) create mode 100644 packages/trpc/src/router/validator.ts create mode 100644 packages/types/src/notification.ts diff --git a/apps/main/src/server/services/mutation-event/comment-handler.ts b/apps/main/src/server/services/mutation-event/comment-handler.ts deleted file mode 100644 index 171462fb1..000000000 --- a/apps/main/src/server/services/mutation-event/comment-handler.ts +++ /dev/null @@ -1,191 +0,0 @@ -import { SiteOwnerByTriggerCommentIdDocument } from '@chirpy-dev/graphql'; -import { getTextFromRteDoc } from '@chirpy-dev/utils'; -import { NextApiResponse } from 'next'; - -import { query } from '$/server/common/gql'; -import { revalidateCommentWidget } from '$/server/utilities/revalidate'; - -import { sendNotification } from '../notification/send'; -import { NotificationPayload } from '../notification/types'; -import { EventComment, EventPayload } from './event-type'; -import { - createOneNotificationMessage, - deleteNotificationMessage, - getAuthorByCommentId, - getUserByPk, -} from './utilities'; - -/** - * Handle hasura comment event, send web notification, trigger revalidation of the comment page. - * @param eventBody - */ -export async function handleCommentEvent( - eventBody: EventPayload, - res: NextApiResponse, -): Promise { - if (!isEventComment(eventBody)) { - return; - } - const promises = []; - const notificationPayloads: (NotificationPayload & { contextId: string })[] = - []; - const { event } = eventBody; - if (event.op === 'INSERT') { - const commentId = event.data.new.id; - const body = getTextFromRteDoc(event.data.new.content); - - const siteOwnerData = await getSiteOwnerByTriggeredCommentId(commentId); - const url = siteOwnerData.page.url; - promises.push(revalidateCommentWidget(url, res)); - - const owner = siteOwnerData.page.project.owner; - if (!owner?.id) { - throw new Error(`Can't find the owner of the comment (${commentId})`); - } - const ownerId = owner.id; - const triggeredById = event.data.new.userId; - const triggeredBy = { - id: triggeredById, - name: - siteOwnerData.triggeredBy.name || - siteOwnerData.triggeredBy.username || - 'Unnamed', - }; - if (owner.id !== triggeredById) { - // Notify the owner of the site that a comment has been added - notificationPayloads.push({ - recipient: { - id: ownerId, - email: owner.email, - name: owner.name || owner.username || 'Unnamed', - }, - type: 'ReceivedAComment', - triggeredBy, - url, - body, - contextId: commentId, - }); - } - - const parentCommentId = event.data.new.parentId; - if (parentCommentId) { - // Notify the parent comment author that a reply has been added - const parentData = await getAuthorByCommentId(parentCommentId); - const recipientId = parentData.author.id; - if (recipientId !== ownerId && recipientId !== triggeredById) { - notificationPayloads.push({ - recipient: { - id: recipientId, - email: parentData.author.email, - name: - parentData.author.name || parentData.author.username || 'Unnamed', - }, - type: 'ReceivedAReply', - triggeredBy, - url, - body, - contextId: commentId, - }); - } - } - } else if (event.op === 'UPDATE') { - const { old: oldComment, new: newComment } = event.data; - if (!oldComment.deletedAt && newComment.deletedAt) { - // Delete the existing notification sent to the owner of site - const siteOwnerData = await getSiteOwnerByTriggeredCommentId( - newComment.id, - ); - const ownerId = siteOwnerData.page.project.owner?.id; - if (!ownerId) { - throw new Error( - `Can't find the owner of the comment (${newComment.id})`, - ); - } - const contextId = newComment.id; - // Sync with `INSERT` logic - if (ownerId !== newComment.userId) { - await deleteNotificationMessage({ - triggeredById: newComment.userId, - recipientId: ownerId, - type: 'ReceivedAComment', - contextId, - }); - } - // Delete the existing notification sent to the parent comment author - if (newComment.parentId) { - const parentData = await getAuthorByCommentId(newComment.parentId); - const recipientId = parentData.author.id; - if (recipientId !== newComment.userId && recipientId !== ownerId) { - await deleteNotificationMessage({ - triggeredById: newComment.userId, - recipientId, - type: 'ReceivedAReply', - contextId, - }); - } - } - - // Send the notification to the author of the comment that his comment has been deleted - const triggeredById = event.session_variables['x-hasura-user-id']; - const [authorData, triggeredBy] = await Promise.all([ - getAuthorByCommentId(newComment.id), - getUserByPk(triggeredById), - ]); - const { url } = authorData.page; - promises.push(revalidateCommentWidget(url, res)); - - const recipientId = authorData.author.id; - if (recipientId !== triggeredById) { - notificationPayloads.push({ - recipient: { - id: recipientId, - email: authorData.author.email, - name: - authorData.author.name || authorData.author.username || 'Unnamed', - }, - triggeredBy: { - id: triggeredById, - name: triggeredBy.name || '', - }, - type: 'CommentDeleted', - url, - body: getTextFromRteDoc(newComment.content), - contextId, - }); - } - } - } - await Promise.allSettled([ - ...promises, - ...notificationPayloads.reduce((previous, { contextId, ...payload }) => { - previous.push( - createOneNotificationMessage({ - recipientId: payload.recipient.id, - type: payload.type, - url: payload.url, - triggeredById: payload.triggeredBy.id, - contextId, - content: payload.body, - }), - sendNotification(payload), - ); - return previous; - }, [] as Promise[]), - ]); - return; -} - -export async function getSiteOwnerByTriggeredCommentId(commentId: string) { - return query( - SiteOwnerByTriggerCommentIdDocument, - { - commentId, - }, - 'commentByPk', - ); -} - -function isEventComment(eventBody: EventPayload): eventBody is EventComment { - const { table } = eventBody; - return table.name === 'Comment'; -} diff --git a/apps/main/src/server/services/mutation-event/event-type.ts b/apps/main/src/server/services/mutation-event/event-type.ts deleted file mode 100644 index d2ffa4eb4..000000000 --- a/apps/main/src/server/services/mutation-event/event-type.ts +++ /dev/null @@ -1,197 +0,0 @@ -export type EventPayload = EventLike | EventComment; - -export type EventOP = - | { - event: { - op: 'INSERT'; - data: { - old: null; - new: T; - }; - }; - } - | { - event: { - op: 'DELETE'; - data: { - old: T; - new: null; - }; - }; - } - | { - event: { - op: 'UPDATE'; - data: { - old: T; - new: T; - }; - }; - }; - -/** - * @example - * ``` - * { - "event": { - "session_variables": { - "x-hasura-role": "user", - "x-hasura-user-id": "057eb503-75ad-4d2f-be3a-9d9675734d47" - }, - "op": "INSERT", - "data": { - "old": null, - "new": { - "createdAt": "2022-01-30T08:30:27.331922+00:00", - "pageId": "1d6bfbbe-e45b-45ae-983b-d2b7f33666b2", - "content": { - "type": "doc", - "content": [ - { - "type": "paragraph", - "content": [ - { - "text": "test", - "type": "text", - "marks": [ - { - "type": "bold" - } - ] - }, - { - "text": " paragraph", - "type": "text" - } - ] - }, - { - "type": "paragraph", - "content": [ - { - "text": "new line", - "type": "text", - "marks": [ - { - "type": "underline" - } - ] - }, - { - "text": "hello", - "type": "text" - } - ] - } - ] - }, - "userId": "057eb503-75ad-4d2f-be3a-9d9675734d47", - "id": "c94f9fb0-bd57-43d0-94a2-b3e666669bf0", - "updatedAt": "2022-01-30T08:30:27.331922+00:00", - "deletedAt": null, - "parentId": null - } - }, - "trace_context": { - "trace_id": "f444fa6bbd17e365", - "span_id": "6dd0dade4563f7c8" - } - }, - "created_at": "2022-01-30T08:30:27.331922Z", - "id": "05302df1-11cb-46f9-a885-48bf175acd98", - "delivery_info": { - "max_retries": 3, - "current_retry": 0 - }, - "trigger": { - "name": "Comment" - }, - "table": { - "schema": "public", - "name": "Comment" - } -} - * ``` - */ - -export type EventLike = { - event: { - session_variables: { - 'x-hasura-role': string; - 'x-hasura-user-id': string; - }; - - trace_context: { - trace_id: string; - span_id: string; - }; - }; - created_at: string; - id: string; - delivery_info: { - max_retries: number; - current_retry: number; - }; - trigger: { - name: 'Like'; - }; - table: { - schema: 'public'; - name: 'Like'; - }; -} & EventOP; - -export type EventComment = { - event: { - session_variables: { - 'x-hasura-role': string; - 'x-hasura-user-id': string; - }; - - trace_context: { - trace_id: string; - span_id: string; - }; - }; - created_at: string; - id: string; - delivery_info: { - max_retries: number; - current_retry: number; - }; - trigger: { - name: 'Comment'; - }; - table: { - schema: 'public'; - name: 'Comment'; - }; -} & EventOP; - -interface Comment { - createdAt: string; - pageId: string; - content: { - content: Array<{ - content: Array<{ - text: string; - type: string; - }>; - type: string; - }>; - type: string; - }; - userId: string; - id: string; - updatedAt: string; - deletedAt: string | null; - parentId: string | null; -} - -interface Like { - createdAt: string; - userId: string; - id: string; - updatedAt: string; - commentId: string; -} diff --git a/apps/main/src/server/services/mutation-event/like-handler.ts b/apps/main/src/server/services/mutation-event/like-handler.ts deleted file mode 100644 index e4f198b75..000000000 --- a/apps/main/src/server/services/mutation-event/like-handler.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { RecipientByLikeIdDocument } from '@chirpy-dev/graphql'; -import { NextApiResponse } from 'next'; - -import { query } from '$/server/common/gql'; -import { revalidateCommentWidget } from '$/server/utilities/revalidate'; - -import { EventLike, EventPayload } from './event-type'; -import { - createOneNotificationMessage, - deleteNotificationMessage, - getAuthorByCommentId, -} from './utilities'; - -/** - * Handle hasura like event, trigger revalidation of the comment page. - * Only create a passive notification message (it's a low priority message), - * we may send a web push only if user enables it manually. - * @param eventBody - */ -export async function handleLikeEvent( - eventBody: EventPayload, - res: NextApiResponse, -): Promise { - // log.debug(JSON.stringify(eventBody, null, 2)); - if (!isEventLike(eventBody)) { - return; - } - const promises = []; - const { event } = eventBody; - if (event.op === 'INSERT') { - const like = event.data.new; - const recipientData = await getRecipientByLikeId(like.id); - const recipient = recipientData.comment.recipient; - const triggerById = like.userId; - const { url } = recipientData.comment.page; - promises.push( - createOneNotificationMessage({ - recipientId: recipient.id, - type: 'ReceivedALike', - triggeredById: triggerById, - url, - contextId: like.id, - }), - revalidateCommentWidget(url, res), - ); - } else if (event.op === 'DELETE') { - const likeId = event.data.old.id; - const authorData = await getAuthorByCommentId(event.data.old.commentId); - promises.push( - deleteNotificationMessage({ - recipientId: authorData.author.id, - triggeredById: event.data.old.userId, - type: 'ReceivedALike', - contextId: likeId, - }), - revalidateCommentWidget(authorData.page.url, res), - ); - } - await Promise.allSettled(promises); - return; -} - -export function getRecipientByLikeId(likeId: string) { - return query( - RecipientByLikeIdDocument, - { - likeId, - }, - 'likeByPk', - ); -} - -function isEventLike(eventBody: EventPayload): eventBody is EventLike { - const { table } = eventBody; - return table.name === 'Like'; -} diff --git a/apps/main/src/server/services/mutation-event/mutation-event.ts b/apps/main/src/server/services/mutation-event/mutation-event.ts deleted file mode 100644 index 428f8a87b..000000000 --- a/apps/main/src/server/services/mutation-event/mutation-event.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { NextApiRequest, NextApiResponse } from 'next'; - -import { handleCommentEvent } from './comment-handler'; -import { EventPayload } from './event-type'; -import { handleLikeEvent } from './like-handler'; - -/** - * Handle mutation event trigger by hasura. Send notifications and emails to subscribers. - */ -export async function handleMutationEvent( - req: NextApiRequest, - res: NextApiResponse>, -) { - const eventBody = req.body as EventPayload; - - await Promise.allSettled([ - handleCommentEvent(eventBody, res), - handleLikeEvent(eventBody, res), - ]); - res.end(); -} diff --git a/apps/main/src/server/services/mutation-event/utilities.ts b/apps/main/src/server/services/mutation-event/utilities.ts deleted file mode 100644 index f6682b194..000000000 --- a/apps/main/src/server/services/mutation-event/utilities.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { - AuthorByCommentIdDocument, - DeleteNotificationMessageDocument, - DeleteNotificationMessageMutationVariables, - InsertOneNotificationMessageDocument, - InsertOneNotificationMessageMutationVariables, - UserByPkDocument, -} from '@chirpy-dev/graphql'; - -import { mutate, query } from '$/server/common/gql'; - -export function getAuthorByCommentId(commentId: string) { - return query( - AuthorByCommentIdDocument, - { - commentId, - }, - 'commentByPk', - ); -} - -export function createOneNotificationMessage( - variables: InsertOneNotificationMessageMutationVariables, -) { - return mutate( - InsertOneNotificationMessageDocument, - variables, - 'insertOneNotificationMessage', - ); -} - -export function deleteNotificationMessage( - variables: DeleteNotificationMessageMutationVariables, -) { - return mutate( - DeleteNotificationMessageDocument, - variables, - 'deleteNotificationMessages', - ); -} - -export function getUserByPk(id: string) { - return query( - UserByPkDocument, - { - id, - }, - 'userByPk', - ); -} diff --git a/packages/trpc/package.json b/packages/trpc/package.json index bab32bbe7..4645b3610 100644 --- a/packages/trpc/package.json +++ b/packages/trpc/package.json @@ -12,6 +12,7 @@ "@chirpy-dev/emails": "workspace:*", "@chirpy-dev/tsconfigs": "workspace:*", "@chirpy-dev/utils": "workspace:*", + "@chirpy-dev/types": "workspace:*", "@next-auth/prisma-adapter": "1.0.5", "@prisma/client": "4.6.1", "@tanstack/react-query": "4.17.1", diff --git a/packages/trpc/prisma/schema.prisma b/packages/trpc/prisma/schema.prisma index 06c518d1a..cedbb13e3 100644 --- a/packages/trpc/prisma/schema.prisma +++ b/packages/trpc/prisma/schema.prisma @@ -79,9 +79,10 @@ model NotificationMessage { type String recipientId String url String @db.Text - read Boolean + read Boolean @default(false) deletedAt DateTime? triggeredById String + // TODO: Replace it with commentId & likeId contextId String content String? @db.Text recipient User @relation("NotificationMessage_recipientIdToUser", fields: [recipientId], references: [id], onDelete: Cascade) diff --git a/packages/trpc/src/common/db.ts b/packages/trpc/src/common/db.ts index 76e03379c..de852d659 100644 --- a/packages/trpc/src/common/db.ts +++ b/packages/trpc/src/common/db.ts @@ -4,18 +4,23 @@ export type { Page, Project, User, - NotificationMessage, + Team, + Member, Comment, + Like, + NotificationMessage, + NotificationSubscription, } from '@prisma/client'; -// Save it to global, but don't declare it since we may misuse it +// Save it to global, but don't declare it since we use it without import export const prisma: PrismaClient = // @ts-ignore global.prisma || new PrismaClient({ log: process.env.NODE_ENV === 'development' - ? ['query', 'error', 'warn'] + ? // ? ['query', 'error', 'warn'] + ['error', 'warn'] : ['error', 'warn'], }); diff --git a/apps/main/src/server/utilities/revalidate.ts b/packages/trpc/src/common/revalidate.ts similarity index 100% rename from apps/main/src/server/utilities/revalidate.ts rename to packages/trpc/src/common/revalidate.ts diff --git a/packages/trpc/src/context.ts b/packages/trpc/src/context.ts index b9af1a2b7..783bf2275 100644 --- a/packages/trpc/src/context.ts +++ b/packages/trpc/src/context.ts @@ -31,9 +31,12 @@ export const createContext = async (opts: CreateNextContextOptions) => { // Get the session from the server using the unstable_getServerSession wrapper function const session = await getServerAuthSession({ req, res }); - return createContextInner({ - session, - }); + return { + ...createContextInner({ + session, + }), + ...opts, + }; }; export type Context = inferAsyncReturnType; diff --git a/packages/trpc/src/index.ts b/packages/trpc/src/index.ts index 9a92f2ccb..3ed2d8dd9 100644 --- a/packages/trpc/src/index.ts +++ b/packages/trpc/src/index.ts @@ -1,6 +1,6 @@ import { createProxySSGHelpers } from '@trpc/react-query/ssg'; +import superjson from 'superjson'; -// import superjson from "superjson"; import { createContextInner } from './context'; import { appRouter } from './router'; @@ -8,13 +8,15 @@ export { createContext } from './context'; export * from './auth'; export * from './trpc-server'; export * from './common/db'; +export * from './common/revalidate'; export { createNextApiHandler } from '@trpc/server/adapters/next'; export { appRouter } from './router'; export const ssg = createProxySSGHelpers({ router: appRouter, + // @ts-ignore ctx: createContextInner({ session: null, }), - // transformer: superjson, + transformer: superjson, }); diff --git a/packages/trpc/src/mutation-event/comment-handler.ts b/packages/trpc/src/mutation-event/comment-handler.ts new file mode 100644 index 000000000..9e324012b --- /dev/null +++ b/packages/trpc/src/mutation-event/comment-handler.ts @@ -0,0 +1,213 @@ +import { getTextFromRteDoc, JSONContent } from '@chirpy-dev/utils'; +import { Comment } from '@prisma/client'; +import { NextApiResponse } from 'next'; + +import { prisma } from '../common/db'; +import { revalidateCommentWidget } from '../common/revalidate'; +import { sendNotification } from '../notification/send'; +import { NotificationPayload } from '../notification/types'; +import { + createOneNotificationMessage, + deleteNotificationMessage, + getAuthorByCommentId, + getUserByPk, +} from './utilities'; + +export type EventPayload = { + op: 'INSERT' | 'DELETE'; + comment: Pick; +}; + +/** + * Handle INSERT/DELETE comment event: send web notification, trigger revalidation of the comment page. + */ +export async function handleCommentEvent( + event: EventPayload, + res: NextApiResponse, + authUserId: string, +): Promise { + const promises = []; + const notificationPayloads: (NotificationPayload & { contextId: string })[] = + []; + if (event.op === 'INSERT') { + const commentId = event.comment.id; + const body = getTextFromRteDoc(event.comment.content as JSONContent); + + const siteOwnerData = await getSiteOwnerByTriggeredCommentId(commentId); + + const owner = siteOwnerData?.page.project.user; + if (!siteOwnerData || !owner?.id) { + throw new Error( + `Can't find the site owner for comment id (${commentId})`, + ); + } + const url = siteOwnerData.page.url; + promises.push(revalidateCommentWidget(url, res)); + const ownerId = owner.id; + const triggeredById = event.comment.userId; + const triggeredBy = { + id: triggeredById, + name: siteOwnerData.user.name || siteOwnerData.user.username || 'Unnamed', + }; + if (owner.id !== triggeredById) { + // Notify the owner of the site that a comment has been added + notificationPayloads.push({ + recipient: { + id: ownerId, + email: owner.email, + name: owner.name || owner.username || 'Unnamed', + }, + type: 'ReceivedAComment', + triggeredBy, + url, + body, + contextId: commentId, + }); + } + + const parentCommentId = event.comment.parentId; + if (parentCommentId) { + // Notify the parent comment author that a reply has been added + const parentData = await getAuthorByCommentId(parentCommentId); + const recipientId = parentData?.user.id; + if ( + recipientId && + recipientId !== ownerId && + recipientId !== triggeredById + ) { + notificationPayloads.push({ + recipient: { + id: recipientId, + email: parentData.user.email, + name: parentData.user.name || parentData.user.username || 'Unnamed', + }, + type: 'ReceivedAReply', + triggeredBy, + url, + body, + contextId: commentId, + }); + } + } + } else if (event.op === 'DELETE') { + const { comment } = event; + // Delete the existing notification sent to the owner of site + const siteOwnerData = await getSiteOwnerByTriggeredCommentId(comment.id); + const ownerId = siteOwnerData?.page.project.user?.id; + if (!siteOwnerData || !ownerId) { + throw new Error( + `Can't find the site owner for comment id (${comment.id})`, + ); + } + const contextId = comment.id; + // Sync with `INSERT` logic + if (ownerId !== comment.userId) { + await deleteNotificationMessage({ + triggeredById: comment.userId, + recipientId: ownerId, + type: 'ReceivedAComment', + contextId, + }); + } + // Delete the existing notification sent to the parent comment author + if (comment.parentId) { + const parentData = await getAuthorByCommentId(comment.parentId); + const recipientId = parentData?.user.id; + if ( + recipientId && + recipientId !== comment.userId && + recipientId !== ownerId + ) { + await deleteNotificationMessage({ + triggeredById: comment.userId, + recipientId, + type: 'ReceivedAReply', + contextId, + }); + } + } + + // Send the notification to the author of the comment that his comment has been deleted + const triggeredById = authUserId; + const [authorData, triggeredBy] = await Promise.all([ + getAuthorByCommentId(comment.id), + getUserByPk(triggeredById), + ]); + if (authorData && triggeredBy) { + const { url } = authorData.page; + promises.push(revalidateCommentWidget(url, res)); + + const recipientId = authorData.user.id; + if (recipientId !== triggeredById) { + notificationPayloads.push({ + recipient: { + id: recipientId, + email: authorData.user.email, + name: authorData.user.name || authorData.user.username || 'Unnamed', + }, + triggeredBy: { + id: triggeredById, + name: triggeredBy.name || '', + }, + type: 'CommentDeleted', + url, + body: getTextFromRteDoc(comment.content as JSONContent), + contextId, + }); + } + } + } + await Promise.allSettled([ + ...promises, + ...notificationPayloads.reduce((previous, { contextId, ...payload }) => { + previous.push( + createOneNotificationMessage({ + recipientId: payload.recipient.id, + type: payload.type, + url: payload.url, + triggeredById: payload.triggeredBy.id, + contextId, + content: payload.body, + }), + sendNotification(payload), + ); + return previous; + }, [] as Promise[]), + ]); + return; +} + +export async function getSiteOwnerByTriggeredCommentId(commentId: string) { + return await prisma.comment.findFirst({ + where: { + id: commentId, + }, + select: { + page: { + select: { + id: true, + url: true, + project: { + select: { + user: { + select: { + id: true, + name: true, + email: true, + username: true, + }, + }, + }, + }, + }, + }, + user: { + select: { + id: true, + name: true, + username: true, + }, + }, + }, + }); +} diff --git a/packages/trpc/src/mutation-event/like-handler.ts b/packages/trpc/src/mutation-event/like-handler.ts new file mode 100644 index 000000000..1ccb7ffca --- /dev/null +++ b/packages/trpc/src/mutation-event/like-handler.ts @@ -0,0 +1,92 @@ +import { NextApiResponse } from 'next'; + +import { Like, prisma } from '../common/db'; +import { revalidateCommentWidget } from '../common/revalidate'; +import { deleteNotificationMessage, getAuthorByCommentId } from './utilities'; + +export type EventPayload = { + op: 'INSERT' | 'DELETE'; + like: Pick; +}; + +/** + * Handle hasura like event, trigger revalidation of the comment page. + * Only create a passive notification message (it's a low priority message), + * we may send a web push only if user enables it manually. + */ +export async function handleLikeEvent( + event: EventPayload, + res: NextApiResponse, + authUserId: string, +): Promise { + const promises = []; + if (event.op === 'INSERT') { + const like = event.like; + const recipientData = await getRecipientByLikeId(like.id); + if (recipientData) { + const recipient = recipientData.comment.user; + const triggerById = like.userId; + const { url } = recipientData.comment.page; + promises.push( + prisma.notificationMessage.create({ + data: { + recipientId: recipient.id, + type: 'ReceivedALike', + triggeredById: triggerById, + url, + contextId: like.id, + }, + }), + revalidateCommentWidget(url, res), + ); + } + } else if (event.op === 'DELETE') { + const likeId = event.like.id; + const authorData = await getAuthorByCommentId(event.like.commentId); + if (authorData) { + promises.push( + deleteNotificationMessage({ + recipientId: authorData.user.id, + triggeredById: authUserId, + type: 'ReceivedALike', + contextId: likeId, + }), + revalidateCommentWidget(authorData.page.url, res), + ); + } + } + await Promise.allSettled(promises); + return; +} + +export async function getRecipientByLikeId(likeId: string) { + return await prisma.like.findUnique({ + where: { + id: likeId, + }, + select: { + comment: { + select: { + page: { + select: { + id: true, + url: true, + }, + }, + user: { + select: { + id: true, + name: true, + }, + }, + }, + }, + user: { + select: { + id: true, + name: true, + }, + }, + }, + }); +} diff --git a/packages/trpc/src/mutation-event/utilities.ts b/packages/trpc/src/mutation-event/utilities.ts new file mode 100644 index 000000000..eb51d843a --- /dev/null +++ b/packages/trpc/src/mutation-event/utilities.ts @@ -0,0 +1,69 @@ +import { log } from 'next-axiom'; + +import { NotificationMessage, prisma } from '../common/db'; + +export async function getAuthorByCommentId(commentId: string) { + return await prisma.comment.findUnique({ + where: { + id: commentId, + }, + select: { + page: { + select: { + id: true, + url: true, + }, + }, + user: { + select: { + id: true, + name: true, + username: true, + email: true, + }, + }, + }, + }); +} + +export type CreateotificationMessageVairables = Pick< + NotificationMessage, + 'recipientId' | 'triggeredById' | 'type' | 'contextId' | 'url' | 'content' +>; + +export async function createOneNotificationMessage( + variables: CreateotificationMessageVairables, +) { + return await prisma.notificationMessage.create({ + data: variables, + }); +} + +export type DeleteNotificationMessageVairables = Pick< + NotificationMessage, + 'recipientId' | 'triggeredById' | 'type' | 'contextId' +>; + +export async function deleteNotificationMessage( + variables: DeleteNotificationMessageVairables, +) { + const data = await prisma.notificationMessage.deleteMany({ + where: variables, + }); + if (data.count !== 1) { + log.error( + `Expect 1 notification message deleted, got: ${ + data.count + }, variables: ${JSON.stringify(variables)}`, + ); + } + return data; +} + +export async function getUserByPk(id: string) { + return await prisma.user.findUnique({ + where: { + id, + }, + }); +} diff --git a/apps/main/src/server/services/notification/push-web-notification.ts b/packages/trpc/src/notification/push-web-notification.ts similarity index 72% rename from apps/main/src/server/services/notification/push-web-notification.ts rename to packages/trpc/src/notification/push-web-notification.ts index 9ec83e70d..456eab59f 100644 --- a/apps/main/src/server/services/notification/push-web-notification.ts +++ b/packages/trpc/src/notification/push-web-notification.ts @@ -1,27 +1,25 @@ -import { NotificationType_Enum } from '@chirpy-dev/graphql'; -import { - DeleteNotificationSubscriptionByPkDocument, - NotificationSubscriptionsByUserIdQuery, -} from '@chirpy-dev/graphql'; +import { NotificationType_Enum } from '@chirpy-dev/types'; import { FEEDBACK_LINK, getPublicEnvVar } from '@chirpy-dev/utils'; import { log } from 'next-axiom'; -import webpush from 'web-push'; - -import { mutate } from '$/server/common/gql'; +import webpush, { PushSubscription } from 'web-push'; +import { prisma, NotificationSubscription } from '../common/db'; import { NotificationPayload } from './types'; export type WebNotificationPayload = { title: string; } & Pick; +export type NotificationSubscriptionPayload = Pick< + NotificationSubscription, + 'id' | 'subscription' +>; + export function pushWebNotification(payload: NotificationPayload) { - return async ( - sub: NotificationSubscriptionsByUserIdQuery['notificationSubscriptions'][number], - ) => { + return async (sub: NotificationSubscriptionPayload) => { try { await webpush.sendNotification( - sub.subscription, + sub.subscription as unknown as PushSubscription, JSON.stringify(getWebNotificationPayload(payload)), WEB_PUSH_OPTIONS, ); @@ -34,14 +32,13 @@ export function pushWebNotification(payload: NotificationPayload) { ) { log.error('Subscription has expired or is no longer valid:', error); try { - const deleteNotificationSubscriptionByPk = await mutate( - DeleteNotificationSubscriptionByPkDocument, - { - id: sub.id, - }, - 'deleteNotificationSubscriptionByPk', - ); - log.info('Deleted subscription', deleteNotificationSubscriptionByPk); + const deleteNotificationSubscriptionByPk = + await prisma.notificationSubscription.delete({ + where: { + id: sub.id, + }, + }); + log.debug('Deleted subscription', deleteNotificationSubscriptionByPk); } catch (error) { log.error('Error deleting subscription', error); } diff --git a/apps/main/src/server/services/notification/send-notification-via-email.ts b/packages/trpc/src/notification/send-notification-via-email.ts similarity index 100% rename from apps/main/src/server/services/notification/send-notification-via-email.ts rename to packages/trpc/src/notification/send-notification-via-email.ts diff --git a/apps/main/src/server/services/notification/send.ts b/packages/trpc/src/notification/send.ts similarity index 65% rename from apps/main/src/server/services/notification/send.ts rename to packages/trpc/src/notification/send.ts index e0efec1d0..87ef30a90 100644 --- a/apps/main/src/server/services/notification/send.ts +++ b/packages/trpc/src/notification/send.ts @@ -1,20 +1,21 @@ -import { NotificationSubscriptionsByUserIdDocument } from '@chirpy-dev/graphql'; import { log } from 'next-axiom'; -import { query } from '$/server/common/gql'; - +import { prisma } from '../common/db'; import { pushWebNotification } from './push-web-notification'; import { sendNotificationViaEmail } from './send-notification-via-email'; import { NotificationPayload } from './types'; export async function sendNotification(payload: NotificationPayload) { - const notificationSubscriptions = await query( - NotificationSubscriptionsByUserIdDocument, - { - userId: payload.recipient.id, - }, - 'notificationSubscriptions', - ); + const notificationSubscriptions = + await prisma.notificationSubscription.findMany({ + where: { + userId: payload.recipient.id, + }, + select: { + id: true, + subscription: true, + }, + }); if ( !Array.isArray(notificationSubscriptions) || diff --git a/apps/main/src/server/services/notification/types.ts b/packages/trpc/src/notification/types.ts similarity index 79% rename from apps/main/src/server/services/notification/types.ts rename to packages/trpc/src/notification/types.ts index 64cd469df..ef8cbb693 100644 --- a/apps/main/src/server/services/notification/types.ts +++ b/packages/trpc/src/notification/types.ts @@ -1,4 +1,4 @@ -import { NotificationType_Enum } from '@chirpy-dev/graphql'; +import { NotificationType_Enum } from '@chirpy-dev/types'; export type NotificationPayload = { recipient: { diff --git a/packages/trpc/src/router/comment.ts b/packages/trpc/src/router/comment.ts index b5c0391c3..f4f67067a 100644 --- a/packages/trpc/src/router/comment.ts +++ b/packages/trpc/src/router/comment.ts @@ -1,7 +1,9 @@ +import { TRPCError } from '@trpc/server'; import { z } from 'zod'; import { prisma } from '../common/db'; import { router, publicProcedure, protectedProcedure } from '../trpc-server'; +import { rteContentValidator } from './validator'; export const commentRouter = router({ forest: publicProcedure @@ -95,7 +97,7 @@ export const commentRouter = router({ create: protectedProcedure .input( z.object({ - content: z.any(), + content: rteContentValidator, pageId: z.string(), parentId: z.string().optional(), }), @@ -109,21 +111,45 @@ export const commentRouter = router({ userId: ctx.session.user.id, }, }); + return data; }), delete: protectedProcedure .input(z.string()) .mutation(async ({ input, ctx }) => { + const comments = await prisma.comment.findMany({ + where: { + id: input, + page: { + project: { + id: { + // Only site owner can delete comments, currently + in: ctx.session.user.editableProjectIds, + }, + }, + }, + }, + select: { + id: true, + content: true, + userId: true, + parentId: true, + }, + }); + if (comments.length === 0) { + // Stop malicious user from deleting other users comments + throw new TRPCError({ code: 'UNAUTHORIZED' }); + } // Soft delete - const data = await prisma.comment.updateMany({ + await prisma.comment.update({ where: { id: input, - userId: ctx.session.user.id, }, data: { deletedAt: new Date(), }, }); - return data; + + return comments[0]; }), }); diff --git a/packages/trpc/src/router/notification.ts b/packages/trpc/src/router/notification.ts index f131eb719..498502f99 100644 --- a/packages/trpc/src/router/notification.ts +++ b/packages/trpc/src/router/notification.ts @@ -1,7 +1,10 @@ import { z } from 'zod'; import { prisma } from '../common/db'; +import { handleCommentEvent } from '../mutation-event/comment-handler'; +import { handleLikeEvent } from '../mutation-event/like-handler'; import { router, protectedProcedure } from '../trpc-server'; +import { rteContentValidator } from './validator'; export const notificationRouter = router({ messages: protectedProcedure @@ -31,7 +34,7 @@ export const notificationRouter = router({ }); return messages; }), - readAMessage: protectedProcedure + read: protectedProcedure .input(z.object({ messageId: z.string() })) .mutation(async ({ input }) => { const result = await prisma.notificationMessage.update({ @@ -47,7 +50,7 @@ export const notificationRouter = router({ }); return result; }), - deleteAMessage: protectedProcedure + delete: protectedProcedure .input(z.object({ messageId: z.string() })) .mutation(async ({ input }) => { const result = await prisma.notificationMessage.delete({ @@ -60,7 +63,7 @@ export const notificationRouter = router({ }); return result; }), - registerSubscriptionDevice: protectedProcedure + register: protectedProcedure .input( z.object({ subscription: z.object({ @@ -89,4 +92,48 @@ export const notificationRouter = router({ select: {}, }); }), + create: protectedProcedure + .input( + z.object({ + op: z.enum(['INSERT', 'DELETE']), + comment: z + .object({ + id: z.string(), + userId: z.string(), + parentId: z.string().nullable(), + content: rteContentValidator, + }) + .nullish(), + like: z + .object({ + id: z.string(), + commentId: z.string(), + }) + .nullish(), + }), + ) + .mutation(async ({ input, ctx }) => { + if (input.comment) { + await handleCommentEvent( + { + op: input.op, + comment: input.comment, + }, + ctx.res, + ctx.session.user.id, + ); + } else if (input.like) { + await handleLikeEvent( + { + op: input.op, + like: { + ...input.like, + userId: ctx.session.user.id, + }, + }, + ctx.res, + ctx.session.user.id, + ); + } + }), }); diff --git a/packages/trpc/src/router/validator.ts b/packages/trpc/src/router/validator.ts new file mode 100644 index 000000000..fd5ea5918 --- /dev/null +++ b/packages/trpc/src/router/validator.ts @@ -0,0 +1,36 @@ +import { JSONContent } from '@chirpy-dev/utils'; +import { z } from 'zod'; + +/** + * type of + * ```ts + * export declare type JSONContent = { + * type?: string; + * attrs?: Record; + * content?: JSONContent[]; + * marks?: { + * type: string; + * attrs?: Record; + * [key: string]: any; + * }[]; + * text?: string; + * [key: string]: any; + * }; + * ``` + */ +export const rteContentValidator: z.ZodType = z.lazy(() => + z.object({ + type: z.string().optional(), + attrs: z.record(z.any()).optional(), + content: z.array(rteContentValidator).optional(), + marks: z + .array( + z.object({ + type: z.string(), + attrs: z.record(z.any()).optional(), + }), + ) + .optional(), + text: z.string().optional(), + }), +); diff --git a/packages/trpc/src/trpc-server.ts b/packages/trpc/src/trpc-server.ts index df62d7ff8..355744f00 100644 --- a/packages/trpc/src/trpc-server.ts +++ b/packages/trpc/src/trpc-server.ts @@ -1,11 +1,10 @@ import { initTRPC, TRPCError } from '@trpc/server'; - -// import superjson from 'superjson'; +import superjson from 'superjson'; import { type Context } from './context'; const t = initTRPC.context().create({ - // transformer: superjson, + transformer: superjson, errorFormatter({ shape }) { return shape; }, diff --git a/packages/types/src/index.ts b/packages/types/src/index.ts index 598ba7cd7..c8abaf231 100644 --- a/packages/types/src/index.ts +++ b/packages/types/src/index.ts @@ -9,3 +9,4 @@ export * from './file'; export * from './rte'; export * from './global'; export * from './mdx'; +export * from './notification'; diff --git a/packages/types/src/notification.ts b/packages/types/src/notification.ts new file mode 100644 index 000000000..607c6e3e0 --- /dev/null +++ b/packages/types/src/notification.ts @@ -0,0 +1,9 @@ +export type NotificationType_Enum = + /** Comment deleted by moderator */ + | 'CommentDeleted' + /** Received a comment */ + | 'ReceivedAComment' + /** Received a like */ + | 'ReceivedALike' + /** Received a reply */ + | 'ReceivedAReply'; diff --git a/packages/ui/src/blocks/notification-hub/notification-hub.tsx b/packages/ui/src/blocks/notification-hub/notification-hub.tsx index c62a035dd..d25d323b1 100644 --- a/packages/ui/src/blocks/notification-hub/notification-hub.tsx +++ b/packages/ui/src/blocks/notification-hub/notification-hub.tsx @@ -22,10 +22,10 @@ export function NotificationHub(): JSX.Element { }); const { mutateAsync: readANotification } = - trpcClient.notification.readAMessage.useMutation(); + trpcClient.notification.read.useMutation(); const { mutateAsync: deleteNotificationMessage } = - trpcClient.notification.readAMessage.useMutation(); + trpcClient.notification.delete.useMutation(); const hasUnreadNotifications = data?.some((msg) => !msg.read); return (
      diff --git a/packages/ui/src/blocks/notification-hub/notification-item.tsx b/packages/ui/src/blocks/notification-hub/notification-item.tsx index b52ea616c..ee427c330 100644 --- a/packages/ui/src/blocks/notification-hub/notification-item.tsx +++ b/packages/ui/src/blocks/notification-hub/notification-item.tsx @@ -1,4 +1,3 @@ -import { RouterOutputs } from '@chirpy-dev/trpc'; import clsx from 'clsx'; import * as React from 'react'; @@ -15,6 +14,7 @@ import { Menu } from '../../components/menu'; import { Text, TextProps } from '../../components/text'; import { useIsWidget } from '../../hooks/use-is-widget'; import { cpDayjs } from '../../utilities/date'; +import { RouterOutputs } from '../../utilities/trpc-client'; export type INotificationItemProps = { index: number; diff --git a/packages/ui/src/contexts/comment-context/use-create-a-comment.ts b/packages/ui/src/contexts/comment-context/use-create-a-comment.ts index 68f03ec82..67349f827 100644 --- a/packages/ui/src/contexts/comment-context/use-create-a-comment.ts +++ b/packages/ui/src/contexts/comment-context/use-create-a-comment.ts @@ -21,7 +21,8 @@ export function useCreateAComment({ const { mutateAsync: insertOneComment } = trpcClient.comment.create.useMutation(); const { showToast } = useToast(); - + const { mutate: createANotification } = + trpcClient.notification.create.useMutation(); const createAComment = async (reply: RTEValue, commentId?: string) => { if (!isSignIn) { logger.error('Navigate to sign-in page'); @@ -32,6 +33,16 @@ export function useCreateAComment({ content: reply as JsonArray, pageId, }); + // Move it to server background process once we have a new arch + createANotification({ + op: 'INSERT', + comment: { + id: data.id, + userId: data.userId, + parentId: data.parentId, + content: data.content as string, + }, + }); await refetchComments(); if (!data?.id) { showToast({ diff --git a/packages/ui/src/contexts/comment-context/use-delete-a-comment.ts b/packages/ui/src/contexts/comment-context/use-delete-a-comment.ts index b795828fc..34232021e 100644 --- a/packages/ui/src/contexts/comment-context/use-delete-a-comment.ts +++ b/packages/ui/src/contexts/comment-context/use-delete-a-comment.ts @@ -10,10 +10,21 @@ export function useDeleteAComment(refetch: RefetchComment['refetchComment']) { const { mutateAsync: deleteOneComment } = trpcClient.comment.delete.useMutation(); const { showToast } = useToast(); + const { mutate: createANotification } = + trpcClient.notification.create.useMutation(); const deleteAComment = React.useCallback( async (commentId: string) => { try { - await deleteOneComment(commentId); + const data = await deleteOneComment(commentId); + createANotification({ + op: 'DELETE', + comment: { + id: data.id, + userId: data.userId, + parentId: data.parentId, + content: data.content as string, + }, + }); await refetch(); showToast({ type: 'success', diff --git a/packages/ui/src/contexts/comment-context/use-toggle-a-like-action.ts b/packages/ui/src/contexts/comment-context/use-toggle-a-like-action.ts index 7971ac3ce..27f29fe03 100644 --- a/packages/ui/src/contexts/comment-context/use-toggle-a-like-action.ts +++ b/packages/ui/src/contexts/comment-context/use-toggle-a-like-action.ts @@ -18,7 +18,8 @@ export function useToggleALikeAction( const { showToast } = useToast(); const handleSignIn = useSignInWindow(); - + const { mutate: createANotification } = + trpcClient.notification.create.useMutation(); const toggleALikeAction = async ( isLiked: boolean, likeId: string, @@ -33,6 +34,13 @@ export function useToggleALikeAction( if (!data?.count) { return logger.error(`Can't delete the like, id ${likeId}`); } + createANotification({ + op: 'DELETE', + like: { + id: likeId, + commentId: commentId, + }, + }); await refetch(); return; } diff --git a/packages/ui/src/contexts/notification-context/use-register-device.ts b/packages/ui/src/contexts/notification-context/use-register-device.ts index 1c2dea6c2..10348e8d3 100644 --- a/packages/ui/src/contexts/notification-context/use-register-device.ts +++ b/packages/ui/src/contexts/notification-context/use-register-device.ts @@ -12,7 +12,7 @@ export type RegisterNotificationSubscription = () => Promise; export function useRegisterNotificationSubscription(): RegisterNotificationSubscription { const { mutateAsync: registerDevice } = - trpcClient.notification.registerSubscriptionDevice.useMutation(); + trpcClient.notification.register.useMutation(); // It's safe to register the service worker multiply times return React.useCallback(async () => { diff --git a/packages/ui/src/utilities/trpc-client.ts b/packages/ui/src/utilities/trpc-client.ts index f7af8ae0e..e17242240 100644 --- a/packages/ui/src/utilities/trpc-client.ts +++ b/packages/ui/src/utilities/trpc-client.ts @@ -1,15 +1,14 @@ -// import superjson from "superjson"; - import { type AppRouter } from '@chirpy-dev/trpc/src/router'; import { getBaseUrl } from '@chirpy-dev/utils'; import { httpBatchLink, loggerLink } from '@trpc/client'; import { createTRPCNext } from '@trpc/next'; import { type inferRouterInputs, type inferRouterOutputs } from '@trpc/server'; +import superjson from 'superjson'; export const trpcClient = createTRPCNext({ config() { return { - // transformer: superjson, + transformer: superjson, links: [ loggerLink({ enabled: (opts) => diff --git a/packages/utils/src/text.ts b/packages/utils/src/text.ts index 25f592484..ab9d03fe3 100644 --- a/packages/utils/src/text.ts +++ b/packages/utils/src/text.ts @@ -32,3 +32,5 @@ export function getTextFromRteValue(value: RTEValue): string { } return getTextFromRteDoc(value); } + +export { type JSONContent } from '@tiptap/react'; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 584739295..7b91571e9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -441,6 +441,7 @@ importers: specifiers: '@chirpy-dev/emails': workspace:* '@chirpy-dev/tsconfigs': workspace:* + '@chirpy-dev/types': workspace:* '@chirpy-dev/utils': workspace:* '@next-auth/prisma-adapter': 1.0.5 '@prisma/client': 4.6.1 @@ -465,6 +466,7 @@ importers: dependencies: '@chirpy-dev/emails': link:../emails '@chirpy-dev/tsconfigs': link:../tsconfigs + '@chirpy-dev/types': link:../types '@chirpy-dev/utils': link:../utils '@next-auth/prisma-adapter': 1.0.5_o53gfpk3vz2btjrokqfjjwwn3m '@prisma/client': 4.6.1_prisma@4.6.1 @@ -7357,7 +7359,7 @@ packages: '@trpc/client': 10.2.0_@trpc+server@10.2.0 '@trpc/react-query': 10.2.0_xdgyyx5u2iaaonjivvzelfawba '@trpc/server': 10.2.0 - next: 13.0.5_vgii64pd2ccbnbx2v3ro5gbin4 + next: 13.0.5_biqbaboplfbrettd7655fr4n2y react: 18.2.0 react-dom: 18.2.0_react@18.2.0 react-ssr-prepass: 1.5.0_react@18.2.0 @@ -18077,7 +18079,7 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 dependencies: - next: 13.0.5_biqbaboplfbrettd7655fr4n2y + next: 13.0.5_vgii64pd2ccbnbx2v3ro5gbin4 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 dev: false @@ -18100,7 +18102,7 @@ packages: react: '*' react-dom: '*' dependencies: - next: 13.0.5_biqbaboplfbrettd7655fr4n2y + next: 13.0.5_vgii64pd2ccbnbx2v3ro5gbin4 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 dev: false From abe22181ba2434b717b648b5e4812d00440a0b11 Mon Sep 17 00:00:00 2001 From: Qing <7880675+devrsi0n@users.noreply.github.com> Date: Sun, 27 Nov 2022 12:18:45 +0800 Subject: [PATCH 17/34] refactor: remove graphql ref --- .../src/pages/api/auth/delete/facebook.ts | 11 ++-- .../src/pages/api/mutation-event/index.ts | 8 --- .../pages/api/notification/register-device.ts | 7 -- .../services/content-classifier/toxic-text.ts | 2 +- .../src/server/services/revalidate/widgets.ts | 3 +- apps/main/src/server/services/user.ts | 28 ++------ packages/trpc/src/auth/auth-options.ts | 2 +- packages/trpc/src/auth/auth-providers.ts | 2 +- packages/trpc/src/auth/index.ts | 1 + packages/trpc/src/common/db-client.ts | 53 +++++++++++++++ packages/trpc/src/common/db.ts | 30 --------- packages/trpc/src/context.ts | 2 +- packages/trpc/src/index.ts | 2 +- .../src/mutation-event/comment-handler.ts | 2 +- .../trpc/src/mutation-event/like-handler.ts | 2 +- packages/trpc/src/mutation-event/utilities.ts | 2 +- .../src/notification/push-web-notification.ts | 2 +- .../send-notification-via-email.ts | 2 +- packages/trpc/src/notification/send.ts | 2 +- packages/trpc/src/router/comment.ts | 2 +- packages/trpc/src/router/like.ts | 2 +- packages/trpc/src/router/notification.ts | 2 +- packages/trpc/src/router/page.ts | 2 +- packages/trpc/src/router/project.ts | 2 +- packages/trpc/src/router/user.ts | 3 +- packages/types/src/widget.ts | 9 --- .../fixtures/server/graphql-handlers.ts | 64 ------------------- .../ui/src/__tests__/fixtures/server/index.ts | 3 +- .../src/blocks/comment-card/comment-card.tsx | 3 +- .../blocks/comment-forest/comment-forest.tsx | 5 +- .../comment-forest/use-comment-order-by.ts | 6 +- .../comment-timeline/comment-timeline.tsx | 4 +- .../src/blocks/comment-tree/comment-tree.tsx | 6 +- .../comment-widget-preview.tsx | 18 +++--- .../comment-widget-preview/preview-data.ts | 26 ++++---- .../confirm-user-fields.tsx | 9 +-- .../src/blocks/project-card/project-card.tsx | 10 +-- .../src/blocks/theme-editor/theme-editor.tsx | 1 - packages/ui/src/types/index.ts | 3 + 39 files changed, 131 insertions(+), 212 deletions(-) delete mode 100644 apps/main/src/pages/api/mutation-event/index.ts delete mode 100644 apps/main/src/pages/api/notification/register-device.ts create mode 100644 packages/trpc/src/common/db-client.ts delete mode 100644 packages/trpc/src/common/db.ts delete mode 100644 packages/types/src/widget.ts delete mode 100644 packages/ui/src/__tests__/fixtures/server/graphql-handlers.ts create mode 100644 packages/ui/src/types/index.ts diff --git a/apps/main/src/pages/api/auth/delete/facebook.ts b/apps/main/src/pages/api/auth/delete/facebook.ts index a5ef33e2d..1e37a2ae8 100644 --- a/apps/main/src/pages/api/auth/delete/facebook.ts +++ b/apps/main/src/pages/api/auth/delete/facebook.ts @@ -1,4 +1,4 @@ -import { DeleteUserDocument } from '@chirpy-dev/graphql'; +import { prisma } from '@chirpy-dev/trpc'; import { getAppURL } from '@chirpy-dev/utils'; import crypto from 'crypto'; import { NextApiRequest, NextApiResponse } from 'next'; @@ -6,7 +6,6 @@ import { log } from 'next-axiom'; import { APIError } from '$/server/common/api-error'; import { getAPIHandler } from '$/server/common/api-handler'; -import { mutate } from '$/server/common/gql'; const handler = getAPIHandler(); handler.post(async (req: NextApiRequest, res: NextApiResponse) => { @@ -19,13 +18,11 @@ handler.post(async (req: NextApiRequest, res: NextApiResponse) => { validateSignature(signature, payload); const { user_id: userId } = decodePayload(payload) as DecodedPayload; - await mutate( - DeleteUserDocument, - { + await prisma.user.delete({ + where: { id: userId, }, - 'deleteUserByPk', - ); + }); const confirmationCode = getConfirmationCode(); const url = `${getAppURL()}/auth/delete-confirmation?code=${confirmationCode}`; // Facebook requires the JSON to be non-quoted and formatted like this, so we need to create the JSON by hand: diff --git a/apps/main/src/pages/api/mutation-event/index.ts b/apps/main/src/pages/api/mutation-event/index.ts deleted file mode 100644 index 075f379c6..000000000 --- a/apps/main/src/pages/api/mutation-event/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { getAPIHandler } from '$/server/common/api-handler'; -import { handleMutationEvent } from '$/server/services/mutation-event/mutation-event'; - -const handler = getAPIHandler(); - -handler.post(handleMutationEvent); - -export default handler; diff --git a/apps/main/src/pages/api/notification/register-device.ts b/apps/main/src/pages/api/notification/register-device.ts deleted file mode 100644 index 01be7a175..000000000 --- a/apps/main/src/pages/api/notification/register-device.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { getAPIHandler } from '$/server/common/api-handler'; -import { registerDevice } from '$/server/services/notification/register'; - -const handler = getAPIHandler(); -handler.post(registerDevice); - -export default handler; diff --git a/apps/main/src/server/services/content-classifier/toxic-text.ts b/apps/main/src/server/services/content-classifier/toxic-text.ts index 6d6ffa892..884e326de 100644 --- a/apps/main/src/server/services/content-classifier/toxic-text.ts +++ b/apps/main/src/server/services/content-classifier/toxic-text.ts @@ -46,6 +46,6 @@ export async function checkToxicText( return prev; }, { matchedLabels: [] } as ICheckToxicText, - ) as ICheckToxicText; + ) as unknown as ICheckToxicText; res.status(200).json(resp); } diff --git a/apps/main/src/server/services/revalidate/widgets.ts b/apps/main/src/server/services/revalidate/widgets.ts index 3f13867e1..f118533c9 100644 --- a/apps/main/src/server/services/revalidate/widgets.ts +++ b/apps/main/src/server/services/revalidate/widgets.ts @@ -1,8 +1,7 @@ -import { prisma } from '@chirpy-dev/trpc'; +import { prisma, revalidateCommentWidgets } from '@chirpy-dev/trpc'; import { NextApiRequest, NextApiResponse } from 'next'; import { badRequest } from '$/server/utilities/response'; -import { revalidateCommentWidgets } from '$/server/utilities/revalidate'; export async function revalidateWidgets( req: NextApiRequest, diff --git a/apps/main/src/server/services/user.ts b/apps/main/src/server/services/user.ts index 12c9984bc..4125b62f3 100644 --- a/apps/main/src/server/services/user.ts +++ b/apps/main/src/server/services/user.ts @@ -1,12 +1,6 @@ -import { - UpdateUserByPkDocument, - UserBeforeUpdateDocument, -} from '@chirpy-dev/graphql'; -import { Profile as AuthProfile } from 'next-auth'; +import { AuthProfile, prisma } from '@chirpy-dev/trpc'; import { log } from 'next-axiom'; -import { mutate, query } from '../common/gql'; - export async function fillUserFields( user: User, profile?: GitHubProfile, @@ -23,23 +17,13 @@ export async function fillUserFields( if (!fields) { return; } - const { __typename, ...existsUser } = await query( - UserBeforeUpdateDocument, - { - id: user.id, - }, - 'userByPk', - ); - await mutate( - UpdateUserByPkDocument, - { - // Preset the existing fields or they'll be reset - ...existsUser, - ...fields, + + await prisma.user.update({ + where: { id: user.id, }, - 'updateUserByPk', - ); + data: fields, + }); return; } catch (error) { diff --git a/packages/trpc/src/auth/auth-options.ts b/packages/trpc/src/auth/auth-options.ts index 653bddd6d..df3b15b4c 100644 --- a/packages/trpc/src/auth/auth-options.ts +++ b/packages/trpc/src/auth/auth-options.ts @@ -5,7 +5,7 @@ import { NextAuthOptions } from 'next-auth'; import { GoogleProfile } from 'next-auth/providers/google'; import { log } from 'next-axiom'; -import { prisma } from '../common/db'; +import { prisma } from '../common/db-client'; import { authProviders } from './auth-providers'; import { defaultCookies } from './default-cookies'; diff --git a/packages/trpc/src/auth/auth-providers.ts b/packages/trpc/src/auth/auth-providers.ts index 2b06985ba..b9a46129b 100644 --- a/packages/trpc/src/auth/auth-providers.ts +++ b/packages/trpc/src/auth/auth-providers.ts @@ -9,7 +9,7 @@ import gitHubProvider from 'next-auth/providers/github'; import googleProvider from 'next-auth/providers/google'; import twitterProvider from 'next-auth/providers/twitter'; -import { prisma } from '../common/db'; +import { prisma } from '../common/db-client'; import { generateUsername } from './utilities'; const REQUEST_TIMEOUT = isENVProd ? 10_000 : 60_000; diff --git a/packages/trpc/src/auth/index.ts b/packages/trpc/src/auth/index.ts index a953aad78..24ffcdc22 100644 --- a/packages/trpc/src/auth/index.ts +++ b/packages/trpc/src/auth/index.ts @@ -1,3 +1,4 @@ export { default as NextAuth } from 'next-auth'; export { nextAuthOptions } from './auth-options'; +export type { Profile as AuthProfile } from 'next-auth'; diff --git a/packages/trpc/src/common/db-client.ts b/packages/trpc/src/common/db-client.ts new file mode 100644 index 000000000..e61474d51 --- /dev/null +++ b/packages/trpc/src/common/db-client.ts @@ -0,0 +1,53 @@ +import { isENVDev } from '@chirpy-dev/utils'; +import { PrismaClient } from '@prisma/client'; +import { log } from 'next-axiom'; +import SuperJSON from 'superjson'; + +export type { + Page, + Project, + User, + Team, + Member, + Comment, + Like, + NotificationMessage, + NotificationSubscription, +} from '@prisma/client'; + +declare global { + // eslint-disable-next-line no-var + var _prismaClient: ReturnType | undefined; +} + +function getPrismaClient() { + return new PrismaClient({ + log: isENVDev + ? ['error', 'warn'] + : [ + { + emit: 'event', + level: 'error', + }, + { + emit: 'event', + level: 'warn', + }, + ], + }); +} + +export const prisma = global._prismaClient || getPrismaClient(); + +if (process.env.NODE_ENV !== 'production') { + global._prismaClient = prisma; +} +if (!isENVDev) { + prisma.$on('error', (e) => { + log.error(`Prisma error: ${SuperJSON.stringify(e)}`); + }); + + prisma.$on('warn', (e) => { + log.warn(`Prisma warn: ${SuperJSON.stringify(e)}`); + }); +} diff --git a/packages/trpc/src/common/db.ts b/packages/trpc/src/common/db.ts deleted file mode 100644 index de852d659..000000000 --- a/packages/trpc/src/common/db.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { PrismaClient } from '@prisma/client'; - -export type { - Page, - Project, - User, - Team, - Member, - Comment, - Like, - NotificationMessage, - NotificationSubscription, -} from '@prisma/client'; - -// Save it to global, but don't declare it since we use it without import -export const prisma: PrismaClient = - // @ts-ignore - global.prisma || - new PrismaClient({ - log: - process.env.NODE_ENV === 'development' - ? // ? ['query', 'error', 'warn'] - ['error', 'warn'] - : ['error', 'warn'], - }); - -if (process.env.NODE_ENV !== 'production') { - // @ts-ignore - global.prisma = prisma; -} diff --git a/packages/trpc/src/context.ts b/packages/trpc/src/context.ts index 783bf2275..ce1be1f9c 100644 --- a/packages/trpc/src/context.ts +++ b/packages/trpc/src/context.ts @@ -2,7 +2,7 @@ import { type inferAsyncReturnType } from '@trpc/server'; import { type CreateNextContextOptions } from '@trpc/server/adapters/next'; import { type Session } from 'next-auth'; -import { prisma } from './common/db'; +import { prisma } from './common/db-client'; import { getServerAuthSession } from './common/get-server-auth-session'; type CreateContextOptions = { diff --git a/packages/trpc/src/index.ts b/packages/trpc/src/index.ts index 3ed2d8dd9..3921c1533 100644 --- a/packages/trpc/src/index.ts +++ b/packages/trpc/src/index.ts @@ -7,7 +7,7 @@ import { appRouter } from './router'; export { createContext } from './context'; export * from './auth'; export * from './trpc-server'; -export * from './common/db'; +export * from './common/db-client'; export * from './common/revalidate'; export { createNextApiHandler } from '@trpc/server/adapters/next'; export { appRouter } from './router'; diff --git a/packages/trpc/src/mutation-event/comment-handler.ts b/packages/trpc/src/mutation-event/comment-handler.ts index 9e324012b..f0ea29cb6 100644 --- a/packages/trpc/src/mutation-event/comment-handler.ts +++ b/packages/trpc/src/mutation-event/comment-handler.ts @@ -2,7 +2,7 @@ import { getTextFromRteDoc, JSONContent } from '@chirpy-dev/utils'; import { Comment } from '@prisma/client'; import { NextApiResponse } from 'next'; -import { prisma } from '../common/db'; +import { prisma } from '../common/db-client'; import { revalidateCommentWidget } from '../common/revalidate'; import { sendNotification } from '../notification/send'; import { NotificationPayload } from '../notification/types'; diff --git a/packages/trpc/src/mutation-event/like-handler.ts b/packages/trpc/src/mutation-event/like-handler.ts index 1ccb7ffca..0b1429dfd 100644 --- a/packages/trpc/src/mutation-event/like-handler.ts +++ b/packages/trpc/src/mutation-event/like-handler.ts @@ -1,6 +1,6 @@ import { NextApiResponse } from 'next'; -import { Like, prisma } from '../common/db'; +import { Like, prisma } from '../common/db-client'; import { revalidateCommentWidget } from '../common/revalidate'; import { deleteNotificationMessage, getAuthorByCommentId } from './utilities'; diff --git a/packages/trpc/src/mutation-event/utilities.ts b/packages/trpc/src/mutation-event/utilities.ts index eb51d843a..2a2bdfa1c 100644 --- a/packages/trpc/src/mutation-event/utilities.ts +++ b/packages/trpc/src/mutation-event/utilities.ts @@ -1,6 +1,6 @@ import { log } from 'next-axiom'; -import { NotificationMessage, prisma } from '../common/db'; +import { NotificationMessage, prisma } from '../common/db-client'; export async function getAuthorByCommentId(commentId: string) { return await prisma.comment.findUnique({ diff --git a/packages/trpc/src/notification/push-web-notification.ts b/packages/trpc/src/notification/push-web-notification.ts index 456eab59f..0390243b0 100644 --- a/packages/trpc/src/notification/push-web-notification.ts +++ b/packages/trpc/src/notification/push-web-notification.ts @@ -3,7 +3,7 @@ import { FEEDBACK_LINK, getPublicEnvVar } from '@chirpy-dev/utils'; import { log } from 'next-axiom'; import webpush, { PushSubscription } from 'web-push'; -import { prisma, NotificationSubscription } from '../common/db'; +import { prisma, NotificationSubscription } from '../common/db-client'; import { NotificationPayload } from './types'; export type WebNotificationPayload = { diff --git a/packages/trpc/src/notification/send-notification-via-email.ts b/packages/trpc/src/notification/send-notification-via-email.ts index 38f726805..31979b93e 100644 --- a/packages/trpc/src/notification/send-notification-via-email.ts +++ b/packages/trpc/src/notification/send-notification-via-email.ts @@ -1,5 +1,5 @@ import { sendNotificationEmail } from '@chirpy-dev/emails'; -import { NotificationType_Enum } from '@chirpy-dev/graphql'; +import { NotificationType_Enum } from '@chirpy-dev/types'; import { log } from 'next-axiom'; import { NotificationPayload } from './types'; diff --git a/packages/trpc/src/notification/send.ts b/packages/trpc/src/notification/send.ts index 87ef30a90..022779368 100644 --- a/packages/trpc/src/notification/send.ts +++ b/packages/trpc/src/notification/send.ts @@ -1,6 +1,6 @@ import { log } from 'next-axiom'; -import { prisma } from '../common/db'; +import { prisma } from '../common/db-client'; import { pushWebNotification } from './push-web-notification'; import { sendNotificationViaEmail } from './send-notification-via-email'; import { NotificationPayload } from './types'; diff --git a/packages/trpc/src/router/comment.ts b/packages/trpc/src/router/comment.ts index f4f67067a..5d506f8c1 100644 --- a/packages/trpc/src/router/comment.ts +++ b/packages/trpc/src/router/comment.ts @@ -1,7 +1,7 @@ import { TRPCError } from '@trpc/server'; import { z } from 'zod'; -import { prisma } from '../common/db'; +import { prisma } from '../common/db-client'; import { router, publicProcedure, protectedProcedure } from '../trpc-server'; import { rteContentValidator } from './validator'; diff --git a/packages/trpc/src/router/like.ts b/packages/trpc/src/router/like.ts index b39166cea..8d9b6e7f6 100644 --- a/packages/trpc/src/router/like.ts +++ b/packages/trpc/src/router/like.ts @@ -1,6 +1,6 @@ import { z } from 'zod'; -import { prisma } from '../common/db'; +import { prisma } from '../common/db-client'; import { router, protectedProcedure } from '../trpc-server'; export const likeRouter = router({ diff --git a/packages/trpc/src/router/notification.ts b/packages/trpc/src/router/notification.ts index 498502f99..0db21b215 100644 --- a/packages/trpc/src/router/notification.ts +++ b/packages/trpc/src/router/notification.ts @@ -1,6 +1,6 @@ import { z } from 'zod'; -import { prisma } from '../common/db'; +import { prisma } from '../common/db-client'; import { handleCommentEvent } from '../mutation-event/comment-handler'; import { handleLikeEvent } from '../mutation-event/like-handler'; import { router, protectedProcedure } from '../trpc-server'; diff --git a/packages/trpc/src/router/page.ts b/packages/trpc/src/router/page.ts index d5d1a4014..e85ac8c53 100644 --- a/packages/trpc/src/router/page.ts +++ b/packages/trpc/src/router/page.ts @@ -1,6 +1,6 @@ import { z } from 'zod'; -import { prisma } from '../common/db'; +import { prisma } from '../common/db-client'; import { router, protectedProcedure } from '../trpc-server'; export const pageRouter = router({}); diff --git a/packages/trpc/src/router/project.ts b/packages/trpc/src/router/project.ts index 3a97cd36e..7e9af9601 100644 --- a/packages/trpc/src/router/project.ts +++ b/packages/trpc/src/router/project.ts @@ -1,6 +1,6 @@ import { z } from 'zod'; -import { prisma } from '../common/db'; +import { prisma } from '../common/db-client'; import { router, protectedProcedure, publicProcedure } from '../trpc-server'; export const projectRouter = router({ diff --git a/packages/trpc/src/router/user.ts b/packages/trpc/src/router/user.ts index a178d4f8d..175cb5365 100644 --- a/packages/trpc/src/router/user.ts +++ b/packages/trpc/src/router/user.ts @@ -1,6 +1,6 @@ import { z } from 'zod'; -import { prisma } from '../common/db'; +import { prisma } from '../common/db-client'; import { router, protectedProcedure } from '../trpc-server'; export const userRouter = router({ @@ -31,6 +31,7 @@ export const userRouter = router({ .input( z.object({ name: z.string().nullish(), + username: z.string().nullish(), email: z.string().nullish(), bio: z.string().nullish(), website: z.string().nullish(), diff --git a/packages/types/src/widget.ts b/packages/types/src/widget.ts deleted file mode 100644 index d44711d98..000000000 --- a/packages/types/src/widget.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { - CommentTimelineSubscription, - CommentTreeSubscription, - InsertOneLikeMutation, -} from '@chirpy-dev/graphql'; - -export type CommentLeafType = CommentTreeSubscription['comments'][number]; -export type CommentTimelineNode = CommentTimelineSubscription['commentByPk']; -export type InsertOneLike = NonNullable; diff --git a/packages/ui/src/__tests__/fixtures/server/graphql-handlers.ts b/packages/ui/src/__tests__/fixtures/server/graphql-handlers.ts deleted file mode 100644 index 77207fb7e..000000000 --- a/packages/ui/src/__tests__/fixtures/server/graphql-handlers.ts +++ /dev/null @@ -1,64 +0,0 @@ -import { - CurrentNotificationMessagesQuery, - CurrentNotificationMessagesQueryVariables, -} from '@chirpy-dev/graphql'; -import { graphql } from 'msw'; - -import { mockNotificationData } from '../../mocks/data/notification-data'; - -export const graphqlHandlers = [ - graphql.query('currentUser', (req, res, ctx) => { - const { id } = req.variables; - return res( - ctx.data({ - userByPk: { - __typename: 'User', - id, - email: 'email@test.com', - username: 'testusername', - name: 'Test user', - image: 'https://avater.test', - bio: 'This is a bio for testing', - website: 'https://test.com', - twitterUserName: 'twittertest', - }, - }), - ); - }), - graphql.query< - CurrentNotificationMessagesQuery, - CurrentNotificationMessagesQueryVariables - >('currentNotificationMessages', (req, res, ctx) => { - return res( - ctx.data(mockNotificationData as CurrentNotificationMessagesQuery), - ); - }), - graphql.query('pageByURL', (req, res, ctx) => { - const { url, title } = req.variables; - return res( - ctx.data({ - pages: [ - { - __typename: 'Page', - id: 'page-id', - url, - title, - project: { - domain: 'test.com', - }, - }, - ], - }), - ); - }), - graphql.mutation('updateUserFields', (req, res, ctx) => { - return res( - ctx.data({ - updateUserByPk: { - __typename: 'User', - id: 'user-id', - }, - }), - ); - }), -]; diff --git a/packages/ui/src/__tests__/fixtures/server/index.ts b/packages/ui/src/__tests__/fixtures/server/index.ts index a17ed6bdd..45a7b2843 100644 --- a/packages/ui/src/__tests__/fixtures/server/index.ts +++ b/packages/ui/src/__tests__/fixtures/server/index.ts @@ -1,7 +1,6 @@ import { setupServer } from 'msw/node'; -import { graphqlHandlers } from './graphql-handlers'; import { restHandlers } from './rest-handlers'; -const handlers = [...restHandlers, ...graphqlHandlers]; +const handlers = [...restHandlers]; export const server = setupServer(...handlers); diff --git a/packages/ui/src/blocks/comment-card/comment-card.tsx b/packages/ui/src/blocks/comment-card/comment-card.tsx index c029b2314..39862e72c 100644 --- a/packages/ui/src/blocks/comment-card/comment-card.tsx +++ b/packages/ui/src/blocks/comment-card/comment-card.tsx @@ -1,10 +1,8 @@ -import { CommentLeafType } from '@chirpy-dev/types'; import { RTEValue } from '@chirpy-dev/types'; import { COMMENT_TREE_MAX_DEPTH, isENVDev } from '@chirpy-dev/utils'; import clsx from 'clsx'; import { AnimatePresence, m, Variants } from 'framer-motion'; import * as React from 'react'; -import { trpcClient } from 'src/utilities/trpc-client'; import { Avatar } from '../../components/avatar'; import { ActionButton, Button } from '../../components/button'; @@ -19,6 +17,7 @@ import { Text } from '../../components/text'; import { useToast } from '../../components/toast'; import { useCommentContext } from '../../contexts/comment-context'; import { useCurrentUser } from '../../contexts/current-user-context'; +import { CommentLeafType } from '../../types'; import { cpDayjs } from '../../utilities/date'; import { logger } from '../../utilities/logger'; import { Like, LikeAction } from '../like-action'; diff --git a/packages/ui/src/blocks/comment-forest/comment-forest.tsx b/packages/ui/src/blocks/comment-forest/comment-forest.tsx index 8b8870d54..7f080e0ad 100644 --- a/packages/ui/src/blocks/comment-forest/comment-forest.tsx +++ b/packages/ui/src/blocks/comment-forest/comment-forest.tsx @@ -1,4 +1,3 @@ -import { Order_By } from '@chirpy-dev/graphql'; import clsx from 'clsx'; import { AnimatePresence } from 'framer-motion'; import * as React from 'react'; @@ -13,7 +12,7 @@ import { CommentTree } from '../comment-tree'; import { NotificationHub } from '../notification-hub'; import { RichTextEditor } from '../rich-text-editor'; import { UserMenu } from '../user-menu'; -import { useCommentOrderBy } from './use-comment-order-by'; +import { OrderBy, useCommentOrderBy } from './use-comment-order-by'; export type CommentForestProps = { comments: RouterOutputs['comment']['forest']; @@ -90,7 +89,7 @@ export function CommentForest({ function sortComments( comments: RouterOutputs['comment']['forest'], - orderBy?: Order_By, + orderBy?: OrderBy, ): RouterOutputs['comment']['forest'] { if (!orderBy) { return comments; diff --git a/packages/ui/src/blocks/comment-forest/use-comment-order-by.ts b/packages/ui/src/blocks/comment-forest/use-comment-order-by.ts index 02082690e..63d50b6d9 100644 --- a/packages/ui/src/blocks/comment-forest/use-comment-order-by.ts +++ b/packages/ui/src/blocks/comment-forest/use-comment-order-by.ts @@ -1,7 +1,7 @@ -import { Order_By } from '@chirpy-dev/graphql'; - import { useLocalStorage } from '../../hooks'; +export type OrderBy = 'desc' | 'asc'; + export function useCommentOrderBy() { - return useLocalStorage('asc', 'comment-order-by'); + return useLocalStorage('asc', 'comment-order-by'); } diff --git a/packages/ui/src/blocks/comment-timeline/comment-timeline.tsx b/packages/ui/src/blocks/comment-timeline/comment-timeline.tsx index fabc19492..d42e1b807 100644 --- a/packages/ui/src/blocks/comment-timeline/comment-timeline.tsx +++ b/packages/ui/src/blocks/comment-timeline/comment-timeline.tsx @@ -1,4 +1,4 @@ -import { CommentTimelineNode, RTEValue } from '@chirpy-dev/types'; +import { RTEValue } from '@chirpy-dev/types'; import clsx from 'clsx'; import * as React from 'react'; @@ -7,6 +7,8 @@ import { CommentBranch } from '../comment-branch'; import { CommentCard } from '../comment-card'; import styles from './comment-linked-list.module.scss'; +export type CommentTimelineNode = RouterOutputs['comment']['timeline']; + export type Comment = NonNullable; export type CommentTimelineProps = { diff --git a/packages/ui/src/blocks/comment-tree/comment-tree.tsx b/packages/ui/src/blocks/comment-tree/comment-tree.tsx index 61ea64c70..963117c30 100644 --- a/packages/ui/src/blocks/comment-tree/comment-tree.tsx +++ b/packages/ui/src/blocks/comment-tree/comment-tree.tsx @@ -1,12 +1,12 @@ -import { CommentLeafType, RTEValue } from '@chirpy-dev/types'; +import { RTEValue } from '@chirpy-dev/types'; import * as React from 'react'; -import { RouterOutputs } from 'src/utilities/trpc-client'; +import { CommentLeafType } from '../../types'; import { CommentBranch } from '../comment-branch'; import { CommentCard } from '../comment-card'; export type CommentProps = { - comment: RouterOutputs['comment']['forest'][number]; + comment: CommentLeafType; depth: number; }; diff --git a/packages/ui/src/blocks/comment-widget-preview/comment-widget-preview.tsx b/packages/ui/src/blocks/comment-widget-preview/comment-widget-preview.tsx index ccb40ab1d..1dd4b9f87 100644 --- a/packages/ui/src/blocks/comment-widget-preview/comment-widget-preview.tsx +++ b/packages/ui/src/blocks/comment-widget-preview/comment-widget-preview.tsx @@ -1,4 +1,5 @@ -import { CommentLeafType, RTEValue } from '@chirpy-dev/types'; +import { Like, User } from '@chirpy-dev/trpc'; +import { RTEValue } from '@chirpy-dev/types'; import * as React from 'react'; import { useToast } from '../../components/toast'; @@ -10,6 +11,7 @@ import { UseToggleALikeAction, } from '../../contexts/comment-context'; import { useCurrentUser } from '../../contexts/current-user-context'; +import { CommentLeafType } from '../../types'; import { CommentForest } from '../comment-forest'; import { PredefinedCurrentUser } from './predefined-current-user'; import { PredefinedNotification } from './predefined-notification'; @@ -48,18 +50,18 @@ function CommentWidgetPreviewInternal( async (reply: RTEValue, commentId?: string | undefined) => { const newComment: CommentLeafType = { id: `${String(Math.random()).slice(2)}`, - content: reply, - parentId: commentId, + content: reply!, + parentId: commentId || null, pageId: PAGE_ID, - createdAt: new Date().toISOString(), + createdAt: new Date(), user: { id: data.id || '', name: data.name || '', image: data.image || '', - }, + } as User, replies: [], likes: [], - }; + } as unknown as CommentLeafType; if (!commentId) { // This is a root comment @@ -97,7 +99,7 @@ function CommentWidgetPreviewInternal( comment.likes.push({ id: likeId, userId: data.id || '', - }); + } as unknown as Like); } } return [...prevData]; @@ -170,7 +172,7 @@ function deleteACommentById( const newComments: CommentLeafType[] = []; for (const comment of comments) { if (comment.id === id) { - comment.deletedAt = new Date().toISOString(); + comment.deletedAt = new Date(); } comment.replies = deleteACommentById( diff --git a/packages/ui/src/blocks/comment-widget-preview/preview-data.ts b/packages/ui/src/blocks/comment-widget-preview/preview-data.ts index 8ab1e703a..577cf00a9 100644 --- a/packages/ui/src/blocks/comment-widget-preview/preview-data.ts +++ b/packages/ui/src/blocks/comment-widget-preview/preview-data.ts @@ -1,6 +1,8 @@ -import { CommentLeafType } from '@chirpy-dev/types'; +import { Like, User } from '@chirpy-dev/trpc'; import dayjs from 'dayjs'; +import { CommentLeafType } from '../../types'; + export const PAGE_ID = 'b5a16120-593c-492f-ad94-e14d247485f3'; export const PROJECT_ID = '3c5d2d41-e2df-4b31-98f8-6e471acab461'; @@ -9,7 +11,7 @@ const UserJane = { id: '634da1be-cc04-4719-908e-c642de76e292', name: 'Jane', image: '/images/avatars/female-1.jpeg', -}; +} as unknown as User; export const getPreviewComments = (date: string): CommentLeafType[] => { const dateTime = dayjs(date); @@ -31,14 +33,13 @@ export const getPreviewComments = (date: string): CommentLeafType[] => { }, ], }, - createdAt: dateTime.subtract(50, 'hours').toISOString(), + createdAt: dateTime.subtract(50, 'hours').toDate(), parentId: null, pageId: PAGE_ID, user: UserJane, likes: [], replies: [ { - __typename: 'Comment', id: '87110a09-9a4b-4f41-8784-6f8512449ddf', content: { type: 'doc', @@ -54,27 +55,25 @@ export const getPreviewComments = (date: string): CommentLeafType[] => { }, ], }, - createdAt: dateTime.subtract(49, 'hours').toISOString(), + createdAt: dateTime.subtract(49, 'hours').toDate(), parentId: '4f5f8d1f-ed42-44ff-a4cd-f7b51af55e1f', pageId: PAGE_ID, user: { - __typename: 'User', id: '634da1be-cc04-4719-908e-c642de76e292', name: 'Dianne', image: '/images/avatars/female-2.jpeg', - }, + } as User, likes: [ { id: 'dd4812a5-031f-4534-8713-be586927081f', userId: UserJane.id, - }, + } as Like, ], replies: [], }, - ], + ] as any, }, { - __typename: 'Comment', id: '7a024861-7dce-4513-9f8a-c9e91d975da4', content: { type: 'doc', @@ -90,17 +89,16 @@ export const getPreviewComments = (date: string): CommentLeafType[] => { }, ], }, - createdAt: dateTime.subtract(25, 'hours').toISOString(), + createdAt: dateTime.subtract(25, 'hours').toDate(), parentId: null, pageId: PAGE_ID, user: { - __typename: 'User', id: '634da1be-cc04-4719-908e-c642de76e292', name: 'William', image: '/images/avatars/male-1.jpeg', - }, + } as User, likes: [], replies: [], - }, + } as any, ]; }; diff --git a/packages/ui/src/blocks/confirm-user-fields/confirm-user-fields.tsx b/packages/ui/src/blocks/confirm-user-fields/confirm-user-fields.tsx index 32b24495d..3a40870d4 100644 --- a/packages/ui/src/blocks/confirm-user-fields/confirm-user-fields.tsx +++ b/packages/ui/src/blocks/confirm-user-fields/confirm-user-fields.tsx @@ -1,4 +1,3 @@ -import { useUpdateUserFieldsMutation } from '@chirpy-dev/graphql'; import { useRouter } from 'next/router'; import * as React from 'react'; @@ -7,9 +6,10 @@ import { Card } from '../../components/card'; import { IconCheck, IconLoader, IconSend } from '../../components/icons'; import { TextField } from '../../components/text-field'; import { useToast } from '../../components/toast'; -import { useCurrentUser } from '../../contexts/current-user-context'; +import { useCurrentUser } from '../../contexts'; import { useForm } from '../../hooks/use-form'; import { logger } from '../../utilities/logger'; +import { trpcClient } from '../../utilities/trpc-client'; import { EMAIL_REGEXP } from '../../utilities/validator'; import { sleep } from './utils'; @@ -38,7 +38,9 @@ export function ConfirmUserFields(/*props: ConfirmUserFieldsProps*/): JSX.Elemen } // eslint-disable-next-line react-hooks/exhaustive-deps }, [data, isLoadingUser]); - const [{ fetching: loading }, updateUser] = useUpdateUserFieldsMutation(); + const { mutateAsync: updateUser, status } = + trpcClient.user.updateProfile.useMutation(); + const loading = status === 'loading'; const [isSaved, setIsSaved] = React.useState(false); const router = useRouter(); const { showToast } = useToast(); @@ -47,7 +49,6 @@ export function ConfirmUserFields(/*props: ConfirmUserFieldsProps*/): JSX.Elemen if (!data.id || isSaved) return; try { await updateUser({ - id: data.id, email: fields.email, name: fields.name, username: fields.username, diff --git a/packages/ui/src/blocks/project-card/project-card.tsx b/packages/ui/src/blocks/project-card/project-card.tsx index 2d38dedc6..2fabc4f65 100644 --- a/packages/ui/src/blocks/project-card/project-card.tsx +++ b/packages/ui/src/blocks/project-card/project-card.tsx @@ -1,4 +1,3 @@ -import { useDeleteProjectByPkMutation } from '@chirpy-dev/graphql'; import * as React from 'react'; import { BaseButton, Button } from '../../components/button'; @@ -19,7 +18,7 @@ import { useToast } from '../../components/toast'; import { listHoverable } from '../../styles/common'; import { cpDayjs } from '../../utilities/date'; import { logger } from '../../utilities/logger'; -import { RouterOutputs } from '../../utilities/trpc-client'; +import { RouterOutputs, trpcClient } from '../../utilities/trpc-client'; import { IntegrateGuide } from '../integrate-guide'; import { PageViewStats } from './page-view-stats'; @@ -42,12 +41,13 @@ export function ProjectCard({ setDeletingProjectId(''); setDeletingProject(''); }; - const [{ fetching: loading }, deleteProjectByPkMutation] = - useDeleteProjectByPkMutation(); + const { mutateAsync: deleteProject, status } = + trpcClient.project.delete.useMutation(); + const loading = status === 'loading'; const { showToast } = useToast(); const handleClickConfirmDelete = async () => { try { - await deleteProjectByPkMutation({ + await deleteProject({ id: deletingProjectId, }); setDeletingProjectId(''); diff --git a/packages/ui/src/blocks/theme-editor/theme-editor.tsx b/packages/ui/src/blocks/theme-editor/theme-editor.tsx index da7f23f83..53793f2f1 100644 --- a/packages/ui/src/blocks/theme-editor/theme-editor.tsx +++ b/packages/ui/src/blocks/theme-editor/theme-editor.tsx @@ -1,4 +1,3 @@ -import { useUpdateThemeMutation } from '@chirpy-dev/graphql'; import { Theme } from '@chirpy-dev/types'; import clsx from 'clsx'; import debounce from 'debounce-promise'; diff --git a/packages/ui/src/types/index.ts b/packages/ui/src/types/index.ts new file mode 100644 index 000000000..02d494dc9 --- /dev/null +++ b/packages/ui/src/types/index.ts @@ -0,0 +1,3 @@ +import { RouterOutputs } from '../utilities/trpc-client'; + +export type CommentLeafType = RouterOutputs['comment']['forest'][number]; From ca281fe4cb31bb8294b4d80233c8ddf9186d05fa Mon Sep 17 00:00:00 2001 From: Qing <7880675+devrsi0n@users.noreply.github.com> Date: Sun, 27 Nov 2022 15:50:04 +0800 Subject: [PATCH 18/34] refactor: remove graphql packages --- .github/workflows/stellate.yml | 29 - README-zh.md | 1 - README.md | 1 - apps/emails/config.production.js | 5 +- apps/main/package.json | 4 - apps/main/src/lib/admin-gql-client.ts | 35 - apps/main/src/middleware.ts | 10 +- .../widget/comment/timeline/[commentId].tsx | 6 +- apps/main/src/server/common/gql.ts | 65 - apps/main/stellate.ts | 38 - package.json | 1 - packages/emails/package.json | 1 + packages/graphql/package.json | 35 - packages/graphql/scripts/client-codegen.yml | 34 - packages/graphql/scripts/gql-gen.mjs | 19 - packages/graphql/scripts/graphql-schema.json | 37368 ---------------- packages/graphql/scripts/schema.graphql | 6672 --- packages/graphql/scripts/server-codegen.yml | 36 - packages/graphql/src/backend/account.graphql | 61 - packages/graphql/src/backend/comment.graphql | 52 - .../graphql/src/backend/generated/account.tsx | 445 - .../graphql/src/backend/generated/comment.tsx | 447 - .../graphql/src/backend/generated/like.tsx | 126 - .../src/backend/generated/notification.tsx | 586 - .../graphql/src/backend/generated/page.tsx | 652 - .../graphql/src/backend/generated/project.tsx | 449 - .../graphql/src/backend/generated/session.tsx | 521 - .../graphql/src/backend/generated/types.ts | 5123 --- .../graphql/src/backend/generated/user.tsx | 1310 - .../backend/generated/verification-token.tsx | 275 - packages/graphql/src/backend/index.ts | 9 - packages/graphql/src/backend/like.graphql | 19 - .../graphql/src/backend/notification.graphql | 66 - packages/graphql/src/backend/page.graphql | 65 - packages/graphql/src/backend/project.graphql | 54 - packages/graphql/src/backend/session.graphql | 60 - packages/graphql/src/backend/user.graphql | 171 - .../src/backend/verification-token.graphql | 28 - packages/graphql/src/frontend/comment.graphql | 77 - .../src/frontend/generated/comment.tsx | 348 - .../graphql/src/frontend/generated/like.tsx | 51 - .../src/frontend/generated/notification.tsx | 134 - .../graphql/src/frontend/generated/page.tsx | 40 - .../src/frontend/generated/project.tsx | 87 - .../graphql/src/frontend/generated/types.ts | 5123 --- .../graphql/src/frontend/generated/user.tsx | 184 - packages/graphql/src/frontend/index.ts | 34 - packages/graphql/src/frontend/like.graphql | 11 - .../graphql/src/frontend/notification.graphql | 43 - packages/graphql/src/frontend/page.graphql | 10 - packages/graphql/src/frontend/project.graphql | 24 - packages/graphql/src/frontend/user.graphql | 67 - packages/graphql/src/index.ts | 2 - packages/graphql/tsconfig.json | 9 - packages/trpc/package.json | 15 +- packages/trpc/src/auth/index.ts | 1 + packages/types/package.json | 6 +- packages/types/src/request.ts | 3 - packages/ui/.storybook/preview.tsx | 30 +- packages/ui/package.json | 18 +- .../ui/src/__tests__/fixtures/page-render.tsx | 10 +- .../__tests__/mocks/current-user-provider.tsx | 17 +- .../__tests__/mocks/data/notification-data.ts | 28 - .../__tests__/notification-hub.test.tsx | 33 +- .../notification-hub/stories/mock-data.ts | 101 +- .../stories/notification-hub.stories.tsx | 26 +- .../auth/__tests__}/sign-in.test.tsx | 4 +- .../auth/__tests__}/welcome.test.tsx | 30 +- .../dashboard/__tests__}/dashboard.test.tsx | 49 +- pnpm-lock.yaml | 3348 +- turbo.json | 10 +- 71 files changed, 370 insertions(+), 64482 deletions(-) delete mode 100644 .github/workflows/stellate.yml delete mode 100644 apps/main/src/lib/admin-gql-client.ts delete mode 100644 apps/main/src/server/common/gql.ts delete mode 100644 apps/main/stellate.ts delete mode 100644 packages/graphql/package.json delete mode 100644 packages/graphql/scripts/client-codegen.yml delete mode 100644 packages/graphql/scripts/gql-gen.mjs delete mode 100644 packages/graphql/scripts/graphql-schema.json delete mode 100644 packages/graphql/scripts/schema.graphql delete mode 100644 packages/graphql/scripts/server-codegen.yml delete mode 100644 packages/graphql/src/backend/account.graphql delete mode 100644 packages/graphql/src/backend/comment.graphql delete mode 100644 packages/graphql/src/backend/generated/account.tsx delete mode 100644 packages/graphql/src/backend/generated/comment.tsx delete mode 100644 packages/graphql/src/backend/generated/like.tsx delete mode 100644 packages/graphql/src/backend/generated/notification.tsx delete mode 100644 packages/graphql/src/backend/generated/page.tsx delete mode 100644 packages/graphql/src/backend/generated/project.tsx delete mode 100644 packages/graphql/src/backend/generated/session.tsx delete mode 100644 packages/graphql/src/backend/generated/types.ts delete mode 100644 packages/graphql/src/backend/generated/user.tsx delete mode 100644 packages/graphql/src/backend/generated/verification-token.tsx delete mode 100644 packages/graphql/src/backend/index.ts delete mode 100644 packages/graphql/src/backend/like.graphql delete mode 100644 packages/graphql/src/backend/notification.graphql delete mode 100644 packages/graphql/src/backend/page.graphql delete mode 100644 packages/graphql/src/backend/project.graphql delete mode 100644 packages/graphql/src/backend/session.graphql delete mode 100644 packages/graphql/src/backend/user.graphql delete mode 100644 packages/graphql/src/backend/verification-token.graphql delete mode 100644 packages/graphql/src/frontend/comment.graphql delete mode 100644 packages/graphql/src/frontend/generated/comment.tsx delete mode 100644 packages/graphql/src/frontend/generated/like.tsx delete mode 100644 packages/graphql/src/frontend/generated/notification.tsx delete mode 100644 packages/graphql/src/frontend/generated/page.tsx delete mode 100644 packages/graphql/src/frontend/generated/project.tsx delete mode 100644 packages/graphql/src/frontend/generated/types.ts delete mode 100644 packages/graphql/src/frontend/generated/user.tsx delete mode 100644 packages/graphql/src/frontend/index.ts delete mode 100644 packages/graphql/src/frontend/like.graphql delete mode 100644 packages/graphql/src/frontend/notification.graphql delete mode 100644 packages/graphql/src/frontend/page.graphql delete mode 100644 packages/graphql/src/frontend/project.graphql delete mode 100644 packages/graphql/src/frontend/user.graphql delete mode 100644 packages/graphql/src/index.ts delete mode 100644 packages/graphql/tsconfig.json delete mode 100644 packages/types/src/request.ts delete mode 100644 packages/ui/src/__tests__/mocks/data/notification-data.ts rename packages/ui/src/{__tests__/pages/auth => pages/auth/__tests__}/sign-in.test.tsx (84%) rename packages/ui/src/{__tests__/pages/auth => pages/auth/__tests__}/welcome.test.tsx (81%) rename packages/ui/src/{__tests__/pages => pages/dashboard/__tests__}/dashboard.test.tsx (64%) diff --git a/.github/workflows/stellate.yml b/.github/workflows/stellate.yml deleted file mode 100644 index 931f03eed..000000000 --- a/.github/workflows/stellate.yml +++ /dev/null @@ -1,29 +0,0 @@ -name: Stellate -on: - push: - branches: - - main - - prod - -jobs: - main: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - - name: Setup Node.js 16.x - uses: actions/setup-node@v2 - with: - node-version: 16.x - - - name: Push stellate schema on staging - if: ${{ env.GITHUB_REF_SLUG == 'main' }} - run: cd ./apps/main && npx stellate push schema --env staging - env: - STELLATE_TOKEN: ${{ secrets.STELLATE_TOKEN }} - - - name: Push stellate schema on prod - if: ${{ env.GITHUB_REF_SLUG == 'prod' }} - run: npx stellate push schema - env: - STELLATE_TOKEN: ${{ secrets.STELLATE_TOKEN }} diff --git a/README-zh.md b/README-zh.md index d7c69c050..98ff5ef94 100644 --- a/README-zh.md +++ b/README-zh.md @@ -58,7 +58,6 @@ - [![TailwindCSS](https://img.shields.io/badge/tailwindcss-%2338B2AC.svg?style=for-the-badge&logo=tailwind-css&logoColor=white)](https://tailwindcss.com/) - [![cypress](https://img.shields.io/badge/-cypress-%23E5E5E5?style=for-the-badge&logo=cypress&logoColor=058a5e)](https://www.cypress.io/) - [![Jest](https://img.shields.io/badge/-jest-%23C21325?style=for-the-badge&logo=jest&logoColor=white)](https://jestjs.io/) -- [urql](https://github.com/FormidableLabs/urql) - [next-auth](https://github.com/nextauthjs/next-auth) - [tiptap](https://tiptap.dev) - [Plausible](https://github.com/plausible/analytics) diff --git a/README.md b/README.md index 0cb00a864..3e92d6bee 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,6 @@ You can have a [self-hosted](https://chirpy.dev/docs/self-hosted) version of Chi - [![TailwindCSS](https://img.shields.io/badge/tailwindcss-%2338B2AC.svg?style=for-the-badge&logo=tailwind-css&logoColor=white)](https://tailwindcss.com/) - [![cypress](https://img.shields.io/badge/-cypress-%23E5E5E5?style=for-the-badge&logo=cypress&logoColor=058a5e)](https://www.cypress.io/) - [![Jest](https://img.shields.io/badge/-jest-%23C21325?style=for-the-badge&logo=jest&logoColor=white)](https://jestjs.io/) -- [urql](https://github.com/FormidableLabs/urql) - [next-auth](https://github.com/nextauthjs/next-auth) - [tiptap](https://tiptap.dev) - [Plausible](https://github.com/plausible/analytics) diff --git a/apps/emails/config.production.js b/apps/emails/config.production.js index 6afcd1ba5..6feaa2df0 100644 --- a/apps/emails/config.production.js +++ b/apps/emails/config.production.js @@ -14,10 +14,7 @@ module.exports = { build: { templates: { destination: { - path: path.resolve( - __dirname, - '../main/src/server/services/email/templates', - ), + path: path.resolve(__dirname, '../../packages/emails/src/templates'), }, }, }, diff --git a/apps/main/package.json b/apps/main/package.json index d2adc5399..e229e8db0 100644 --- a/apps/main/package.json +++ b/apps/main/package.json @@ -21,7 +21,6 @@ "@chirpy-dev/ui": "workspace:*", "@chirpy-dev/utils": "workspace:*", "@radix-ui/colors": "0.1.8", - "@sendinblue/client": "3.2.2", "@tensorflow-models/toxicity": "1.2.2", "@tensorflow/tfjs": "3.18.0", "@tensorflow/tfjs-converter": "3.18.0", @@ -42,7 +41,6 @@ "next-plausible": "3.6.4", "next-superjson-plugin": "0.4.9", "next-themes": "0.2.1", - "next-urql": "4.0.0", "nodemailer": "6.7.8", "react": "18.2.0", "react-dom": "18.2.0", @@ -54,7 +52,6 @@ "shiki": "0.11.1", "superjson": "1.11.0", "type-fest": "3.2.0", - "urql": "3.0.3", "web-push": "3.5.0", "wonka": "6.1.1", "ws": "8.11.0" @@ -85,7 +82,6 @@ "eslint": "8.28.0", "jest": "29.3.1", "postcss": "8.4.19", - "stellate": "1.17.1", "tailwindcss": "3.2.4", "typescript": "4.9.3", "webpack": "5.75.0" diff --git a/apps/main/src/lib/admin-gql-client.ts b/apps/main/src/lib/admin-gql-client.ts deleted file mode 100644 index b823c0a76..000000000 --- a/apps/main/src/lib/admin-gql-client.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { getGqlClientOptions } from '@chirpy-dev/ui'; -import { getPublicEnvVar } from '@chirpy-dev/utils'; -import { createClient as createWSClient } from 'graphql-ws'; -import { createClient, Client } from 'urql'; -import { WebSocket } from 'ws'; - -// Server WS client -class ChirpyWebSocket extends WebSocket { - constructor(...args: ConstructorParameters) { - super(args[0], args[1], { - ...args[2], - headers: ADMIN_HEADERS, - }); - } -} - -export function getAdminGqlClient(): Client { - return createClient( - getGqlClientOptions( - ADMIN_HEADERS, - 'network-only', - createWSClient({ - url: getPublicEnvVar( - 'NEXT_PUBLIC_HASURA_WS_ORIGIN', - process.env.NEXT_PUBLIC_HASURA_WS_ORIGIN, - ), - webSocketImpl: ChirpyWebSocket, - }), - ), - ); -} - -const ADMIN_HEADERS = { - 'x-hasura-admin-secret': process.env.HASURA_ADMIN_SECRET, -}; diff --git a/apps/main/src/middleware.ts b/apps/main/src/middleware.ts index 0160dc767..f7e19c69a 100644 --- a/apps/main/src/middleware.ts +++ b/apps/main/src/middleware.ts @@ -1,15 +1,8 @@ -import { withAuth } from 'next-auth/middleware'; +import { withAuth } from '@chirpy-dev/trpc'; export default withAuth({ callbacks: { authorized: ({ token, req }) => { - if (req.nextUrl.pathname.includes('/api/mutation-event')) { - // We add a custom secret to verify the hasura event callback requests - return ( - req.headers.get('hasura_event_secret') === - process.env.HASURA_EVENT_SECRET - ); - } // Anonymous user doesn't have an email address return !!(token?.email || token?.name); }, @@ -26,7 +19,6 @@ export const config = { '/profile/:path*', '/theme/:path*', '/api/mutation-event', - '/api/notification', '/api/revalidate/widgets', ], }; diff --git a/apps/main/src/pages/widget/comment/timeline/[commentId].tsx b/apps/main/src/pages/widget/comment/timeline/[commentId].tsx index f62a98f2e..e83630121 100644 --- a/apps/main/src/pages/widget/comment/timeline/[commentId].tsx +++ b/apps/main/src/pages/widget/comment/timeline/[commentId].tsx @@ -1,5 +1,5 @@ import { prisma, ssg } from '@chirpy-dev/trpc'; -import { CommonWidgetProps, Theme } from '@chirpy-dev/types'; +import { Theme } from '@chirpy-dev/types'; import { CommentTimelineWidgetProps } from '@chirpy-dev/ui'; import { GetStaticProps, @@ -10,8 +10,6 @@ import { import { log } from 'next-axiom'; import superjson from 'superjson'; -import { getAdminGqlClient } from '$/lib/admin-gql-client'; - type PathParams = { commentId: string; }; @@ -43,8 +41,6 @@ export const getStaticPaths: GetStaticPaths = async () => { }; }; -const client = getAdminGqlClient(); - export const getStaticProps: GetStaticProps< CommentTimelineWidgetProps, PathParams diff --git a/apps/main/src/server/common/gql.ts b/apps/main/src/server/common/gql.ts deleted file mode 100644 index 9c77fe46c..000000000 --- a/apps/main/src/server/common/gql.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { DocumentNode } from 'graphql'; -import { log } from 'next-axiom'; -import { TypedDocumentNode } from 'urql'; - -import { getAdminGqlClient } from '$/lib/admin-gql-client'; - -const client = getAdminGqlClient(); - -/** - * Run a graphql query on the admin gql client, it handles the error and makes sure data exists - * @param query Document query - * @param variables Query variables - * @param path Data path of the result data, e.g. `insertOneUser` - */ -export async function query< - Data extends AnyObject = AnyObject, - Variables extends AnyObject = AnyObject, - Path extends keyof Data = keyof Data, ->( - query: DocumentNode | TypedDocumentNode | string, - variables: Variables, - path: Path, -): Promise> { - const { data, error } = await client.query(query, variables).toPromise(); - if (!data || !data[path] || error) { - const message = `GQL query error, error: ${error}, data: ${JSON.stringify( - data, - null, - 2, - )}`; - log.error(message, { stack: error?.stack }); - throw new Error(message); - } - return data[path] as NonNullable; -} - -/** - * Run a graphql mutation on the admin gql client, it handles the error and makes sure data exists - * @param mutation Document mutation - * @param variables Mutation variables - * @param path Data path of the result data, e.g. `insertOneUser` - */ -export async function mutate< - Data extends AnyObject = AnyObject, - Variables extends AnyObject = AnyObject, - Path extends keyof Data = keyof Data, ->( - mutation: DocumentNode | TypedDocumentNode | string, - variables: Variables, - path: Path, -): Promise> { - const { data, error } = await client - .mutation(mutation, variables) - .toPromise(); - if (!data || !data[path] || error) { - const message = `GQL mutation error, error: ${error}, data: ${JSON.stringify( - data, - null, - 2, - )}`; - log.error(message, { stack: error?.stack }); - throw new Error(message); - } - return data[path] as NonNullable; -} diff --git a/apps/main/stellate.ts b/apps/main/stellate.ts deleted file mode 100644 index 0fd67ab6f..000000000 --- a/apps/main/stellate.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Config } from 'stellate'; - -// @ts-ignore -const schema = require.resolve('@chirpy-dev/graphql/scripts/schema.graphql'); -const config: Config = { - config: { - enablePlayground: true, - // Not enable cache by default - passThroughOnly: true, - rules: [ - { - types: ['Page', 'Project', 'User'], - maxAge: 900, - swr: 900, - scope: 'AUTHENTICATED', - description: 'Cache everything (default)', - }, - ], - name: 'hasura', - originUrl: 'https://hasura.chirpy.dev/v1/graphql', - schema, - scopes: { - AUTHENTICATED: 'header:authorization|header:x-hasura-admin-secret', - }, - environments: { - // Use a separate service for staging, that points to your staging - // GraphQL API. To push configuration to that environment, use - // stellate push --env staging - staging: { - name: 'hasura-staging', - originUrl: 'https://hasura-staging.chirpy.dev/v1/graphql', - schema, - }, - }, - }, -}; - -export default config; diff --git a/package.json b/package.json index b75717aef..8c563ccc9 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,6 @@ "peerDependencyRules": { "ignoreMissing": [ "@testing-library/dom", - "@urql/core", "@storybook/addons", "@storybook/client-api", "@storybook/preview-web", diff --git a/packages/emails/package.json b/packages/emails/package.json index 1688d42ce..d027be9c7 100644 --- a/packages/emails/package.json +++ b/packages/emails/package.json @@ -10,6 +10,7 @@ }, "dependencies": { "@chirpy-dev/tsconfigs": "workspace:*", + "@sendinblue/client": "3.2.2", "eta": "1.12.3" }, "devDependencies": { diff --git a/packages/graphql/package.json b/packages/graphql/package.json deleted file mode 100644 index 7e71543fb..000000000 --- a/packages/graphql/package.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "@chirpy-dev/graphql", - "version": "0.0.1", - "license": "AGPL-3.0-or-later", - "main": "./src/index.ts", - "scripts": { - "build:local": "zx ./scripts/gql-gen.mjs", - "dev": "GQL_WATCH=true pnpm run build:local" - }, - "sideEffects": false, - "types": "./src/index.ts", - "devDependencies": { - "@chirpy-dev/tsconfigs": "workspace:*", - "@graphql-codegen/cli": "2.13.12", - "@graphql-codegen/introspection": "2.2.1", - "@graphql-codegen/near-operation-file-preset": "2.4.4", - "@graphql-codegen/typed-document-node": "2.3.7", - "@graphql-codegen/typescript": "2.8.2", - "@graphql-codegen/typescript-operations": "2.5.7", - "@graphql-codegen/typescript-urql": "3.7.3", - "@graphql-typed-document-node/core": "3.1.1", - "@types/node": "16.11.45", - "csstype": "3.1.1", - "graphql": "16.6.0", - "graphql-tag": "2.12.6", - "graphqurl": "1.0.1", - "react": "18.2.0", - "typescript": "4.9.3", - "urql": "3.0.3", - "zx": "7.0.8" - }, - "publishConfig": { - "access": "public" - } -} diff --git a/packages/graphql/scripts/client-codegen.yml b/packages/graphql/scripts/client-codegen.yml deleted file mode 100644 index 10a11f43c..000000000 --- a/packages/graphql/scripts/client-codegen.yml +++ /dev/null @@ -1,34 +0,0 @@ -overwrite: true -schema: - - ./scripts/graphql-schema.json -documents: - - 'src/frontend/*.graphql' -generates: - src/frontend/generated/types.ts: - plugins: - - typescript - config: - enumsAsTypes: true - src/frontend: - preset: near-operation-file - presetConfig: - baseTypesPath: ./generated/types.ts - folder: generated - extension: .tsx - plugins: - - typescript-operations - - typescript-urql -config: - withComponents: false - withHooks: true - # avoidOptionals: true - # immutableTypes: true - # maybeValue: T | null | undefined - # constEnums: true - scalars: - jsonb: 'any' - timestamptz: string - uuid: string -hooks: - afterAllFileWrite: - - prettier --write diff --git a/packages/graphql/scripts/gql-gen.mjs b/packages/graphql/scripts/gql-gen.mjs deleted file mode 100644 index 86c63d520..000000000 --- a/packages/graphql/scripts/gql-gen.mjs +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env zx - -/* eslint-disable no-console */ -import { $, path, YAML } from 'zx'; - -const serverCodeGen = path.resolve(__dirname, 'server-codegen.yml'); -const clientCodeGen = path.resolve(__dirname, 'client-codegen.yml'); -const extraFlags = process.env.GQL_WATCH ? '--watch' : ''; - -await $`graphql-codegen --config ${serverCodeGen} ${extraFlags}`; -console.log(chalk.blue('Generated sever graphql')); - -await $`graphql-codegen --config ${clientCodeGen} ${extraFlags}`; -console.log(chalk.blue('Generated frontend graphql')); - -const schemaPath = path.resolve(__dirname, 'schema.graphql'); -// Generate schema for stellate -await $`gq http://127.0.0.1:8080/v1/graphql -H "X-Hasura-Admin-Secret: c1b519db8df86cbe8cd625ee8548dc1f5aae41e22cf0059ee55ce6190725771c" --introspect > "${schemaPath}"`; -console.log(chalk.blue('Generated graphql schema')); diff --git a/packages/graphql/scripts/graphql-schema.json b/packages/graphql/scripts/graphql-schema.json deleted file mode 100644 index 7af88023e..000000000 --- a/packages/graphql/scripts/graphql-schema.json +++ /dev/null @@ -1,37368 +0,0 @@ -{ - "__schema": { - "queryType": { - "name": "query_root" - }, - "mutationType": { - "name": "mutation_root" - }, - "subscriptionType": { - "name": "subscription_root" - }, - "types": [ - { - "kind": "OBJECT", - "name": "Account", - "description": "columns and relationships of \"Account\"", - "fields": [ - { - "name": "accessToken", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "expiresAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "idToken", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "oauthToken", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "oauthTokenSecret", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "provider", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "providerAccountId", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "refreshToken", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "scope", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sessionState", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "tokenType", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "type", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": "An object relationship", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "User", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Account_aggregate", - "description": "aggregated selection of \"Account\"", - "fields": [ - { - "name": "aggregate", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "Account_aggregate_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "nodes", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Account", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Account_aggregate_fields", - "description": "aggregate fields of \"Account\"", - "fields": [ - { - "name": "count", - "description": null, - "args": [ - { - "name": "columns", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Account_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "distinct", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "max", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "Account_max_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "min", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "Account_min_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Account_aggregate_order_by", - "description": "order by aggregate values of table \"Account\"", - "fields": null, - "inputFields": [ - { - "name": "count", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "max", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_max_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "min", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_min_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Account_arr_rel_insert_input", - "description": "input type for inserting array relation for remote table \"Account\"", - "fields": null, - "inputFields": [ - { - "name": "data", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Account_insert_input", - "ofType": null - } - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Account_bool_exp", - "description": "Boolean expression to filter rows from the table \"Account\". All fields are combined with a logical 'AND'.", - "fields": null, - "inputFields": [ - { - "name": "_and", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Account_bool_exp", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_not", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_or", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Account_bool_exp", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "accessToken", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "expiresAt", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "timestamptz_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "uuid_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "idToken", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "oauthToken", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "oauthTokenSecret", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "provider", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "providerAccountId", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "refreshToken", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "scope", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sessionState", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "tokenType", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "type", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "User_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "uuid_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "Account_constraint", - "description": "unique or primary key constraints on table \"Account\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "Account_pkey", - "description": "unique or primary key constraint", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "Account_providerAccountId_provider_key", - "description": "unique or primary key constraint", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Account_insert_input", - "description": "input type for inserting data into table \"Account\"", - "fields": null, - "inputFields": [ - { - "name": "accessToken", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "expiresAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "idToken", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "oauthToken", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "oauthTokenSecret", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "provider", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "providerAccountId", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "refreshToken", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "scope", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sessionState", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "tokenType", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "type", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "User_obj_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Account_max_fields", - "description": "aggregate max on columns", - "fields": [ - { - "name": "accessToken", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "expiresAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "idToken", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "oauthToken", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "oauthTokenSecret", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "provider", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "providerAccountId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "refreshToken", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "scope", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sessionState", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "tokenType", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "type", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Account_max_order_by", - "description": "order by max() on columns of table \"Account\"", - "fields": null, - "inputFields": [ - { - "name": "accessToken", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "expiresAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "idToken", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "oauthToken", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "oauthTokenSecret", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "provider", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "providerAccountId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "refreshToken", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "scope", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sessionState", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "tokenType", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "type", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Account_min_fields", - "description": "aggregate min on columns", - "fields": [ - { - "name": "accessToken", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "expiresAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "idToken", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "oauthToken", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "oauthTokenSecret", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "provider", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "providerAccountId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "refreshToken", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "scope", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sessionState", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "tokenType", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "type", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Account_min_order_by", - "description": "order by min() on columns of table \"Account\"", - "fields": null, - "inputFields": [ - { - "name": "accessToken", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "expiresAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "idToken", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "oauthToken", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "oauthTokenSecret", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "provider", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "providerAccountId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "refreshToken", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "scope", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sessionState", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "tokenType", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "type", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Account_mutation_response", - "description": "response of any mutation on the table \"Account\"", - "fields": [ - { - "name": "affected_rows", - "description": "number of rows affected by the mutation", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "returning", - "description": "data from the rows affected by the mutation", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Account", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Account_on_conflict", - "description": "on_conflict condition type for table \"Account\"", - "fields": null, - "inputFields": [ - { - "name": "constraint", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Account_constraint", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "update_columns", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Account_update_column", - "ofType": null - } - } - } - }, - "defaultValue": "[]", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Account_order_by", - "description": "Ordering options when selecting data from \"Account\".", - "fields": null, - "inputFields": [ - { - "name": "accessToken", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "expiresAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "idToken", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "oauthToken", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "oauthTokenSecret", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "provider", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "providerAccountId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "refreshToken", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "scope", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sessionState", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "tokenType", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "type", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "User_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Account_pk_columns_input", - "description": "primary key columns input for table: Account", - "fields": null, - "inputFields": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "Account_select_column", - "description": "select columns of table \"Account\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "accessToken", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "expiresAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "idToken", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "oauthToken", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "oauthTokenSecret", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "provider", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "providerAccountId", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "refreshToken", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "scope", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sessionState", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "tokenType", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "type", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Account_set_input", - "description": "input type for updating data in table \"Account\"", - "fields": null, - "inputFields": [ - { - "name": "accessToken", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "expiresAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "idToken", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "oauthToken", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "oauthTokenSecret", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "provider", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "providerAccountId", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "refreshToken", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "scope", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sessionState", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "tokenType", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "type", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "Account_update_column", - "description": "update columns of table \"Account\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "accessToken", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "expiresAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "idToken", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "oauthToken", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "oauthTokenSecret", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "provider", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "providerAccountId", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "refreshToken", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "scope", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sessionState", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "tokenType", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "type", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "Boolean", - "description": "The `Boolean` scalar type represents `true` or `false`.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Boolean_comparison_exp", - "description": "Boolean expression to compare columns of type \"Boolean\". All fields are combined with logical 'AND'.", - "fields": null, - "inputFields": [ - { - "name": "_eq", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_gt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_gte", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_in", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_is_null", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_lt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_lte", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_neq", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_nin", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Comment", - "description": "columns and relationships of \"Comment\"", - "fields": [ - { - "name": "content", - "description": null, - "args": [ - { - "name": "path", - "description": "JSON select path", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "jsonb", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deletedAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "likes", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Like_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Like_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Like_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Like", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "likes_aggregate", - "description": "An aggregate relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Like_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Like_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Like_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Like_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": "An object relationship", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Page", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageId", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "parent", - "description": "An object relationship", - "args": [], - "type": { - "kind": "OBJECT", - "name": "Comment", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "parentId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "replies", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Comment_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Comment_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Comment", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "replies_aggregate", - "description": "An aggregate relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Comment_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Comment_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Comment_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": "An object relationship", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "User", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Comment_aggregate", - "description": "aggregated selection of \"Comment\"", - "fields": [ - { - "name": "aggregate", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "Comment_aggregate_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "nodes", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Comment", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Comment_aggregate_fields", - "description": "aggregate fields of \"Comment\"", - "fields": [ - { - "name": "count", - "description": null, - "args": [ - { - "name": "columns", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Comment_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "distinct", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "max", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "Comment_max_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "min", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "Comment_min_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Comment_aggregate_order_by", - "description": "order by aggregate values of table \"Comment\"", - "fields": null, - "inputFields": [ - { - "name": "count", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "max", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_max_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "min", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_min_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Comment_append_input", - "description": "append existing jsonb value of filtered columns with new jsonb value", - "fields": null, - "inputFields": [ - { - "name": "content", - "description": null, - "type": { - "kind": "SCALAR", - "name": "jsonb", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Comment_arr_rel_insert_input", - "description": "input type for inserting array relation for remote table \"Comment\"", - "fields": null, - "inputFields": [ - { - "name": "data", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Comment_insert_input", - "ofType": null - } - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Comment_bool_exp", - "description": "Boolean expression to filter rows from the table \"Comment\". All fields are combined with a logical 'AND'.", - "fields": null, - "inputFields": [ - { - "name": "_and", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Comment_bool_exp", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_not", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_or", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Comment_bool_exp", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "content", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "jsonb_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "timestamptz_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deletedAt", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "timestamptz_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "uuid_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "likes", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Like_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Page_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageId", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "uuid_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "parent", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "parentId", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "uuid_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "replies", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "timestamptz_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "User_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "uuid_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "Comment_constraint", - "description": "unique or primary key constraints on table \"Comment\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "Comment_pkey", - "description": "unique or primary key constraint", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Comment_delete_at_path_input", - "description": "delete the field or element with specified path (for JSON arrays, negative integers count from the end)", - "fields": null, - "inputFields": [ - { - "name": "content", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Comment_delete_elem_input", - "description": "delete the array element with specified index (negative integers count from the end). throws an error if top level container is not an array", - "fields": null, - "inputFields": [ - { - "name": "content", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Comment_delete_key_input", - "description": "delete key/value pair or string element. key/value pairs are matched based on their key value", - "fields": null, - "inputFields": [ - { - "name": "content", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Comment_insert_input", - "description": "input type for inserting data into table \"Comment\"", - "fields": null, - "inputFields": [ - { - "name": "content", - "description": null, - "type": { - "kind": "SCALAR", - "name": "jsonb", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deletedAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "likes", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Like_arr_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Page_obj_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageId", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "parent", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_obj_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "parentId", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "replies", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_arr_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "User_obj_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Comment_max_fields", - "description": "aggregate max on columns", - "fields": [ - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deletedAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "parentId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Comment_max_order_by", - "description": "order by max() on columns of table \"Comment\"", - "fields": null, - "inputFields": [ - { - "name": "createdAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deletedAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "parentId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Comment_min_fields", - "description": "aggregate min on columns", - "fields": [ - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deletedAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "parentId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Comment_min_order_by", - "description": "order by min() on columns of table \"Comment\"", - "fields": null, - "inputFields": [ - { - "name": "createdAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deletedAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "parentId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Comment_mutation_response", - "description": "response of any mutation on the table \"Comment\"", - "fields": [ - { - "name": "affected_rows", - "description": "number of rows affected by the mutation", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "returning", - "description": "data from the rows affected by the mutation", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Comment", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Comment_obj_rel_insert_input", - "description": "input type for inserting object relation for remote table \"Comment\"", - "fields": null, - "inputFields": [ - { - "name": "data", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Comment_insert_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Comment_on_conflict", - "description": "on_conflict condition type for table \"Comment\"", - "fields": null, - "inputFields": [ - { - "name": "constraint", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Comment_constraint", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "update_columns", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Comment_update_column", - "ofType": null - } - } - } - }, - "defaultValue": "[]", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Comment_order_by", - "description": "Ordering options when selecting data from \"Comment\".", - "fields": null, - "inputFields": [ - { - "name": "content", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deletedAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "likes_aggregate", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Like_aggregate_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "page", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Page_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "parent", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "parentId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "replies_aggregate", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_aggregate_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "User_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Comment_pk_columns_input", - "description": "primary key columns input for table: Comment", - "fields": null, - "inputFields": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Comment_prepend_input", - "description": "prepend existing jsonb value of filtered columns with new jsonb value", - "fields": null, - "inputFields": [ - { - "name": "content", - "description": null, - "type": { - "kind": "SCALAR", - "name": "jsonb", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "Comment_select_column", - "description": "select columns of table \"Comment\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "content", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deletedAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageId", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "parentId", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Comment_set_input", - "description": "input type for updating data in table \"Comment\"", - "fields": null, - "inputFields": [ - { - "name": "content", - "description": null, - "type": { - "kind": "SCALAR", - "name": "jsonb", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deletedAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageId", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "parentId", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "Comment_update_column", - "description": "update columns of table \"Comment\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "content", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deletedAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageId", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "parentId", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "Int", - "description": "The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Like", - "description": "columns and relationships of \"Like\"", - "fields": [ - { - "name": "comment", - "description": "An object relationship", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Comment", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "commentId", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": "An object relationship", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "User", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Like_aggregate", - "description": "aggregated selection of \"Like\"", - "fields": [ - { - "name": "aggregate", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "Like_aggregate_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "nodes", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Like", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Like_aggregate_fields", - "description": "aggregate fields of \"Like\"", - "fields": [ - { - "name": "count", - "description": null, - "args": [ - { - "name": "columns", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Like_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "distinct", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "max", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "Like_max_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "min", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "Like_min_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Like_aggregate_order_by", - "description": "order by aggregate values of table \"Like\"", - "fields": null, - "inputFields": [ - { - "name": "count", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "max", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Like_max_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "min", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Like_min_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Like_arr_rel_insert_input", - "description": "input type for inserting array relation for remote table \"Like\"", - "fields": null, - "inputFields": [ - { - "name": "data", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Like_insert_input", - "ofType": null - } - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "Like_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Like_bool_exp", - "description": "Boolean expression to filter rows from the table \"Like\". All fields are combined with a logical 'AND'.", - "fields": null, - "inputFields": [ - { - "name": "_and", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Like_bool_exp", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_not", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Like_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_or", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Like_bool_exp", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "comment", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "commentId", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "uuid_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "timestamptz_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "uuid_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "timestamptz_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "User_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "uuid_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "Like_constraint", - "description": "unique or primary key constraints on table \"Like\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "Like_commentId_userId_key", - "description": "unique or primary key constraint", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "Like_pkey", - "description": "unique or primary key constraint", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Like_insert_input", - "description": "input type for inserting data into table \"Like\"", - "fields": null, - "inputFields": [ - { - "name": "comment", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_obj_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "commentId", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "User_obj_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Like_max_fields", - "description": "aggregate max on columns", - "fields": [ - { - "name": "commentId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Like_max_order_by", - "description": "order by max() on columns of table \"Like\"", - "fields": null, - "inputFields": [ - { - "name": "commentId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Like_min_fields", - "description": "aggregate min on columns", - "fields": [ - { - "name": "commentId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Like_min_order_by", - "description": "order by min() on columns of table \"Like\"", - "fields": null, - "inputFields": [ - { - "name": "commentId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Like_mutation_response", - "description": "response of any mutation on the table \"Like\"", - "fields": [ - { - "name": "affected_rows", - "description": "number of rows affected by the mutation", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "returning", - "description": "data from the rows affected by the mutation", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Like", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Like_on_conflict", - "description": "on_conflict condition type for table \"Like\"", - "fields": null, - "inputFields": [ - { - "name": "constraint", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Like_constraint", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "update_columns", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Like_update_column", - "ofType": null - } - } - } - }, - "defaultValue": "[]", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Like_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Like_order_by", - "description": "Ordering options when selecting data from \"Like\".", - "fields": null, - "inputFields": [ - { - "name": "comment", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "commentId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "User_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Like_pk_columns_input", - "description": "primary key columns input for table: Like", - "fields": null, - "inputFields": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "Like_select_column", - "description": "select columns of table \"Like\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "commentId", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Like_set_input", - "description": "input type for updating data in table \"Like\"", - "fields": null, - "inputFields": [ - { - "name": "commentId", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "Like_update_column", - "description": "update columns of table \"Like\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "commentId", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Member", - "description": "columns and relationships of \"Member\"", - "fields": [ - { - "name": "Role", - "description": "An object relationship", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Role", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "role", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Role_enum", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "team", - "description": "An object relationship", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Team", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "teamId", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": "An object relationship", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "User", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Member_aggregate", - "description": "aggregated selection of \"Member\"", - "fields": [ - { - "name": "aggregate", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "Member_aggregate_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "nodes", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Member", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Member_aggregate_fields", - "description": "aggregate fields of \"Member\"", - "fields": [ - { - "name": "count", - "description": null, - "args": [ - { - "name": "columns", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Member_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "distinct", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "max", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "Member_max_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "min", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "Member_min_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Member_aggregate_order_by", - "description": "order by aggregate values of table \"Member\"", - "fields": null, - "inputFields": [ - { - "name": "count", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "max", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Member_max_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "min", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Member_min_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Member_arr_rel_insert_input", - "description": "input type for inserting array relation for remote table \"Member\"", - "fields": null, - "inputFields": [ - { - "name": "data", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Member_insert_input", - "ofType": null - } - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "Member_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Member_bool_exp", - "description": "Boolean expression to filter rows from the table \"Member\". All fields are combined with a logical 'AND'.", - "fields": null, - "inputFields": [ - { - "name": "Role", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Role_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_and", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Member_bool_exp", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_not", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Member_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_or", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Member_bool_exp", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "timestamptz_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "uuid_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "role", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Role_enum_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "team", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Team_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "teamId", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "uuid_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "timestamptz_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "User_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "uuid_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "Member_constraint", - "description": "unique or primary key constraints on table \"Member\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "Member_pkey", - "description": "unique or primary key constraint", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "Member_teamId_userId_key", - "description": "unique or primary key constraint", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Member_insert_input", - "description": "input type for inserting data into table \"Member\"", - "fields": null, - "inputFields": [ - { - "name": "Role", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Role_obj_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "role", - "description": null, - "type": { - "kind": "ENUM", - "name": "Role_enum", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "team", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Team_obj_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "teamId", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "User_obj_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Member_max_fields", - "description": "aggregate max on columns", - "fields": [ - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "teamId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Member_max_order_by", - "description": "order by max() on columns of table \"Member\"", - "fields": null, - "inputFields": [ - { - "name": "createdAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "teamId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Member_min_fields", - "description": "aggregate min on columns", - "fields": [ - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "teamId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Member_min_order_by", - "description": "order by min() on columns of table \"Member\"", - "fields": null, - "inputFields": [ - { - "name": "createdAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "teamId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Member_mutation_response", - "description": "response of any mutation on the table \"Member\"", - "fields": [ - { - "name": "affected_rows", - "description": "number of rows affected by the mutation", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "returning", - "description": "data from the rows affected by the mutation", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Member", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Member_on_conflict", - "description": "on_conflict condition type for table \"Member\"", - "fields": null, - "inputFields": [ - { - "name": "constraint", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Member_constraint", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "update_columns", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Member_update_column", - "ofType": null - } - } - } - }, - "defaultValue": "[]", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Member_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Member_order_by", - "description": "Ordering options when selecting data from \"Member\".", - "fields": null, - "inputFields": [ - { - "name": "Role", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Role_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "role", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "team", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Team_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "teamId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "User_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Member_pk_columns_input", - "description": "primary key columns input for table: Member", - "fields": null, - "inputFields": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "Member_select_column", - "description": "select columns of table \"Member\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "createdAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "role", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "teamId", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Member_set_input", - "description": "input type for updating data in table \"Member\"", - "fields": null, - "inputFields": [ - { - "name": "createdAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "role", - "description": null, - "type": { - "kind": "ENUM", - "name": "Role_enum", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "teamId", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "Member_update_column", - "description": "update columns of table \"Member\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "createdAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "role", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "teamId", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "NotificationMessage", - "description": "columns and relationships of \"NotificationMessage\"", - "fields": [ - { - "name": "content", - "description": "Content of message, e.g. comment content", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "contextId", - "description": "Triggered entity's id, e.g. CommentId or LikeId", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deletedAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "notificationType", - "description": "An object relationship", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "NotificationType", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "read", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "recipient", - "description": "An object relationship", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "User", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "recipientId", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "triggeredBy", - "description": "An object relationship", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "User", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "triggeredById", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "type", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "NotificationType_enum", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "NotificationMessage_aggregate", - "description": "aggregated selection of \"NotificationMessage\"", - "fields": [ - { - "name": "aggregate", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "NotificationMessage_aggregate_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "nodes", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "NotificationMessage", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "NotificationMessage_aggregate_fields", - "description": "aggregate fields of \"NotificationMessage\"", - "fields": [ - { - "name": "count", - "description": null, - "args": [ - { - "name": "columns", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "NotificationMessage_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "distinct", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "max", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "NotificationMessage_max_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "min", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "NotificationMessage_min_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_aggregate_order_by", - "description": "order by aggregate values of table \"NotificationMessage\"", - "fields": null, - "inputFields": [ - { - "name": "count", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "max", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_max_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "min", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_min_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_arr_rel_insert_input", - "description": "input type for inserting array relation for remote table \"NotificationMessage\"", - "fields": null, - "inputFields": [ - { - "name": "data", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_insert_input", - "ofType": null - } - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_bool_exp", - "description": "Boolean expression to filter rows from the table \"NotificationMessage\". All fields are combined with a logical 'AND'.", - "fields": null, - "inputFields": [ - { - "name": "_and", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_bool_exp", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_not", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_or", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_bool_exp", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "content", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "contextId", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "uuid_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "timestamptz_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deletedAt", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "timestamptz_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "uuid_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "notificationType", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationType_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "read", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Boolean_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "recipient", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "User_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "recipientId", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "uuid_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "triggeredBy", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "User_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "triggeredById", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "uuid_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "type", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationType_enum_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "NotificationMessage_constraint", - "description": "unique or primary key constraints on table \"NotificationMessage\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "NotificationMessage_pkey", - "description": "unique or primary key constraint", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "NotificationMessage_type_triggeredById_contextId_recipientI_key", - "description": "unique or primary key constraint", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_insert_input", - "description": "input type for inserting data into table \"NotificationMessage\"", - "fields": null, - "inputFields": [ - { - "name": "content", - "description": "Content of message, e.g. comment content", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "contextId", - "description": "Triggered entity's id, e.g. CommentId or LikeId", - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deletedAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "notificationType", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationType_obj_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "read", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "recipient", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "User_obj_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "recipientId", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "triggeredBy", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "User_obj_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "triggeredById", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "type", - "description": null, - "type": { - "kind": "ENUM", - "name": "NotificationType_enum", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "NotificationMessage_max_fields", - "description": "aggregate max on columns", - "fields": [ - { - "name": "content", - "description": "Content of message, e.g. comment content", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "contextId", - "description": "Triggered entity's id, e.g. CommentId or LikeId", - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deletedAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "recipientId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "triggeredById", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_max_order_by", - "description": "order by max() on columns of table \"NotificationMessage\"", - "fields": null, - "inputFields": [ - { - "name": "content", - "description": "Content of message, e.g. comment content", - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "contextId", - "description": "Triggered entity's id, e.g. CommentId or LikeId", - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deletedAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "recipientId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "triggeredById", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "NotificationMessage_min_fields", - "description": "aggregate min on columns", - "fields": [ - { - "name": "content", - "description": "Content of message, e.g. comment content", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "contextId", - "description": "Triggered entity's id, e.g. CommentId or LikeId", - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deletedAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "recipientId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "triggeredById", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_min_order_by", - "description": "order by min() on columns of table \"NotificationMessage\"", - "fields": null, - "inputFields": [ - { - "name": "content", - "description": "Content of message, e.g. comment content", - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "contextId", - "description": "Triggered entity's id, e.g. CommentId or LikeId", - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deletedAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "recipientId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "triggeredById", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "NotificationMessage_mutation_response", - "description": "response of any mutation on the table \"NotificationMessage\"", - "fields": [ - { - "name": "affected_rows", - "description": "number of rows affected by the mutation", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "returning", - "description": "data from the rows affected by the mutation", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "NotificationMessage", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_on_conflict", - "description": "on_conflict condition type for table \"NotificationMessage\"", - "fields": null, - "inputFields": [ - { - "name": "constraint", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "NotificationMessage_constraint", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "update_columns", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "NotificationMessage_update_column", - "ofType": null - } - } - } - }, - "defaultValue": "[]", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_order_by", - "description": "Ordering options when selecting data from \"NotificationMessage\".", - "fields": null, - "inputFields": [ - { - "name": "content", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "contextId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deletedAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "notificationType", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationType_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "read", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "recipient", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "User_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "recipientId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "triggeredBy", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "User_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "triggeredById", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "type", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_pk_columns_input", - "description": "primary key columns input for table: NotificationMessage", - "fields": null, - "inputFields": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "NotificationMessage_select_column", - "description": "select columns of table \"NotificationMessage\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "content", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "contextId", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deletedAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "read", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "recipientId", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "triggeredById", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "type", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_set_input", - "description": "input type for updating data in table \"NotificationMessage\"", - "fields": null, - "inputFields": [ - { - "name": "content", - "description": "Content of message, e.g. comment content", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "contextId", - "description": "Triggered entity's id, e.g. CommentId or LikeId", - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deletedAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "read", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "recipientId", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "triggeredById", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "type", - "description": null, - "type": { - "kind": "ENUM", - "name": "NotificationType_enum", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "NotificationMessage_update_column", - "description": "update columns of table \"NotificationMessage\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "content", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "contextId", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deletedAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "read", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "recipientId", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "triggeredById", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "type", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "NotificationSubscription", - "description": "columns and relationships of \"NotificationSubscription\"", - "fields": [ - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "subscription", - "description": null, - "args": [ - { - "name": "path", - "description": "JSON select path", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "jsonb", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": "An object relationship", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "User", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "NotificationSubscription_aggregate", - "description": "aggregated selection of \"NotificationSubscription\"", - "fields": [ - { - "name": "aggregate", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "NotificationSubscription_aggregate_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "nodes", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "NotificationSubscription", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "NotificationSubscription_aggregate_fields", - "description": "aggregate fields of \"NotificationSubscription\"", - "fields": [ - { - "name": "count", - "description": null, - "args": [ - { - "name": "columns", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "NotificationSubscription_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "distinct", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "max", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "NotificationSubscription_max_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "min", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "NotificationSubscription_min_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_aggregate_order_by", - "description": "order by aggregate values of table \"NotificationSubscription\"", - "fields": null, - "inputFields": [ - { - "name": "count", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "max", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_max_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "min", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_min_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_append_input", - "description": "append existing jsonb value of filtered columns with new jsonb value", - "fields": null, - "inputFields": [ - { - "name": "subscription", - "description": null, - "type": { - "kind": "SCALAR", - "name": "jsonb", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_arr_rel_insert_input", - "description": "input type for inserting array relation for remote table \"NotificationSubscription\"", - "fields": null, - "inputFields": [ - { - "name": "data", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_insert_input", - "ofType": null - } - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_bool_exp", - "description": "Boolean expression to filter rows from the table \"NotificationSubscription\". All fields are combined with a logical 'AND'.", - "fields": null, - "inputFields": [ - { - "name": "_and", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_bool_exp", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_not", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_or", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_bool_exp", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "timestamptz_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "uuid_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "subscription", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "jsonb_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "User_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "uuid_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "NotificationSubscription_constraint", - "description": "unique or primary key constraints on table \"NotificationSubscription\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "NotificationSubscription_pkey", - "description": "unique or primary key constraint", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "NotificationSubscription_subscription_userId_key", - "description": "unique or primary key constraint", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_delete_at_path_input", - "description": "delete the field or element with specified path (for JSON arrays, negative integers count from the end)", - "fields": null, - "inputFields": [ - { - "name": "subscription", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_delete_elem_input", - "description": "delete the array element with specified index (negative integers count from the end). throws an error if top level container is not an array", - "fields": null, - "inputFields": [ - { - "name": "subscription", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_delete_key_input", - "description": "delete key/value pair or string element. key/value pairs are matched based on their key value", - "fields": null, - "inputFields": [ - { - "name": "subscription", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_insert_input", - "description": "input type for inserting data into table \"NotificationSubscription\"", - "fields": null, - "inputFields": [ - { - "name": "createdAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "subscription", - "description": null, - "type": { - "kind": "SCALAR", - "name": "jsonb", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "User_obj_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "NotificationSubscription_max_fields", - "description": "aggregate max on columns", - "fields": [ - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_max_order_by", - "description": "order by max() on columns of table \"NotificationSubscription\"", - "fields": null, - "inputFields": [ - { - "name": "createdAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "NotificationSubscription_min_fields", - "description": "aggregate min on columns", - "fields": [ - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_min_order_by", - "description": "order by min() on columns of table \"NotificationSubscription\"", - "fields": null, - "inputFields": [ - { - "name": "createdAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "NotificationSubscription_mutation_response", - "description": "response of any mutation on the table \"NotificationSubscription\"", - "fields": [ - { - "name": "affected_rows", - "description": "number of rows affected by the mutation", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "returning", - "description": "data from the rows affected by the mutation", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "NotificationSubscription", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_on_conflict", - "description": "on_conflict condition type for table \"NotificationSubscription\"", - "fields": null, - "inputFields": [ - { - "name": "constraint", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "NotificationSubscription_constraint", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "update_columns", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "NotificationSubscription_update_column", - "ofType": null - } - } - } - }, - "defaultValue": "[]", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_order_by", - "description": "Ordering options when selecting data from \"NotificationSubscription\".", - "fields": null, - "inputFields": [ - { - "name": "createdAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "subscription", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "User_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_pk_columns_input", - "description": "primary key columns input for table: NotificationSubscription", - "fields": null, - "inputFields": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_prepend_input", - "description": "prepend existing jsonb value of filtered columns with new jsonb value", - "fields": null, - "inputFields": [ - { - "name": "subscription", - "description": null, - "type": { - "kind": "SCALAR", - "name": "jsonb", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "NotificationSubscription_select_column", - "description": "select columns of table \"NotificationSubscription\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "createdAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "subscription", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_set_input", - "description": "input type for updating data in table \"NotificationSubscription\"", - "fields": null, - "inputFields": [ - { - "name": "createdAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "subscription", - "description": null, - "type": { - "kind": "SCALAR", - "name": "jsonb", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "NotificationSubscription_update_column", - "description": "update columns of table \"NotificationSubscription\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "createdAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "subscription", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "NotificationType", - "description": "columns and relationships of \"NotificationType\"", - "fields": [ - { - "name": "comment", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "notificationMessages", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "NotificationMessage_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "NotificationMessage", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "notificationMessages_aggregate", - "description": "An aggregate relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "NotificationMessage_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "NotificationMessage_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "value", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "NotificationType_aggregate", - "description": "aggregated selection of \"NotificationType\"", - "fields": [ - { - "name": "aggregate", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "NotificationType_aggregate_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "nodes", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "NotificationType", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "NotificationType_aggregate_fields", - "description": "aggregate fields of \"NotificationType\"", - "fields": [ - { - "name": "count", - "description": null, - "args": [ - { - "name": "columns", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "NotificationType_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "distinct", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "max", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "NotificationType_max_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "min", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "NotificationType_min_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NotificationType_bool_exp", - "description": "Boolean expression to filter rows from the table \"NotificationType\". All fields are combined with a logical 'AND'.", - "fields": null, - "inputFields": [ - { - "name": "_and", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationType_bool_exp", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_not", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationType_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_or", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationType_bool_exp", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "comment", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "notificationMessages", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "value", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "NotificationType_constraint", - "description": "unique or primary key constraints on table \"NotificationType\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "NotificationType_pkey", - "description": "unique or primary key constraint", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "NotificationType_enum", - "description": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "CommentDeleted", - "description": "Comment deleted by moderator", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ReceivedAComment", - "description": "Received a comment", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ReceivedALike", - "description": "Received a like", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ReceivedAReply", - "description": "Received a reply", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NotificationType_enum_comparison_exp", - "description": "Boolean expression to compare columns of type \"NotificationType_enum\". All fields are combined with logical 'AND'.", - "fields": null, - "inputFields": [ - { - "name": "_eq", - "description": null, - "type": { - "kind": "ENUM", - "name": "NotificationType_enum", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_in", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "NotificationType_enum", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_is_null", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_neq", - "description": null, - "type": { - "kind": "ENUM", - "name": "NotificationType_enum", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_nin", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "NotificationType_enum", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NotificationType_insert_input", - "description": "input type for inserting data into table \"NotificationType\"", - "fields": null, - "inputFields": [ - { - "name": "comment", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "notificationMessages", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_arr_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "value", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "NotificationType_max_fields", - "description": "aggregate max on columns", - "fields": [ - { - "name": "comment", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "value", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "NotificationType_min_fields", - "description": "aggregate min on columns", - "fields": [ - { - "name": "comment", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "value", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "NotificationType_mutation_response", - "description": "response of any mutation on the table \"NotificationType\"", - "fields": [ - { - "name": "affected_rows", - "description": "number of rows affected by the mutation", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "returning", - "description": "data from the rows affected by the mutation", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "NotificationType", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NotificationType_obj_rel_insert_input", - "description": "input type for inserting object relation for remote table \"NotificationType\"", - "fields": null, - "inputFields": [ - { - "name": "data", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationType_insert_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationType_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NotificationType_on_conflict", - "description": "on_conflict condition type for table \"NotificationType\"", - "fields": null, - "inputFields": [ - { - "name": "constraint", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "NotificationType_constraint", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "update_columns", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "NotificationType_update_column", - "ofType": null - } - } - } - }, - "defaultValue": "[]", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationType_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NotificationType_order_by", - "description": "Ordering options when selecting data from \"NotificationType\".", - "fields": null, - "inputFields": [ - { - "name": "comment", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "notificationMessages_aggregate", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_aggregate_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "value", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NotificationType_pk_columns_input", - "description": "primary key columns input for table: NotificationType", - "fields": null, - "inputFields": [ - { - "name": "value", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "NotificationType_select_column", - "description": "select columns of table \"NotificationType\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "comment", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "value", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NotificationType_set_input", - "description": "input type for updating data in table \"NotificationType\"", - "fields": null, - "inputFields": [ - { - "name": "comment", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "value", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "NotificationType_update_column", - "description": "update columns of table \"NotificationType\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "comment", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "value", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Page", - "description": "columns and relationships of \"Page\"", - "fields": [ - { - "name": "comments", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Comment_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Comment_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Comment", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "comments_aggregate", - "description": "An aggregate relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Comment_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Comment_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Comment_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "project", - "description": "An object relationship", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Project", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "projectId", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "title", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Page_aggregate", - "description": "aggregated selection of \"Page\"", - "fields": [ - { - "name": "aggregate", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "Page_aggregate_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "nodes", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Page", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Page_aggregate_fields", - "description": "aggregate fields of \"Page\"", - "fields": [ - { - "name": "count", - "description": null, - "args": [ - { - "name": "columns", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Page_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "distinct", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "max", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "Page_max_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "min", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "Page_min_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Page_aggregate_order_by", - "description": "order by aggregate values of table \"Page\"", - "fields": null, - "inputFields": [ - { - "name": "count", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "max", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Page_max_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "min", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Page_min_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Page_arr_rel_insert_input", - "description": "input type for inserting array relation for remote table \"Page\"", - "fields": null, - "inputFields": [ - { - "name": "data", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Page_insert_input", - "ofType": null - } - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "Page_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Page_bool_exp", - "description": "Boolean expression to filter rows from the table \"Page\". All fields are combined with a logical 'AND'.", - "fields": null, - "inputFields": [ - { - "name": "_and", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Page_bool_exp", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_not", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Page_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_or", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Page_bool_exp", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "comments", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "timestamptz_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "uuid_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "project", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "projectId", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "uuid_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "title", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "timestamptz_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "Page_constraint", - "description": "unique or primary key constraints on table \"Page\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "Page_pkey", - "description": "unique or primary key constraint", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "Page_url_key", - "description": "unique or primary key constraint", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Page_insert_input", - "description": "input type for inserting data into table \"Page\"", - "fields": null, - "inputFields": [ - { - "name": "comments", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_arr_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "project", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_obj_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "projectId", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "title", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Page_max_fields", - "description": "aggregate max on columns", - "fields": [ - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "projectId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "title", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Page_max_order_by", - "description": "order by max() on columns of table \"Page\"", - "fields": null, - "inputFields": [ - { - "name": "createdAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "projectId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "title", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Page_min_fields", - "description": "aggregate min on columns", - "fields": [ - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "projectId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "title", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Page_min_order_by", - "description": "order by min() on columns of table \"Page\"", - "fields": null, - "inputFields": [ - { - "name": "createdAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "projectId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "title", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Page_mutation_response", - "description": "response of any mutation on the table \"Page\"", - "fields": [ - { - "name": "affected_rows", - "description": "number of rows affected by the mutation", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "returning", - "description": "data from the rows affected by the mutation", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Page", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Page_obj_rel_insert_input", - "description": "input type for inserting object relation for remote table \"Page\"", - "fields": null, - "inputFields": [ - { - "name": "data", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Page_insert_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "Page_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Page_on_conflict", - "description": "on_conflict condition type for table \"Page\"", - "fields": null, - "inputFields": [ - { - "name": "constraint", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Page_constraint", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "update_columns", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Page_update_column", - "ofType": null - } - } - } - }, - "defaultValue": "[]", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Page_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Page_order_by", - "description": "Ordering options when selecting data from \"Page\".", - "fields": null, - "inputFields": [ - { - "name": "comments_aggregate", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_aggregate_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "project", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "projectId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "title", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Page_pk_columns_input", - "description": "primary key columns input for table: Page", - "fields": null, - "inputFields": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "Page_select_column", - "description": "select columns of table \"Page\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "createdAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "projectId", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "title", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Page_set_input", - "description": "input type for updating data in table \"Page\"", - "fields": null, - "inputFields": [ - { - "name": "createdAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "projectId", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "title", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "Page_update_column", - "description": "update columns of table \"Page\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "createdAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "projectId", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "title", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Project", - "description": "columns and relationships of \"Project\"", - "fields": [ - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "domain", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pages", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Page_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Page_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Page_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Page", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pages_aggregate", - "description": "An aggregate relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Page_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Page_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Page_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Page_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "team", - "description": "An object relationship", - "args": [], - "type": { - "kind": "OBJECT", - "name": "Team", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "teamId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "theme", - "description": null, - "args": [ - { - "name": "path", - "description": "JSON select path", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "SCALAR", - "name": "jsonb", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": "An object relationship", - "args": [], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Project_aggregate", - "description": "aggregated selection of \"Project\"", - "fields": [ - { - "name": "aggregate", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "Project_aggregate_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "nodes", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Project", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Project_aggregate_fields", - "description": "aggregate fields of \"Project\"", - "fields": [ - { - "name": "count", - "description": null, - "args": [ - { - "name": "columns", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Project_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "distinct", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "max", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "Project_max_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "min", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "Project_min_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Project_aggregate_order_by", - "description": "order by aggregate values of table \"Project\"", - "fields": null, - "inputFields": [ - { - "name": "count", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "max", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_max_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "min", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_min_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Project_append_input", - "description": "append existing jsonb value of filtered columns with new jsonb value", - "fields": null, - "inputFields": [ - { - "name": "theme", - "description": null, - "type": { - "kind": "SCALAR", - "name": "jsonb", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Project_arr_rel_insert_input", - "description": "input type for inserting array relation for remote table \"Project\"", - "fields": null, - "inputFields": [ - { - "name": "data", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Project_insert_input", - "ofType": null - } - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Project_bool_exp", - "description": "Boolean expression to filter rows from the table \"Project\". All fields are combined with a logical 'AND'.", - "fields": null, - "inputFields": [ - { - "name": "_and", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Project_bool_exp", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_not", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_or", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Project_bool_exp", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "timestamptz_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "domain", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "uuid_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pages", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Page_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "team", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Team_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "teamId", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "uuid_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "theme", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "jsonb_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "timestamptz_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "User_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "uuid_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "Project_constraint", - "description": "unique or primary key constraints on table \"Project\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "Project_domain_key", - "description": "unique or primary key constraint", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "Project_pkey", - "description": "unique or primary key constraint", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Project_delete_at_path_input", - "description": "delete the field or element with specified path (for JSON arrays, negative integers count from the end)", - "fields": null, - "inputFields": [ - { - "name": "theme", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Project_delete_elem_input", - "description": "delete the array element with specified index (negative integers count from the end). throws an error if top level container is not an array", - "fields": null, - "inputFields": [ - { - "name": "theme", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Project_delete_key_input", - "description": "delete key/value pair or string element. key/value pairs are matched based on their key value", - "fields": null, - "inputFields": [ - { - "name": "theme", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Project_insert_input", - "description": "input type for inserting data into table \"Project\"", - "fields": null, - "inputFields": [ - { - "name": "createdAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "domain", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pages", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Page_arr_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "team", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Team_obj_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "teamId", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "theme", - "description": null, - "type": { - "kind": "SCALAR", - "name": "jsonb", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "User_obj_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Project_max_fields", - "description": "aggregate max on columns", - "fields": [ - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "domain", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "teamId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Project_max_order_by", - "description": "order by max() on columns of table \"Project\"", - "fields": null, - "inputFields": [ - { - "name": "createdAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "domain", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "teamId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Project_min_fields", - "description": "aggregate min on columns", - "fields": [ - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "domain", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "teamId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Project_min_order_by", - "description": "order by min() on columns of table \"Project\"", - "fields": null, - "inputFields": [ - { - "name": "createdAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "domain", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "teamId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Project_mutation_response", - "description": "response of any mutation on the table \"Project\"", - "fields": [ - { - "name": "affected_rows", - "description": "number of rows affected by the mutation", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "returning", - "description": "data from the rows affected by the mutation", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Project", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Project_obj_rel_insert_input", - "description": "input type for inserting object relation for remote table \"Project\"", - "fields": null, - "inputFields": [ - { - "name": "data", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Project_insert_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Project_on_conflict", - "description": "on_conflict condition type for table \"Project\"", - "fields": null, - "inputFields": [ - { - "name": "constraint", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Project_constraint", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "update_columns", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Project_update_column", - "ofType": null - } - } - } - }, - "defaultValue": "[]", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Project_order_by", - "description": "Ordering options when selecting data from \"Project\".", - "fields": null, - "inputFields": [ - { - "name": "createdAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "domain", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pages_aggregate", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Page_aggregate_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "team", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Team_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "teamId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "theme", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "User_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Project_pk_columns_input", - "description": "primary key columns input for table: Project", - "fields": null, - "inputFields": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Project_prepend_input", - "description": "prepend existing jsonb value of filtered columns with new jsonb value", - "fields": null, - "inputFields": [ - { - "name": "theme", - "description": null, - "type": { - "kind": "SCALAR", - "name": "jsonb", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "Project_select_column", - "description": "select columns of table \"Project\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "createdAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "domain", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "teamId", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "theme", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Project_set_input", - "description": "input type for updating data in table \"Project\"", - "fields": null, - "inputFields": [ - { - "name": "createdAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "domain", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "teamId", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "theme", - "description": null, - "type": { - "kind": "SCALAR", - "name": "jsonb", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "Project_update_column", - "description": "update columns of table \"Project\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "createdAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "domain", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "teamId", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "theme", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Role", - "description": "User's role in teams", - "fields": [ - { - "name": "comment", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "members", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Member_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Member_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Member_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Member", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "members_aggregate", - "description": "An aggregate relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Member_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Member_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Member_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Member_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "value", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Role_aggregate", - "description": "aggregated selection of \"Role\"", - "fields": [ - { - "name": "aggregate", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "Role_aggregate_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "nodes", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Role", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Role_aggregate_fields", - "description": "aggregate fields of \"Role\"", - "fields": [ - { - "name": "count", - "description": null, - "args": [ - { - "name": "columns", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Role_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "distinct", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "max", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "Role_max_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "min", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "Role_min_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Role_bool_exp", - "description": "Boolean expression to filter rows from the table \"Role\". All fields are combined with a logical 'AND'.", - "fields": null, - "inputFields": [ - { - "name": "_and", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Role_bool_exp", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_not", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Role_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_or", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Role_bool_exp", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "comment", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "members", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Member_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "value", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "Role_constraint", - "description": "unique or primary key constraints on table \"Role\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "Role_pkey", - "description": "unique or primary key constraint", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "Role_enum", - "description": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "manager", - "description": "Manager of a team", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": "Normal user", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Role_enum_comparison_exp", - "description": "Boolean expression to compare columns of type \"Role_enum\". All fields are combined with logical 'AND'.", - "fields": null, - "inputFields": [ - { - "name": "_eq", - "description": null, - "type": { - "kind": "ENUM", - "name": "Role_enum", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_in", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Role_enum", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_is_null", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_neq", - "description": null, - "type": { - "kind": "ENUM", - "name": "Role_enum", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_nin", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Role_enum", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Role_insert_input", - "description": "input type for inserting data into table \"Role\"", - "fields": null, - "inputFields": [ - { - "name": "comment", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "members", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Member_arr_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "value", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Role_max_fields", - "description": "aggregate max on columns", - "fields": [ - { - "name": "comment", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "value", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Role_min_fields", - "description": "aggregate min on columns", - "fields": [ - { - "name": "comment", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "value", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Role_mutation_response", - "description": "response of any mutation on the table \"Role\"", - "fields": [ - { - "name": "affected_rows", - "description": "number of rows affected by the mutation", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "returning", - "description": "data from the rows affected by the mutation", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Role", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Role_obj_rel_insert_input", - "description": "input type for inserting object relation for remote table \"Role\"", - "fields": null, - "inputFields": [ - { - "name": "data", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Role_insert_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "Role_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Role_on_conflict", - "description": "on_conflict condition type for table \"Role\"", - "fields": null, - "inputFields": [ - { - "name": "constraint", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Role_constraint", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "update_columns", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Role_update_column", - "ofType": null - } - } - } - }, - "defaultValue": "[]", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Role_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Role_order_by", - "description": "Ordering options when selecting data from \"Role\".", - "fields": null, - "inputFields": [ - { - "name": "comment", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "members_aggregate", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Member_aggregate_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "value", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Role_pk_columns_input", - "description": "primary key columns input for table: Role", - "fields": null, - "inputFields": [ - { - "name": "value", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "Role_select_column", - "description": "select columns of table \"Role\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "comment", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "value", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Role_set_input", - "description": "input type for updating data in table \"Role\"", - "fields": null, - "inputFields": [ - { - "name": "comment", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "value", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "Role_update_column", - "description": "update columns of table \"Role\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "comment", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "value", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Session", - "description": "columns and relationships of \"Session\"", - "fields": [ - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "expires", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sessionToken", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": "An object relationship", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "User", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Session_aggregate", - "description": "aggregated selection of \"Session\"", - "fields": [ - { - "name": "aggregate", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "Session_aggregate_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "nodes", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Session", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Session_aggregate_fields", - "description": "aggregate fields of \"Session\"", - "fields": [ - { - "name": "count", - "description": null, - "args": [ - { - "name": "columns", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Session_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "distinct", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "max", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "Session_max_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "min", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "Session_min_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Session_aggregate_order_by", - "description": "order by aggregate values of table \"Session\"", - "fields": null, - "inputFields": [ - { - "name": "count", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "max", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Session_max_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "min", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Session_min_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Session_arr_rel_insert_input", - "description": "input type for inserting array relation for remote table \"Session\"", - "fields": null, - "inputFields": [ - { - "name": "data", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Session_insert_input", - "ofType": null - } - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "Session_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Session_bool_exp", - "description": "Boolean expression to filter rows from the table \"Session\". All fields are combined with a logical 'AND'.", - "fields": null, - "inputFields": [ - { - "name": "_and", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Session_bool_exp", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_not", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Session_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_or", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Session_bool_exp", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "timestamptz_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "expires", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "timestamptz_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "uuid_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sessionToken", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "timestamptz_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "User_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "uuid_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "Session_constraint", - "description": "unique or primary key constraints on table \"Session\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "Session_pkey", - "description": "unique or primary key constraint", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "Session_sessionToken_key", - "description": "unique or primary key constraint", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Session_insert_input", - "description": "input type for inserting data into table \"Session\"", - "fields": null, - "inputFields": [ - { - "name": "createdAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "expires", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sessionToken", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "User_obj_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Session_max_fields", - "description": "aggregate max on columns", - "fields": [ - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "expires", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sessionToken", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Session_max_order_by", - "description": "order by max() on columns of table \"Session\"", - "fields": null, - "inputFields": [ - { - "name": "createdAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "expires", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sessionToken", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Session_min_fields", - "description": "aggregate min on columns", - "fields": [ - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "expires", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sessionToken", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Session_min_order_by", - "description": "order by min() on columns of table \"Session\"", - "fields": null, - "inputFields": [ - { - "name": "createdAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "expires", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sessionToken", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Session_mutation_response", - "description": "response of any mutation on the table \"Session\"", - "fields": [ - { - "name": "affected_rows", - "description": "number of rows affected by the mutation", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "returning", - "description": "data from the rows affected by the mutation", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Session", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Session_on_conflict", - "description": "on_conflict condition type for table \"Session\"", - "fields": null, - "inputFields": [ - { - "name": "constraint", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Session_constraint", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "update_columns", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Session_update_column", - "ofType": null - } - } - } - }, - "defaultValue": "[]", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Session_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Session_order_by", - "description": "Ordering options when selecting data from \"Session\".", - "fields": null, - "inputFields": [ - { - "name": "createdAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "expires", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sessionToken", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "User_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Session_pk_columns_input", - "description": "primary key columns input for table: Session", - "fields": null, - "inputFields": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "Session_select_column", - "description": "select columns of table \"Session\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "createdAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "expires", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sessionToken", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Session_set_input", - "description": "input type for updating data in table \"Session\"", - "fields": null, - "inputFields": [ - { - "name": "createdAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "expires", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sessionToken", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "Session_update_column", - "description": "update columns of table \"Session\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "createdAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "expires", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sessionToken", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userId", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "String", - "description": "The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "description": "Boolean expression to compare columns of type \"String\". All fields are combined with logical 'AND'.", - "fields": null, - "inputFields": [ - { - "name": "_eq", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_gt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_gte", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_ilike", - "description": "does the column match the given case-insensitive pattern", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_in", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_iregex", - "description": "does the column match the given POSIX regular expression, case insensitive", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_is_null", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_like", - "description": "does the column match the given pattern", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_lt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_lte", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_neq", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_nilike", - "description": "does the column NOT match the given case-insensitive pattern", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_nin", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_niregex", - "description": "does the column NOT match the given POSIX regular expression, case insensitive", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_nlike", - "description": "does the column NOT match the given pattern", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_nregex", - "description": "does the column NOT match the given POSIX regular expression, case sensitive", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_nsimilar", - "description": "does the column NOT match the given SQL regular expression", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_regex", - "description": "does the column match the given POSIX regular expression, case sensitive", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_similar", - "description": "does the column match the given SQL regular expression", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Team", - "description": "columns and relationships of \"Team\"", - "fields": [ - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "members", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Member_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Member_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Member_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Member", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "members_aggregate", - "description": "An aggregate relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Member_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Member_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Member_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Member_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "projects", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Project_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Project_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Project", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "projects_aggregate", - "description": "An aggregate relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Project_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Project_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Project_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "uid", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Team_aggregate", - "description": "aggregated selection of \"Team\"", - "fields": [ - { - "name": "aggregate", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "Team_aggregate_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "nodes", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Team", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Team_aggregate_fields", - "description": "aggregate fields of \"Team\"", - "fields": [ - { - "name": "count", - "description": null, - "args": [ - { - "name": "columns", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Team_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "distinct", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "max", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "Team_max_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "min", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "Team_min_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Team_bool_exp", - "description": "Boolean expression to filter rows from the table \"Team\". All fields are combined with a logical 'AND'.", - "fields": null, - "inputFields": [ - { - "name": "_and", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Team_bool_exp", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_not", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Team_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_or", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Team_bool_exp", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "timestamptz_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "uuid_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "members", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Member_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "projects", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "uid", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "timestamptz_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "Team_constraint", - "description": "unique or primary key constraints on table \"Team\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "Team_pkey", - "description": "unique or primary key constraint", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "Team_uid_key", - "description": "unique or primary key constraint", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Team_insert_input", - "description": "input type for inserting data into table \"Team\"", - "fields": null, - "inputFields": [ - { - "name": "createdAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "members", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Member_arr_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "projects", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_arr_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "uid", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Team_max_fields", - "description": "aggregate max on columns", - "fields": [ - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "uid", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Team_min_fields", - "description": "aggregate min on columns", - "fields": [ - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "uid", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Team_mutation_response", - "description": "response of any mutation on the table \"Team\"", - "fields": [ - { - "name": "affected_rows", - "description": "number of rows affected by the mutation", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "returning", - "description": "data from the rows affected by the mutation", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Team", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Team_obj_rel_insert_input", - "description": "input type for inserting object relation for remote table \"Team\"", - "fields": null, - "inputFields": [ - { - "name": "data", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Team_insert_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "Team_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Team_on_conflict", - "description": "on_conflict condition type for table \"Team\"", - "fields": null, - "inputFields": [ - { - "name": "constraint", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Team_constraint", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "update_columns", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Team_update_column", - "ofType": null - } - } - } - }, - "defaultValue": "[]", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Team_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Team_order_by", - "description": "Ordering options when selecting data from \"Team\".", - "fields": null, - "inputFields": [ - { - "name": "createdAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "members_aggregate", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Member_aggregate_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "projects_aggregate", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_aggregate_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "uid", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Team_pk_columns_input", - "description": "primary key columns input for table: Team", - "fields": null, - "inputFields": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "Team_select_column", - "description": "select columns of table \"Team\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "createdAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "uid", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "Team_set_input", - "description": "input type for updating data in table \"Team\"", - "fields": null, - "inputFields": [ - { - "name": "createdAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "uid", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "Team_update_column", - "description": "update columns of table \"Team\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "createdAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "uid", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "User", - "description": "columns and relationships of \"User\"", - "fields": [ - { - "name": "accounts", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Account_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Account_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Account", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "accounts_aggregate", - "description": "An aggregate relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Account_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Account_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Account_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "bio", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "comments", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Comment_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Comment_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Comment", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "comments_aggregate", - "description": "An aggregate relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Comment_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Comment_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Comment_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "email", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "emailVerified", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "image", - "description": "User profile avatar", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "likes", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Like_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Like_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Like_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Like", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "likes_aggregate", - "description": "An aggregate relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Like_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Like_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Like_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Like_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "members", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Member_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Member_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Member_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Member", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "members_aggregate", - "description": "An aggregate relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Member_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Member_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Member_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Member_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "notificationSubscriptions", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "NotificationSubscription_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "NotificationSubscription", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "notificationSubscriptions_aggregate", - "description": "An aggregate relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "NotificationSubscription_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "NotificationSubscription_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "projects", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Project_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Project_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Project", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "projects_aggregate", - "description": "An aggregate relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Project_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Project_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Project_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "recipientNotificationMessages", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "NotificationMessage_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "NotificationMessage", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "recipientNotificationMessages_aggregate", - "description": "An aggregate relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "NotificationMessage_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "NotificationMessage_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sessions", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Session_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Session_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Session_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Session", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sessions_aggregate", - "description": "An aggregate relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Session_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Session_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Session_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Session_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "triggeredNotificationMessages", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "NotificationMessage_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "NotificationMessage", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "triggeredNotificationMessages_aggregate", - "description": "An aggregate relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "NotificationMessage_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "NotificationMessage_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "twitterUserName", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "type", - "description": null, - "args": [], - "type": { - "kind": "ENUM", - "name": "UserType_enum", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userType", - "description": "An object relationship", - "args": [], - "type": { - "kind": "OBJECT", - "name": "UserType", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "username", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "website", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "UserType", - "description": "columns and relationships of \"UserType\"", - "fields": [ - { - "name": "comment", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "users", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "User_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "User_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "User_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "User", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "users_aggregate", - "description": "An aggregate relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "User_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "User_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "User_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "User_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "value", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "UserType_aggregate", - "description": "aggregated selection of \"UserType\"", - "fields": [ - { - "name": "aggregate", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "UserType_aggregate_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "nodes", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "UserType", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "UserType_aggregate_fields", - "description": "aggregate fields of \"UserType\"", - "fields": [ - { - "name": "count", - "description": null, - "args": [ - { - "name": "columns", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "UserType_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "distinct", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "max", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "UserType_max_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "min", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "UserType_min_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "UserType_bool_exp", - "description": "Boolean expression to filter rows from the table \"UserType\". All fields are combined with a logical 'AND'.", - "fields": null, - "inputFields": [ - { - "name": "_and", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UserType_bool_exp", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_not", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "UserType_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_or", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UserType_bool_exp", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "comment", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "users", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "User_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "value", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "UserType_constraint", - "description": "unique or primary key constraints on table \"UserType\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "UserType_pkey", - "description": "unique or primary key constraint", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "UserType_enum", - "description": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "admin", - "description": "Site administrator", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "anonymous", - "description": "Anonymous widget vsisitor", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "free", - "description": "Free user", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pro", - "description": "Paid user", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "UserType_enum_comparison_exp", - "description": "Boolean expression to compare columns of type \"UserType_enum\". All fields are combined with logical 'AND'.", - "fields": null, - "inputFields": [ - { - "name": "_eq", - "description": null, - "type": { - "kind": "ENUM", - "name": "UserType_enum", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_in", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "UserType_enum", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_is_null", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_neq", - "description": null, - "type": { - "kind": "ENUM", - "name": "UserType_enum", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_nin", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "UserType_enum", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "UserType_insert_input", - "description": "input type for inserting data into table \"UserType\"", - "fields": null, - "inputFields": [ - { - "name": "comment", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "users", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "User_arr_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "value", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "UserType_max_fields", - "description": "aggregate max on columns", - "fields": [ - { - "name": "comment", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "value", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "UserType_min_fields", - "description": "aggregate min on columns", - "fields": [ - { - "name": "comment", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "value", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "UserType_mutation_response", - "description": "response of any mutation on the table \"UserType\"", - "fields": [ - { - "name": "affected_rows", - "description": "number of rows affected by the mutation", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "returning", - "description": "data from the rows affected by the mutation", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "UserType", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "UserType_obj_rel_insert_input", - "description": "input type for inserting object relation for remote table \"UserType\"", - "fields": null, - "inputFields": [ - { - "name": "data", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UserType_insert_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "UserType_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "UserType_on_conflict", - "description": "on_conflict condition type for table \"UserType\"", - "fields": null, - "inputFields": [ - { - "name": "constraint", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "UserType_constraint", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "update_columns", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "UserType_update_column", - "ofType": null - } - } - } - }, - "defaultValue": "[]", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "UserType_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "UserType_order_by", - "description": "Ordering options when selecting data from \"UserType\".", - "fields": null, - "inputFields": [ - { - "name": "comment", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "users_aggregate", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "User_aggregate_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "value", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "UserType_pk_columns_input", - "description": "primary key columns input for table: UserType", - "fields": null, - "inputFields": [ - { - "name": "value", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "UserType_select_column", - "description": "select columns of table \"UserType\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "comment", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "value", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "UserType_set_input", - "description": "input type for updating data in table \"UserType\"", - "fields": null, - "inputFields": [ - { - "name": "comment", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "value", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "UserType_update_column", - "description": "update columns of table \"UserType\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "comment", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "value", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "User_aggregate", - "description": "aggregated selection of \"User\"", - "fields": [ - { - "name": "aggregate", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "User_aggregate_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "nodes", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "User", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "User_aggregate_fields", - "description": "aggregate fields of \"User\"", - "fields": [ - { - "name": "count", - "description": null, - "args": [ - { - "name": "columns", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "User_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "distinct", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "max", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "User_max_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "min", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "User_min_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "User_aggregate_order_by", - "description": "order by aggregate values of table \"User\"", - "fields": null, - "inputFields": [ - { - "name": "count", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "max", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "User_max_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "min", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "User_min_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "User_arr_rel_insert_input", - "description": "input type for inserting array relation for remote table \"User\"", - "fields": null, - "inputFields": [ - { - "name": "data", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "User_insert_input", - "ofType": null - } - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "User_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "User_bool_exp", - "description": "Boolean expression to filter rows from the table \"User\". All fields are combined with a logical 'AND'.", - "fields": null, - "inputFields": [ - { - "name": "_and", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "User_bool_exp", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_not", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "User_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_or", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "User_bool_exp", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "accounts", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "bio", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "comments", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "timestamptz_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "email", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "emailVerified", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "timestamptz_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "uuid_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "image", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "likes", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Like_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "members", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Member_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "notificationSubscriptions", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "projects", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "recipientNotificationMessages", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sessions", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Session_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "triggeredNotificationMessages", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "twitterUserName", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "type", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "UserType_enum_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "timestamptz_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userType", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "UserType_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "username", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "website", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "User_constraint", - "description": "unique or primary key constraints on table \"User\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "User_email_key", - "description": "unique or primary key constraint", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "User_pkey", - "description": "unique or primary key constraint", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "User_username_key", - "description": "unique or primary key constraint", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "User_insert_input", - "description": "input type for inserting data into table \"User\"", - "fields": null, - "inputFields": [ - { - "name": "accounts", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_arr_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "bio", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "comments", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_arr_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "email", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "emailVerified", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "image", - "description": "User profile avatar", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "likes", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Like_arr_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "members", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Member_arr_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "notificationSubscriptions", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_arr_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "projects", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_arr_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "recipientNotificationMessages", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_arr_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sessions", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Session_arr_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "triggeredNotificationMessages", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_arr_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "twitterUserName", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "type", - "description": null, - "type": { - "kind": "ENUM", - "name": "UserType_enum", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userType", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "UserType_obj_rel_insert_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "username", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "website", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "User_max_fields", - "description": "aggregate max on columns", - "fields": [ - { - "name": "bio", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "email", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "emailVerified", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "image", - "description": "User profile avatar", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "twitterUserName", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "username", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "website", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "User_max_order_by", - "description": "order by max() on columns of table \"User\"", - "fields": null, - "inputFields": [ - { - "name": "bio", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "email", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "emailVerified", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "image", - "description": "User profile avatar", - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "twitterUserName", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "username", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "website", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "User_min_fields", - "description": "aggregate min on columns", - "fields": [ - { - "name": "bio", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "email", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "emailVerified", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "image", - "description": "User profile avatar", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "twitterUserName", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "username", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "website", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "User_min_order_by", - "description": "order by min() on columns of table \"User\"", - "fields": null, - "inputFields": [ - { - "name": "bio", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "email", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "emailVerified", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "image", - "description": "User profile avatar", - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "twitterUserName", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "username", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "website", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "User_mutation_response", - "description": "response of any mutation on the table \"User\"", - "fields": [ - { - "name": "affected_rows", - "description": "number of rows affected by the mutation", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "returning", - "description": "data from the rows affected by the mutation", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "User", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "User_obj_rel_insert_input", - "description": "input type for inserting object relation for remote table \"User\"", - "fields": null, - "inputFields": [ - { - "name": "data", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "User_insert_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "User_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "User_on_conflict", - "description": "on_conflict condition type for table \"User\"", - "fields": null, - "inputFields": [ - { - "name": "constraint", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "User_constraint", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "update_columns", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "User_update_column", - "ofType": null - } - } - } - }, - "defaultValue": "[]", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "User_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "User_order_by", - "description": "Ordering options when selecting data from \"User\".", - "fields": null, - "inputFields": [ - { - "name": "accounts_aggregate", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_aggregate_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "bio", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "comments_aggregate", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_aggregate_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "email", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "emailVerified", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "image", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "likes_aggregate", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Like_aggregate_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "members_aggregate", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Member_aggregate_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "notificationSubscriptions_aggregate", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_aggregate_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "projects_aggregate", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_aggregate_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "recipientNotificationMessages_aggregate", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_aggregate_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sessions_aggregate", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "Session_aggregate_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "triggeredNotificationMessages_aggregate", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_aggregate_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "twitterUserName", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "type", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userType", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "UserType_order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "username", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "website", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "User_pk_columns_input", - "description": "primary key columns input for table: User", - "fields": null, - "inputFields": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "User_select_column", - "description": "select columns of table \"User\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "bio", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "email", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "emailVerified", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "image", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "twitterUserName", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "type", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "username", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "website", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "User_set_input", - "description": "input type for updating data in table \"User\"", - "fields": null, - "inputFields": [ - { - "name": "bio", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "email", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "emailVerified", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "image", - "description": "User profile avatar", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "twitterUserName", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "type", - "description": null, - "type": { - "kind": "ENUM", - "name": "UserType_enum", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "username", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "website", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "User_update_column", - "description": "update columns of table \"User\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "bio", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createdAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "email", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "emailVerified", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "image", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "twitterUserName", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "type", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatedAt", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "username", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "website", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "VerificationToken", - "description": "columns and relationships of \"VerificationToken\"", - "fields": [ - { - "name": "expires", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "identifier", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "token", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "VerificationToken_aggregate", - "description": "aggregated selection of \"VerificationToken\"", - "fields": [ - { - "name": "aggregate", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "VerificationToken_aggregate_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "nodes", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "VerificationToken", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "VerificationToken_aggregate_fields", - "description": "aggregate fields of \"VerificationToken\"", - "fields": [ - { - "name": "count", - "description": null, - "args": [ - { - "name": "columns", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "VerificationToken_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "distinct", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "max", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "VerificationToken_max_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "min", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "VerificationToken_min_fields", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "VerificationToken_bool_exp", - "description": "Boolean expression to filter rows from the table \"VerificationToken\". All fields are combined with a logical 'AND'.", - "fields": null, - "inputFields": [ - { - "name": "_and", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "VerificationToken_bool_exp", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_not", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "VerificationToken_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_or", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "VerificationToken_bool_exp", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "expires", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "timestamptz_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "uuid_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "identifier", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "token", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "VerificationToken_constraint", - "description": "unique or primary key constraints on table \"VerificationToken\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "VerificationToken_identifier_token_key", - "description": "unique or primary key constraint", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "VerificationToken_pkey", - "description": "unique or primary key constraint", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "VerificationToken_insert_input", - "description": "input type for inserting data into table \"VerificationToken\"", - "fields": null, - "inputFields": [ - { - "name": "expires", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "identifier", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "token", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "VerificationToken_max_fields", - "description": "aggregate max on columns", - "fields": [ - { - "name": "expires", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "identifier", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "token", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "VerificationToken_min_fields", - "description": "aggregate min on columns", - "fields": [ - { - "name": "expires", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "identifier", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "token", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "VerificationToken_mutation_response", - "description": "response of any mutation on the table \"VerificationToken\"", - "fields": [ - { - "name": "affected_rows", - "description": "number of rows affected by the mutation", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "returning", - "description": "data from the rows affected by the mutation", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "VerificationToken", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "VerificationToken_on_conflict", - "description": "on_conflict condition type for table \"VerificationToken\"", - "fields": null, - "inputFields": [ - { - "name": "constraint", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "VerificationToken_constraint", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "update_columns", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "VerificationToken_update_column", - "ofType": null - } - } - } - }, - "defaultValue": "[]", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "VerificationToken_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "VerificationToken_order_by", - "description": "Ordering options when selecting data from \"VerificationToken\".", - "fields": null, - "inputFields": [ - { - "name": "expires", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "identifier", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "token", - "description": null, - "type": { - "kind": "ENUM", - "name": "order_by", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "VerificationToken_pk_columns_input", - "description": "primary key columns input for table: VerificationToken", - "fields": null, - "inputFields": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "VerificationToken_select_column", - "description": "select columns of table \"VerificationToken\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "expires", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "identifier", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "token", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "VerificationToken_set_input", - "description": "input type for updating data in table \"VerificationToken\"", - "fields": null, - "inputFields": [ - { - "name": "expires", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "identifier", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "token", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "VerificationToken_update_column", - "description": "update columns of table \"VerificationToken\"", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "expires", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "identifier", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "token", - "description": "column name", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "__Directive", - "description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.", - "fields": [ - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "description", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "isRepeatable", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "locations", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "__DirectiveLocation", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "args", - "description": null, - "args": [ - { - "name": "includeDeprecated", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": "false", - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__InputValue", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "__DirectiveLocation", - "description": "A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "QUERY", - "description": "Location adjacent to a query operation.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "MUTATION", - "description": "Location adjacent to a mutation operation.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "SUBSCRIPTION", - "description": "Location adjacent to a subscription operation.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "FIELD", - "description": "Location adjacent to a field.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "FRAGMENT_DEFINITION", - "description": "Location adjacent to a fragment definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "FRAGMENT_SPREAD", - "description": "Location adjacent to a fragment spread.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "INLINE_FRAGMENT", - "description": "Location adjacent to an inline fragment.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "VARIABLE_DEFINITION", - "description": "Location adjacent to a variable definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "SCHEMA", - "description": "Location adjacent to a schema definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "SCALAR", - "description": "Location adjacent to a scalar definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "OBJECT", - "description": "Location adjacent to an object type definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "FIELD_DEFINITION", - "description": "Location adjacent to a field definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ARGUMENT_DEFINITION", - "description": "Location adjacent to an argument definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "INTERFACE", - "description": "Location adjacent to an interface definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "UNION", - "description": "Location adjacent to a union definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ENUM", - "description": "Location adjacent to an enum definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ENUM_VALUE", - "description": "Location adjacent to an enum value definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "INPUT_OBJECT", - "description": "Location adjacent to an input object type definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "INPUT_FIELD_DEFINITION", - "description": "Location adjacent to an input object field definition.", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "__EnumValue", - "description": "One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.", - "fields": [ - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "description", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "isDeprecated", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deprecationReason", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "__Field", - "description": "Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.", - "fields": [ - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "description", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "args", - "description": null, - "args": [ - { - "name": "includeDeprecated", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": "false", - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__InputValue", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "type", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "isDeprecated", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deprecationReason", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "__InputValue", - "description": "Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.", - "fields": [ - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "description", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "type", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "defaultValue", - "description": "A GraphQL-formatted string representing the default value for this input value.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "isDeprecated", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deprecationReason", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "__Schema", - "description": "A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.", - "fields": [ - { - "name": "description", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "types", - "description": "A list of all types supported by this server.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "queryType", - "description": "The type that query operations will be rooted at.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "mutationType", - "description": "If this server supports mutation, the type that mutation operations will be rooted at.", - "args": [], - "type": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "subscriptionType", - "description": "If this server support subscription, the type that subscription operations will be rooted at.", - "args": [], - "type": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "directives", - "description": "A list of all directives supported by this server.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__Directive", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "__Type", - "description": "The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.", - "fields": [ - { - "name": "kind", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "__TypeKind", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "description", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "specifiedByURL", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "fields", - "description": null, - "args": [ - { - "name": "includeDeprecated", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": "false", - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__Field", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "interfaces", - "description": null, - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "possibleTypes", - "description": null, - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "enumValues", - "description": null, - "args": [ - { - "name": "includeDeprecated", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": "false", - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__EnumValue", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "inputFields", - "description": null, - "args": [ - { - "name": "includeDeprecated", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": "false", - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__InputValue", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ofType", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "__TypeKind", - "description": "An enum describing what kind of type a given `__Type` is.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "SCALAR", - "description": "Indicates this type is a scalar.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "OBJECT", - "description": "Indicates this type is an object. `fields` and `interfaces` are valid fields.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "INTERFACE", - "description": "Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "UNION", - "description": "Indicates this type is a union. `possibleTypes` is a valid field.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ENUM", - "description": "Indicates this type is an enum. `enumValues` is a valid field.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "INPUT_OBJECT", - "description": "Indicates this type is an input object. `inputFields` is a valid field.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "LIST", - "description": "Indicates this type is a list. `ofType` is a valid field.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "NON_NULL", - "description": "Indicates this type is a non-null. `ofType` is a valid field.", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "jsonb", - "description": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "jsonb_cast_exp", - "description": null, - "fields": null, - "inputFields": [ - { - "name": "String", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "String_comparison_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "jsonb_comparison_exp", - "description": "Boolean expression to compare columns of type \"jsonb\". All fields are combined with logical 'AND'.", - "fields": null, - "inputFields": [ - { - "name": "_cast", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "jsonb_cast_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_contained_in", - "description": "is the column contained in the given json value", - "type": { - "kind": "SCALAR", - "name": "jsonb", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_contains", - "description": "does the column contain the given json value at the top level", - "type": { - "kind": "SCALAR", - "name": "jsonb", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_eq", - "description": null, - "type": { - "kind": "SCALAR", - "name": "jsonb", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_gt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "jsonb", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_gte", - "description": null, - "type": { - "kind": "SCALAR", - "name": "jsonb", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_has_key", - "description": "does the string exist as a top-level key in the column", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_has_keys_all", - "description": "do all of these strings exist as top-level keys in the column", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_has_keys_any", - "description": "do any of these strings exist as top-level keys in the column", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_in", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "jsonb", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_is_null", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_lt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "jsonb", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_lte", - "description": null, - "type": { - "kind": "SCALAR", - "name": "jsonb", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_neq", - "description": null, - "type": { - "kind": "SCALAR", - "name": "jsonb", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_nin", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "jsonb", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "mutation_root", - "description": "mutation root", - "fields": [ - { - "name": "deleteAccountByPk", - "description": "delete single row from the table: \"Account\"", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Account", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deleteAccounts", - "description": "delete data from the table: \"Account\"", - "args": [ - { - "name": "where", - "description": "filter the rows which have to be deleted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Account_bool_exp", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Account_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deleteCommentByPk", - "description": "delete single row from the table: \"Comment\"", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Comment", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deleteComments", - "description": "delete data from the table: \"Comment\"", - "args": [ - { - "name": "where", - "description": "filter the rows which have to be deleted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Comment_bool_exp", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Comment_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deleteLikeByPk", - "description": "delete single row from the table: \"Like\"", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Like", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deleteLikes", - "description": "delete data from the table: \"Like\"", - "args": [ - { - "name": "where", - "description": "filter the rows which have to be deleted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Like_bool_exp", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Like_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deleteMemberByPk", - "description": "delete single row from the table: \"Member\"", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Member", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deleteMembers", - "description": "delete data from the table: \"Member\"", - "args": [ - { - "name": "where", - "description": "filter the rows which have to be deleted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Member_bool_exp", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Member_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deleteNotificationMessageByPk", - "description": "delete single row from the table: \"NotificationMessage\"", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "NotificationMessage", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deleteNotificationMessages", - "description": "delete data from the table: \"NotificationMessage\"", - "args": [ - { - "name": "where", - "description": "filter the rows which have to be deleted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_bool_exp", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "NotificationMessage_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deleteNotificationSubscriptionByPk", - "description": "delete single row from the table: \"NotificationSubscription\"", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "NotificationSubscription", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deleteNotificationSubscriptions", - "description": "delete data from the table: \"NotificationSubscription\"", - "args": [ - { - "name": "where", - "description": "filter the rows which have to be deleted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_bool_exp", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "NotificationSubscription_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deletePageByPk", - "description": "delete single row from the table: \"Page\"", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Page", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deletePages", - "description": "delete data from the table: \"Page\"", - "args": [ - { - "name": "where", - "description": "filter the rows which have to be deleted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Page_bool_exp", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Page_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deleteProjectByPk", - "description": "delete single row from the table: \"Project\"", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Project", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deleteProjects", - "description": "delete data from the table: \"Project\"", - "args": [ - { - "name": "where", - "description": "filter the rows which have to be deleted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Project_bool_exp", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Project_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deleteRoleByPk", - "description": "delete single row from the table: \"Role\"", - "args": [ - { - "name": "value", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Role", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deleteRoles", - "description": "delete data from the table: \"Role\"", - "args": [ - { - "name": "where", - "description": "filter the rows which have to be deleted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Role_bool_exp", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Role_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deleteSessionByPk", - "description": "delete single row from the table: \"Session\"", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Session", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deleteSessions", - "description": "delete data from the table: \"Session\"", - "args": [ - { - "name": "where", - "description": "filter the rows which have to be deleted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Session_bool_exp", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Session_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deleteTeamByPk", - "description": "delete single row from the table: \"Team\"", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Team", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deleteTeams", - "description": "delete data from the table: \"Team\"", - "args": [ - { - "name": "where", - "description": "filter the rows which have to be deleted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Team_bool_exp", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Team_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deleteUserByPk", - "description": "delete single row from the table: \"User\"", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deleteUserTypeByPk", - "description": "delete single row from the table: \"UserType\"", - "args": [ - { - "name": "value", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "UserType", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deleteUserTypes", - "description": "delete data from the table: \"UserType\"", - "args": [ - { - "name": "where", - "description": "filter the rows which have to be deleted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UserType_bool_exp", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "UserType_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deleteUsers", - "description": "delete data from the table: \"User\"", - "args": [ - { - "name": "where", - "description": "filter the rows which have to be deleted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "User_bool_exp", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "User_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deleteVerificationTokenByPk", - "description": "delete single row from the table: \"VerificationToken\"", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "VerificationToken", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deleteVerificationTokens", - "description": "delete data from the table: \"VerificationToken\"", - "args": [ - { - "name": "where", - "description": "filter the rows which have to be deleted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "VerificationToken_bool_exp", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "VerificationToken_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "delete_NotificationType", - "description": "delete data from the table: \"NotificationType\"", - "args": [ - { - "name": "where", - "description": "filter the rows which have to be deleted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationType_bool_exp", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "NotificationType_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "delete_NotificationType_by_pk", - "description": "delete single row from the table: \"NotificationType\"", - "args": [ - { - "name": "value", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "NotificationType", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "insertAccounts", - "description": "insert data into the table: \"Account\"", - "args": [ - { - "name": "objects", - "description": "the rows to be inserted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Account_insert_input", - "ofType": null - } - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Account_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "insertComments", - "description": "insert data into the table: \"Comment\"", - "args": [ - { - "name": "objects", - "description": "the rows to be inserted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Comment_insert_input", - "ofType": null - } - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Comment_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "insertLikes", - "description": "insert data into the table: \"Like\"", - "args": [ - { - "name": "objects", - "description": "the rows to be inserted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Like_insert_input", - "ofType": null - } - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "Like_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Like_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "insertMembers", - "description": "insert data into the table: \"Member\"", - "args": [ - { - "name": "objects", - "description": "the rows to be inserted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Member_insert_input", - "ofType": null - } - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "Member_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Member_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "insertNotificationMessages", - "description": "insert data into the table: \"NotificationMessage\"", - "args": [ - { - "name": "objects", - "description": "the rows to be inserted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_insert_input", - "ofType": null - } - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "NotificationMessage_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "insertNotificationSubscriptions", - "description": "insert data into the table: \"NotificationSubscription\"", - "args": [ - { - "name": "objects", - "description": "the rows to be inserted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_insert_input", - "ofType": null - } - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "NotificationSubscription_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "insertOneAccount", - "description": "insert a single row into the table: \"Account\"", - "args": [ - { - "name": "object", - "description": "the row to be inserted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Account_insert_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Account", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "insertOneComment", - "description": "insert a single row into the table: \"Comment\"", - "args": [ - { - "name": "object", - "description": "the row to be inserted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Comment_insert_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Comment", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "insertOneLike", - "description": "insert a single row into the table: \"Like\"", - "args": [ - { - "name": "object", - "description": "the row to be inserted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Like_insert_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "Like_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Like", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "insertOneMember", - "description": "insert a single row into the table: \"Member\"", - "args": [ - { - "name": "object", - "description": "the row to be inserted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Member_insert_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "Member_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Member", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "insertOneNotificationMessage", - "description": "insert a single row into the table: \"NotificationMessage\"", - "args": [ - { - "name": "object", - "description": "the row to be inserted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_insert_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "NotificationMessage", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "insertOneNotificationSubscription", - "description": "insert a single row into the table: \"NotificationSubscription\"", - "args": [ - { - "name": "object", - "description": "the row to be inserted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_insert_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "NotificationSubscription", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "insertOnePage", - "description": "insert a single row into the table: \"Page\"", - "args": [ - { - "name": "object", - "description": "the row to be inserted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Page_insert_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "Page_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Page", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "insertOneProject", - "description": "insert a single row into the table: \"Project\"", - "args": [ - { - "name": "object", - "description": "the row to be inserted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Project_insert_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Project", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "insertOneRole", - "description": "insert a single row into the table: \"Role\"", - "args": [ - { - "name": "object", - "description": "the row to be inserted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Role_insert_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "Role_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Role", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "insertOneSession", - "description": "insert a single row into the table: \"Session\"", - "args": [ - { - "name": "object", - "description": "the row to be inserted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Session_insert_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "Session_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Session", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "insertOneTeam", - "description": "insert a single row into the table: \"Team\"", - "args": [ - { - "name": "object", - "description": "the row to be inserted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Team_insert_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "Team_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Team", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "insertOneUser", - "description": "insert a single row into the table: \"User\"", - "args": [ - { - "name": "object", - "description": "the row to be inserted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "User_insert_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "User_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "insertOneUserType", - "description": "insert a single row into the table: \"UserType\"", - "args": [ - { - "name": "object", - "description": "the row to be inserted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UserType_insert_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "UserType_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "UserType", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "insertOneVerificationToken", - "description": "insert a single row into the table: \"VerificationToken\"", - "args": [ - { - "name": "object", - "description": "the row to be inserted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "VerificationToken_insert_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "VerificationToken_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "VerificationToken", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "insertPages", - "description": "insert data into the table: \"Page\"", - "args": [ - { - "name": "objects", - "description": "the rows to be inserted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Page_insert_input", - "ofType": null - } - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "Page_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Page_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "insertProjects", - "description": "insert data into the table: \"Project\"", - "args": [ - { - "name": "objects", - "description": "the rows to be inserted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Project_insert_input", - "ofType": null - } - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Project_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "insertRoles", - "description": "insert data into the table: \"Role\"", - "args": [ - { - "name": "objects", - "description": "the rows to be inserted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Role_insert_input", - "ofType": null - } - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "Role_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Role_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "insertSessions", - "description": "insert data into the table: \"Session\"", - "args": [ - { - "name": "objects", - "description": "the rows to be inserted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Session_insert_input", - "ofType": null - } - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "Session_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Session_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "insertTeams", - "description": "insert data into the table: \"Team\"", - "args": [ - { - "name": "objects", - "description": "the rows to be inserted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Team_insert_input", - "ofType": null - } - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "Team_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Team_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "insertUserTypes", - "description": "insert data into the table: \"UserType\"", - "args": [ - { - "name": "objects", - "description": "the rows to be inserted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UserType_insert_input", - "ofType": null - } - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "UserType_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "UserType_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "insertUsers", - "description": "insert data into the table: \"User\"", - "args": [ - { - "name": "objects", - "description": "the rows to be inserted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "User_insert_input", - "ofType": null - } - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "User_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "User_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "insertVerificationTokens", - "description": "insert data into the table: \"VerificationToken\"", - "args": [ - { - "name": "objects", - "description": "the rows to be inserted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "VerificationToken_insert_input", - "ofType": null - } - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "VerificationToken_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "VerificationToken_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "insert_NotificationType", - "description": "insert data into the table: \"NotificationType\"", - "args": [ - { - "name": "objects", - "description": "the rows to be inserted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationType_insert_input", - "ofType": null - } - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationType_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "NotificationType_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "insert_NotificationType_one", - "description": "insert a single row into the table: \"NotificationType\"", - "args": [ - { - "name": "object", - "description": "the row to be inserted", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationType_insert_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "on_conflict", - "description": "upsert condition", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationType_on_conflict", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "NotificationType", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateAccountByPk", - "description": "update single row of the table: \"Account\"", - "args": [ - { - "name": "_set", - "description": "sets the columns of the filtered rows to the given values", - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_set_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pk_columns", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Account_pk_columns_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Account", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateAccounts", - "description": "update data of the table: \"Account\"", - "args": [ - { - "name": "_set", - "description": "sets the columns of the filtered rows to the given values", - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_set_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows which have to be updated", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Account_bool_exp", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Account_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateCommentByPk", - "description": "update single row of the table: \"Comment\"", - "args": [ - { - "name": "_append", - "description": "append existing jsonb value of filtered columns with new jsonb value", - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_append_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_delete_at_path", - "description": "delete the field or element with specified path (for JSON arrays, negative integers count from the end)", - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_delete_at_path_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_delete_elem", - "description": "delete the array element with specified index (negative integers count from the end). throws an error if top level container is not an array", - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_delete_elem_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_delete_key", - "description": "delete key/value pair or string element. key/value pairs are matched based on their key value", - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_delete_key_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_prepend", - "description": "prepend existing jsonb value of filtered columns with new jsonb value", - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_prepend_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_set", - "description": "sets the columns of the filtered rows to the given values", - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_set_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pk_columns", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Comment_pk_columns_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Comment", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateComments", - "description": "update data of the table: \"Comment\"", - "args": [ - { - "name": "_append", - "description": "append existing jsonb value of filtered columns with new jsonb value", - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_append_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_delete_at_path", - "description": "delete the field or element with specified path (for JSON arrays, negative integers count from the end)", - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_delete_at_path_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_delete_elem", - "description": "delete the array element with specified index (negative integers count from the end). throws an error if top level container is not an array", - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_delete_elem_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_delete_key", - "description": "delete key/value pair or string element. key/value pairs are matched based on their key value", - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_delete_key_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_prepend", - "description": "prepend existing jsonb value of filtered columns with new jsonb value", - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_prepend_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_set", - "description": "sets the columns of the filtered rows to the given values", - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_set_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows which have to be updated", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Comment_bool_exp", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Comment_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateLikeByPk", - "description": "update single row of the table: \"Like\"", - "args": [ - { - "name": "_set", - "description": "sets the columns of the filtered rows to the given values", - "type": { - "kind": "INPUT_OBJECT", - "name": "Like_set_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pk_columns", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Like_pk_columns_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Like", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateLikes", - "description": "update data of the table: \"Like\"", - "args": [ - { - "name": "_set", - "description": "sets the columns of the filtered rows to the given values", - "type": { - "kind": "INPUT_OBJECT", - "name": "Like_set_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows which have to be updated", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Like_bool_exp", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Like_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateMemberByPk", - "description": "update single row of the table: \"Member\"", - "args": [ - { - "name": "_set", - "description": "sets the columns of the filtered rows to the given values", - "type": { - "kind": "INPUT_OBJECT", - "name": "Member_set_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pk_columns", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Member_pk_columns_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Member", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateMembers", - "description": "update data of the table: \"Member\"", - "args": [ - { - "name": "_set", - "description": "sets the columns of the filtered rows to the given values", - "type": { - "kind": "INPUT_OBJECT", - "name": "Member_set_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows which have to be updated", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Member_bool_exp", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Member_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateNotificationMessageByPk", - "description": "update single row of the table: \"NotificationMessage\"", - "args": [ - { - "name": "_set", - "description": "sets the columns of the filtered rows to the given values", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_set_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pk_columns", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_pk_columns_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "NotificationMessage", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateNotificationMessages", - "description": "update data of the table: \"NotificationMessage\"", - "args": [ - { - "name": "_set", - "description": "sets the columns of the filtered rows to the given values", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_set_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows which have to be updated", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_bool_exp", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "NotificationMessage_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateNotificationSubscriptionByPk", - "description": "update single row of the table: \"NotificationSubscription\"", - "args": [ - { - "name": "_append", - "description": "append existing jsonb value of filtered columns with new jsonb value", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_append_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_delete_at_path", - "description": "delete the field or element with specified path (for JSON arrays, negative integers count from the end)", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_delete_at_path_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_delete_elem", - "description": "delete the array element with specified index (negative integers count from the end). throws an error if top level container is not an array", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_delete_elem_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_delete_key", - "description": "delete key/value pair or string element. key/value pairs are matched based on their key value", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_delete_key_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_prepend", - "description": "prepend existing jsonb value of filtered columns with new jsonb value", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_prepend_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_set", - "description": "sets the columns of the filtered rows to the given values", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_set_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pk_columns", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_pk_columns_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "NotificationSubscription", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateNotificationSubscriptions", - "description": "update data of the table: \"NotificationSubscription\"", - "args": [ - { - "name": "_append", - "description": "append existing jsonb value of filtered columns with new jsonb value", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_append_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_delete_at_path", - "description": "delete the field or element with specified path (for JSON arrays, negative integers count from the end)", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_delete_at_path_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_delete_elem", - "description": "delete the array element with specified index (negative integers count from the end). throws an error if top level container is not an array", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_delete_elem_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_delete_key", - "description": "delete key/value pair or string element. key/value pairs are matched based on their key value", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_delete_key_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_prepend", - "description": "prepend existing jsonb value of filtered columns with new jsonb value", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_prepend_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_set", - "description": "sets the columns of the filtered rows to the given values", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_set_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows which have to be updated", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_bool_exp", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "NotificationSubscription_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatePageByPk", - "description": "update single row of the table: \"Page\"", - "args": [ - { - "name": "_set", - "description": "sets the columns of the filtered rows to the given values", - "type": { - "kind": "INPUT_OBJECT", - "name": "Page_set_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pk_columns", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Page_pk_columns_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Page", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updatePages", - "description": "update data of the table: \"Page\"", - "args": [ - { - "name": "_set", - "description": "sets the columns of the filtered rows to the given values", - "type": { - "kind": "INPUT_OBJECT", - "name": "Page_set_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows which have to be updated", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Page_bool_exp", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Page_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateProjectByPk", - "description": "update single row of the table: \"Project\"", - "args": [ - { - "name": "_append", - "description": "append existing jsonb value of filtered columns with new jsonb value", - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_append_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_delete_at_path", - "description": "delete the field or element with specified path (for JSON arrays, negative integers count from the end)", - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_delete_at_path_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_delete_elem", - "description": "delete the array element with specified index (negative integers count from the end). throws an error if top level container is not an array", - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_delete_elem_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_delete_key", - "description": "delete key/value pair or string element. key/value pairs are matched based on their key value", - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_delete_key_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_prepend", - "description": "prepend existing jsonb value of filtered columns with new jsonb value", - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_prepend_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_set", - "description": "sets the columns of the filtered rows to the given values", - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_set_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pk_columns", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Project_pk_columns_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Project", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateProjects", - "description": "update data of the table: \"Project\"", - "args": [ - { - "name": "_append", - "description": "append existing jsonb value of filtered columns with new jsonb value", - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_append_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_delete_at_path", - "description": "delete the field or element with specified path (for JSON arrays, negative integers count from the end)", - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_delete_at_path_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_delete_elem", - "description": "delete the array element with specified index (negative integers count from the end). throws an error if top level container is not an array", - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_delete_elem_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_delete_key", - "description": "delete key/value pair or string element. key/value pairs are matched based on their key value", - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_delete_key_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_prepend", - "description": "prepend existing jsonb value of filtered columns with new jsonb value", - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_prepend_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_set", - "description": "sets the columns of the filtered rows to the given values", - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_set_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows which have to be updated", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Project_bool_exp", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Project_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateRoleByPk", - "description": "update single row of the table: \"Role\"", - "args": [ - { - "name": "_set", - "description": "sets the columns of the filtered rows to the given values", - "type": { - "kind": "INPUT_OBJECT", - "name": "Role_set_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pk_columns", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Role_pk_columns_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Role", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateRoles", - "description": "update data of the table: \"Role\"", - "args": [ - { - "name": "_set", - "description": "sets the columns of the filtered rows to the given values", - "type": { - "kind": "INPUT_OBJECT", - "name": "Role_set_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows which have to be updated", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Role_bool_exp", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Role_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateSessionByPk", - "description": "update single row of the table: \"Session\"", - "args": [ - { - "name": "_set", - "description": "sets the columns of the filtered rows to the given values", - "type": { - "kind": "INPUT_OBJECT", - "name": "Session_set_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pk_columns", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Session_pk_columns_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Session", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateSessions", - "description": "update data of the table: \"Session\"", - "args": [ - { - "name": "_set", - "description": "sets the columns of the filtered rows to the given values", - "type": { - "kind": "INPUT_OBJECT", - "name": "Session_set_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows which have to be updated", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Session_bool_exp", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Session_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateTeamByPk", - "description": "update single row of the table: \"Team\"", - "args": [ - { - "name": "_set", - "description": "sets the columns of the filtered rows to the given values", - "type": { - "kind": "INPUT_OBJECT", - "name": "Team_set_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pk_columns", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Team_pk_columns_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Team", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateTeams", - "description": "update data of the table: \"Team\"", - "args": [ - { - "name": "_set", - "description": "sets the columns of the filtered rows to the given values", - "type": { - "kind": "INPUT_OBJECT", - "name": "Team_set_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows which have to be updated", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Team_bool_exp", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Team_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateUserByPk", - "description": "update single row of the table: \"User\"", - "args": [ - { - "name": "_set", - "description": "sets the columns of the filtered rows to the given values", - "type": { - "kind": "INPUT_OBJECT", - "name": "User_set_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pk_columns", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "User_pk_columns_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateUserTypeByPk", - "description": "update single row of the table: \"UserType\"", - "args": [ - { - "name": "_set", - "description": "sets the columns of the filtered rows to the given values", - "type": { - "kind": "INPUT_OBJECT", - "name": "UserType_set_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pk_columns", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UserType_pk_columns_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "UserType", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateUserTypes", - "description": "update data of the table: \"UserType\"", - "args": [ - { - "name": "_set", - "description": "sets the columns of the filtered rows to the given values", - "type": { - "kind": "INPUT_OBJECT", - "name": "UserType_set_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows which have to be updated", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UserType_bool_exp", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "UserType_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateUsers", - "description": "update data of the table: \"User\"", - "args": [ - { - "name": "_set", - "description": "sets the columns of the filtered rows to the given values", - "type": { - "kind": "INPUT_OBJECT", - "name": "User_set_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows which have to be updated", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "User_bool_exp", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "User_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateVerificationTokenByPk", - "description": "update single row of the table: \"VerificationToken\"", - "args": [ - { - "name": "_set", - "description": "sets the columns of the filtered rows to the given values", - "type": { - "kind": "INPUT_OBJECT", - "name": "VerificationToken_set_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pk_columns", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "VerificationToken_pk_columns_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "VerificationToken", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateVerificationTokens", - "description": "update data of the table: \"VerificationToken\"", - "args": [ - { - "name": "_set", - "description": "sets the columns of the filtered rows to the given values", - "type": { - "kind": "INPUT_OBJECT", - "name": "VerificationToken_set_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows which have to be updated", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "VerificationToken_bool_exp", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "VerificationToken_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "update_NotificationType", - "description": "update data of the table: \"NotificationType\"", - "args": [ - { - "name": "_set", - "description": "sets the columns of the filtered rows to the given values", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationType_set_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows which have to be updated", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationType_bool_exp", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "NotificationType_mutation_response", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "update_NotificationType_by_pk", - "description": "update single row of the table: \"NotificationType\"", - "args": [ - { - "name": "_set", - "description": "sets the columns of the filtered rows to the given values", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationType_set_input", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pk_columns", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationType_pk_columns_input", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "NotificationType", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "order_by", - "description": "column ordering options", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "asc", - "description": "in ascending order, nulls last", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "asc_nulls_first", - "description": "in ascending order, nulls first", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "asc_nulls_last", - "description": "in ascending order, nulls last", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "desc", - "description": "in descending order, nulls first", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "desc_nulls_first", - "description": "in descending order, nulls first", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "desc_nulls_last", - "description": "in descending order, nulls last", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "query_root", - "description": null, - "fields": [ - { - "name": "NotificationType", - "description": "fetch data from the table: \"NotificationType\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "NotificationType_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationType_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationType_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "NotificationType", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "NotificationType_aggregate", - "description": "fetch aggregated fields from the table: \"NotificationType\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "NotificationType_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationType_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationType_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "NotificationType_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "NotificationType_by_pk", - "description": "fetch data from the table: \"NotificationType\" using primary key columns", - "args": [ - { - "name": "value", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "NotificationType", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "accountAggregate", - "description": "fetch aggregated fields from the table: \"Account\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Account_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Account_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Account_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "accountByPk", - "description": "fetch data from the table: \"Account\" using primary key columns", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Account", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "accounts", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Account_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Account_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Account", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "commentAggregate", - "description": "fetch aggregated fields from the table: \"Comment\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Comment_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Comment_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Comment_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "commentByPk", - "description": "fetch data from the table: \"Comment\" using primary key columns", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Comment", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "comments", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Comment_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Comment_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Comment", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "likeAggregate", - "description": "fetch aggregated fields from the table: \"Like\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Like_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Like_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Like_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Like_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "likeByPk", - "description": "fetch data from the table: \"Like\" using primary key columns", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Like", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "likes", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Like_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Like_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Like_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Like", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "memberAggregate", - "description": "fetch aggregated fields from the table: \"Member\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Member_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Member_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Member_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Member_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "memberByPk", - "description": "fetch data from the table: \"Member\" using primary key columns", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Member", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "members", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Member_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Member_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Member_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Member", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "notificationMessages", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "NotificationMessage_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "NotificationMessage", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "notificationMessagesAggregate", - "description": "fetch aggregated fields from the table: \"NotificationMessage\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "NotificationMessage_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "NotificationMessage_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "notificationMessagesByPk", - "description": "fetch data from the table: \"NotificationMessage\" using primary key columns", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "NotificationMessage", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "notificationSubscriptionAggregate", - "description": "fetch aggregated fields from the table: \"NotificationSubscription\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "NotificationSubscription_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "NotificationSubscription_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "notificationSubscriptionByPk", - "description": "fetch data from the table: \"NotificationSubscription\" using primary key columns", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "NotificationSubscription", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "notificationSubscriptions", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "NotificationSubscription_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "NotificationSubscription", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageAggregate", - "description": "fetch aggregated fields from the table: \"Page\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Page_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Page_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Page_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Page_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageByPk", - "description": "fetch data from the table: \"Page\" using primary key columns", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Page", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pages", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Page_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Page_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Page_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Page", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "projectAggregate", - "description": "fetch aggregated fields from the table: \"Project\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Project_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Project_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Project_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "projectByPk", - "description": "fetch data from the table: \"Project\" using primary key columns", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Project", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "projects", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Project_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Project_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Project", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "roleAggregate", - "description": "fetch aggregated fields from the table: \"Role\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Role_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Role_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Role_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Role_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "roleByPk", - "description": "fetch data from the table: \"Role\" using primary key columns", - "args": [ - { - "name": "value", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Role", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "roles", - "description": "fetch data from the table: \"Role\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Role_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Role_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Role_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Role", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sessionAggregate", - "description": "fetch aggregated fields from the table: \"Session\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Session_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Session_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Session_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Session_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sessionByPk", - "description": "fetch data from the table: \"Session\" using primary key columns", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Session", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sessions", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Session_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Session_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Session_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Session", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "teamAggregate", - "description": "fetch aggregated fields from the table: \"Team\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Team_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Team_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Team_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Team_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "teamByPk", - "description": "fetch data from the table: \"Team\" using primary key columns", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Team", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "teams", - "description": "fetch data from the table: \"Team\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Team_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Team_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Team_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Team", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userAggregate", - "description": "fetch aggregated fields from the table: \"User\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "User_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "User_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "User_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "User_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userByPk", - "description": "fetch data from the table: \"User\" using primary key columns", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userTypeAggregate", - "description": "fetch aggregated fields from the table: \"UserType\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "UserType_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UserType_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "UserType_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "UserType_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userTypeByPk", - "description": "fetch data from the table: \"UserType\" using primary key columns", - "args": [ - { - "name": "value", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "UserType", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userTypes", - "description": "fetch data from the table: \"UserType\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "UserType_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UserType_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "UserType_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "UserType", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "users", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "User_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "User_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "User_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "User", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "verificationTokenAggregate", - "description": "fetch aggregated fields from the table: \"VerificationToken\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "VerificationToken_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "VerificationToken_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "VerificationToken_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "VerificationToken_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "verificationTokenByPk", - "description": "fetch data from the table: \"VerificationToken\" using primary key columns", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "VerificationToken", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "verificationTokens", - "description": "fetch data from the table: \"VerificationToken\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "VerificationToken_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "VerificationToken_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "VerificationToken_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "VerificationToken", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "subscription_root", - "description": null, - "fields": [ - { - "name": "NotificationType", - "description": "fetch data from the table: \"NotificationType\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "NotificationType_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationType_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationType_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "NotificationType", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "NotificationType_aggregate", - "description": "fetch aggregated fields from the table: \"NotificationType\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "NotificationType_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationType_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationType_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "NotificationType_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "NotificationType_by_pk", - "description": "fetch data from the table: \"NotificationType\" using primary key columns", - "args": [ - { - "name": "value", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "NotificationType", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "accountAggregate", - "description": "fetch aggregated fields from the table: \"Account\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Account_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Account_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Account_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "accountByPk", - "description": "fetch data from the table: \"Account\" using primary key columns", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Account", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "accounts", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Account_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Account_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Account_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Account", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "commentAggregate", - "description": "fetch aggregated fields from the table: \"Comment\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Comment_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Comment_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Comment_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "commentByPk", - "description": "fetch data from the table: \"Comment\" using primary key columns", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Comment", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "comments", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Comment_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Comment_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Comment_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Comment", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "likeAggregate", - "description": "fetch aggregated fields from the table: \"Like\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Like_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Like_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Like_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Like_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "likeByPk", - "description": "fetch data from the table: \"Like\" using primary key columns", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Like", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "likes", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Like_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Like_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Like_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Like", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "memberAggregate", - "description": "fetch aggregated fields from the table: \"Member\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Member_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Member_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Member_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Member_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "memberByPk", - "description": "fetch data from the table: \"Member\" using primary key columns", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Member", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "members", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Member_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Member_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Member_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Member", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "notificationMessages", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "NotificationMessage_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "NotificationMessage", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "notificationMessagesAggregate", - "description": "fetch aggregated fields from the table: \"NotificationMessage\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "NotificationMessage_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationMessage_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "NotificationMessage_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "notificationMessagesByPk", - "description": "fetch data from the table: \"NotificationMessage\" using primary key columns", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "NotificationMessage", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "notificationSubscriptionAggregate", - "description": "fetch aggregated fields from the table: \"NotificationSubscription\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "NotificationSubscription_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "NotificationSubscription_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "notificationSubscriptionByPk", - "description": "fetch data from the table: \"NotificationSubscription\" using primary key columns", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "NotificationSubscription", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "notificationSubscriptions", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "NotificationSubscription_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "NotificationSubscription_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "NotificationSubscription", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageAggregate", - "description": "fetch aggregated fields from the table: \"Page\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Page_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Page_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Page_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Page_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pageByPk", - "description": "fetch data from the table: \"Page\" using primary key columns", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Page", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "pages", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Page_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Page_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Page_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Page", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "projectAggregate", - "description": "fetch aggregated fields from the table: \"Project\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Project_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Project_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Project_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "projectByPk", - "description": "fetch data from the table: \"Project\" using primary key columns", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Project", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "projects", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Project_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Project_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Project_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Project", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "roleAggregate", - "description": "fetch aggregated fields from the table: \"Role\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Role_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Role_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Role_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Role_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "roleByPk", - "description": "fetch data from the table: \"Role\" using primary key columns", - "args": [ - { - "name": "value", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Role", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "roles", - "description": "fetch data from the table: \"Role\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Role_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Role_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Role_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Role", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sessionAggregate", - "description": "fetch aggregated fields from the table: \"Session\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Session_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Session_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Session_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Session_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sessionByPk", - "description": "fetch data from the table: \"Session\" using primary key columns", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Session", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sessions", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Session_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Session_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Session_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Session", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "teamAggregate", - "description": "fetch aggregated fields from the table: \"Team\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Team_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Team_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Team_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Team_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "teamByPk", - "description": "fetch data from the table: \"Team\" using primary key columns", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Team", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "teams", - "description": "fetch data from the table: \"Team\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "Team_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "Team_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "Team_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Team", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userAggregate", - "description": "fetch aggregated fields from the table: \"User\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "User_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "User_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "User_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "User_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userByPk", - "description": "fetch data from the table: \"User\" using primary key columns", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userTypeAggregate", - "description": "fetch aggregated fields from the table: \"UserType\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "UserType_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UserType_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "UserType_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "UserType_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userTypeByPk", - "description": "fetch data from the table: \"UserType\" using primary key columns", - "args": [ - { - "name": "value", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "UserType", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userTypes", - "description": "fetch data from the table: \"UserType\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "UserType_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UserType_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "UserType_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "UserType", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "users", - "description": "An array relationship", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "User_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "User_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "User_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "User", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "verificationTokenAggregate", - "description": "fetch aggregated fields from the table: \"VerificationToken\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "VerificationToken_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "VerificationToken_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "VerificationToken_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "VerificationToken_aggregate", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "verificationTokenByPk", - "description": "fetch data from the table: \"VerificationToken\" using primary key columns", - "args": [ - { - "name": "id", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "OBJECT", - "name": "VerificationToken", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "verificationTokens", - "description": "fetch data from the table: \"VerificationToken\"", - "args": [ - { - "name": "distinct_on", - "description": "distinct select on columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "VerificationToken_select_column", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "limit", - "description": "limit the number of rows returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "offset", - "description": "skip the first n rows. Use only with order_by", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "order_by", - "description": "sort the rows by one or more columns", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "VerificationToken_order_by", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "where", - "description": "filter the rows returned", - "type": { - "kind": "INPUT_OBJECT", - "name": "VerificationToken_bool_exp", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "VerificationToken", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "timestamptz", - "description": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "timestamptz_comparison_exp", - "description": "Boolean expression to compare columns of type \"timestamptz\". All fields are combined with logical 'AND'.", - "fields": null, - "inputFields": [ - { - "name": "_eq", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_gt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_gte", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_in", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_is_null", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_lt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_lte", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_neq", - "description": null, - "type": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_nin", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "timestamptz", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "uuid", - "description": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "uuid_comparison_exp", - "description": "Boolean expression to compare columns of type \"uuid\". All fields are combined with logical 'AND'.", - "fields": null, - "inputFields": [ - { - "name": "_eq", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_gt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_gte", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_in", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_is_null", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_lt", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_lte", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_neq", - "description": null, - "type": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "_nin", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "uuid", - "ofType": null - } - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - } - ], - "directives": [ - { - "name": "cached", - "description": "whether this query should be cached (Hasura Cloud only)", - "isRepeatable": false, - "locations": ["QUERY"], - "args": [ - { - "name": "refresh", - "description": "refresh the cache entry", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "defaultValue": "false", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ttl", - "description": "measured in seconds", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "defaultValue": "60", - "isDeprecated": false, - "deprecationReason": null - } - ] - }, - { - "name": "include", - "description": "whether this query should be included", - "isRepeatable": false, - "locations": ["FIELD", "FRAGMENT_SPREAD", "INLINE_FRAGMENT"], - "args": [ - { - "name": "if", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ] - }, - { - "name": "skip", - "description": "whether this query should be skipped", - "isRepeatable": false, - "locations": ["FIELD", "FRAGMENT_SPREAD", "INLINE_FRAGMENT"], - "args": [ - { - "name": "if", - "description": null, - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "defaultValue": null, - "isDeprecated": false, - "deprecationReason": null - } - ] - } - ] - } -} diff --git a/packages/graphql/scripts/schema.graphql b/packages/graphql/scripts/schema.graphql deleted file mode 100644 index dd729212c..000000000 --- a/packages/graphql/scripts/schema.graphql +++ /dev/null @@ -1,6672 +0,0 @@ -schema { - query: query_root - mutation: mutation_root - subscription: subscription_root -} - -"""whether this query should be cached (Hasura Cloud only)""" -directive @cached( - """measured in seconds""" - ttl: Int! = 60 - - """refresh the cache entry""" - refresh: Boolean! = false -) on QUERY - -""" -columns and relationships of "Account" -""" -type Account { - accessToken: String - expiresAt: timestamptz - id: uuid! - idToken: String - oauthToken: String - oauthTokenSecret: String - provider: String! - providerAccountId: String! - refreshToken: String - scope: String - sessionState: String - tokenType: String - type: String! - - """An object relationship""" - user: User! - userId: uuid! -} - -""" -aggregated selection of "Account" -""" -type Account_aggregate { - aggregate: Account_aggregate_fields - nodes: [Account!]! -} - -""" -aggregate fields of "Account" -""" -type Account_aggregate_fields { - count(columns: [Account_select_column!], distinct: Boolean): Int! - max: Account_max_fields - min: Account_min_fields -} - -""" -order by aggregate values of table "Account" -""" -input Account_aggregate_order_by { - count: order_by - max: Account_max_order_by - min: Account_min_order_by -} - -""" -input type for inserting array relation for remote table "Account" -""" -input Account_arr_rel_insert_input { - data: [Account_insert_input!]! - - """upsert condition""" - on_conflict: Account_on_conflict -} - -""" -Boolean expression to filter rows from the table "Account". All fields are combined with a logical 'AND'. -""" -input Account_bool_exp { - _and: [Account_bool_exp!] - _not: Account_bool_exp - _or: [Account_bool_exp!] - accessToken: String_comparison_exp - expiresAt: timestamptz_comparison_exp - id: uuid_comparison_exp - idToken: String_comparison_exp - oauthToken: String_comparison_exp - oauthTokenSecret: String_comparison_exp - provider: String_comparison_exp - providerAccountId: String_comparison_exp - refreshToken: String_comparison_exp - scope: String_comparison_exp - sessionState: String_comparison_exp - tokenType: String_comparison_exp - type: String_comparison_exp - user: User_bool_exp - userId: uuid_comparison_exp -} - -""" -unique or primary key constraints on table "Account" -""" -enum Account_constraint { - """unique or primary key constraint""" - Account_pkey - - """unique or primary key constraint""" - Account_providerAccountId_provider_key -} - -""" -input type for inserting data into table "Account" -""" -input Account_insert_input { - accessToken: String - expiresAt: timestamptz - id: uuid - idToken: String - oauthToken: String - oauthTokenSecret: String - provider: String - providerAccountId: String - refreshToken: String - scope: String - sessionState: String - tokenType: String - type: String - user: User_obj_rel_insert_input - userId: uuid -} - -"""aggregate max on columns""" -type Account_max_fields { - accessToken: String - expiresAt: timestamptz - id: uuid - idToken: String - oauthToken: String - oauthTokenSecret: String - provider: String - providerAccountId: String - refreshToken: String - scope: String - sessionState: String - tokenType: String - type: String - userId: uuid -} - -""" -order by max() on columns of table "Account" -""" -input Account_max_order_by { - accessToken: order_by - expiresAt: order_by - id: order_by - idToken: order_by - oauthToken: order_by - oauthTokenSecret: order_by - provider: order_by - providerAccountId: order_by - refreshToken: order_by - scope: order_by - sessionState: order_by - tokenType: order_by - type: order_by - userId: order_by -} - -"""aggregate min on columns""" -type Account_min_fields { - accessToken: String - expiresAt: timestamptz - id: uuid - idToken: String - oauthToken: String - oauthTokenSecret: String - provider: String - providerAccountId: String - refreshToken: String - scope: String - sessionState: String - tokenType: String - type: String - userId: uuid -} - -""" -order by min() on columns of table "Account" -""" -input Account_min_order_by { - accessToken: order_by - expiresAt: order_by - id: order_by - idToken: order_by - oauthToken: order_by - oauthTokenSecret: order_by - provider: order_by - providerAccountId: order_by - refreshToken: order_by - scope: order_by - sessionState: order_by - tokenType: order_by - type: order_by - userId: order_by -} - -""" -response of any mutation on the table "Account" -""" -type Account_mutation_response { - """number of rows affected by the mutation""" - affected_rows: Int! - - """data from the rows affected by the mutation""" - returning: [Account!]! -} - -""" -on_conflict condition type for table "Account" -""" -input Account_on_conflict { - constraint: Account_constraint! - update_columns: [Account_update_column!]! = [] - where: Account_bool_exp -} - -"""Ordering options when selecting data from "Account".""" -input Account_order_by { - accessToken: order_by - expiresAt: order_by - id: order_by - idToken: order_by - oauthToken: order_by - oauthTokenSecret: order_by - provider: order_by - providerAccountId: order_by - refreshToken: order_by - scope: order_by - sessionState: order_by - tokenType: order_by - type: order_by - user: User_order_by - userId: order_by -} - -"""primary key columns input for table: Account""" -input Account_pk_columns_input { - id: uuid! -} - -""" -select columns of table "Account" -""" -enum Account_select_column { - """column name""" - accessToken - - """column name""" - expiresAt - - """column name""" - id - - """column name""" - idToken - - """column name""" - oauthToken - - """column name""" - oauthTokenSecret - - """column name""" - provider - - """column name""" - providerAccountId - - """column name""" - refreshToken - - """column name""" - scope - - """column name""" - sessionState - - """column name""" - tokenType - - """column name""" - type - - """column name""" - userId -} - -""" -input type for updating data in table "Account" -""" -input Account_set_input { - accessToken: String - expiresAt: timestamptz - id: uuid - idToken: String - oauthToken: String - oauthTokenSecret: String - provider: String - providerAccountId: String - refreshToken: String - scope: String - sessionState: String - tokenType: String - type: String - userId: uuid -} - -""" -update columns of table "Account" -""" -enum Account_update_column { - """column name""" - accessToken - - """column name""" - expiresAt - - """column name""" - id - - """column name""" - idToken - - """column name""" - oauthToken - - """column name""" - oauthTokenSecret - - """column name""" - provider - - """column name""" - providerAccountId - - """column name""" - refreshToken - - """column name""" - scope - - """column name""" - sessionState - - """column name""" - tokenType - - """column name""" - type - - """column name""" - userId -} - -""" -Boolean expression to compare columns of type "Boolean". All fields are combined with logical 'AND'. -""" -input Boolean_comparison_exp { - _eq: Boolean - _gt: Boolean - _gte: Boolean - _in: [Boolean!] - _is_null: Boolean - _lt: Boolean - _lte: Boolean - _neq: Boolean - _nin: [Boolean!] -} - -""" -columns and relationships of "Comment" -""" -type Comment { - content( - """JSON select path""" - path: String - ): jsonb! - createdAt: timestamptz! - deletedAt: timestamptz - id: uuid! - - """An array relationship""" - likes( - """distinct select on columns""" - distinct_on: [Like_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Like_order_by!] - - """filter the rows returned""" - where: Like_bool_exp - ): [Like!]! - - """An aggregate relationship""" - likes_aggregate( - """distinct select on columns""" - distinct_on: [Like_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Like_order_by!] - - """filter the rows returned""" - where: Like_bool_exp - ): Like_aggregate! - - """An object relationship""" - page: Page! - pageId: uuid! - - """An object relationship""" - parent: Comment - parentId: uuid - - """An array relationship""" - replies( - """distinct select on columns""" - distinct_on: [Comment_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Comment_order_by!] - - """filter the rows returned""" - where: Comment_bool_exp - ): [Comment!]! - - """An aggregate relationship""" - replies_aggregate( - """distinct select on columns""" - distinct_on: [Comment_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Comment_order_by!] - - """filter the rows returned""" - where: Comment_bool_exp - ): Comment_aggregate! - updatedAt: timestamptz! - - """An object relationship""" - user: User! - userId: uuid! -} - -""" -aggregated selection of "Comment" -""" -type Comment_aggregate { - aggregate: Comment_aggregate_fields - nodes: [Comment!]! -} - -""" -aggregate fields of "Comment" -""" -type Comment_aggregate_fields { - count(columns: [Comment_select_column!], distinct: Boolean): Int! - max: Comment_max_fields - min: Comment_min_fields -} - -""" -order by aggregate values of table "Comment" -""" -input Comment_aggregate_order_by { - count: order_by - max: Comment_max_order_by - min: Comment_min_order_by -} - -"""append existing jsonb value of filtered columns with new jsonb value""" -input Comment_append_input { - content: jsonb -} - -""" -input type for inserting array relation for remote table "Comment" -""" -input Comment_arr_rel_insert_input { - data: [Comment_insert_input!]! - - """upsert condition""" - on_conflict: Comment_on_conflict -} - -""" -Boolean expression to filter rows from the table "Comment". All fields are combined with a logical 'AND'. -""" -input Comment_bool_exp { - _and: [Comment_bool_exp!] - _not: Comment_bool_exp - _or: [Comment_bool_exp!] - content: jsonb_comparison_exp - createdAt: timestamptz_comparison_exp - deletedAt: timestamptz_comparison_exp - id: uuid_comparison_exp - likes: Like_bool_exp - page: Page_bool_exp - pageId: uuid_comparison_exp - parent: Comment_bool_exp - parentId: uuid_comparison_exp - replies: Comment_bool_exp - updatedAt: timestamptz_comparison_exp - user: User_bool_exp - userId: uuid_comparison_exp -} - -""" -unique or primary key constraints on table "Comment" -""" -enum Comment_constraint { - """unique or primary key constraint""" - Comment_pkey -} - -""" -delete the field or element with specified path (for JSON arrays, negative integers count from the end) -""" -input Comment_delete_at_path_input { - content: [String!] -} - -""" -delete the array element with specified index (negative integers count from the end). throws an error if top level container is not an array -""" -input Comment_delete_elem_input { - content: Int -} - -""" -delete key/value pair or string element. key/value pairs are matched based on their key value -""" -input Comment_delete_key_input { - content: String -} - -""" -input type for inserting data into table "Comment" -""" -input Comment_insert_input { - content: jsonb - createdAt: timestamptz - deletedAt: timestamptz - id: uuid - likes: Like_arr_rel_insert_input - page: Page_obj_rel_insert_input - pageId: uuid - parent: Comment_obj_rel_insert_input - parentId: uuid - replies: Comment_arr_rel_insert_input - updatedAt: timestamptz - user: User_obj_rel_insert_input - userId: uuid -} - -"""aggregate max on columns""" -type Comment_max_fields { - createdAt: timestamptz - deletedAt: timestamptz - id: uuid - pageId: uuid - parentId: uuid - updatedAt: timestamptz - userId: uuid -} - -""" -order by max() on columns of table "Comment" -""" -input Comment_max_order_by { - createdAt: order_by - deletedAt: order_by - id: order_by - pageId: order_by - parentId: order_by - updatedAt: order_by - userId: order_by -} - -"""aggregate min on columns""" -type Comment_min_fields { - createdAt: timestamptz - deletedAt: timestamptz - id: uuid - pageId: uuid - parentId: uuid - updatedAt: timestamptz - userId: uuid -} - -""" -order by min() on columns of table "Comment" -""" -input Comment_min_order_by { - createdAt: order_by - deletedAt: order_by - id: order_by - pageId: order_by - parentId: order_by - updatedAt: order_by - userId: order_by -} - -""" -response of any mutation on the table "Comment" -""" -type Comment_mutation_response { - """number of rows affected by the mutation""" - affected_rows: Int! - - """data from the rows affected by the mutation""" - returning: [Comment!]! -} - -""" -input type for inserting object relation for remote table "Comment" -""" -input Comment_obj_rel_insert_input { - data: Comment_insert_input! - - """upsert condition""" - on_conflict: Comment_on_conflict -} - -""" -on_conflict condition type for table "Comment" -""" -input Comment_on_conflict { - constraint: Comment_constraint! - update_columns: [Comment_update_column!]! = [] - where: Comment_bool_exp -} - -"""Ordering options when selecting data from "Comment".""" -input Comment_order_by { - content: order_by - createdAt: order_by - deletedAt: order_by - id: order_by - likes_aggregate: Like_aggregate_order_by - page: Page_order_by - pageId: order_by - parent: Comment_order_by - parentId: order_by - replies_aggregate: Comment_aggregate_order_by - updatedAt: order_by - user: User_order_by - userId: order_by -} - -"""primary key columns input for table: Comment""" -input Comment_pk_columns_input { - id: uuid! -} - -"""prepend existing jsonb value of filtered columns with new jsonb value""" -input Comment_prepend_input { - content: jsonb -} - -""" -select columns of table "Comment" -""" -enum Comment_select_column { - """column name""" - content - - """column name""" - createdAt - - """column name""" - deletedAt - - """column name""" - id - - """column name""" - pageId - - """column name""" - parentId - - """column name""" - updatedAt - - """column name""" - userId -} - -""" -input type for updating data in table "Comment" -""" -input Comment_set_input { - content: jsonb - createdAt: timestamptz - deletedAt: timestamptz - id: uuid - pageId: uuid - parentId: uuid - updatedAt: timestamptz - userId: uuid -} - -""" -update columns of table "Comment" -""" -enum Comment_update_column { - """column name""" - content - - """column name""" - createdAt - - """column name""" - deletedAt - - """column name""" - id - - """column name""" - pageId - - """column name""" - parentId - - """column name""" - updatedAt - - """column name""" - userId -} - -""" -columns and relationships of "Like" -""" -type Like { - """An object relationship""" - comment: Comment! - commentId: uuid! - createdAt: timestamptz! - id: uuid! - updatedAt: timestamptz! - - """An object relationship""" - user: User! - userId: uuid! -} - -""" -aggregated selection of "Like" -""" -type Like_aggregate { - aggregate: Like_aggregate_fields - nodes: [Like!]! -} - -""" -aggregate fields of "Like" -""" -type Like_aggregate_fields { - count(columns: [Like_select_column!], distinct: Boolean): Int! - max: Like_max_fields - min: Like_min_fields -} - -""" -order by aggregate values of table "Like" -""" -input Like_aggregate_order_by { - count: order_by - max: Like_max_order_by - min: Like_min_order_by -} - -""" -input type for inserting array relation for remote table "Like" -""" -input Like_arr_rel_insert_input { - data: [Like_insert_input!]! - - """upsert condition""" - on_conflict: Like_on_conflict -} - -""" -Boolean expression to filter rows from the table "Like". All fields are combined with a logical 'AND'. -""" -input Like_bool_exp { - _and: [Like_bool_exp!] - _not: Like_bool_exp - _or: [Like_bool_exp!] - comment: Comment_bool_exp - commentId: uuid_comparison_exp - createdAt: timestamptz_comparison_exp - id: uuid_comparison_exp - updatedAt: timestamptz_comparison_exp - user: User_bool_exp - userId: uuid_comparison_exp -} - -""" -unique or primary key constraints on table "Like" -""" -enum Like_constraint { - """unique or primary key constraint""" - Like_commentId_userId_key - - """unique or primary key constraint""" - Like_pkey -} - -""" -input type for inserting data into table "Like" -""" -input Like_insert_input { - comment: Comment_obj_rel_insert_input - commentId: uuid - createdAt: timestamptz - id: uuid - updatedAt: timestamptz - user: User_obj_rel_insert_input - userId: uuid -} - -"""aggregate max on columns""" -type Like_max_fields { - commentId: uuid - createdAt: timestamptz - id: uuid - updatedAt: timestamptz - userId: uuid -} - -""" -order by max() on columns of table "Like" -""" -input Like_max_order_by { - commentId: order_by - createdAt: order_by - id: order_by - updatedAt: order_by - userId: order_by -} - -"""aggregate min on columns""" -type Like_min_fields { - commentId: uuid - createdAt: timestamptz - id: uuid - updatedAt: timestamptz - userId: uuid -} - -""" -order by min() on columns of table "Like" -""" -input Like_min_order_by { - commentId: order_by - createdAt: order_by - id: order_by - updatedAt: order_by - userId: order_by -} - -""" -response of any mutation on the table "Like" -""" -type Like_mutation_response { - """number of rows affected by the mutation""" - affected_rows: Int! - - """data from the rows affected by the mutation""" - returning: [Like!]! -} - -""" -on_conflict condition type for table "Like" -""" -input Like_on_conflict { - constraint: Like_constraint! - update_columns: [Like_update_column!]! = [] - where: Like_bool_exp -} - -"""Ordering options when selecting data from "Like".""" -input Like_order_by { - comment: Comment_order_by - commentId: order_by - createdAt: order_by - id: order_by - updatedAt: order_by - user: User_order_by - userId: order_by -} - -"""primary key columns input for table: Like""" -input Like_pk_columns_input { - id: uuid! -} - -""" -select columns of table "Like" -""" -enum Like_select_column { - """column name""" - commentId - - """column name""" - createdAt - - """column name""" - id - - """column name""" - updatedAt - - """column name""" - userId -} - -""" -input type for updating data in table "Like" -""" -input Like_set_input { - commentId: uuid - createdAt: timestamptz - id: uuid - updatedAt: timestamptz - userId: uuid -} - -""" -update columns of table "Like" -""" -enum Like_update_column { - """column name""" - commentId - - """column name""" - createdAt - - """column name""" - id - - """column name""" - updatedAt - - """column name""" - userId -} - -""" -columns and relationships of "Member" -""" -type Member { - """An object relationship""" - Role: Role! - createdAt: timestamptz! - id: uuid! - role: Role_enum! - - """An object relationship""" - team: Team! - teamId: uuid! - updatedAt: timestamptz! - - """An object relationship""" - user: User! - userId: uuid! -} - -""" -aggregated selection of "Member" -""" -type Member_aggregate { - aggregate: Member_aggregate_fields - nodes: [Member!]! -} - -""" -aggregate fields of "Member" -""" -type Member_aggregate_fields { - count(columns: [Member_select_column!], distinct: Boolean): Int! - max: Member_max_fields - min: Member_min_fields -} - -""" -order by aggregate values of table "Member" -""" -input Member_aggregate_order_by { - count: order_by - max: Member_max_order_by - min: Member_min_order_by -} - -""" -input type for inserting array relation for remote table "Member" -""" -input Member_arr_rel_insert_input { - data: [Member_insert_input!]! - - """upsert condition""" - on_conflict: Member_on_conflict -} - -""" -Boolean expression to filter rows from the table "Member". All fields are combined with a logical 'AND'. -""" -input Member_bool_exp { - Role: Role_bool_exp - _and: [Member_bool_exp!] - _not: Member_bool_exp - _or: [Member_bool_exp!] - createdAt: timestamptz_comparison_exp - id: uuid_comparison_exp - role: Role_enum_comparison_exp - team: Team_bool_exp - teamId: uuid_comparison_exp - updatedAt: timestamptz_comparison_exp - user: User_bool_exp - userId: uuid_comparison_exp -} - -""" -unique or primary key constraints on table "Member" -""" -enum Member_constraint { - """unique or primary key constraint""" - Member_pkey - - """unique or primary key constraint""" - Member_teamId_userId_key -} - -""" -input type for inserting data into table "Member" -""" -input Member_insert_input { - Role: Role_obj_rel_insert_input - createdAt: timestamptz - id: uuid - role: Role_enum - team: Team_obj_rel_insert_input - teamId: uuid - updatedAt: timestamptz - user: User_obj_rel_insert_input - userId: uuid -} - -"""aggregate max on columns""" -type Member_max_fields { - createdAt: timestamptz - id: uuid - teamId: uuid - updatedAt: timestamptz - userId: uuid -} - -""" -order by max() on columns of table "Member" -""" -input Member_max_order_by { - createdAt: order_by - id: order_by - teamId: order_by - updatedAt: order_by - userId: order_by -} - -"""aggregate min on columns""" -type Member_min_fields { - createdAt: timestamptz - id: uuid - teamId: uuid - updatedAt: timestamptz - userId: uuid -} - -""" -order by min() on columns of table "Member" -""" -input Member_min_order_by { - createdAt: order_by - id: order_by - teamId: order_by - updatedAt: order_by - userId: order_by -} - -""" -response of any mutation on the table "Member" -""" -type Member_mutation_response { - """number of rows affected by the mutation""" - affected_rows: Int! - - """data from the rows affected by the mutation""" - returning: [Member!]! -} - -""" -on_conflict condition type for table "Member" -""" -input Member_on_conflict { - constraint: Member_constraint! - update_columns: [Member_update_column!]! = [] - where: Member_bool_exp -} - -"""Ordering options when selecting data from "Member".""" -input Member_order_by { - Role: Role_order_by - createdAt: order_by - id: order_by - role: order_by - team: Team_order_by - teamId: order_by - updatedAt: order_by - user: User_order_by - userId: order_by -} - -"""primary key columns input for table: Member""" -input Member_pk_columns_input { - id: uuid! -} - -""" -select columns of table "Member" -""" -enum Member_select_column { - """column name""" - createdAt - - """column name""" - id - - """column name""" - role - - """column name""" - teamId - - """column name""" - updatedAt - - """column name""" - userId -} - -""" -input type for updating data in table "Member" -""" -input Member_set_input { - createdAt: timestamptz - id: uuid - role: Role_enum - teamId: uuid - updatedAt: timestamptz - userId: uuid -} - -""" -update columns of table "Member" -""" -enum Member_update_column { - """column name""" - createdAt - - """column name""" - id - - """column name""" - role - - """column name""" - teamId - - """column name""" - updatedAt - - """column name""" - userId -} - -""" -columns and relationships of "NotificationMessage" -""" -type NotificationMessage { - """Content of message, e.g. comment content""" - content: String - - """Triggered entity's id, e.g. CommentId or LikeId""" - contextId: uuid! - createdAt: timestamptz! - deletedAt: timestamptz - id: uuid! - - """An object relationship""" - notificationType: NotificationType! - read: Boolean! - - """An object relationship""" - recipient: User! - recipientId: uuid! - - """An object relationship""" - triggeredBy: User! - triggeredById: uuid! - type: NotificationType_enum! - url: String! -} - -""" -aggregated selection of "NotificationMessage" -""" -type NotificationMessage_aggregate { - aggregate: NotificationMessage_aggregate_fields - nodes: [NotificationMessage!]! -} - -""" -aggregate fields of "NotificationMessage" -""" -type NotificationMessage_aggregate_fields { - count(columns: [NotificationMessage_select_column!], distinct: Boolean): Int! - max: NotificationMessage_max_fields - min: NotificationMessage_min_fields -} - -""" -order by aggregate values of table "NotificationMessage" -""" -input NotificationMessage_aggregate_order_by { - count: order_by - max: NotificationMessage_max_order_by - min: NotificationMessage_min_order_by -} - -""" -input type for inserting array relation for remote table "NotificationMessage" -""" -input NotificationMessage_arr_rel_insert_input { - data: [NotificationMessage_insert_input!]! - - """upsert condition""" - on_conflict: NotificationMessage_on_conflict -} - -""" -Boolean expression to filter rows from the table "NotificationMessage". All fields are combined with a logical 'AND'. -""" -input NotificationMessage_bool_exp { - _and: [NotificationMessage_bool_exp!] - _not: NotificationMessage_bool_exp - _or: [NotificationMessage_bool_exp!] - content: String_comparison_exp - contextId: uuid_comparison_exp - createdAt: timestamptz_comparison_exp - deletedAt: timestamptz_comparison_exp - id: uuid_comparison_exp - notificationType: NotificationType_bool_exp - read: Boolean_comparison_exp - recipient: User_bool_exp - recipientId: uuid_comparison_exp - triggeredBy: User_bool_exp - triggeredById: uuid_comparison_exp - type: NotificationType_enum_comparison_exp - url: String_comparison_exp -} - -""" -unique or primary key constraints on table "NotificationMessage" -""" -enum NotificationMessage_constraint { - """unique or primary key constraint""" - NotificationMessage_pkey - - """unique or primary key constraint""" - NotificationMessage_type_triggeredById_contextId_recipientI_key -} - -""" -input type for inserting data into table "NotificationMessage" -""" -input NotificationMessage_insert_input { - """Content of message, e.g. comment content""" - content: String - - """Triggered entity's id, e.g. CommentId or LikeId""" - contextId: uuid - createdAt: timestamptz - deletedAt: timestamptz - id: uuid - notificationType: NotificationType_obj_rel_insert_input - read: Boolean - recipient: User_obj_rel_insert_input - recipientId: uuid - triggeredBy: User_obj_rel_insert_input - triggeredById: uuid - type: NotificationType_enum - url: String -} - -"""aggregate max on columns""" -type NotificationMessage_max_fields { - """Content of message, e.g. comment content""" - content: String - - """Triggered entity's id, e.g. CommentId or LikeId""" - contextId: uuid - createdAt: timestamptz - deletedAt: timestamptz - id: uuid - recipientId: uuid - triggeredById: uuid - url: String -} - -""" -order by max() on columns of table "NotificationMessage" -""" -input NotificationMessage_max_order_by { - """Content of message, e.g. comment content""" - content: order_by - - """Triggered entity's id, e.g. CommentId or LikeId""" - contextId: order_by - createdAt: order_by - deletedAt: order_by - id: order_by - recipientId: order_by - triggeredById: order_by - url: order_by -} - -"""aggregate min on columns""" -type NotificationMessage_min_fields { - """Content of message, e.g. comment content""" - content: String - - """Triggered entity's id, e.g. CommentId or LikeId""" - contextId: uuid - createdAt: timestamptz - deletedAt: timestamptz - id: uuid - recipientId: uuid - triggeredById: uuid - url: String -} - -""" -order by min() on columns of table "NotificationMessage" -""" -input NotificationMessage_min_order_by { - """Content of message, e.g. comment content""" - content: order_by - - """Triggered entity's id, e.g. CommentId or LikeId""" - contextId: order_by - createdAt: order_by - deletedAt: order_by - id: order_by - recipientId: order_by - triggeredById: order_by - url: order_by -} - -""" -response of any mutation on the table "NotificationMessage" -""" -type NotificationMessage_mutation_response { - """number of rows affected by the mutation""" - affected_rows: Int! - - """data from the rows affected by the mutation""" - returning: [NotificationMessage!]! -} - -""" -on_conflict condition type for table "NotificationMessage" -""" -input NotificationMessage_on_conflict { - constraint: NotificationMessage_constraint! - update_columns: [NotificationMessage_update_column!]! = [] - where: NotificationMessage_bool_exp -} - -"""Ordering options when selecting data from "NotificationMessage".""" -input NotificationMessage_order_by { - content: order_by - contextId: order_by - createdAt: order_by - deletedAt: order_by - id: order_by - notificationType: NotificationType_order_by - read: order_by - recipient: User_order_by - recipientId: order_by - triggeredBy: User_order_by - triggeredById: order_by - type: order_by - url: order_by -} - -"""primary key columns input for table: NotificationMessage""" -input NotificationMessage_pk_columns_input { - id: uuid! -} - -""" -select columns of table "NotificationMessage" -""" -enum NotificationMessage_select_column { - """column name""" - content - - """column name""" - contextId - - """column name""" - createdAt - - """column name""" - deletedAt - - """column name""" - id - - """column name""" - read - - """column name""" - recipientId - - """column name""" - triggeredById - - """column name""" - type - - """column name""" - url -} - -""" -input type for updating data in table "NotificationMessage" -""" -input NotificationMessage_set_input { - """Content of message, e.g. comment content""" - content: String - - """Triggered entity's id, e.g. CommentId or LikeId""" - contextId: uuid - createdAt: timestamptz - deletedAt: timestamptz - id: uuid - read: Boolean - recipientId: uuid - triggeredById: uuid - type: NotificationType_enum - url: String -} - -""" -update columns of table "NotificationMessage" -""" -enum NotificationMessage_update_column { - """column name""" - content - - """column name""" - contextId - - """column name""" - createdAt - - """column name""" - deletedAt - - """column name""" - id - - """column name""" - read - - """column name""" - recipientId - - """column name""" - triggeredById - - """column name""" - type - - """column name""" - url -} - -""" -columns and relationships of "NotificationSubscription" -""" -type NotificationSubscription { - createdAt: timestamptz - id: uuid! - subscription( - """JSON select path""" - path: String - ): jsonb! - - """An object relationship""" - user: User! - userId: uuid! -} - -""" -aggregated selection of "NotificationSubscription" -""" -type NotificationSubscription_aggregate { - aggregate: NotificationSubscription_aggregate_fields - nodes: [NotificationSubscription!]! -} - -""" -aggregate fields of "NotificationSubscription" -""" -type NotificationSubscription_aggregate_fields { - count(columns: [NotificationSubscription_select_column!], distinct: Boolean): Int! - max: NotificationSubscription_max_fields - min: NotificationSubscription_min_fields -} - -""" -order by aggregate values of table "NotificationSubscription" -""" -input NotificationSubscription_aggregate_order_by { - count: order_by - max: NotificationSubscription_max_order_by - min: NotificationSubscription_min_order_by -} - -"""append existing jsonb value of filtered columns with new jsonb value""" -input NotificationSubscription_append_input { - subscription: jsonb -} - -""" -input type for inserting array relation for remote table "NotificationSubscription" -""" -input NotificationSubscription_arr_rel_insert_input { - data: [NotificationSubscription_insert_input!]! - - """upsert condition""" - on_conflict: NotificationSubscription_on_conflict -} - -""" -Boolean expression to filter rows from the table "NotificationSubscription". All fields are combined with a logical 'AND'. -""" -input NotificationSubscription_bool_exp { - _and: [NotificationSubscription_bool_exp!] - _not: NotificationSubscription_bool_exp - _or: [NotificationSubscription_bool_exp!] - createdAt: timestamptz_comparison_exp - id: uuid_comparison_exp - subscription: jsonb_comparison_exp - user: User_bool_exp - userId: uuid_comparison_exp -} - -""" -unique or primary key constraints on table "NotificationSubscription" -""" -enum NotificationSubscription_constraint { - """unique or primary key constraint""" - NotificationSubscription_pkey - - """unique or primary key constraint""" - NotificationSubscription_subscription_userId_key -} - -""" -delete the field or element with specified path (for JSON arrays, negative integers count from the end) -""" -input NotificationSubscription_delete_at_path_input { - subscription: [String!] -} - -""" -delete the array element with specified index (negative integers count from the end). throws an error if top level container is not an array -""" -input NotificationSubscription_delete_elem_input { - subscription: Int -} - -""" -delete key/value pair or string element. key/value pairs are matched based on their key value -""" -input NotificationSubscription_delete_key_input { - subscription: String -} - -""" -input type for inserting data into table "NotificationSubscription" -""" -input NotificationSubscription_insert_input { - createdAt: timestamptz - id: uuid - subscription: jsonb - user: User_obj_rel_insert_input - userId: uuid -} - -"""aggregate max on columns""" -type NotificationSubscription_max_fields { - createdAt: timestamptz - id: uuid - userId: uuid -} - -""" -order by max() on columns of table "NotificationSubscription" -""" -input NotificationSubscription_max_order_by { - createdAt: order_by - id: order_by - userId: order_by -} - -"""aggregate min on columns""" -type NotificationSubscription_min_fields { - createdAt: timestamptz - id: uuid - userId: uuid -} - -""" -order by min() on columns of table "NotificationSubscription" -""" -input NotificationSubscription_min_order_by { - createdAt: order_by - id: order_by - userId: order_by -} - -""" -response of any mutation on the table "NotificationSubscription" -""" -type NotificationSubscription_mutation_response { - """number of rows affected by the mutation""" - affected_rows: Int! - - """data from the rows affected by the mutation""" - returning: [NotificationSubscription!]! -} - -""" -on_conflict condition type for table "NotificationSubscription" -""" -input NotificationSubscription_on_conflict { - constraint: NotificationSubscription_constraint! - update_columns: [NotificationSubscription_update_column!]! = [] - where: NotificationSubscription_bool_exp -} - -"""Ordering options when selecting data from "NotificationSubscription".""" -input NotificationSubscription_order_by { - createdAt: order_by - id: order_by - subscription: order_by - user: User_order_by - userId: order_by -} - -"""primary key columns input for table: NotificationSubscription""" -input NotificationSubscription_pk_columns_input { - id: uuid! -} - -"""prepend existing jsonb value of filtered columns with new jsonb value""" -input NotificationSubscription_prepend_input { - subscription: jsonb -} - -""" -select columns of table "NotificationSubscription" -""" -enum NotificationSubscription_select_column { - """column name""" - createdAt - - """column name""" - id - - """column name""" - subscription - - """column name""" - userId -} - -""" -input type for updating data in table "NotificationSubscription" -""" -input NotificationSubscription_set_input { - createdAt: timestamptz - id: uuid - subscription: jsonb - userId: uuid -} - -""" -update columns of table "NotificationSubscription" -""" -enum NotificationSubscription_update_column { - """column name""" - createdAt - - """column name""" - id - - """column name""" - subscription - - """column name""" - userId -} - -""" -columns and relationships of "NotificationType" -""" -type NotificationType { - comment: String! - - """An array relationship""" - notificationMessages( - """distinct select on columns""" - distinct_on: [NotificationMessage_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [NotificationMessage_order_by!] - - """filter the rows returned""" - where: NotificationMessage_bool_exp - ): [NotificationMessage!]! - - """An aggregate relationship""" - notificationMessages_aggregate( - """distinct select on columns""" - distinct_on: [NotificationMessage_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [NotificationMessage_order_by!] - - """filter the rows returned""" - where: NotificationMessage_bool_exp - ): NotificationMessage_aggregate! - value: String! -} - -""" -aggregated selection of "NotificationType" -""" -type NotificationType_aggregate { - aggregate: NotificationType_aggregate_fields - nodes: [NotificationType!]! -} - -""" -aggregate fields of "NotificationType" -""" -type NotificationType_aggregate_fields { - count(columns: [NotificationType_select_column!], distinct: Boolean): Int! - max: NotificationType_max_fields - min: NotificationType_min_fields -} - -""" -Boolean expression to filter rows from the table "NotificationType". All fields are combined with a logical 'AND'. -""" -input NotificationType_bool_exp { - _and: [NotificationType_bool_exp!] - _not: NotificationType_bool_exp - _or: [NotificationType_bool_exp!] - comment: String_comparison_exp - notificationMessages: NotificationMessage_bool_exp - value: String_comparison_exp -} - -""" -unique or primary key constraints on table "NotificationType" -""" -enum NotificationType_constraint { - """unique or primary key constraint""" - NotificationType_pkey -} - -enum NotificationType_enum { - """Comment deleted by moderator""" - CommentDeleted - - """Received a comment""" - ReceivedAComment - - """Received a like""" - ReceivedALike - - """Received a reply""" - ReceivedAReply -} - -""" -Boolean expression to compare columns of type "NotificationType_enum". All fields are combined with logical 'AND'. -""" -input NotificationType_enum_comparison_exp { - _eq: NotificationType_enum - _in: [NotificationType_enum!] - _is_null: Boolean - _neq: NotificationType_enum - _nin: [NotificationType_enum!] -} - -""" -input type for inserting data into table "NotificationType" -""" -input NotificationType_insert_input { - comment: String - notificationMessages: NotificationMessage_arr_rel_insert_input - value: String -} - -"""aggregate max on columns""" -type NotificationType_max_fields { - comment: String - value: String -} - -"""aggregate min on columns""" -type NotificationType_min_fields { - comment: String - value: String -} - -""" -response of any mutation on the table "NotificationType" -""" -type NotificationType_mutation_response { - """number of rows affected by the mutation""" - affected_rows: Int! - - """data from the rows affected by the mutation""" - returning: [NotificationType!]! -} - -""" -input type for inserting object relation for remote table "NotificationType" -""" -input NotificationType_obj_rel_insert_input { - data: NotificationType_insert_input! - - """upsert condition""" - on_conflict: NotificationType_on_conflict -} - -""" -on_conflict condition type for table "NotificationType" -""" -input NotificationType_on_conflict { - constraint: NotificationType_constraint! - update_columns: [NotificationType_update_column!]! = [] - where: NotificationType_bool_exp -} - -"""Ordering options when selecting data from "NotificationType".""" -input NotificationType_order_by { - comment: order_by - notificationMessages_aggregate: NotificationMessage_aggregate_order_by - value: order_by -} - -"""primary key columns input for table: NotificationType""" -input NotificationType_pk_columns_input { - value: String! -} - -""" -select columns of table "NotificationType" -""" -enum NotificationType_select_column { - """column name""" - comment - - """column name""" - value -} - -""" -input type for updating data in table "NotificationType" -""" -input NotificationType_set_input { - comment: String - value: String -} - -""" -update columns of table "NotificationType" -""" -enum NotificationType_update_column { - """column name""" - comment - - """column name""" - value -} - -""" -columns and relationships of "Page" -""" -type Page { - """An array relationship""" - comments( - """distinct select on columns""" - distinct_on: [Comment_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Comment_order_by!] - - """filter the rows returned""" - where: Comment_bool_exp - ): [Comment!]! - - """An aggregate relationship""" - comments_aggregate( - """distinct select on columns""" - distinct_on: [Comment_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Comment_order_by!] - - """filter the rows returned""" - where: Comment_bool_exp - ): Comment_aggregate! - createdAt: timestamptz! - id: uuid! - - """An object relationship""" - project: Project! - projectId: uuid! - title: String - updatedAt: timestamptz! - url: String! -} - -""" -aggregated selection of "Page" -""" -type Page_aggregate { - aggregate: Page_aggregate_fields - nodes: [Page!]! -} - -""" -aggregate fields of "Page" -""" -type Page_aggregate_fields { - count(columns: [Page_select_column!], distinct: Boolean): Int! - max: Page_max_fields - min: Page_min_fields -} - -""" -order by aggregate values of table "Page" -""" -input Page_aggregate_order_by { - count: order_by - max: Page_max_order_by - min: Page_min_order_by -} - -""" -input type for inserting array relation for remote table "Page" -""" -input Page_arr_rel_insert_input { - data: [Page_insert_input!]! - - """upsert condition""" - on_conflict: Page_on_conflict -} - -""" -Boolean expression to filter rows from the table "Page". All fields are combined with a logical 'AND'. -""" -input Page_bool_exp { - _and: [Page_bool_exp!] - _not: Page_bool_exp - _or: [Page_bool_exp!] - comments: Comment_bool_exp - createdAt: timestamptz_comparison_exp - id: uuid_comparison_exp - project: Project_bool_exp - projectId: uuid_comparison_exp - title: String_comparison_exp - updatedAt: timestamptz_comparison_exp - url: String_comparison_exp -} - -""" -unique or primary key constraints on table "Page" -""" -enum Page_constraint { - """unique or primary key constraint""" - Page_pkey - - """unique or primary key constraint""" - Page_url_key -} - -""" -input type for inserting data into table "Page" -""" -input Page_insert_input { - comments: Comment_arr_rel_insert_input - createdAt: timestamptz - id: uuid - project: Project_obj_rel_insert_input - projectId: uuid - title: String - updatedAt: timestamptz - url: String -} - -"""aggregate max on columns""" -type Page_max_fields { - createdAt: timestamptz - id: uuid - projectId: uuid - title: String - updatedAt: timestamptz - url: String -} - -""" -order by max() on columns of table "Page" -""" -input Page_max_order_by { - createdAt: order_by - id: order_by - projectId: order_by - title: order_by - updatedAt: order_by - url: order_by -} - -"""aggregate min on columns""" -type Page_min_fields { - createdAt: timestamptz - id: uuid - projectId: uuid - title: String - updatedAt: timestamptz - url: String -} - -""" -order by min() on columns of table "Page" -""" -input Page_min_order_by { - createdAt: order_by - id: order_by - projectId: order_by - title: order_by - updatedAt: order_by - url: order_by -} - -""" -response of any mutation on the table "Page" -""" -type Page_mutation_response { - """number of rows affected by the mutation""" - affected_rows: Int! - - """data from the rows affected by the mutation""" - returning: [Page!]! -} - -""" -input type for inserting object relation for remote table "Page" -""" -input Page_obj_rel_insert_input { - data: Page_insert_input! - - """upsert condition""" - on_conflict: Page_on_conflict -} - -""" -on_conflict condition type for table "Page" -""" -input Page_on_conflict { - constraint: Page_constraint! - update_columns: [Page_update_column!]! = [] - where: Page_bool_exp -} - -"""Ordering options when selecting data from "Page".""" -input Page_order_by { - comments_aggregate: Comment_aggregate_order_by - createdAt: order_by - id: order_by - project: Project_order_by - projectId: order_by - title: order_by - updatedAt: order_by - url: order_by -} - -"""primary key columns input for table: Page""" -input Page_pk_columns_input { - id: uuid! -} - -""" -select columns of table "Page" -""" -enum Page_select_column { - """column name""" - createdAt - - """column name""" - id - - """column name""" - projectId - - """column name""" - title - - """column name""" - updatedAt - - """column name""" - url -} - -""" -input type for updating data in table "Page" -""" -input Page_set_input { - createdAt: timestamptz - id: uuid - projectId: uuid - title: String - updatedAt: timestamptz - url: String -} - -""" -update columns of table "Page" -""" -enum Page_update_column { - """column name""" - createdAt - - """column name""" - id - - """column name""" - projectId - - """column name""" - title - - """column name""" - updatedAt - - """column name""" - url -} - -""" -columns and relationships of "Project" -""" -type Project { - createdAt: timestamptz! - domain: String! - id: uuid! - name: String! - - """An array relationship""" - pages( - """distinct select on columns""" - distinct_on: [Page_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Page_order_by!] - - """filter the rows returned""" - where: Page_bool_exp - ): [Page!]! - - """An aggregate relationship""" - pages_aggregate( - """distinct select on columns""" - distinct_on: [Page_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Page_order_by!] - - """filter the rows returned""" - where: Page_bool_exp - ): Page_aggregate! - - """An object relationship""" - team: Team - teamId: uuid - theme( - """JSON select path""" - path: String - ): jsonb - updatedAt: timestamptz! - - """An object relationship""" - user: User - userId: uuid -} - -""" -aggregated selection of "Project" -""" -type Project_aggregate { - aggregate: Project_aggregate_fields - nodes: [Project!]! -} - -""" -aggregate fields of "Project" -""" -type Project_aggregate_fields { - count(columns: [Project_select_column!], distinct: Boolean): Int! - max: Project_max_fields - min: Project_min_fields -} - -""" -order by aggregate values of table "Project" -""" -input Project_aggregate_order_by { - count: order_by - max: Project_max_order_by - min: Project_min_order_by -} - -"""append existing jsonb value of filtered columns with new jsonb value""" -input Project_append_input { - theme: jsonb -} - -""" -input type for inserting array relation for remote table "Project" -""" -input Project_arr_rel_insert_input { - data: [Project_insert_input!]! - - """upsert condition""" - on_conflict: Project_on_conflict -} - -""" -Boolean expression to filter rows from the table "Project". All fields are combined with a logical 'AND'. -""" -input Project_bool_exp { - _and: [Project_bool_exp!] - _not: Project_bool_exp - _or: [Project_bool_exp!] - createdAt: timestamptz_comparison_exp - domain: String_comparison_exp - id: uuid_comparison_exp - name: String_comparison_exp - pages: Page_bool_exp - team: Team_bool_exp - teamId: uuid_comparison_exp - theme: jsonb_comparison_exp - updatedAt: timestamptz_comparison_exp - user: User_bool_exp - userId: uuid_comparison_exp -} - -""" -unique or primary key constraints on table "Project" -""" -enum Project_constraint { - """unique or primary key constraint""" - Project_domain_key - - """unique or primary key constraint""" - Project_pkey -} - -""" -delete the field or element with specified path (for JSON arrays, negative integers count from the end) -""" -input Project_delete_at_path_input { - theme: [String!] -} - -""" -delete the array element with specified index (negative integers count from the end). throws an error if top level container is not an array -""" -input Project_delete_elem_input { - theme: Int -} - -""" -delete key/value pair or string element. key/value pairs are matched based on their key value -""" -input Project_delete_key_input { - theme: String -} - -""" -input type for inserting data into table "Project" -""" -input Project_insert_input { - createdAt: timestamptz - domain: String - id: uuid - name: String - pages: Page_arr_rel_insert_input - team: Team_obj_rel_insert_input - teamId: uuid - theme: jsonb - updatedAt: timestamptz - user: User_obj_rel_insert_input - userId: uuid -} - -"""aggregate max on columns""" -type Project_max_fields { - createdAt: timestamptz - domain: String - id: uuid - name: String - teamId: uuid - updatedAt: timestamptz - userId: uuid -} - -""" -order by max() on columns of table "Project" -""" -input Project_max_order_by { - createdAt: order_by - domain: order_by - id: order_by - name: order_by - teamId: order_by - updatedAt: order_by - userId: order_by -} - -"""aggregate min on columns""" -type Project_min_fields { - createdAt: timestamptz - domain: String - id: uuid - name: String - teamId: uuid - updatedAt: timestamptz - userId: uuid -} - -""" -order by min() on columns of table "Project" -""" -input Project_min_order_by { - createdAt: order_by - domain: order_by - id: order_by - name: order_by - teamId: order_by - updatedAt: order_by - userId: order_by -} - -""" -response of any mutation on the table "Project" -""" -type Project_mutation_response { - """number of rows affected by the mutation""" - affected_rows: Int! - - """data from the rows affected by the mutation""" - returning: [Project!]! -} - -""" -input type for inserting object relation for remote table "Project" -""" -input Project_obj_rel_insert_input { - data: Project_insert_input! - - """upsert condition""" - on_conflict: Project_on_conflict -} - -""" -on_conflict condition type for table "Project" -""" -input Project_on_conflict { - constraint: Project_constraint! - update_columns: [Project_update_column!]! = [] - where: Project_bool_exp -} - -"""Ordering options when selecting data from "Project".""" -input Project_order_by { - createdAt: order_by - domain: order_by - id: order_by - name: order_by - pages_aggregate: Page_aggregate_order_by - team: Team_order_by - teamId: order_by - theme: order_by - updatedAt: order_by - user: User_order_by - userId: order_by -} - -"""primary key columns input for table: Project""" -input Project_pk_columns_input { - id: uuid! -} - -"""prepend existing jsonb value of filtered columns with new jsonb value""" -input Project_prepend_input { - theme: jsonb -} - -""" -select columns of table "Project" -""" -enum Project_select_column { - """column name""" - createdAt - - """column name""" - domain - - """column name""" - id - - """column name""" - name - - """column name""" - teamId - - """column name""" - theme - - """column name""" - updatedAt - - """column name""" - userId -} - -""" -input type for updating data in table "Project" -""" -input Project_set_input { - createdAt: timestamptz - domain: String - id: uuid - name: String - teamId: uuid - theme: jsonb - updatedAt: timestamptz - userId: uuid -} - -""" -update columns of table "Project" -""" -enum Project_update_column { - """column name""" - createdAt - - """column name""" - domain - - """column name""" - id - - """column name""" - name - - """column name""" - teamId - - """column name""" - theme - - """column name""" - updatedAt - - """column name""" - userId -} - -"""User's role in teams""" -type Role { - comment: String - - """An array relationship""" - members( - """distinct select on columns""" - distinct_on: [Member_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Member_order_by!] - - """filter the rows returned""" - where: Member_bool_exp - ): [Member!]! - - """An aggregate relationship""" - members_aggregate( - """distinct select on columns""" - distinct_on: [Member_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Member_order_by!] - - """filter the rows returned""" - where: Member_bool_exp - ): Member_aggregate! - value: String! -} - -""" -aggregated selection of "Role" -""" -type Role_aggregate { - aggregate: Role_aggregate_fields - nodes: [Role!]! -} - -""" -aggregate fields of "Role" -""" -type Role_aggregate_fields { - count(columns: [Role_select_column!], distinct: Boolean): Int! - max: Role_max_fields - min: Role_min_fields -} - -""" -Boolean expression to filter rows from the table "Role". All fields are combined with a logical 'AND'. -""" -input Role_bool_exp { - _and: [Role_bool_exp!] - _not: Role_bool_exp - _or: [Role_bool_exp!] - comment: String_comparison_exp - members: Member_bool_exp - value: String_comparison_exp -} - -""" -unique or primary key constraints on table "Role" -""" -enum Role_constraint { - """unique or primary key constraint""" - Role_pkey -} - -enum Role_enum { - """Manager of a team""" - manager - - """Normal user""" - user -} - -""" -Boolean expression to compare columns of type "Role_enum". All fields are combined with logical 'AND'. -""" -input Role_enum_comparison_exp { - _eq: Role_enum - _in: [Role_enum!] - _is_null: Boolean - _neq: Role_enum - _nin: [Role_enum!] -} - -""" -input type for inserting data into table "Role" -""" -input Role_insert_input { - comment: String - members: Member_arr_rel_insert_input - value: String -} - -"""aggregate max on columns""" -type Role_max_fields { - comment: String - value: String -} - -"""aggregate min on columns""" -type Role_min_fields { - comment: String - value: String -} - -""" -response of any mutation on the table "Role" -""" -type Role_mutation_response { - """number of rows affected by the mutation""" - affected_rows: Int! - - """data from the rows affected by the mutation""" - returning: [Role!]! -} - -""" -input type for inserting object relation for remote table "Role" -""" -input Role_obj_rel_insert_input { - data: Role_insert_input! - - """upsert condition""" - on_conflict: Role_on_conflict -} - -""" -on_conflict condition type for table "Role" -""" -input Role_on_conflict { - constraint: Role_constraint! - update_columns: [Role_update_column!]! = [] - where: Role_bool_exp -} - -"""Ordering options when selecting data from "Role".""" -input Role_order_by { - comment: order_by - members_aggregate: Member_aggregate_order_by - value: order_by -} - -"""primary key columns input for table: Role""" -input Role_pk_columns_input { - value: String! -} - -""" -select columns of table "Role" -""" -enum Role_select_column { - """column name""" - comment - - """column name""" - value -} - -""" -input type for updating data in table "Role" -""" -input Role_set_input { - comment: String - value: String -} - -""" -update columns of table "Role" -""" -enum Role_update_column { - """column name""" - comment - - """column name""" - value -} - -""" -columns and relationships of "Session" -""" -type Session { - createdAt: timestamptz! - expires: timestamptz! - id: uuid! - sessionToken: String! - updatedAt: timestamptz! - - """An object relationship""" - user: User! - userId: uuid! -} - -""" -aggregated selection of "Session" -""" -type Session_aggregate { - aggregate: Session_aggregate_fields - nodes: [Session!]! -} - -""" -aggregate fields of "Session" -""" -type Session_aggregate_fields { - count(columns: [Session_select_column!], distinct: Boolean): Int! - max: Session_max_fields - min: Session_min_fields -} - -""" -order by aggregate values of table "Session" -""" -input Session_aggregate_order_by { - count: order_by - max: Session_max_order_by - min: Session_min_order_by -} - -""" -input type for inserting array relation for remote table "Session" -""" -input Session_arr_rel_insert_input { - data: [Session_insert_input!]! - - """upsert condition""" - on_conflict: Session_on_conflict -} - -""" -Boolean expression to filter rows from the table "Session". All fields are combined with a logical 'AND'. -""" -input Session_bool_exp { - _and: [Session_bool_exp!] - _not: Session_bool_exp - _or: [Session_bool_exp!] - createdAt: timestamptz_comparison_exp - expires: timestamptz_comparison_exp - id: uuid_comparison_exp - sessionToken: String_comparison_exp - updatedAt: timestamptz_comparison_exp - user: User_bool_exp - userId: uuid_comparison_exp -} - -""" -unique or primary key constraints on table "Session" -""" -enum Session_constraint { - """unique or primary key constraint""" - Session_pkey - - """unique or primary key constraint""" - Session_sessionToken_key -} - -""" -input type for inserting data into table "Session" -""" -input Session_insert_input { - createdAt: timestamptz - expires: timestamptz - id: uuid - sessionToken: String - updatedAt: timestamptz - user: User_obj_rel_insert_input - userId: uuid -} - -"""aggregate max on columns""" -type Session_max_fields { - createdAt: timestamptz - expires: timestamptz - id: uuid - sessionToken: String - updatedAt: timestamptz - userId: uuid -} - -""" -order by max() on columns of table "Session" -""" -input Session_max_order_by { - createdAt: order_by - expires: order_by - id: order_by - sessionToken: order_by - updatedAt: order_by - userId: order_by -} - -"""aggregate min on columns""" -type Session_min_fields { - createdAt: timestamptz - expires: timestamptz - id: uuid - sessionToken: String - updatedAt: timestamptz - userId: uuid -} - -""" -order by min() on columns of table "Session" -""" -input Session_min_order_by { - createdAt: order_by - expires: order_by - id: order_by - sessionToken: order_by - updatedAt: order_by - userId: order_by -} - -""" -response of any mutation on the table "Session" -""" -type Session_mutation_response { - """number of rows affected by the mutation""" - affected_rows: Int! - - """data from the rows affected by the mutation""" - returning: [Session!]! -} - -""" -on_conflict condition type for table "Session" -""" -input Session_on_conflict { - constraint: Session_constraint! - update_columns: [Session_update_column!]! = [] - where: Session_bool_exp -} - -"""Ordering options when selecting data from "Session".""" -input Session_order_by { - createdAt: order_by - expires: order_by - id: order_by - sessionToken: order_by - updatedAt: order_by - user: User_order_by - userId: order_by -} - -"""primary key columns input for table: Session""" -input Session_pk_columns_input { - id: uuid! -} - -""" -select columns of table "Session" -""" -enum Session_select_column { - """column name""" - createdAt - - """column name""" - expires - - """column name""" - id - - """column name""" - sessionToken - - """column name""" - updatedAt - - """column name""" - userId -} - -""" -input type for updating data in table "Session" -""" -input Session_set_input { - createdAt: timestamptz - expires: timestamptz - id: uuid - sessionToken: String - updatedAt: timestamptz - userId: uuid -} - -""" -update columns of table "Session" -""" -enum Session_update_column { - """column name""" - createdAt - - """column name""" - expires - - """column name""" - id - - """column name""" - sessionToken - - """column name""" - updatedAt - - """column name""" - userId -} - -""" -Boolean expression to compare columns of type "String". All fields are combined with logical 'AND'. -""" -input String_comparison_exp { - _eq: String - _gt: String - _gte: String - - """does the column match the given case-insensitive pattern""" - _ilike: String - _in: [String!] - - """ - does the column match the given POSIX regular expression, case insensitive - """ - _iregex: String - _is_null: Boolean - - """does the column match the given pattern""" - _like: String - _lt: String - _lte: String - _neq: String - - """does the column NOT match the given case-insensitive pattern""" - _nilike: String - _nin: [String!] - - """ - does the column NOT match the given POSIX regular expression, case insensitive - """ - _niregex: String - - """does the column NOT match the given pattern""" - _nlike: String - - """ - does the column NOT match the given POSIX regular expression, case sensitive - """ - _nregex: String - - """does the column NOT match the given SQL regular expression""" - _nsimilar: String - - """ - does the column match the given POSIX regular expression, case sensitive - """ - _regex: String - - """does the column match the given SQL regular expression""" - _similar: String -} - -""" -columns and relationships of "Team" -""" -type Team { - createdAt: timestamptz! - id: uuid! - - """An array relationship""" - members( - """distinct select on columns""" - distinct_on: [Member_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Member_order_by!] - - """filter the rows returned""" - where: Member_bool_exp - ): [Member!]! - - """An aggregate relationship""" - members_aggregate( - """distinct select on columns""" - distinct_on: [Member_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Member_order_by!] - - """filter the rows returned""" - where: Member_bool_exp - ): Member_aggregate! - name: String! - - """An array relationship""" - projects( - """distinct select on columns""" - distinct_on: [Project_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Project_order_by!] - - """filter the rows returned""" - where: Project_bool_exp - ): [Project!]! - - """An aggregate relationship""" - projects_aggregate( - """distinct select on columns""" - distinct_on: [Project_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Project_order_by!] - - """filter the rows returned""" - where: Project_bool_exp - ): Project_aggregate! - uid: String - updatedAt: timestamptz! -} - -""" -aggregated selection of "Team" -""" -type Team_aggregate { - aggregate: Team_aggregate_fields - nodes: [Team!]! -} - -""" -aggregate fields of "Team" -""" -type Team_aggregate_fields { - count(columns: [Team_select_column!], distinct: Boolean): Int! - max: Team_max_fields - min: Team_min_fields -} - -""" -Boolean expression to filter rows from the table "Team". All fields are combined with a logical 'AND'. -""" -input Team_bool_exp { - _and: [Team_bool_exp!] - _not: Team_bool_exp - _or: [Team_bool_exp!] - createdAt: timestamptz_comparison_exp - id: uuid_comparison_exp - members: Member_bool_exp - name: String_comparison_exp - projects: Project_bool_exp - uid: String_comparison_exp - updatedAt: timestamptz_comparison_exp -} - -""" -unique or primary key constraints on table "Team" -""" -enum Team_constraint { - """unique or primary key constraint""" - Team_pkey - - """unique or primary key constraint""" - Team_uid_key -} - -""" -input type for inserting data into table "Team" -""" -input Team_insert_input { - createdAt: timestamptz - id: uuid - members: Member_arr_rel_insert_input - name: String - projects: Project_arr_rel_insert_input - uid: String - updatedAt: timestamptz -} - -"""aggregate max on columns""" -type Team_max_fields { - createdAt: timestamptz - id: uuid - name: String - uid: String - updatedAt: timestamptz -} - -"""aggregate min on columns""" -type Team_min_fields { - createdAt: timestamptz - id: uuid - name: String - uid: String - updatedAt: timestamptz -} - -""" -response of any mutation on the table "Team" -""" -type Team_mutation_response { - """number of rows affected by the mutation""" - affected_rows: Int! - - """data from the rows affected by the mutation""" - returning: [Team!]! -} - -""" -input type for inserting object relation for remote table "Team" -""" -input Team_obj_rel_insert_input { - data: Team_insert_input! - - """upsert condition""" - on_conflict: Team_on_conflict -} - -""" -on_conflict condition type for table "Team" -""" -input Team_on_conflict { - constraint: Team_constraint! - update_columns: [Team_update_column!]! = [] - where: Team_bool_exp -} - -"""Ordering options when selecting data from "Team".""" -input Team_order_by { - createdAt: order_by - id: order_by - members_aggregate: Member_aggregate_order_by - name: order_by - projects_aggregate: Project_aggregate_order_by - uid: order_by - updatedAt: order_by -} - -"""primary key columns input for table: Team""" -input Team_pk_columns_input { - id: uuid! -} - -""" -select columns of table "Team" -""" -enum Team_select_column { - """column name""" - createdAt - - """column name""" - id - - """column name""" - name - - """column name""" - uid - - """column name""" - updatedAt -} - -""" -input type for updating data in table "Team" -""" -input Team_set_input { - createdAt: timestamptz - id: uuid - name: String - uid: String - updatedAt: timestamptz -} - -""" -update columns of table "Team" -""" -enum Team_update_column { - """column name""" - createdAt - - """column name""" - id - - """column name""" - name - - """column name""" - uid - - """column name""" - updatedAt -} - -""" -columns and relationships of "User" -""" -type User { - """An array relationship""" - accounts( - """distinct select on columns""" - distinct_on: [Account_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Account_order_by!] - - """filter the rows returned""" - where: Account_bool_exp - ): [Account!]! - - """An aggregate relationship""" - accounts_aggregate( - """distinct select on columns""" - distinct_on: [Account_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Account_order_by!] - - """filter the rows returned""" - where: Account_bool_exp - ): Account_aggregate! - bio: String - - """An array relationship""" - comments( - """distinct select on columns""" - distinct_on: [Comment_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Comment_order_by!] - - """filter the rows returned""" - where: Comment_bool_exp - ): [Comment!]! - - """An aggregate relationship""" - comments_aggregate( - """distinct select on columns""" - distinct_on: [Comment_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Comment_order_by!] - - """filter the rows returned""" - where: Comment_bool_exp - ): Comment_aggregate! - createdAt: timestamptz! - email: String - emailVerified: timestamptz - id: uuid! - - """User profile avatar""" - image: String - - """An array relationship""" - likes( - """distinct select on columns""" - distinct_on: [Like_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Like_order_by!] - - """filter the rows returned""" - where: Like_bool_exp - ): [Like!]! - - """An aggregate relationship""" - likes_aggregate( - """distinct select on columns""" - distinct_on: [Like_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Like_order_by!] - - """filter the rows returned""" - where: Like_bool_exp - ): Like_aggregate! - - """An array relationship""" - members( - """distinct select on columns""" - distinct_on: [Member_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Member_order_by!] - - """filter the rows returned""" - where: Member_bool_exp - ): [Member!]! - - """An aggregate relationship""" - members_aggregate( - """distinct select on columns""" - distinct_on: [Member_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Member_order_by!] - - """filter the rows returned""" - where: Member_bool_exp - ): Member_aggregate! - name: String - - """An array relationship""" - notificationSubscriptions( - """distinct select on columns""" - distinct_on: [NotificationSubscription_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [NotificationSubscription_order_by!] - - """filter the rows returned""" - where: NotificationSubscription_bool_exp - ): [NotificationSubscription!]! - - """An aggregate relationship""" - notificationSubscriptions_aggregate( - """distinct select on columns""" - distinct_on: [NotificationSubscription_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [NotificationSubscription_order_by!] - - """filter the rows returned""" - where: NotificationSubscription_bool_exp - ): NotificationSubscription_aggregate! - - """An array relationship""" - projects( - """distinct select on columns""" - distinct_on: [Project_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Project_order_by!] - - """filter the rows returned""" - where: Project_bool_exp - ): [Project!]! - - """An aggregate relationship""" - projects_aggregate( - """distinct select on columns""" - distinct_on: [Project_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Project_order_by!] - - """filter the rows returned""" - where: Project_bool_exp - ): Project_aggregate! - - """An array relationship""" - recipientNotificationMessages( - """distinct select on columns""" - distinct_on: [NotificationMessage_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [NotificationMessage_order_by!] - - """filter the rows returned""" - where: NotificationMessage_bool_exp - ): [NotificationMessage!]! - - """An aggregate relationship""" - recipientNotificationMessages_aggregate( - """distinct select on columns""" - distinct_on: [NotificationMessage_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [NotificationMessage_order_by!] - - """filter the rows returned""" - where: NotificationMessage_bool_exp - ): NotificationMessage_aggregate! - - """An array relationship""" - sessions( - """distinct select on columns""" - distinct_on: [Session_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Session_order_by!] - - """filter the rows returned""" - where: Session_bool_exp - ): [Session!]! - - """An aggregate relationship""" - sessions_aggregate( - """distinct select on columns""" - distinct_on: [Session_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Session_order_by!] - - """filter the rows returned""" - where: Session_bool_exp - ): Session_aggregate! - - """An array relationship""" - triggeredNotificationMessages( - """distinct select on columns""" - distinct_on: [NotificationMessage_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [NotificationMessage_order_by!] - - """filter the rows returned""" - where: NotificationMessage_bool_exp - ): [NotificationMessage!]! - - """An aggregate relationship""" - triggeredNotificationMessages_aggregate( - """distinct select on columns""" - distinct_on: [NotificationMessage_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [NotificationMessage_order_by!] - - """filter the rows returned""" - where: NotificationMessage_bool_exp - ): NotificationMessage_aggregate! - twitterUserName: String - type: UserType_enum - updatedAt: timestamptz! - - """An object relationship""" - userType: UserType - username: String - website: String -} - -""" -columns and relationships of "UserType" -""" -type UserType { - comment: String! - - """An array relationship""" - users( - """distinct select on columns""" - distinct_on: [User_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [User_order_by!] - - """filter the rows returned""" - where: User_bool_exp - ): [User!]! - - """An aggregate relationship""" - users_aggregate( - """distinct select on columns""" - distinct_on: [User_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [User_order_by!] - - """filter the rows returned""" - where: User_bool_exp - ): User_aggregate! - value: String! -} - -""" -aggregated selection of "UserType" -""" -type UserType_aggregate { - aggregate: UserType_aggregate_fields - nodes: [UserType!]! -} - -""" -aggregate fields of "UserType" -""" -type UserType_aggregate_fields { - count(columns: [UserType_select_column!], distinct: Boolean): Int! - max: UserType_max_fields - min: UserType_min_fields -} - -""" -Boolean expression to filter rows from the table "UserType". All fields are combined with a logical 'AND'. -""" -input UserType_bool_exp { - _and: [UserType_bool_exp!] - _not: UserType_bool_exp - _or: [UserType_bool_exp!] - comment: String_comparison_exp - users: User_bool_exp - value: String_comparison_exp -} - -""" -unique or primary key constraints on table "UserType" -""" -enum UserType_constraint { - """unique or primary key constraint""" - UserType_pkey -} - -enum UserType_enum { - """Site administrator""" - admin - - """Anonymous widget vsisitor""" - anonymous - - """Free user""" - free - - """Paid user""" - pro -} - -""" -Boolean expression to compare columns of type "UserType_enum". All fields are combined with logical 'AND'. -""" -input UserType_enum_comparison_exp { - _eq: UserType_enum - _in: [UserType_enum!] - _is_null: Boolean - _neq: UserType_enum - _nin: [UserType_enum!] -} - -""" -input type for inserting data into table "UserType" -""" -input UserType_insert_input { - comment: String - users: User_arr_rel_insert_input - value: String -} - -"""aggregate max on columns""" -type UserType_max_fields { - comment: String - value: String -} - -"""aggregate min on columns""" -type UserType_min_fields { - comment: String - value: String -} - -""" -response of any mutation on the table "UserType" -""" -type UserType_mutation_response { - """number of rows affected by the mutation""" - affected_rows: Int! - - """data from the rows affected by the mutation""" - returning: [UserType!]! -} - -""" -input type for inserting object relation for remote table "UserType" -""" -input UserType_obj_rel_insert_input { - data: UserType_insert_input! - - """upsert condition""" - on_conflict: UserType_on_conflict -} - -""" -on_conflict condition type for table "UserType" -""" -input UserType_on_conflict { - constraint: UserType_constraint! - update_columns: [UserType_update_column!]! = [] - where: UserType_bool_exp -} - -"""Ordering options when selecting data from "UserType".""" -input UserType_order_by { - comment: order_by - users_aggregate: User_aggregate_order_by - value: order_by -} - -"""primary key columns input for table: UserType""" -input UserType_pk_columns_input { - value: String! -} - -""" -select columns of table "UserType" -""" -enum UserType_select_column { - """column name""" - comment - - """column name""" - value -} - -""" -input type for updating data in table "UserType" -""" -input UserType_set_input { - comment: String - value: String -} - -""" -update columns of table "UserType" -""" -enum UserType_update_column { - """column name""" - comment - - """column name""" - value -} - -""" -aggregated selection of "User" -""" -type User_aggregate { - aggregate: User_aggregate_fields - nodes: [User!]! -} - -""" -aggregate fields of "User" -""" -type User_aggregate_fields { - count(columns: [User_select_column!], distinct: Boolean): Int! - max: User_max_fields - min: User_min_fields -} - -""" -order by aggregate values of table "User" -""" -input User_aggregate_order_by { - count: order_by - max: User_max_order_by - min: User_min_order_by -} - -""" -input type for inserting array relation for remote table "User" -""" -input User_arr_rel_insert_input { - data: [User_insert_input!]! - - """upsert condition""" - on_conflict: User_on_conflict -} - -""" -Boolean expression to filter rows from the table "User". All fields are combined with a logical 'AND'. -""" -input User_bool_exp { - _and: [User_bool_exp!] - _not: User_bool_exp - _or: [User_bool_exp!] - accounts: Account_bool_exp - bio: String_comparison_exp - comments: Comment_bool_exp - createdAt: timestamptz_comparison_exp - email: String_comparison_exp - emailVerified: timestamptz_comparison_exp - id: uuid_comparison_exp - image: String_comparison_exp - likes: Like_bool_exp - members: Member_bool_exp - name: String_comparison_exp - notificationSubscriptions: NotificationSubscription_bool_exp - projects: Project_bool_exp - recipientNotificationMessages: NotificationMessage_bool_exp - sessions: Session_bool_exp - triggeredNotificationMessages: NotificationMessage_bool_exp - twitterUserName: String_comparison_exp - type: UserType_enum_comparison_exp - updatedAt: timestamptz_comparison_exp - userType: UserType_bool_exp - username: String_comparison_exp - website: String_comparison_exp -} - -""" -unique or primary key constraints on table "User" -""" -enum User_constraint { - """unique or primary key constraint""" - User_email_key - - """unique or primary key constraint""" - User_pkey - - """unique or primary key constraint""" - User_username_key -} - -""" -input type for inserting data into table "User" -""" -input User_insert_input { - accounts: Account_arr_rel_insert_input - bio: String - comments: Comment_arr_rel_insert_input - createdAt: timestamptz - email: String - emailVerified: timestamptz - id: uuid - - """User profile avatar""" - image: String - likes: Like_arr_rel_insert_input - members: Member_arr_rel_insert_input - name: String - notificationSubscriptions: NotificationSubscription_arr_rel_insert_input - projects: Project_arr_rel_insert_input - recipientNotificationMessages: NotificationMessage_arr_rel_insert_input - sessions: Session_arr_rel_insert_input - triggeredNotificationMessages: NotificationMessage_arr_rel_insert_input - twitterUserName: String - type: UserType_enum - updatedAt: timestamptz - userType: UserType_obj_rel_insert_input - username: String - website: String -} - -"""aggregate max on columns""" -type User_max_fields { - bio: String - createdAt: timestamptz - email: String - emailVerified: timestamptz - id: uuid - - """User profile avatar""" - image: String - name: String - twitterUserName: String - updatedAt: timestamptz - username: String - website: String -} - -""" -order by max() on columns of table "User" -""" -input User_max_order_by { - bio: order_by - createdAt: order_by - email: order_by - emailVerified: order_by - id: order_by - - """User profile avatar""" - image: order_by - name: order_by - twitterUserName: order_by - updatedAt: order_by - username: order_by - website: order_by -} - -"""aggregate min on columns""" -type User_min_fields { - bio: String - createdAt: timestamptz - email: String - emailVerified: timestamptz - id: uuid - - """User profile avatar""" - image: String - name: String - twitterUserName: String - updatedAt: timestamptz - username: String - website: String -} - -""" -order by min() on columns of table "User" -""" -input User_min_order_by { - bio: order_by - createdAt: order_by - email: order_by - emailVerified: order_by - id: order_by - - """User profile avatar""" - image: order_by - name: order_by - twitterUserName: order_by - updatedAt: order_by - username: order_by - website: order_by -} - -""" -response of any mutation on the table "User" -""" -type User_mutation_response { - """number of rows affected by the mutation""" - affected_rows: Int! - - """data from the rows affected by the mutation""" - returning: [User!]! -} - -""" -input type for inserting object relation for remote table "User" -""" -input User_obj_rel_insert_input { - data: User_insert_input! - - """upsert condition""" - on_conflict: User_on_conflict -} - -""" -on_conflict condition type for table "User" -""" -input User_on_conflict { - constraint: User_constraint! - update_columns: [User_update_column!]! = [] - where: User_bool_exp -} - -"""Ordering options when selecting data from "User".""" -input User_order_by { - accounts_aggregate: Account_aggregate_order_by - bio: order_by - comments_aggregate: Comment_aggregate_order_by - createdAt: order_by - email: order_by - emailVerified: order_by - id: order_by - image: order_by - likes_aggregate: Like_aggregate_order_by - members_aggregate: Member_aggregate_order_by - name: order_by - notificationSubscriptions_aggregate: NotificationSubscription_aggregate_order_by - projects_aggregate: Project_aggregate_order_by - recipientNotificationMessages_aggregate: NotificationMessage_aggregate_order_by - sessions_aggregate: Session_aggregate_order_by - triggeredNotificationMessages_aggregate: NotificationMessage_aggregate_order_by - twitterUserName: order_by - type: order_by - updatedAt: order_by - userType: UserType_order_by - username: order_by - website: order_by -} - -"""primary key columns input for table: User""" -input User_pk_columns_input { - id: uuid! -} - -""" -select columns of table "User" -""" -enum User_select_column { - """column name""" - bio - - """column name""" - createdAt - - """column name""" - email - - """column name""" - emailVerified - - """column name""" - id - - """column name""" - image - - """column name""" - name - - """column name""" - twitterUserName - - """column name""" - type - - """column name""" - updatedAt - - """column name""" - username - - """column name""" - website -} - -""" -input type for updating data in table "User" -""" -input User_set_input { - bio: String - createdAt: timestamptz - email: String - emailVerified: timestamptz - id: uuid - - """User profile avatar""" - image: String - name: String - twitterUserName: String - type: UserType_enum - updatedAt: timestamptz - username: String - website: String -} - -""" -update columns of table "User" -""" -enum User_update_column { - """column name""" - bio - - """column name""" - createdAt - - """column name""" - email - - """column name""" - emailVerified - - """column name""" - id - - """column name""" - image - - """column name""" - name - - """column name""" - twitterUserName - - """column name""" - type - - """column name""" - updatedAt - - """column name""" - username - - """column name""" - website -} - -""" -columns and relationships of "VerificationToken" -""" -type VerificationToken { - expires: timestamptz! - id: uuid! - identifier: String! - token: String! -} - -""" -aggregated selection of "VerificationToken" -""" -type VerificationToken_aggregate { - aggregate: VerificationToken_aggregate_fields - nodes: [VerificationToken!]! -} - -""" -aggregate fields of "VerificationToken" -""" -type VerificationToken_aggregate_fields { - count(columns: [VerificationToken_select_column!], distinct: Boolean): Int! - max: VerificationToken_max_fields - min: VerificationToken_min_fields -} - -""" -Boolean expression to filter rows from the table "VerificationToken". All fields are combined with a logical 'AND'. -""" -input VerificationToken_bool_exp { - _and: [VerificationToken_bool_exp!] - _not: VerificationToken_bool_exp - _or: [VerificationToken_bool_exp!] - expires: timestamptz_comparison_exp - id: uuid_comparison_exp - identifier: String_comparison_exp - token: String_comparison_exp -} - -""" -unique or primary key constraints on table "VerificationToken" -""" -enum VerificationToken_constraint { - """unique or primary key constraint""" - VerificationToken_identifier_token_key - - """unique or primary key constraint""" - VerificationToken_pkey -} - -""" -input type for inserting data into table "VerificationToken" -""" -input VerificationToken_insert_input { - expires: timestamptz - id: uuid - identifier: String - token: String -} - -"""aggregate max on columns""" -type VerificationToken_max_fields { - expires: timestamptz - id: uuid - identifier: String - token: String -} - -"""aggregate min on columns""" -type VerificationToken_min_fields { - expires: timestamptz - id: uuid - identifier: String - token: String -} - -""" -response of any mutation on the table "VerificationToken" -""" -type VerificationToken_mutation_response { - """number of rows affected by the mutation""" - affected_rows: Int! - - """data from the rows affected by the mutation""" - returning: [VerificationToken!]! -} - -""" -on_conflict condition type for table "VerificationToken" -""" -input VerificationToken_on_conflict { - constraint: VerificationToken_constraint! - update_columns: [VerificationToken_update_column!]! = [] - where: VerificationToken_bool_exp -} - -"""Ordering options when selecting data from "VerificationToken".""" -input VerificationToken_order_by { - expires: order_by - id: order_by - identifier: order_by - token: order_by -} - -"""primary key columns input for table: VerificationToken""" -input VerificationToken_pk_columns_input { - id: uuid! -} - -""" -select columns of table "VerificationToken" -""" -enum VerificationToken_select_column { - """column name""" - expires - - """column name""" - id - - """column name""" - identifier - - """column name""" - token -} - -""" -input type for updating data in table "VerificationToken" -""" -input VerificationToken_set_input { - expires: timestamptz - id: uuid - identifier: String - token: String -} - -""" -update columns of table "VerificationToken" -""" -enum VerificationToken_update_column { - """column name""" - expires - - """column name""" - id - - """column name""" - identifier - - """column name""" - token -} - -scalar jsonb - -input jsonb_cast_exp { - String: String_comparison_exp -} - -""" -Boolean expression to compare columns of type "jsonb". All fields are combined with logical 'AND'. -""" -input jsonb_comparison_exp { - _cast: jsonb_cast_exp - - """is the column contained in the given json value""" - _contained_in: jsonb - - """does the column contain the given json value at the top level""" - _contains: jsonb - _eq: jsonb - _gt: jsonb - _gte: jsonb - - """does the string exist as a top-level key in the column""" - _has_key: String - - """do all of these strings exist as top-level keys in the column""" - _has_keys_all: [String!] - - """do any of these strings exist as top-level keys in the column""" - _has_keys_any: [String!] - _in: [jsonb!] - _is_null: Boolean - _lt: jsonb - _lte: jsonb - _neq: jsonb - _nin: [jsonb!] -} - -"""mutation root""" -type mutation_root { - """ - delete single row from the table: "Account" - """ - deleteAccountByPk(id: uuid!): Account - - """ - delete data from the table: "Account" - """ - deleteAccounts( - """filter the rows which have to be deleted""" - where: Account_bool_exp! - ): Account_mutation_response - - """ - delete single row from the table: "Comment" - """ - deleteCommentByPk(id: uuid!): Comment - - """ - delete data from the table: "Comment" - """ - deleteComments( - """filter the rows which have to be deleted""" - where: Comment_bool_exp! - ): Comment_mutation_response - - """ - delete single row from the table: "Like" - """ - deleteLikeByPk(id: uuid!): Like - - """ - delete data from the table: "Like" - """ - deleteLikes( - """filter the rows which have to be deleted""" - where: Like_bool_exp! - ): Like_mutation_response - - """ - delete single row from the table: "Member" - """ - deleteMemberByPk(id: uuid!): Member - - """ - delete data from the table: "Member" - """ - deleteMembers( - """filter the rows which have to be deleted""" - where: Member_bool_exp! - ): Member_mutation_response - - """ - delete single row from the table: "NotificationMessage" - """ - deleteNotificationMessageByPk(id: uuid!): NotificationMessage - - """ - delete data from the table: "NotificationMessage" - """ - deleteNotificationMessages( - """filter the rows which have to be deleted""" - where: NotificationMessage_bool_exp! - ): NotificationMessage_mutation_response - - """ - delete single row from the table: "NotificationSubscription" - """ - deleteNotificationSubscriptionByPk(id: uuid!): NotificationSubscription - - """ - delete data from the table: "NotificationSubscription" - """ - deleteNotificationSubscriptions( - """filter the rows which have to be deleted""" - where: NotificationSubscription_bool_exp! - ): NotificationSubscription_mutation_response - - """ - delete single row from the table: "Page" - """ - deletePageByPk(id: uuid!): Page - - """ - delete data from the table: "Page" - """ - deletePages( - """filter the rows which have to be deleted""" - where: Page_bool_exp! - ): Page_mutation_response - - """ - delete single row from the table: "Project" - """ - deleteProjectByPk(id: uuid!): Project - - """ - delete data from the table: "Project" - """ - deleteProjects( - """filter the rows which have to be deleted""" - where: Project_bool_exp! - ): Project_mutation_response - - """ - delete single row from the table: "Role" - """ - deleteRoleByPk(value: String!): Role - - """ - delete data from the table: "Role" - """ - deleteRoles( - """filter the rows which have to be deleted""" - where: Role_bool_exp! - ): Role_mutation_response - - """ - delete single row from the table: "Session" - """ - deleteSessionByPk(id: uuid!): Session - - """ - delete data from the table: "Session" - """ - deleteSessions( - """filter the rows which have to be deleted""" - where: Session_bool_exp! - ): Session_mutation_response - - """ - delete single row from the table: "Team" - """ - deleteTeamByPk(id: uuid!): Team - - """ - delete data from the table: "Team" - """ - deleteTeams( - """filter the rows which have to be deleted""" - where: Team_bool_exp! - ): Team_mutation_response - - """ - delete single row from the table: "User" - """ - deleteUserByPk(id: uuid!): User - - """ - delete single row from the table: "UserType" - """ - deleteUserTypeByPk(value: String!): UserType - - """ - delete data from the table: "UserType" - """ - deleteUserTypes( - """filter the rows which have to be deleted""" - where: UserType_bool_exp! - ): UserType_mutation_response - - """ - delete data from the table: "User" - """ - deleteUsers( - """filter the rows which have to be deleted""" - where: User_bool_exp! - ): User_mutation_response - - """ - delete single row from the table: "VerificationToken" - """ - deleteVerificationTokenByPk(id: uuid!): VerificationToken - - """ - delete data from the table: "VerificationToken" - """ - deleteVerificationTokens( - """filter the rows which have to be deleted""" - where: VerificationToken_bool_exp! - ): VerificationToken_mutation_response - - """ - delete data from the table: "NotificationType" - """ - delete_NotificationType( - """filter the rows which have to be deleted""" - where: NotificationType_bool_exp! - ): NotificationType_mutation_response - - """ - delete single row from the table: "NotificationType" - """ - delete_NotificationType_by_pk(value: String!): NotificationType - - """ - insert data into the table: "Account" - """ - insertAccounts( - """the rows to be inserted""" - objects: [Account_insert_input!]! - - """upsert condition""" - on_conflict: Account_on_conflict - ): Account_mutation_response - - """ - insert data into the table: "Comment" - """ - insertComments( - """the rows to be inserted""" - objects: [Comment_insert_input!]! - - """upsert condition""" - on_conflict: Comment_on_conflict - ): Comment_mutation_response - - """ - insert data into the table: "Like" - """ - insertLikes( - """the rows to be inserted""" - objects: [Like_insert_input!]! - - """upsert condition""" - on_conflict: Like_on_conflict - ): Like_mutation_response - - """ - insert data into the table: "Member" - """ - insertMembers( - """the rows to be inserted""" - objects: [Member_insert_input!]! - - """upsert condition""" - on_conflict: Member_on_conflict - ): Member_mutation_response - - """ - insert data into the table: "NotificationMessage" - """ - insertNotificationMessages( - """the rows to be inserted""" - objects: [NotificationMessage_insert_input!]! - - """upsert condition""" - on_conflict: NotificationMessage_on_conflict - ): NotificationMessage_mutation_response - - """ - insert data into the table: "NotificationSubscription" - """ - insertNotificationSubscriptions( - """the rows to be inserted""" - objects: [NotificationSubscription_insert_input!]! - - """upsert condition""" - on_conflict: NotificationSubscription_on_conflict - ): NotificationSubscription_mutation_response - - """ - insert a single row into the table: "Account" - """ - insertOneAccount( - """the row to be inserted""" - object: Account_insert_input! - - """upsert condition""" - on_conflict: Account_on_conflict - ): Account - - """ - insert a single row into the table: "Comment" - """ - insertOneComment( - """the row to be inserted""" - object: Comment_insert_input! - - """upsert condition""" - on_conflict: Comment_on_conflict - ): Comment - - """ - insert a single row into the table: "Like" - """ - insertOneLike( - """the row to be inserted""" - object: Like_insert_input! - - """upsert condition""" - on_conflict: Like_on_conflict - ): Like - - """ - insert a single row into the table: "Member" - """ - insertOneMember( - """the row to be inserted""" - object: Member_insert_input! - - """upsert condition""" - on_conflict: Member_on_conflict - ): Member - - """ - insert a single row into the table: "NotificationMessage" - """ - insertOneNotificationMessage( - """the row to be inserted""" - object: NotificationMessage_insert_input! - - """upsert condition""" - on_conflict: NotificationMessage_on_conflict - ): NotificationMessage - - """ - insert a single row into the table: "NotificationSubscription" - """ - insertOneNotificationSubscription( - """the row to be inserted""" - object: NotificationSubscription_insert_input! - - """upsert condition""" - on_conflict: NotificationSubscription_on_conflict - ): NotificationSubscription - - """ - insert a single row into the table: "Page" - """ - insertOnePage( - """the row to be inserted""" - object: Page_insert_input! - - """upsert condition""" - on_conflict: Page_on_conflict - ): Page - - """ - insert a single row into the table: "Project" - """ - insertOneProject( - """the row to be inserted""" - object: Project_insert_input! - - """upsert condition""" - on_conflict: Project_on_conflict - ): Project - - """ - insert a single row into the table: "Role" - """ - insertOneRole( - """the row to be inserted""" - object: Role_insert_input! - - """upsert condition""" - on_conflict: Role_on_conflict - ): Role - - """ - insert a single row into the table: "Session" - """ - insertOneSession( - """the row to be inserted""" - object: Session_insert_input! - - """upsert condition""" - on_conflict: Session_on_conflict - ): Session - - """ - insert a single row into the table: "Team" - """ - insertOneTeam( - """the row to be inserted""" - object: Team_insert_input! - - """upsert condition""" - on_conflict: Team_on_conflict - ): Team - - """ - insert a single row into the table: "User" - """ - insertOneUser( - """the row to be inserted""" - object: User_insert_input! - - """upsert condition""" - on_conflict: User_on_conflict - ): User - - """ - insert a single row into the table: "UserType" - """ - insertOneUserType( - """the row to be inserted""" - object: UserType_insert_input! - - """upsert condition""" - on_conflict: UserType_on_conflict - ): UserType - - """ - insert a single row into the table: "VerificationToken" - """ - insertOneVerificationToken( - """the row to be inserted""" - object: VerificationToken_insert_input! - - """upsert condition""" - on_conflict: VerificationToken_on_conflict - ): VerificationToken - - """ - insert data into the table: "Page" - """ - insertPages( - """the rows to be inserted""" - objects: [Page_insert_input!]! - - """upsert condition""" - on_conflict: Page_on_conflict - ): Page_mutation_response - - """ - insert data into the table: "Project" - """ - insertProjects( - """the rows to be inserted""" - objects: [Project_insert_input!]! - - """upsert condition""" - on_conflict: Project_on_conflict - ): Project_mutation_response - - """ - insert data into the table: "Role" - """ - insertRoles( - """the rows to be inserted""" - objects: [Role_insert_input!]! - - """upsert condition""" - on_conflict: Role_on_conflict - ): Role_mutation_response - - """ - insert data into the table: "Session" - """ - insertSessions( - """the rows to be inserted""" - objects: [Session_insert_input!]! - - """upsert condition""" - on_conflict: Session_on_conflict - ): Session_mutation_response - - """ - insert data into the table: "Team" - """ - insertTeams( - """the rows to be inserted""" - objects: [Team_insert_input!]! - - """upsert condition""" - on_conflict: Team_on_conflict - ): Team_mutation_response - - """ - insert data into the table: "UserType" - """ - insertUserTypes( - """the rows to be inserted""" - objects: [UserType_insert_input!]! - - """upsert condition""" - on_conflict: UserType_on_conflict - ): UserType_mutation_response - - """ - insert data into the table: "User" - """ - insertUsers( - """the rows to be inserted""" - objects: [User_insert_input!]! - - """upsert condition""" - on_conflict: User_on_conflict - ): User_mutation_response - - """ - insert data into the table: "VerificationToken" - """ - insertVerificationTokens( - """the rows to be inserted""" - objects: [VerificationToken_insert_input!]! - - """upsert condition""" - on_conflict: VerificationToken_on_conflict - ): VerificationToken_mutation_response - - """ - insert data into the table: "NotificationType" - """ - insert_NotificationType( - """the rows to be inserted""" - objects: [NotificationType_insert_input!]! - - """upsert condition""" - on_conflict: NotificationType_on_conflict - ): NotificationType_mutation_response - - """ - insert a single row into the table: "NotificationType" - """ - insert_NotificationType_one( - """the row to be inserted""" - object: NotificationType_insert_input! - - """upsert condition""" - on_conflict: NotificationType_on_conflict - ): NotificationType - - """ - update single row of the table: "Account" - """ - updateAccountByPk( - """sets the columns of the filtered rows to the given values""" - _set: Account_set_input - pk_columns: Account_pk_columns_input! - ): Account - - """ - update data of the table: "Account" - """ - updateAccounts( - """sets the columns of the filtered rows to the given values""" - _set: Account_set_input - - """filter the rows which have to be updated""" - where: Account_bool_exp! - ): Account_mutation_response - - """ - update single row of the table: "Comment" - """ - updateCommentByPk( - """append existing jsonb value of filtered columns with new jsonb value""" - _append: Comment_append_input - - """ - delete the field or element with specified path (for JSON arrays, negative integers count from the end) - """ - _delete_at_path: Comment_delete_at_path_input - - """ - delete the array element with specified index (negative integers count from the end). throws an error if top level container is not an array - """ - _delete_elem: Comment_delete_elem_input - - """ - delete key/value pair or string element. key/value pairs are matched based on their key value - """ - _delete_key: Comment_delete_key_input - - """prepend existing jsonb value of filtered columns with new jsonb value""" - _prepend: Comment_prepend_input - - """sets the columns of the filtered rows to the given values""" - _set: Comment_set_input - pk_columns: Comment_pk_columns_input! - ): Comment - - """ - update data of the table: "Comment" - """ - updateComments( - """append existing jsonb value of filtered columns with new jsonb value""" - _append: Comment_append_input - - """ - delete the field or element with specified path (for JSON arrays, negative integers count from the end) - """ - _delete_at_path: Comment_delete_at_path_input - - """ - delete the array element with specified index (negative integers count from the end). throws an error if top level container is not an array - """ - _delete_elem: Comment_delete_elem_input - - """ - delete key/value pair or string element. key/value pairs are matched based on their key value - """ - _delete_key: Comment_delete_key_input - - """prepend existing jsonb value of filtered columns with new jsonb value""" - _prepend: Comment_prepend_input - - """sets the columns of the filtered rows to the given values""" - _set: Comment_set_input - - """filter the rows which have to be updated""" - where: Comment_bool_exp! - ): Comment_mutation_response - - """ - update single row of the table: "Like" - """ - updateLikeByPk( - """sets the columns of the filtered rows to the given values""" - _set: Like_set_input - pk_columns: Like_pk_columns_input! - ): Like - - """ - update data of the table: "Like" - """ - updateLikes( - """sets the columns of the filtered rows to the given values""" - _set: Like_set_input - - """filter the rows which have to be updated""" - where: Like_bool_exp! - ): Like_mutation_response - - """ - update single row of the table: "Member" - """ - updateMemberByPk( - """sets the columns of the filtered rows to the given values""" - _set: Member_set_input - pk_columns: Member_pk_columns_input! - ): Member - - """ - update data of the table: "Member" - """ - updateMembers( - """sets the columns of the filtered rows to the given values""" - _set: Member_set_input - - """filter the rows which have to be updated""" - where: Member_bool_exp! - ): Member_mutation_response - - """ - update single row of the table: "NotificationMessage" - """ - updateNotificationMessageByPk( - """sets the columns of the filtered rows to the given values""" - _set: NotificationMessage_set_input - pk_columns: NotificationMessage_pk_columns_input! - ): NotificationMessage - - """ - update data of the table: "NotificationMessage" - """ - updateNotificationMessages( - """sets the columns of the filtered rows to the given values""" - _set: NotificationMessage_set_input - - """filter the rows which have to be updated""" - where: NotificationMessage_bool_exp! - ): NotificationMessage_mutation_response - - """ - update single row of the table: "NotificationSubscription" - """ - updateNotificationSubscriptionByPk( - """append existing jsonb value of filtered columns with new jsonb value""" - _append: NotificationSubscription_append_input - - """ - delete the field or element with specified path (for JSON arrays, negative integers count from the end) - """ - _delete_at_path: NotificationSubscription_delete_at_path_input - - """ - delete the array element with specified index (negative integers count from the end). throws an error if top level container is not an array - """ - _delete_elem: NotificationSubscription_delete_elem_input - - """ - delete key/value pair or string element. key/value pairs are matched based on their key value - """ - _delete_key: NotificationSubscription_delete_key_input - - """prepend existing jsonb value of filtered columns with new jsonb value""" - _prepend: NotificationSubscription_prepend_input - - """sets the columns of the filtered rows to the given values""" - _set: NotificationSubscription_set_input - pk_columns: NotificationSubscription_pk_columns_input! - ): NotificationSubscription - - """ - update data of the table: "NotificationSubscription" - """ - updateNotificationSubscriptions( - """append existing jsonb value of filtered columns with new jsonb value""" - _append: NotificationSubscription_append_input - - """ - delete the field or element with specified path (for JSON arrays, negative integers count from the end) - """ - _delete_at_path: NotificationSubscription_delete_at_path_input - - """ - delete the array element with specified index (negative integers count from the end). throws an error if top level container is not an array - """ - _delete_elem: NotificationSubscription_delete_elem_input - - """ - delete key/value pair or string element. key/value pairs are matched based on their key value - """ - _delete_key: NotificationSubscription_delete_key_input - - """prepend existing jsonb value of filtered columns with new jsonb value""" - _prepend: NotificationSubscription_prepend_input - - """sets the columns of the filtered rows to the given values""" - _set: NotificationSubscription_set_input - - """filter the rows which have to be updated""" - where: NotificationSubscription_bool_exp! - ): NotificationSubscription_mutation_response - - """ - update single row of the table: "Page" - """ - updatePageByPk( - """sets the columns of the filtered rows to the given values""" - _set: Page_set_input - pk_columns: Page_pk_columns_input! - ): Page - - """ - update data of the table: "Page" - """ - updatePages( - """sets the columns of the filtered rows to the given values""" - _set: Page_set_input - - """filter the rows which have to be updated""" - where: Page_bool_exp! - ): Page_mutation_response - - """ - update single row of the table: "Project" - """ - updateProjectByPk( - """append existing jsonb value of filtered columns with new jsonb value""" - _append: Project_append_input - - """ - delete the field or element with specified path (for JSON arrays, negative integers count from the end) - """ - _delete_at_path: Project_delete_at_path_input - - """ - delete the array element with specified index (negative integers count from the end). throws an error if top level container is not an array - """ - _delete_elem: Project_delete_elem_input - - """ - delete key/value pair or string element. key/value pairs are matched based on their key value - """ - _delete_key: Project_delete_key_input - - """prepend existing jsonb value of filtered columns with new jsonb value""" - _prepend: Project_prepend_input - - """sets the columns of the filtered rows to the given values""" - _set: Project_set_input - pk_columns: Project_pk_columns_input! - ): Project - - """ - update data of the table: "Project" - """ - updateProjects( - """append existing jsonb value of filtered columns with new jsonb value""" - _append: Project_append_input - - """ - delete the field or element with specified path (for JSON arrays, negative integers count from the end) - """ - _delete_at_path: Project_delete_at_path_input - - """ - delete the array element with specified index (negative integers count from the end). throws an error if top level container is not an array - """ - _delete_elem: Project_delete_elem_input - - """ - delete key/value pair or string element. key/value pairs are matched based on their key value - """ - _delete_key: Project_delete_key_input - - """prepend existing jsonb value of filtered columns with new jsonb value""" - _prepend: Project_prepend_input - - """sets the columns of the filtered rows to the given values""" - _set: Project_set_input - - """filter the rows which have to be updated""" - where: Project_bool_exp! - ): Project_mutation_response - - """ - update single row of the table: "Role" - """ - updateRoleByPk( - """sets the columns of the filtered rows to the given values""" - _set: Role_set_input - pk_columns: Role_pk_columns_input! - ): Role - - """ - update data of the table: "Role" - """ - updateRoles( - """sets the columns of the filtered rows to the given values""" - _set: Role_set_input - - """filter the rows which have to be updated""" - where: Role_bool_exp! - ): Role_mutation_response - - """ - update single row of the table: "Session" - """ - updateSessionByPk( - """sets the columns of the filtered rows to the given values""" - _set: Session_set_input - pk_columns: Session_pk_columns_input! - ): Session - - """ - update data of the table: "Session" - """ - updateSessions( - """sets the columns of the filtered rows to the given values""" - _set: Session_set_input - - """filter the rows which have to be updated""" - where: Session_bool_exp! - ): Session_mutation_response - - """ - update single row of the table: "Team" - """ - updateTeamByPk( - """sets the columns of the filtered rows to the given values""" - _set: Team_set_input - pk_columns: Team_pk_columns_input! - ): Team - - """ - update data of the table: "Team" - """ - updateTeams( - """sets the columns of the filtered rows to the given values""" - _set: Team_set_input - - """filter the rows which have to be updated""" - where: Team_bool_exp! - ): Team_mutation_response - - """ - update single row of the table: "User" - """ - updateUserByPk( - """sets the columns of the filtered rows to the given values""" - _set: User_set_input - pk_columns: User_pk_columns_input! - ): User - - """ - update single row of the table: "UserType" - """ - updateUserTypeByPk( - """sets the columns of the filtered rows to the given values""" - _set: UserType_set_input - pk_columns: UserType_pk_columns_input! - ): UserType - - """ - update data of the table: "UserType" - """ - updateUserTypes( - """sets the columns of the filtered rows to the given values""" - _set: UserType_set_input - - """filter the rows which have to be updated""" - where: UserType_bool_exp! - ): UserType_mutation_response - - """ - update data of the table: "User" - """ - updateUsers( - """sets the columns of the filtered rows to the given values""" - _set: User_set_input - - """filter the rows which have to be updated""" - where: User_bool_exp! - ): User_mutation_response - - """ - update single row of the table: "VerificationToken" - """ - updateVerificationTokenByPk( - """sets the columns of the filtered rows to the given values""" - _set: VerificationToken_set_input - pk_columns: VerificationToken_pk_columns_input! - ): VerificationToken - - """ - update data of the table: "VerificationToken" - """ - updateVerificationTokens( - """sets the columns of the filtered rows to the given values""" - _set: VerificationToken_set_input - - """filter the rows which have to be updated""" - where: VerificationToken_bool_exp! - ): VerificationToken_mutation_response - - """ - update data of the table: "NotificationType" - """ - update_NotificationType( - """sets the columns of the filtered rows to the given values""" - _set: NotificationType_set_input - - """filter the rows which have to be updated""" - where: NotificationType_bool_exp! - ): NotificationType_mutation_response - - """ - update single row of the table: "NotificationType" - """ - update_NotificationType_by_pk( - """sets the columns of the filtered rows to the given values""" - _set: NotificationType_set_input - pk_columns: NotificationType_pk_columns_input! - ): NotificationType -} - -"""column ordering options""" -enum order_by { - """in ascending order, nulls last""" - asc - - """in ascending order, nulls first""" - asc_nulls_first - - """in ascending order, nulls last""" - asc_nulls_last - - """in descending order, nulls first""" - desc - - """in descending order, nulls first""" - desc_nulls_first - - """in descending order, nulls last""" - desc_nulls_last -} - -type query_root { - """ - fetch data from the table: "NotificationType" - """ - NotificationType( - """distinct select on columns""" - distinct_on: [NotificationType_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [NotificationType_order_by!] - - """filter the rows returned""" - where: NotificationType_bool_exp - ): [NotificationType!]! - - """ - fetch aggregated fields from the table: "NotificationType" - """ - NotificationType_aggregate( - """distinct select on columns""" - distinct_on: [NotificationType_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [NotificationType_order_by!] - - """filter the rows returned""" - where: NotificationType_bool_exp - ): NotificationType_aggregate! - - """ - fetch data from the table: "NotificationType" using primary key columns - """ - NotificationType_by_pk(value: String!): NotificationType - - """ - fetch aggregated fields from the table: "Account" - """ - accountAggregate( - """distinct select on columns""" - distinct_on: [Account_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Account_order_by!] - - """filter the rows returned""" - where: Account_bool_exp - ): Account_aggregate! - - """fetch data from the table: "Account" using primary key columns""" - accountByPk(id: uuid!): Account - - """An array relationship""" - accounts( - """distinct select on columns""" - distinct_on: [Account_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Account_order_by!] - - """filter the rows returned""" - where: Account_bool_exp - ): [Account!]! - - """ - fetch aggregated fields from the table: "Comment" - """ - commentAggregate( - """distinct select on columns""" - distinct_on: [Comment_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Comment_order_by!] - - """filter the rows returned""" - where: Comment_bool_exp - ): Comment_aggregate! - - """fetch data from the table: "Comment" using primary key columns""" - commentByPk(id: uuid!): Comment - - """An array relationship""" - comments( - """distinct select on columns""" - distinct_on: [Comment_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Comment_order_by!] - - """filter the rows returned""" - where: Comment_bool_exp - ): [Comment!]! - - """ - fetch aggregated fields from the table: "Like" - """ - likeAggregate( - """distinct select on columns""" - distinct_on: [Like_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Like_order_by!] - - """filter the rows returned""" - where: Like_bool_exp - ): Like_aggregate! - - """fetch data from the table: "Like" using primary key columns""" - likeByPk(id: uuid!): Like - - """An array relationship""" - likes( - """distinct select on columns""" - distinct_on: [Like_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Like_order_by!] - - """filter the rows returned""" - where: Like_bool_exp - ): [Like!]! - - """ - fetch aggregated fields from the table: "Member" - """ - memberAggregate( - """distinct select on columns""" - distinct_on: [Member_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Member_order_by!] - - """filter the rows returned""" - where: Member_bool_exp - ): Member_aggregate! - - """fetch data from the table: "Member" using primary key columns""" - memberByPk(id: uuid!): Member - - """An array relationship""" - members( - """distinct select on columns""" - distinct_on: [Member_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Member_order_by!] - - """filter the rows returned""" - where: Member_bool_exp - ): [Member!]! - - """An array relationship""" - notificationMessages( - """distinct select on columns""" - distinct_on: [NotificationMessage_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [NotificationMessage_order_by!] - - """filter the rows returned""" - where: NotificationMessage_bool_exp - ): [NotificationMessage!]! - - """ - fetch aggregated fields from the table: "NotificationMessage" - """ - notificationMessagesAggregate( - """distinct select on columns""" - distinct_on: [NotificationMessage_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [NotificationMessage_order_by!] - - """filter the rows returned""" - where: NotificationMessage_bool_exp - ): NotificationMessage_aggregate! - - """ - fetch data from the table: "NotificationMessage" using primary key columns - """ - notificationMessagesByPk(id: uuid!): NotificationMessage - - """ - fetch aggregated fields from the table: "NotificationSubscription" - """ - notificationSubscriptionAggregate( - """distinct select on columns""" - distinct_on: [NotificationSubscription_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [NotificationSubscription_order_by!] - - """filter the rows returned""" - where: NotificationSubscription_bool_exp - ): NotificationSubscription_aggregate! - - """ - fetch data from the table: "NotificationSubscription" using primary key columns - """ - notificationSubscriptionByPk(id: uuid!): NotificationSubscription - - """An array relationship""" - notificationSubscriptions( - """distinct select on columns""" - distinct_on: [NotificationSubscription_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [NotificationSubscription_order_by!] - - """filter the rows returned""" - where: NotificationSubscription_bool_exp - ): [NotificationSubscription!]! - - """ - fetch aggregated fields from the table: "Page" - """ - pageAggregate( - """distinct select on columns""" - distinct_on: [Page_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Page_order_by!] - - """filter the rows returned""" - where: Page_bool_exp - ): Page_aggregate! - - """fetch data from the table: "Page" using primary key columns""" - pageByPk(id: uuid!): Page - - """An array relationship""" - pages( - """distinct select on columns""" - distinct_on: [Page_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Page_order_by!] - - """filter the rows returned""" - where: Page_bool_exp - ): [Page!]! - - """ - fetch aggregated fields from the table: "Project" - """ - projectAggregate( - """distinct select on columns""" - distinct_on: [Project_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Project_order_by!] - - """filter the rows returned""" - where: Project_bool_exp - ): Project_aggregate! - - """fetch data from the table: "Project" using primary key columns""" - projectByPk(id: uuid!): Project - - """An array relationship""" - projects( - """distinct select on columns""" - distinct_on: [Project_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Project_order_by!] - - """filter the rows returned""" - where: Project_bool_exp - ): [Project!]! - - """ - fetch aggregated fields from the table: "Role" - """ - roleAggregate( - """distinct select on columns""" - distinct_on: [Role_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Role_order_by!] - - """filter the rows returned""" - where: Role_bool_exp - ): Role_aggregate! - - """fetch data from the table: "Role" using primary key columns""" - roleByPk(value: String!): Role - - """ - fetch data from the table: "Role" - """ - roles( - """distinct select on columns""" - distinct_on: [Role_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Role_order_by!] - - """filter the rows returned""" - where: Role_bool_exp - ): [Role!]! - - """ - fetch aggregated fields from the table: "Session" - """ - sessionAggregate( - """distinct select on columns""" - distinct_on: [Session_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Session_order_by!] - - """filter the rows returned""" - where: Session_bool_exp - ): Session_aggregate! - - """fetch data from the table: "Session" using primary key columns""" - sessionByPk(id: uuid!): Session - - """An array relationship""" - sessions( - """distinct select on columns""" - distinct_on: [Session_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Session_order_by!] - - """filter the rows returned""" - where: Session_bool_exp - ): [Session!]! - - """ - fetch aggregated fields from the table: "Team" - """ - teamAggregate( - """distinct select on columns""" - distinct_on: [Team_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Team_order_by!] - - """filter the rows returned""" - where: Team_bool_exp - ): Team_aggregate! - - """fetch data from the table: "Team" using primary key columns""" - teamByPk(id: uuid!): Team - - """ - fetch data from the table: "Team" - """ - teams( - """distinct select on columns""" - distinct_on: [Team_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Team_order_by!] - - """filter the rows returned""" - where: Team_bool_exp - ): [Team!]! - - """ - fetch aggregated fields from the table: "User" - """ - userAggregate( - """distinct select on columns""" - distinct_on: [User_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [User_order_by!] - - """filter the rows returned""" - where: User_bool_exp - ): User_aggregate! - - """fetch data from the table: "User" using primary key columns""" - userByPk(id: uuid!): User - - """ - fetch aggregated fields from the table: "UserType" - """ - userTypeAggregate( - """distinct select on columns""" - distinct_on: [UserType_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [UserType_order_by!] - - """filter the rows returned""" - where: UserType_bool_exp - ): UserType_aggregate! - - """fetch data from the table: "UserType" using primary key columns""" - userTypeByPk(value: String!): UserType - - """ - fetch data from the table: "UserType" - """ - userTypes( - """distinct select on columns""" - distinct_on: [UserType_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [UserType_order_by!] - - """filter the rows returned""" - where: UserType_bool_exp - ): [UserType!]! - - """An array relationship""" - users( - """distinct select on columns""" - distinct_on: [User_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [User_order_by!] - - """filter the rows returned""" - where: User_bool_exp - ): [User!]! - - """ - fetch aggregated fields from the table: "VerificationToken" - """ - verificationTokenAggregate( - """distinct select on columns""" - distinct_on: [VerificationToken_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [VerificationToken_order_by!] - - """filter the rows returned""" - where: VerificationToken_bool_exp - ): VerificationToken_aggregate! - - """ - fetch data from the table: "VerificationToken" using primary key columns - """ - verificationTokenByPk(id: uuid!): VerificationToken - - """ - fetch data from the table: "VerificationToken" - """ - verificationTokens( - """distinct select on columns""" - distinct_on: [VerificationToken_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [VerificationToken_order_by!] - - """filter the rows returned""" - where: VerificationToken_bool_exp - ): [VerificationToken!]! -} - -type subscription_root { - """ - fetch data from the table: "NotificationType" - """ - NotificationType( - """distinct select on columns""" - distinct_on: [NotificationType_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [NotificationType_order_by!] - - """filter the rows returned""" - where: NotificationType_bool_exp - ): [NotificationType!]! - - """ - fetch aggregated fields from the table: "NotificationType" - """ - NotificationType_aggregate( - """distinct select on columns""" - distinct_on: [NotificationType_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [NotificationType_order_by!] - - """filter the rows returned""" - where: NotificationType_bool_exp - ): NotificationType_aggregate! - - """ - fetch data from the table: "NotificationType" using primary key columns - """ - NotificationType_by_pk(value: String!): NotificationType - - """ - fetch aggregated fields from the table: "Account" - """ - accountAggregate( - """distinct select on columns""" - distinct_on: [Account_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Account_order_by!] - - """filter the rows returned""" - where: Account_bool_exp - ): Account_aggregate! - - """fetch data from the table: "Account" using primary key columns""" - accountByPk(id: uuid!): Account - - """An array relationship""" - accounts( - """distinct select on columns""" - distinct_on: [Account_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Account_order_by!] - - """filter the rows returned""" - where: Account_bool_exp - ): [Account!]! - - """ - fetch aggregated fields from the table: "Comment" - """ - commentAggregate( - """distinct select on columns""" - distinct_on: [Comment_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Comment_order_by!] - - """filter the rows returned""" - where: Comment_bool_exp - ): Comment_aggregate! - - """fetch data from the table: "Comment" using primary key columns""" - commentByPk(id: uuid!): Comment - - """An array relationship""" - comments( - """distinct select on columns""" - distinct_on: [Comment_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Comment_order_by!] - - """filter the rows returned""" - where: Comment_bool_exp - ): [Comment!]! - - """ - fetch aggregated fields from the table: "Like" - """ - likeAggregate( - """distinct select on columns""" - distinct_on: [Like_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Like_order_by!] - - """filter the rows returned""" - where: Like_bool_exp - ): Like_aggregate! - - """fetch data from the table: "Like" using primary key columns""" - likeByPk(id: uuid!): Like - - """An array relationship""" - likes( - """distinct select on columns""" - distinct_on: [Like_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Like_order_by!] - - """filter the rows returned""" - where: Like_bool_exp - ): [Like!]! - - """ - fetch aggregated fields from the table: "Member" - """ - memberAggregate( - """distinct select on columns""" - distinct_on: [Member_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Member_order_by!] - - """filter the rows returned""" - where: Member_bool_exp - ): Member_aggregate! - - """fetch data from the table: "Member" using primary key columns""" - memberByPk(id: uuid!): Member - - """An array relationship""" - members( - """distinct select on columns""" - distinct_on: [Member_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Member_order_by!] - - """filter the rows returned""" - where: Member_bool_exp - ): [Member!]! - - """An array relationship""" - notificationMessages( - """distinct select on columns""" - distinct_on: [NotificationMessage_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [NotificationMessage_order_by!] - - """filter the rows returned""" - where: NotificationMessage_bool_exp - ): [NotificationMessage!]! - - """ - fetch aggregated fields from the table: "NotificationMessage" - """ - notificationMessagesAggregate( - """distinct select on columns""" - distinct_on: [NotificationMessage_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [NotificationMessage_order_by!] - - """filter the rows returned""" - where: NotificationMessage_bool_exp - ): NotificationMessage_aggregate! - - """ - fetch data from the table: "NotificationMessage" using primary key columns - """ - notificationMessagesByPk(id: uuid!): NotificationMessage - - """ - fetch aggregated fields from the table: "NotificationSubscription" - """ - notificationSubscriptionAggregate( - """distinct select on columns""" - distinct_on: [NotificationSubscription_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [NotificationSubscription_order_by!] - - """filter the rows returned""" - where: NotificationSubscription_bool_exp - ): NotificationSubscription_aggregate! - - """ - fetch data from the table: "NotificationSubscription" using primary key columns - """ - notificationSubscriptionByPk(id: uuid!): NotificationSubscription - - """An array relationship""" - notificationSubscriptions( - """distinct select on columns""" - distinct_on: [NotificationSubscription_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [NotificationSubscription_order_by!] - - """filter the rows returned""" - where: NotificationSubscription_bool_exp - ): [NotificationSubscription!]! - - """ - fetch aggregated fields from the table: "Page" - """ - pageAggregate( - """distinct select on columns""" - distinct_on: [Page_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Page_order_by!] - - """filter the rows returned""" - where: Page_bool_exp - ): Page_aggregate! - - """fetch data from the table: "Page" using primary key columns""" - pageByPk(id: uuid!): Page - - """An array relationship""" - pages( - """distinct select on columns""" - distinct_on: [Page_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Page_order_by!] - - """filter the rows returned""" - where: Page_bool_exp - ): [Page!]! - - """ - fetch aggregated fields from the table: "Project" - """ - projectAggregate( - """distinct select on columns""" - distinct_on: [Project_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Project_order_by!] - - """filter the rows returned""" - where: Project_bool_exp - ): Project_aggregate! - - """fetch data from the table: "Project" using primary key columns""" - projectByPk(id: uuid!): Project - - """An array relationship""" - projects( - """distinct select on columns""" - distinct_on: [Project_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Project_order_by!] - - """filter the rows returned""" - where: Project_bool_exp - ): [Project!]! - - """ - fetch aggregated fields from the table: "Role" - """ - roleAggregate( - """distinct select on columns""" - distinct_on: [Role_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Role_order_by!] - - """filter the rows returned""" - where: Role_bool_exp - ): Role_aggregate! - - """fetch data from the table: "Role" using primary key columns""" - roleByPk(value: String!): Role - - """ - fetch data from the table: "Role" - """ - roles( - """distinct select on columns""" - distinct_on: [Role_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Role_order_by!] - - """filter the rows returned""" - where: Role_bool_exp - ): [Role!]! - - """ - fetch aggregated fields from the table: "Session" - """ - sessionAggregate( - """distinct select on columns""" - distinct_on: [Session_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Session_order_by!] - - """filter the rows returned""" - where: Session_bool_exp - ): Session_aggregate! - - """fetch data from the table: "Session" using primary key columns""" - sessionByPk(id: uuid!): Session - - """An array relationship""" - sessions( - """distinct select on columns""" - distinct_on: [Session_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Session_order_by!] - - """filter the rows returned""" - where: Session_bool_exp - ): [Session!]! - - """ - fetch aggregated fields from the table: "Team" - """ - teamAggregate( - """distinct select on columns""" - distinct_on: [Team_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Team_order_by!] - - """filter the rows returned""" - where: Team_bool_exp - ): Team_aggregate! - - """fetch data from the table: "Team" using primary key columns""" - teamByPk(id: uuid!): Team - - """ - fetch data from the table: "Team" - """ - teams( - """distinct select on columns""" - distinct_on: [Team_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [Team_order_by!] - - """filter the rows returned""" - where: Team_bool_exp - ): [Team!]! - - """ - fetch aggregated fields from the table: "User" - """ - userAggregate( - """distinct select on columns""" - distinct_on: [User_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [User_order_by!] - - """filter the rows returned""" - where: User_bool_exp - ): User_aggregate! - - """fetch data from the table: "User" using primary key columns""" - userByPk(id: uuid!): User - - """ - fetch aggregated fields from the table: "UserType" - """ - userTypeAggregate( - """distinct select on columns""" - distinct_on: [UserType_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [UserType_order_by!] - - """filter the rows returned""" - where: UserType_bool_exp - ): UserType_aggregate! - - """fetch data from the table: "UserType" using primary key columns""" - userTypeByPk(value: String!): UserType - - """ - fetch data from the table: "UserType" - """ - userTypes( - """distinct select on columns""" - distinct_on: [UserType_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [UserType_order_by!] - - """filter the rows returned""" - where: UserType_bool_exp - ): [UserType!]! - - """An array relationship""" - users( - """distinct select on columns""" - distinct_on: [User_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [User_order_by!] - - """filter the rows returned""" - where: User_bool_exp - ): [User!]! - - """ - fetch aggregated fields from the table: "VerificationToken" - """ - verificationTokenAggregate( - """distinct select on columns""" - distinct_on: [VerificationToken_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [VerificationToken_order_by!] - - """filter the rows returned""" - where: VerificationToken_bool_exp - ): VerificationToken_aggregate! - - """ - fetch data from the table: "VerificationToken" using primary key columns - """ - verificationTokenByPk(id: uuid!): VerificationToken - - """ - fetch data from the table: "VerificationToken" - """ - verificationTokens( - """distinct select on columns""" - distinct_on: [VerificationToken_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [VerificationToken_order_by!] - - """filter the rows returned""" - where: VerificationToken_bool_exp - ): [VerificationToken!]! -} - -scalar timestamptz - -""" -Boolean expression to compare columns of type "timestamptz". All fields are combined with logical 'AND'. -""" -input timestamptz_comparison_exp { - _eq: timestamptz - _gt: timestamptz - _gte: timestamptz - _in: [timestamptz!] - _is_null: Boolean - _lt: timestamptz - _lte: timestamptz - _neq: timestamptz - _nin: [timestamptz!] -} - -scalar uuid - -""" -Boolean expression to compare columns of type "uuid". All fields are combined with logical 'AND'. -""" -input uuid_comparison_exp { - _eq: uuid - _gt: uuid - _gte: uuid - _in: [uuid!] - _is_null: Boolean - _lt: uuid - _lte: uuid - _neq: uuid - _nin: [uuid!] -} - diff --git a/packages/graphql/scripts/server-codegen.yml b/packages/graphql/scripts/server-codegen.yml deleted file mode 100644 index eb04fde69..000000000 --- a/packages/graphql/scripts/server-codegen.yml +++ /dev/null @@ -1,36 +0,0 @@ -overwrite: true -schema: - - http://127.0.0.1:8080/v1/graphql: - headers: - X-Hasura-Admin-Secret: 'c1b519db8df86cbe8cd625ee8548dc1f5aae41e22cf0059ee55ce6190725771c' -documents: 'src/backend/*.graphql' -generates: - src/backend/generated/types.ts: - plugins: - - typescript - config: - enumsAsTypes: true - src/backend: - preset: near-operation-file - presetConfig: - baseTypesPath: ./generated/types.ts - folder: generated - extension: .tsx - plugins: - - typescript-operations - - typed-document-node - ./scripts/graphql-schema.json: - plugins: - - 'introspection' -config: - # avoidOptionals: true - # immutableTypes: true - # maybeValue: T | null | undefined - # constEnums: true - scalars: - jsonb: 'any' - timestamptz: string - uuid: string -hooks: - afterAllFileWrite: - - prettier --write diff --git a/packages/graphql/src/backend/account.graphql b/packages/graphql/src/backend/account.graphql deleted file mode 100644 index 20f9dd074..000000000 --- a/packages/graphql/src/backend/account.graphql +++ /dev/null @@ -1,61 +0,0 @@ -mutation createAccount( - $userId: uuid! - $provider: String - $accessToken: String - $expiresAt: timestamptz - $idToken: String - $oauthToken: String - $oauthTokenSecret: String - $providerAccountId: String - $refreshToken: String - $scope: String - $sessionState: String - $tokenType: String - $type: String -) { - insertOneAccount( - object: { - userId: $userId - provider: $provider - accessToken: $accessToken - expiresAt: $expiresAt - idToken: $idToken - oauthToken: $oauthToken - oauthTokenSecret: $oauthTokenSecret - providerAccountId: $providerAccountId - refreshToken: $refreshToken - scope: $scope - sessionState: $sessionState - tokenType: $tokenType - type: $type - } - ) { - id - userId - provider - accessToken - expiresAt - idToken - oauthToken - oauthTokenSecret - providerAccountId - refreshToken - scope - sessionState - tokenType - type - } -} - -mutation deleteAccount($provider: String!, $providerAccountId: String!) { - deleteAccounts( - where: { - provider: { _eq: $provider } - providerAccountId: { _eq: $providerAccountId } - } - ) { - returning { - id - } - } -} diff --git a/packages/graphql/src/backend/comment.graphql b/packages/graphql/src/backend/comment.graphql deleted file mode 100644 index 29a98ee30..000000000 --- a/packages/graphql/src/backend/comment.graphql +++ /dev/null @@ -1,52 +0,0 @@ -query comments($newerThan: timestamptz!) { - comments(where: { createdAt: { _gt: $newerThan } }) { - id - } -} - -# Find the owner from a triggered comment -query siteOwnerByTriggerCommentId($commentId: uuid!) { - commentByPk(id: $commentId) { - page { - id - url - project { - owner: user { - id - name - email - username - } - } - } - triggeredBy: user { - id - name - username - } - } -} - -# Find the the author from a parent comment id -query authorByCommentId($commentId: uuid!) { - commentByPk(id: $commentId) { - page { - id - url - } - author: user { - id - name - username - email - } - } -} - -mutation deleteStaleComments($beforeDate: timestamptz!, $url: String!) { - deleteComments( - where: { createdAt: { _lt: $beforeDate }, page: { url: { _eq: $url } } } - ) { - affected_rows - } -} diff --git a/packages/graphql/src/backend/generated/account.tsx b/packages/graphql/src/backend/generated/account.tsx deleted file mode 100644 index 574f05689..000000000 --- a/packages/graphql/src/backend/generated/account.tsx +++ /dev/null @@ -1,445 +0,0 @@ -import * as Types from './types'; - -import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core'; -export type CreateAccountMutationVariables = Types.Exact<{ - userId: Types.Scalars['uuid']; - provider?: Types.InputMaybe; - accessToken?: Types.InputMaybe; - expiresAt?: Types.InputMaybe; - idToken?: Types.InputMaybe; - oauthToken?: Types.InputMaybe; - oauthTokenSecret?: Types.InputMaybe; - providerAccountId?: Types.InputMaybe; - refreshToken?: Types.InputMaybe; - scope?: Types.InputMaybe; - sessionState?: Types.InputMaybe; - tokenType?: Types.InputMaybe; - type?: Types.InputMaybe; -}>; - -export type CreateAccountMutation = { - __typename?: 'mutation_root'; - insertOneAccount?: { - __typename?: 'Account'; - id: string; - userId: string; - provider: string; - accessToken?: string | null; - expiresAt?: string | null; - idToken?: string | null; - oauthToken?: string | null; - oauthTokenSecret?: string | null; - providerAccountId: string; - refreshToken?: string | null; - scope?: string | null; - sessionState?: string | null; - tokenType?: string | null; - type: string; - } | null; -}; - -export type DeleteAccountMutationVariables = Types.Exact<{ - provider: Types.Scalars['String']; - providerAccountId: Types.Scalars['String']; -}>; - -export type DeleteAccountMutation = { - __typename?: 'mutation_root'; - deleteAccounts?: { - __typename?: 'Account_mutation_response'; - returning: Array<{ __typename?: 'Account'; id: string }>; - } | null; -}; - -export const CreateAccountDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'mutation', - name: { kind: 'Name', value: 'createAccount' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'userId' }, - }, - type: { - kind: 'NonNullType', - type: { kind: 'NamedType', name: { kind: 'Name', value: 'uuid' } }, - }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'provider' }, - }, - type: { kind: 'NamedType', name: { kind: 'Name', value: 'String' } }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'accessToken' }, - }, - type: { kind: 'NamedType', name: { kind: 'Name', value: 'String' } }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'expiresAt' }, - }, - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'timestamptz' }, - }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'idToken' }, - }, - type: { kind: 'NamedType', name: { kind: 'Name', value: 'String' } }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'oauthToken' }, - }, - type: { kind: 'NamedType', name: { kind: 'Name', value: 'String' } }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'oauthTokenSecret' }, - }, - type: { kind: 'NamedType', name: { kind: 'Name', value: 'String' } }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'providerAccountId' }, - }, - type: { kind: 'NamedType', name: { kind: 'Name', value: 'String' } }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'refreshToken' }, - }, - type: { kind: 'NamedType', name: { kind: 'Name', value: 'String' } }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'scope' }, - }, - type: { kind: 'NamedType', name: { kind: 'Name', value: 'String' } }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'sessionState' }, - }, - type: { kind: 'NamedType', name: { kind: 'Name', value: 'String' } }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'tokenType' }, - }, - type: { kind: 'NamedType', name: { kind: 'Name', value: 'String' } }, - }, - { - kind: 'VariableDefinition', - variable: { kind: 'Variable', name: { kind: 'Name', value: 'type' } }, - type: { kind: 'NamedType', name: { kind: 'Name', value: 'String' } }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'insertOneAccount' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'object' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'userId' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'userId' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'provider' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'provider' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'accessToken' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'accessToken' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'expiresAt' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'expiresAt' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'idToken' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'idToken' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'oauthToken' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'oauthToken' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'oauthTokenSecret' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'oauthTokenSecret' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'providerAccountId' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'providerAccountId' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'refreshToken' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'refreshToken' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'scope' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'scope' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'sessionState' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'sessionState' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'tokenType' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'tokenType' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'type' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'type' }, - }, - }, - ], - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { kind: 'Field', name: { kind: 'Name', value: 'userId' } }, - { kind: 'Field', name: { kind: 'Name', value: 'provider' } }, - { kind: 'Field', name: { kind: 'Name', value: 'accessToken' } }, - { kind: 'Field', name: { kind: 'Name', value: 'expiresAt' } }, - { kind: 'Field', name: { kind: 'Name', value: 'idToken' } }, - { kind: 'Field', name: { kind: 'Name', value: 'oauthToken' } }, - { - kind: 'Field', - name: { kind: 'Name', value: 'oauthTokenSecret' }, - }, - { - kind: 'Field', - name: { kind: 'Name', value: 'providerAccountId' }, - }, - { - kind: 'Field', - name: { kind: 'Name', value: 'refreshToken' }, - }, - { kind: 'Field', name: { kind: 'Name', value: 'scope' } }, - { - kind: 'Field', - name: { kind: 'Name', value: 'sessionState' }, - }, - { kind: 'Field', name: { kind: 'Name', value: 'tokenType' } }, - { kind: 'Field', name: { kind: 'Name', value: 'type' } }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode< - CreateAccountMutation, - CreateAccountMutationVariables ->; -export const DeleteAccountDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'mutation', - name: { kind: 'Name', value: 'deleteAccount' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'provider' }, - }, - type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'String' }, - }, - }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'providerAccountId' }, - }, - type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'String' }, - }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'deleteAccounts' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'where' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'provider' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: '_eq' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'provider' }, - }, - }, - ], - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'providerAccountId' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: '_eq' }, - value: { - kind: 'Variable', - name: { - kind: 'Name', - value: 'providerAccountId', - }, - }, - }, - ], - }, - }, - ], - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'returning' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - ], - }, - }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode< - DeleteAccountMutation, - DeleteAccountMutationVariables ->; diff --git a/packages/graphql/src/backend/generated/comment.tsx b/packages/graphql/src/backend/generated/comment.tsx deleted file mode 100644 index e7328a70d..000000000 --- a/packages/graphql/src/backend/generated/comment.tsx +++ /dev/null @@ -1,447 +0,0 @@ -import * as Types from './types'; - -import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core'; -export type CommentsQueryVariables = Types.Exact<{ - newerThan: Types.Scalars['timestamptz']; -}>; - -export type CommentsQuery = { - __typename?: 'query_root'; - comments: Array<{ __typename?: 'Comment'; id: string }>; -}; - -export type SiteOwnerByTriggerCommentIdQueryVariables = Types.Exact<{ - commentId: Types.Scalars['uuid']; -}>; - -export type SiteOwnerByTriggerCommentIdQuery = { - __typename?: 'query_root'; - commentByPk?: { - __typename?: 'Comment'; - page: { - __typename?: 'Page'; - id: string; - url: string; - project: { - __typename?: 'Project'; - owner?: { - __typename?: 'User'; - id: string; - name?: string | null; - email?: string | null; - username?: string | null; - } | null; - }; - }; - triggeredBy: { - __typename?: 'User'; - id: string; - name?: string | null; - username?: string | null; - }; - } | null; -}; - -export type AuthorByCommentIdQueryVariables = Types.Exact<{ - commentId: Types.Scalars['uuid']; -}>; - -export type AuthorByCommentIdQuery = { - __typename?: 'query_root'; - commentByPk?: { - __typename?: 'Comment'; - page: { __typename?: 'Page'; id: string; url: string }; - author: { - __typename?: 'User'; - id: string; - name?: string | null; - username?: string | null; - email?: string | null; - }; - } | null; -}; - -export type DeleteStaleCommentsMutationVariables = Types.Exact<{ - beforeDate: Types.Scalars['timestamptz']; - url: Types.Scalars['String']; -}>; - -export type DeleteStaleCommentsMutation = { - __typename?: 'mutation_root'; - deleteComments?: { - __typename?: 'Comment_mutation_response'; - affected_rows: number; - } | null; -}; - -export const CommentsDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'query', - name: { kind: 'Name', value: 'comments' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'newerThan' }, - }, - type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'timestamptz' }, - }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'comments' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'where' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'createdAt' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: '_gt' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'newerThan' }, - }, - }, - ], - }, - }, - ], - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode; -export const SiteOwnerByTriggerCommentIdDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'query', - name: { kind: 'Name', value: 'siteOwnerByTriggerCommentId' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'commentId' }, - }, - type: { - kind: 'NonNullType', - type: { kind: 'NamedType', name: { kind: 'Name', value: 'uuid' } }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'commentByPk' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'id' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'commentId' }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'page' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { kind: 'Field', name: { kind: 'Name', value: 'url' } }, - { - kind: 'Field', - name: { kind: 'Name', value: 'project' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - alias: { kind: 'Name', value: 'owner' }, - name: { kind: 'Name', value: 'user' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'id' }, - }, - { - kind: 'Field', - name: { kind: 'Name', value: 'name' }, - }, - { - kind: 'Field', - name: { kind: 'Name', value: 'email' }, - }, - { - kind: 'Field', - name: { kind: 'Name', value: 'username' }, - }, - ], - }, - }, - ], - }, - }, - ], - }, - }, - { - kind: 'Field', - alias: { kind: 'Name', value: 'triggeredBy' }, - name: { kind: 'Name', value: 'user' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { kind: 'Field', name: { kind: 'Name', value: 'name' } }, - { - kind: 'Field', - name: { kind: 'Name', value: 'username' }, - }, - ], - }, - }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode< - SiteOwnerByTriggerCommentIdQuery, - SiteOwnerByTriggerCommentIdQueryVariables ->; -export const AuthorByCommentIdDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'query', - name: { kind: 'Name', value: 'authorByCommentId' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'commentId' }, - }, - type: { - kind: 'NonNullType', - type: { kind: 'NamedType', name: { kind: 'Name', value: 'uuid' } }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'commentByPk' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'id' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'commentId' }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'page' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { kind: 'Field', name: { kind: 'Name', value: 'url' } }, - ], - }, - }, - { - kind: 'Field', - alias: { kind: 'Name', value: 'author' }, - name: { kind: 'Name', value: 'user' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { kind: 'Field', name: { kind: 'Name', value: 'name' } }, - { - kind: 'Field', - name: { kind: 'Name', value: 'username' }, - }, - { kind: 'Field', name: { kind: 'Name', value: 'email' } }, - ], - }, - }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode< - AuthorByCommentIdQuery, - AuthorByCommentIdQueryVariables ->; -export const DeleteStaleCommentsDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'mutation', - name: { kind: 'Name', value: 'deleteStaleComments' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'beforeDate' }, - }, - type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'timestamptz' }, - }, - }, - }, - { - kind: 'VariableDefinition', - variable: { kind: 'Variable', name: { kind: 'Name', value: 'url' } }, - type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'String' }, - }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'deleteComments' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'where' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'createdAt' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: '_lt' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'beforeDate' }, - }, - }, - ], - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'page' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'url' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: '_eq' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'url' }, - }, - }, - ], - }, - }, - ], - }, - }, - ], - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'affected_rows' }, - }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode< - DeleteStaleCommentsMutation, - DeleteStaleCommentsMutationVariables ->; diff --git a/packages/graphql/src/backend/generated/like.tsx b/packages/graphql/src/backend/generated/like.tsx deleted file mode 100644 index b839a4f23..000000000 --- a/packages/graphql/src/backend/generated/like.tsx +++ /dev/null @@ -1,126 +0,0 @@ -import * as Types from './types'; - -import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core'; -export type RecipientByLikeIdQueryVariables = Types.Exact<{ - likeId: Types.Scalars['uuid']; -}>; - -export type RecipientByLikeIdQuery = { - __typename?: 'query_root'; - likeByPk?: { - __typename?: 'Like'; - comment: { - __typename?: 'Comment'; - page: { __typename?: 'Page'; id: string; url: string }; - recipient: { __typename?: 'User'; id: string; name?: string | null }; - }; - triggeredBy: { __typename?: 'User'; id: string; name?: string | null }; - } | null; -}; - -export const RecipientByLikeIdDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'query', - name: { kind: 'Name', value: 'recipientByLikeId' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'likeId' }, - }, - type: { - kind: 'NonNullType', - type: { kind: 'NamedType', name: { kind: 'Name', value: 'uuid' } }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'likeByPk' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'id' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'likeId' }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'comment' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'page' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'id' }, - }, - { - kind: 'Field', - name: { kind: 'Name', value: 'url' }, - }, - ], - }, - }, - { - kind: 'Field', - alias: { kind: 'Name', value: 'recipient' }, - name: { kind: 'Name', value: 'user' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'id' }, - }, - { - kind: 'Field', - name: { kind: 'Name', value: 'name' }, - }, - ], - }, - }, - ], - }, - }, - { - kind: 'Field', - alias: { kind: 'Name', value: 'triggeredBy' }, - name: { kind: 'Name', value: 'user' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { kind: 'Field', name: { kind: 'Name', value: 'name' } }, - ], - }, - }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode< - RecipientByLikeIdQuery, - RecipientByLikeIdQueryVariables ->; diff --git a/packages/graphql/src/backend/generated/notification.tsx b/packages/graphql/src/backend/generated/notification.tsx deleted file mode 100644 index 23b350f90..000000000 --- a/packages/graphql/src/backend/generated/notification.tsx +++ /dev/null @@ -1,586 +0,0 @@ -import * as Types from './types'; - -import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core'; -export type InsertOneNotificationSubscriptionMutationVariables = Types.Exact<{ - userId: Types.Scalars['uuid']; - subscription: Types.Scalars['jsonb']; -}>; - -export type InsertOneNotificationSubscriptionMutation = { - __typename?: 'mutation_root'; - insertOneNotificationSubscription?: { - __typename?: 'NotificationSubscription'; - id: string; - } | null; -}; - -export type NotificationSubscriptionsByUserIdQueryVariables = Types.Exact<{ - userId: Types.Scalars['uuid']; -}>; - -export type NotificationSubscriptionsByUserIdQuery = { - __typename?: 'query_root'; - notificationSubscriptions: Array<{ - __typename?: 'NotificationSubscription'; - id: string; - subscription: any; - }>; -}; - -export type DeleteNotificationSubscriptionByPkMutationVariables = Types.Exact<{ - id: Types.Scalars['uuid']; -}>; - -export type DeleteNotificationSubscriptionByPkMutation = { - __typename?: 'mutation_root'; - deleteNotificationSubscriptionByPk?: { - __typename?: 'NotificationSubscription'; - id: string; - } | null; -}; - -export type InsertOneNotificationMessageMutationVariables = Types.Exact<{ - recipientId: Types.Scalars['uuid']; - type: Types.NotificationType_Enum; - triggeredById: Types.Scalars['uuid']; - contextId: Types.Scalars['uuid']; - url: Types.Scalars['String']; - content?: Types.InputMaybe; -}>; - -export type InsertOneNotificationMessageMutation = { - __typename?: 'mutation_root'; - insertOneNotificationMessage?: { - __typename?: 'NotificationMessage'; - id: string; - } | null; -}; - -export type DeleteNotificationMessageMutationVariables = Types.Exact<{ - recipientId: Types.Scalars['uuid']; - type: Types.NotificationType_Enum; - triggeredById: Types.Scalars['uuid']; - contextId: Types.Scalars['uuid']; -}>; - -export type DeleteNotificationMessageMutation = { - __typename?: 'mutation_root'; - deleteNotificationMessages?: { - __typename?: 'NotificationMessage_mutation_response'; - affected_rows: number; - } | null; -}; - -export const InsertOneNotificationSubscriptionDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'mutation', - name: { kind: 'Name', value: 'insertOneNotificationSubscription' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'userId' }, - }, - type: { - kind: 'NonNullType', - type: { kind: 'NamedType', name: { kind: 'Name', value: 'uuid' } }, - }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'subscription' }, - }, - type: { - kind: 'NonNullType', - type: { kind: 'NamedType', name: { kind: 'Name', value: 'jsonb' } }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'insertOneNotificationSubscription' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'object' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'userId' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'userId' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'subscription' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'subscription' }, - }, - }, - ], - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode< - InsertOneNotificationSubscriptionMutation, - InsertOneNotificationSubscriptionMutationVariables ->; -export const NotificationSubscriptionsByUserIdDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'query', - name: { kind: 'Name', value: 'notificationSubscriptionsByUserId' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'userId' }, - }, - type: { - kind: 'NonNullType', - type: { kind: 'NamedType', name: { kind: 'Name', value: 'uuid' } }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'notificationSubscriptions' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'where' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'userId' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: '_eq' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'userId' }, - }, - }, - ], - }, - }, - ], - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { - kind: 'Field', - name: { kind: 'Name', value: 'subscription' }, - }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode< - NotificationSubscriptionsByUserIdQuery, - NotificationSubscriptionsByUserIdQueryVariables ->; -export const DeleteNotificationSubscriptionByPkDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'mutation', - name: { kind: 'Name', value: 'deleteNotificationSubscriptionByPk' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { kind: 'Variable', name: { kind: 'Name', value: 'id' } }, - type: { - kind: 'NonNullType', - type: { kind: 'NamedType', name: { kind: 'Name', value: 'uuid' } }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'deleteNotificationSubscriptionByPk' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'id' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'id' }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode< - DeleteNotificationSubscriptionByPkMutation, - DeleteNotificationSubscriptionByPkMutationVariables ->; -export const InsertOneNotificationMessageDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'mutation', - name: { kind: 'Name', value: 'insertOneNotificationMessage' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'recipientId' }, - }, - type: { - kind: 'NonNullType', - type: { kind: 'NamedType', name: { kind: 'Name', value: 'uuid' } }, - }, - }, - { - kind: 'VariableDefinition', - variable: { kind: 'Variable', name: { kind: 'Name', value: 'type' } }, - type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'NotificationType_enum' }, - }, - }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'triggeredById' }, - }, - type: { - kind: 'NonNullType', - type: { kind: 'NamedType', name: { kind: 'Name', value: 'uuid' } }, - }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'contextId' }, - }, - type: { - kind: 'NonNullType', - type: { kind: 'NamedType', name: { kind: 'Name', value: 'uuid' } }, - }, - }, - { - kind: 'VariableDefinition', - variable: { kind: 'Variable', name: { kind: 'Name', value: 'url' } }, - type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'String' }, - }, - }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'content' }, - }, - type: { kind: 'NamedType', name: { kind: 'Name', value: 'String' } }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'insertOneNotificationMessage' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'object' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'recipientId' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'recipientId' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'triggeredById' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'triggeredById' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'type' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'type' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'url' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'url' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'contextId' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'contextId' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'content' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'content' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'read' }, - value: { kind: 'BooleanValue', value: false }, - }, - ], - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode< - InsertOneNotificationMessageMutation, - InsertOneNotificationMessageMutationVariables ->; -export const DeleteNotificationMessageDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'mutation', - name: { kind: 'Name', value: 'deleteNotificationMessage' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'recipientId' }, - }, - type: { - kind: 'NonNullType', - type: { kind: 'NamedType', name: { kind: 'Name', value: 'uuid' } }, - }, - }, - { - kind: 'VariableDefinition', - variable: { kind: 'Variable', name: { kind: 'Name', value: 'type' } }, - type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'NotificationType_enum' }, - }, - }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'triggeredById' }, - }, - type: { - kind: 'NonNullType', - type: { kind: 'NamedType', name: { kind: 'Name', value: 'uuid' } }, - }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'contextId' }, - }, - type: { - kind: 'NonNullType', - type: { kind: 'NamedType', name: { kind: 'Name', value: 'uuid' } }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'deleteNotificationMessages' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'where' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'recipientId' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: '_eq' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'recipientId' }, - }, - }, - ], - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'triggeredById' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: '_eq' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'triggeredById' }, - }, - }, - ], - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'type' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: '_eq' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'type' }, - }, - }, - ], - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'contextId' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: '_eq' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'contextId' }, - }, - }, - ], - }, - }, - ], - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'affected_rows' }, - }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode< - DeleteNotificationMessageMutation, - DeleteNotificationMessageMutationVariables ->; diff --git a/packages/graphql/src/backend/generated/page.tsx b/packages/graphql/src/backend/generated/page.tsx deleted file mode 100644 index 8a090bef1..000000000 --- a/packages/graphql/src/backend/generated/page.tsx +++ /dev/null @@ -1,652 +0,0 @@ -import * as Types from './types'; - -import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core'; -export type PageByUrlQueryVariables = Types.Exact<{ - url: Types.Scalars['String']; - projectId: Types.Scalars['uuid']; -}>; - -export type PageByUrlQuery = { - __typename?: 'query_root'; - pages: Array<{ - __typename?: 'Page'; - id: string; - url: string; - title?: string | null; - project: { __typename?: 'Project'; domain: string }; - }>; -}; - -export type InsertOnePageMutationVariables = Types.Exact<{ - projectId: Types.Scalars['uuid']; - title: Types.Scalars['String']; - url: Types.Scalars['String']; -}>; - -export type InsertOnePageMutation = { - __typename?: 'mutation_root'; - insertOnePage?: { - __typename?: 'Page'; - id: string; - url: string; - title?: string | null; - project: { __typename?: 'Project'; domain: string }; - } | null; -}; - -export type UpdatePagesMutationVariables = Types.Exact<{ - projectId: Types.Scalars['uuid']; - title: Types.Scalars['String']; - url: Types.Scalars['String']; -}>; - -export type UpdatePagesMutation = { - __typename?: 'mutation_root'; - updatePages?: { - __typename?: 'Page_mutation_response'; - affected_rows: number; - returning: Array<{ __typename?: 'Page'; id: string }>; - } | null; -}; - -export type FreshPagesQueryVariables = Types.Exact<{ - limit: Types.Scalars['Int']; -}>; - -export type FreshPagesQuery = { - __typename?: 'query_root'; - pages: Array<{ - __typename?: 'Page'; - id: string; - url: string; - createdAt: string; - }>; -}; - -export type PageByUrlOnlyQueryVariables = Types.Exact<{ - url: Types.Scalars['String']; -}>; - -export type PageByUrlOnlyQuery = { - __typename?: 'query_root'; - pages: Array<{ __typename?: 'Page'; id: string; url: string }>; -}; - -export type ThemeOfPageQueryVariables = Types.Exact<{ - pageId: Types.Scalars['uuid']; -}>; - -export type ThemeOfPageQuery = { - __typename?: 'query_root'; - pageByPk?: { - __typename?: 'Page'; - id: string; - url: string; - project: { __typename?: 'Project'; id: string; theme?: any | null }; - } | null; -}; - -export const PageByUrlDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'query', - name: { kind: 'Name', value: 'pageByURL' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { kind: 'Variable', name: { kind: 'Name', value: 'url' } }, - type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'String' }, - }, - }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'projectId' }, - }, - type: { - kind: 'NonNullType', - type: { kind: 'NamedType', name: { kind: 'Name', value: 'uuid' } }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'pages' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'limit' }, - value: { kind: 'IntValue', value: '1' }, - }, - { - kind: 'Argument', - name: { kind: 'Name', value: 'where' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'url' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: '_eq' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'url' }, - }, - }, - ], - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'projectId' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: '_eq' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'projectId' }, - }, - }, - ], - }, - }, - ], - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { kind: 'Field', name: { kind: 'Name', value: 'url' } }, - { kind: 'Field', name: { kind: 'Name', value: 'title' } }, - { - kind: 'Field', - name: { kind: 'Name', value: 'project' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'domain' }, - }, - ], - }, - }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode; -export const InsertOnePageDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'mutation', - name: { kind: 'Name', value: 'insertOnePage' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'projectId' }, - }, - type: { - kind: 'NonNullType', - type: { kind: 'NamedType', name: { kind: 'Name', value: 'uuid' } }, - }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'title' }, - }, - type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'String' }, - }, - }, - }, - { - kind: 'VariableDefinition', - variable: { kind: 'Variable', name: { kind: 'Name', value: 'url' } }, - type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'String' }, - }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'insertOnePage' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'object' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'projectId' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'projectId' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'title' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'title' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'url' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'url' }, - }, - }, - ], - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { kind: 'Field', name: { kind: 'Name', value: 'url' } }, - { kind: 'Field', name: { kind: 'Name', value: 'title' } }, - { - kind: 'Field', - name: { kind: 'Name', value: 'project' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'domain' }, - }, - ], - }, - }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode< - InsertOnePageMutation, - InsertOnePageMutationVariables ->; -export const UpdatePagesDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'mutation', - name: { kind: 'Name', value: 'updatePages' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'projectId' }, - }, - type: { - kind: 'NonNullType', - type: { kind: 'NamedType', name: { kind: 'Name', value: 'uuid' } }, - }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'title' }, - }, - type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'String' }, - }, - }, - }, - { - kind: 'VariableDefinition', - variable: { kind: 'Variable', name: { kind: 'Name', value: 'url' } }, - type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'String' }, - }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'updatePages' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'where' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'url' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: '_eq' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'url' }, - }, - }, - ], - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'projectId' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: '_eq' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'projectId' }, - }, - }, - ], - }, - }, - ], - }, - }, - { - kind: 'Argument', - name: { kind: 'Name', value: '_set' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'title' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'title' }, - }, - }, - ], - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'returning' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - ], - }, - }, - { - kind: 'Field', - name: { kind: 'Name', value: 'affected_rows' }, - }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode; -export const FreshPagesDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'query', - name: { kind: 'Name', value: 'freshPages' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'limit' }, - }, - type: { - kind: 'NonNullType', - type: { kind: 'NamedType', name: { kind: 'Name', value: 'Int' } }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'pages' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'order_by' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'createdAt' }, - value: { kind: 'EnumValue', value: 'desc' }, - }, - ], - }, - }, - { - kind: 'Argument', - name: { kind: 'Name', value: 'limit' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'limit' }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { kind: 'Field', name: { kind: 'Name', value: 'url' } }, - { kind: 'Field', name: { kind: 'Name', value: 'createdAt' } }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode; -export const PageByUrlOnlyDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'query', - name: { kind: 'Name', value: 'pageByUrlOnly' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { kind: 'Variable', name: { kind: 'Name', value: 'url' } }, - type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'String' }, - }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'pages' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'limit' }, - value: { kind: 'IntValue', value: '1' }, - }, - { - kind: 'Argument', - name: { kind: 'Name', value: 'where' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'url' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: '_eq' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'url' }, - }, - }, - ], - }, - }, - ], - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { kind: 'Field', name: { kind: 'Name', value: 'url' } }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode; -export const ThemeOfPageDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'query', - name: { kind: 'Name', value: 'themeOfPage' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'pageId' }, - }, - type: { - kind: 'NonNullType', - type: { kind: 'NamedType', name: { kind: 'Name', value: 'uuid' } }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'pageByPk' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'id' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'pageId' }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { kind: 'Field', name: { kind: 'Name', value: 'url' } }, - { - kind: 'Field', - name: { kind: 'Name', value: 'project' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { kind: 'Field', name: { kind: 'Name', value: 'theme' } }, - ], - }, - }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode; diff --git a/packages/graphql/src/backend/generated/project.tsx b/packages/graphql/src/backend/generated/project.tsx deleted file mode 100644 index beb528b5e..000000000 --- a/packages/graphql/src/backend/generated/project.tsx +++ /dev/null @@ -1,449 +0,0 @@ -import * as Types from './types'; - -import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core'; -export type AllProjectsQueryVariables = Types.Exact<{ [key: string]: never }>; - -export type AllProjectsQuery = { - __typename?: 'query_root'; - projects: Array<{ __typename?: 'Project'; id: string; domain: string }>; -}; - -export type ThemeProjectByPkQueryVariables = Types.Exact<{ - domain: Types.Scalars['String']; -}>; - -export type ThemeProjectByPkQuery = { - __typename?: 'query_root'; - projects: Array<{ - __typename?: 'Project'; - id: string; - name: string; - theme?: any | null; - domain: string; - }>; -}; - -export type ProjectByPkQueryVariables = Types.Exact<{ - id: Types.Scalars['uuid']; -}>; - -export type ProjectByPkQuery = { - __typename?: 'query_root'; - projectByPk?: { __typename?: 'Project'; id: string } | null; -}; - -export type PageUrLsOfProjectQueryVariables = Types.Exact<{ - id: Types.Scalars['uuid']; -}>; - -export type PageUrLsOfProjectQuery = { - __typename?: 'query_root'; - projectByPk?: { - __typename?: 'Project'; - id: string; - pages: Array<{ __typename?: 'Page'; id: string; url: string }>; - } | null; -}; - -export type UserProjectsQueryVariables = Types.Exact<{ - userId: Types.Scalars['uuid']; -}>; - -export type UserProjectsQuery = { - __typename?: 'query_root'; - projects: Array<{ __typename?: 'Project'; id: string }>; - userByPk?: { - __typename?: 'User'; - id: string; - email?: string | null; - username?: string | null; - image?: string | null; - name?: string | null; - } | null; -}; - -export type ProjectByDomainQueryVariables = Types.Exact<{ - domain: Types.Scalars['String']; -}>; - -export type ProjectByDomainQuery = { - __typename?: 'query_root'; - projects: Array<{ - __typename?: 'Project'; - id: string; - name: string; - domain: string; - createdAt: string; - }>; -}; - -export const AllProjectsDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'query', - name: { kind: 'Name', value: 'allProjects' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'projects' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { kind: 'Field', name: { kind: 'Name', value: 'domain' } }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode; -export const ThemeProjectByPkDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'query', - name: { kind: 'Name', value: 'themeProjectByPk' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'domain' }, - }, - type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'String' }, - }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'projects' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'where' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'domain' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: '_eq' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'domain' }, - }, - }, - ], - }, - }, - ], - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { kind: 'Field', name: { kind: 'Name', value: 'name' } }, - { kind: 'Field', name: { kind: 'Name', value: 'theme' } }, - { kind: 'Field', name: { kind: 'Name', value: 'domain' } }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode< - ThemeProjectByPkQuery, - ThemeProjectByPkQueryVariables ->; -export const ProjectByPkDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'query', - name: { kind: 'Name', value: 'projectByPk' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { kind: 'Variable', name: { kind: 'Name', value: 'id' } }, - type: { - kind: 'NonNullType', - type: { kind: 'NamedType', name: { kind: 'Name', value: 'uuid' } }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'projectByPk' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'id' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'id' }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode; -export const PageUrLsOfProjectDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'query', - name: { kind: 'Name', value: 'pageURLsOfProject' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { kind: 'Variable', name: { kind: 'Name', value: 'id' } }, - type: { - kind: 'NonNullType', - type: { kind: 'NamedType', name: { kind: 'Name', value: 'uuid' } }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'projectByPk' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'id' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'id' }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { - kind: 'Field', - name: { kind: 'Name', value: 'pages' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { kind: 'Field', name: { kind: 'Name', value: 'url' } }, - ], - }, - }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode< - PageUrLsOfProjectQuery, - PageUrLsOfProjectQueryVariables ->; -export const UserProjectsDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'query', - name: { kind: 'Name', value: 'userProjects' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'userId' }, - }, - type: { - kind: 'NonNullType', - type: { kind: 'NamedType', name: { kind: 'Name', value: 'uuid' } }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'projects' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'where' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'userId' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: '_eq' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'userId' }, - }, - }, - ], - }, - }, - ], - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - ], - }, - }, - { - kind: 'Field', - name: { kind: 'Name', value: 'userByPk' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'id' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'userId' }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { kind: 'Field', name: { kind: 'Name', value: 'email' } }, - { kind: 'Field', name: { kind: 'Name', value: 'username' } }, - { kind: 'Field', name: { kind: 'Name', value: 'image' } }, - { kind: 'Field', name: { kind: 'Name', value: 'name' } }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode; -export const ProjectByDomainDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'query', - name: { kind: 'Name', value: 'projectByDomain' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'domain' }, - }, - type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'String' }, - }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'projects' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'where' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'domain' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: '_eq' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'domain' }, - }, - }, - ], - }, - }, - ], - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { kind: 'Field', name: { kind: 'Name', value: 'name' } }, - { kind: 'Field', name: { kind: 'Name', value: 'domain' } }, - { kind: 'Field', name: { kind: 'Name', value: 'createdAt' } }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode< - ProjectByDomainQuery, - ProjectByDomainQueryVariables ->; diff --git a/packages/graphql/src/backend/generated/session.tsx b/packages/graphql/src/backend/generated/session.tsx deleted file mode 100644 index 99fc04883..000000000 --- a/packages/graphql/src/backend/generated/session.tsx +++ /dev/null @@ -1,521 +0,0 @@ -import * as Types from './types'; - -import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core'; -export type CreateSessionMutationVariables = Types.Exact<{ - userId?: Types.InputMaybe; - sessionToken: Types.Scalars['String']; - expires: Types.Scalars['timestamptz']; -}>; - -export type CreateSessionMutation = { - __typename?: 'mutation_root'; - insertOneSession?: { - __typename?: 'Session'; - id: string; - expires: string; - sessionToken: string; - userId: string; - } | null; -}; - -export type SessionAndUserQueryVariables = Types.Exact<{ - sessionToken: Types.Scalars['String']; -}>; - -export type SessionAndUserQuery = { - __typename?: 'query_root'; - sessions: Array<{ - __typename?: 'Session'; - id: string; - expires: string; - sessionToken: string; - userId: string; - user: { - __typename?: 'User'; - id: string; - name?: string | null; - username?: string | null; - image?: string | null; - email?: string | null; - emailVerified?: string | null; - }; - }>; -}; - -export type UpdateSessionMutationVariables = Types.Exact<{ - sessionToken: Types.Scalars['String']; - userId: Types.Scalars['uuid']; - expires: Types.Scalars['timestamptz']; -}>; - -export type UpdateSessionMutation = { - __typename?: 'mutation_root'; - updateSessions?: { - __typename?: 'Session_mutation_response'; - returning: Array<{ - __typename?: 'Session'; - id: string; - expires: string; - sessionToken: string; - userId: string; - }>; - } | null; -}; - -export type DeleteSessionMutationVariables = Types.Exact<{ - sessionToken: Types.Scalars['String']; -}>; - -export type DeleteSessionMutation = { - __typename?: 'mutation_root'; - deleteSessions?: { - __typename?: 'Session_mutation_response'; - returning: Array<{ - __typename?: 'Session'; - id: string; - expires: string; - sessionToken: string; - userId: string; - }>; - } | null; -}; - -export const CreateSessionDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'mutation', - name: { kind: 'Name', value: 'createSession' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'userId' }, - }, - type: { kind: 'NamedType', name: { kind: 'Name', value: 'uuid' } }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'sessionToken' }, - }, - type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'String' }, - }, - }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'expires' }, - }, - type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'timestamptz' }, - }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'insertOneSession' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'object' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'userId' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'userId' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'sessionToken' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'sessionToken' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'expires' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'expires' }, - }, - }, - ], - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { kind: 'Field', name: { kind: 'Name', value: 'expires' } }, - { - kind: 'Field', - name: { kind: 'Name', value: 'sessionToken' }, - }, - { kind: 'Field', name: { kind: 'Name', value: 'userId' } }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode< - CreateSessionMutation, - CreateSessionMutationVariables ->; -export const SessionAndUserDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'query', - name: { kind: 'Name', value: 'sessionAndUser' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'sessionToken' }, - }, - type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'String' }, - }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'sessions' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'where' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'sessionToken' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: '_eq' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'sessionToken' }, - }, - }, - ], - }, - }, - ], - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { kind: 'Field', name: { kind: 'Name', value: 'expires' } }, - { - kind: 'Field', - name: { kind: 'Name', value: 'sessionToken' }, - }, - { kind: 'Field', name: { kind: 'Name', value: 'userId' } }, - { - kind: 'Field', - name: { kind: 'Name', value: 'user' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { kind: 'Field', name: { kind: 'Name', value: 'name' } }, - { - kind: 'Field', - name: { kind: 'Name', value: 'username' }, - }, - { kind: 'Field', name: { kind: 'Name', value: 'image' } }, - { kind: 'Field', name: { kind: 'Name', value: 'email' } }, - { - kind: 'Field', - name: { kind: 'Name', value: 'emailVerified' }, - }, - ], - }, - }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode; -export const UpdateSessionDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'mutation', - name: { kind: 'Name', value: 'updateSession' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'sessionToken' }, - }, - type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'String' }, - }, - }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'userId' }, - }, - type: { - kind: 'NonNullType', - type: { kind: 'NamedType', name: { kind: 'Name', value: 'uuid' } }, - }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'expires' }, - }, - type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'timestamptz' }, - }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'updateSessions' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'where' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'sessionToken' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: '_eq' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'sessionToken' }, - }, - }, - ], - }, - }, - ], - }, - }, - { - kind: 'Argument', - name: { kind: 'Name', value: '_set' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'userId' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'userId' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'expires' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'expires' }, - }, - }, - ], - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'returning' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { - kind: 'Field', - name: { kind: 'Name', value: 'expires' }, - }, - { - kind: 'Field', - name: { kind: 'Name', value: 'sessionToken' }, - }, - { - kind: 'Field', - name: { kind: 'Name', value: 'userId' }, - }, - ], - }, - }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode< - UpdateSessionMutation, - UpdateSessionMutationVariables ->; -export const DeleteSessionDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'mutation', - name: { kind: 'Name', value: 'deleteSession' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'sessionToken' }, - }, - type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'String' }, - }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'deleteSessions' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'where' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'sessionToken' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: '_eq' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'sessionToken' }, - }, - }, - ], - }, - }, - ], - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'returning' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { - kind: 'Field', - name: { kind: 'Name', value: 'expires' }, - }, - { - kind: 'Field', - name: { kind: 'Name', value: 'sessionToken' }, - }, - { - kind: 'Field', - name: { kind: 'Name', value: 'userId' }, - }, - ], - }, - }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode< - DeleteSessionMutation, - DeleteSessionMutationVariables ->; diff --git a/packages/graphql/src/backend/generated/types.ts b/packages/graphql/src/backend/generated/types.ts deleted file mode 100644 index 0434c420c..000000000 --- a/packages/graphql/src/backend/generated/types.ts +++ /dev/null @@ -1,5123 +0,0 @@ -export type Maybe = T | null; -export type InputMaybe = Maybe; -export type Exact = { - [K in keyof T]: T[K]; -}; -export type MakeOptional = Omit & { - [SubKey in K]?: Maybe; -}; -export type MakeMaybe = Omit & { - [SubKey in K]: Maybe; -}; -/** All built-in and custom scalars, mapped to their actual values */ -export type Scalars = { - ID: string; - String: string; - Boolean: boolean; - Int: number; - Float: number; - jsonb: any; - timestamptz: string; - uuid: string; -}; - -/** columns and relationships of "Account" */ -export type Account = { - __typename?: 'Account'; - accessToken?: Maybe; - expiresAt?: Maybe; - id: Scalars['uuid']; - idToken?: Maybe; - oauthToken?: Maybe; - oauthTokenSecret?: Maybe; - provider: Scalars['String']; - providerAccountId: Scalars['String']; - refreshToken?: Maybe; - scope?: Maybe; - sessionState?: Maybe; - tokenType?: Maybe; - type: Scalars['String']; - /** An object relationship */ - user: User; - userId: Scalars['uuid']; -}; - -/** aggregated selection of "Account" */ -export type Account_Aggregate = { - __typename?: 'Account_aggregate'; - aggregate?: Maybe; - nodes: Array; -}; - -/** aggregate fields of "Account" */ -export type Account_Aggregate_Fields = { - __typename?: 'Account_aggregate_fields'; - count: Scalars['Int']; - max?: Maybe; - min?: Maybe; -}; - -/** aggregate fields of "Account" */ -export type Account_Aggregate_FieldsCountArgs = { - columns?: InputMaybe>; - distinct?: InputMaybe; -}; - -/** order by aggregate values of table "Account" */ -export type Account_Aggregate_Order_By = { - count?: InputMaybe; - max?: InputMaybe; - min?: InputMaybe; -}; - -/** input type for inserting array relation for remote table "Account" */ -export type Account_Arr_Rel_Insert_Input = { - data: Array; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** Boolean expression to filter rows from the table "Account". All fields are combined with a logical 'AND'. */ -export type Account_Bool_Exp = { - _and?: InputMaybe>; - _not?: InputMaybe; - _or?: InputMaybe>; - accessToken?: InputMaybe; - expiresAt?: InputMaybe; - id?: InputMaybe; - idToken?: InputMaybe; - oauthToken?: InputMaybe; - oauthTokenSecret?: InputMaybe; - provider?: InputMaybe; - providerAccountId?: InputMaybe; - refreshToken?: InputMaybe; - scope?: InputMaybe; - sessionState?: InputMaybe; - tokenType?: InputMaybe; - type?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** unique or primary key constraints on table "Account" */ -export type Account_Constraint = - /** unique or primary key constraint */ - | 'Account_pkey' - /** unique or primary key constraint */ - | 'Account_providerAccountId_provider_key'; - -/** input type for inserting data into table "Account" */ -export type Account_Insert_Input = { - accessToken?: InputMaybe; - expiresAt?: InputMaybe; - id?: InputMaybe; - idToken?: InputMaybe; - oauthToken?: InputMaybe; - oauthTokenSecret?: InputMaybe; - provider?: InputMaybe; - providerAccountId?: InputMaybe; - refreshToken?: InputMaybe; - scope?: InputMaybe; - sessionState?: InputMaybe; - tokenType?: InputMaybe; - type?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** aggregate max on columns */ -export type Account_Max_Fields = { - __typename?: 'Account_max_fields'; - accessToken?: Maybe; - expiresAt?: Maybe; - id?: Maybe; - idToken?: Maybe; - oauthToken?: Maybe; - oauthTokenSecret?: Maybe; - provider?: Maybe; - providerAccountId?: Maybe; - refreshToken?: Maybe; - scope?: Maybe; - sessionState?: Maybe; - tokenType?: Maybe; - type?: Maybe; - userId?: Maybe; -}; - -/** order by max() on columns of table "Account" */ -export type Account_Max_Order_By = { - accessToken?: InputMaybe; - expiresAt?: InputMaybe; - id?: InputMaybe; - idToken?: InputMaybe; - oauthToken?: InputMaybe; - oauthTokenSecret?: InputMaybe; - provider?: InputMaybe; - providerAccountId?: InputMaybe; - refreshToken?: InputMaybe; - scope?: InputMaybe; - sessionState?: InputMaybe; - tokenType?: InputMaybe; - type?: InputMaybe; - userId?: InputMaybe; -}; - -/** aggregate min on columns */ -export type Account_Min_Fields = { - __typename?: 'Account_min_fields'; - accessToken?: Maybe; - expiresAt?: Maybe; - id?: Maybe; - idToken?: Maybe; - oauthToken?: Maybe; - oauthTokenSecret?: Maybe; - provider?: Maybe; - providerAccountId?: Maybe; - refreshToken?: Maybe; - scope?: Maybe; - sessionState?: Maybe; - tokenType?: Maybe; - type?: Maybe; - userId?: Maybe; -}; - -/** order by min() on columns of table "Account" */ -export type Account_Min_Order_By = { - accessToken?: InputMaybe; - expiresAt?: InputMaybe; - id?: InputMaybe; - idToken?: InputMaybe; - oauthToken?: InputMaybe; - oauthTokenSecret?: InputMaybe; - provider?: InputMaybe; - providerAccountId?: InputMaybe; - refreshToken?: InputMaybe; - scope?: InputMaybe; - sessionState?: InputMaybe; - tokenType?: InputMaybe; - type?: InputMaybe; - userId?: InputMaybe; -}; - -/** response of any mutation on the table "Account" */ -export type Account_Mutation_Response = { - __typename?: 'Account_mutation_response'; - /** number of rows affected by the mutation */ - affected_rows: Scalars['Int']; - /** data from the rows affected by the mutation */ - returning: Array; -}; - -/** on_conflict condition type for table "Account" */ -export type Account_On_Conflict = { - constraint: Account_Constraint; - update_columns?: Array; - where?: InputMaybe; -}; - -/** Ordering options when selecting data from "Account". */ -export type Account_Order_By = { - accessToken?: InputMaybe; - expiresAt?: InputMaybe; - id?: InputMaybe; - idToken?: InputMaybe; - oauthToken?: InputMaybe; - oauthTokenSecret?: InputMaybe; - provider?: InputMaybe; - providerAccountId?: InputMaybe; - refreshToken?: InputMaybe; - scope?: InputMaybe; - sessionState?: InputMaybe; - tokenType?: InputMaybe; - type?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** primary key columns input for table: Account */ -export type Account_Pk_Columns_Input = { - id: Scalars['uuid']; -}; - -/** select columns of table "Account" */ -export type Account_Select_Column = - /** column name */ - | 'accessToken' - /** column name */ - | 'expiresAt' - /** column name */ - | 'id' - /** column name */ - | 'idToken' - /** column name */ - | 'oauthToken' - /** column name */ - | 'oauthTokenSecret' - /** column name */ - | 'provider' - /** column name */ - | 'providerAccountId' - /** column name */ - | 'refreshToken' - /** column name */ - | 'scope' - /** column name */ - | 'sessionState' - /** column name */ - | 'tokenType' - /** column name */ - | 'type' - /** column name */ - | 'userId'; - -/** input type for updating data in table "Account" */ -export type Account_Set_Input = { - accessToken?: InputMaybe; - expiresAt?: InputMaybe; - id?: InputMaybe; - idToken?: InputMaybe; - oauthToken?: InputMaybe; - oauthTokenSecret?: InputMaybe; - provider?: InputMaybe; - providerAccountId?: InputMaybe; - refreshToken?: InputMaybe; - scope?: InputMaybe; - sessionState?: InputMaybe; - tokenType?: InputMaybe; - type?: InputMaybe; - userId?: InputMaybe; -}; - -/** update columns of table "Account" */ -export type Account_Update_Column = - /** column name */ - | 'accessToken' - /** column name */ - | 'expiresAt' - /** column name */ - | 'id' - /** column name */ - | 'idToken' - /** column name */ - | 'oauthToken' - /** column name */ - | 'oauthTokenSecret' - /** column name */ - | 'provider' - /** column name */ - | 'providerAccountId' - /** column name */ - | 'refreshToken' - /** column name */ - | 'scope' - /** column name */ - | 'sessionState' - /** column name */ - | 'tokenType' - /** column name */ - | 'type' - /** column name */ - | 'userId'; - -/** Boolean expression to compare columns of type "Boolean". All fields are combined with logical 'AND'. */ -export type Boolean_Comparison_Exp = { - _eq?: InputMaybe; - _gt?: InputMaybe; - _gte?: InputMaybe; - _in?: InputMaybe>; - _is_null?: InputMaybe; - _lt?: InputMaybe; - _lte?: InputMaybe; - _neq?: InputMaybe; - _nin?: InputMaybe>; -}; - -/** columns and relationships of "Comment" */ -export type Comment = { - __typename?: 'Comment'; - content: Scalars['jsonb']; - createdAt: Scalars['timestamptz']; - deletedAt?: Maybe; - id: Scalars['uuid']; - /** An array relationship */ - likes: Array; - /** An aggregate relationship */ - likes_aggregate: Like_Aggregate; - /** An object relationship */ - page: Page; - pageId: Scalars['uuid']; - /** An object relationship */ - parent?: Maybe; - parentId?: Maybe; - /** An array relationship */ - replies: Array; - /** An aggregate relationship */ - replies_aggregate: Comment_Aggregate; - updatedAt: Scalars['timestamptz']; - /** An object relationship */ - user: User; - userId: Scalars['uuid']; -}; - -/** columns and relationships of "Comment" */ -export type CommentContentArgs = { - path?: InputMaybe; -}; - -/** columns and relationships of "Comment" */ -export type CommentLikesArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "Comment" */ -export type CommentLikes_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "Comment" */ -export type CommentRepliesArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "Comment" */ -export type CommentReplies_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** aggregated selection of "Comment" */ -export type Comment_Aggregate = { - __typename?: 'Comment_aggregate'; - aggregate?: Maybe; - nodes: Array; -}; - -/** aggregate fields of "Comment" */ -export type Comment_Aggregate_Fields = { - __typename?: 'Comment_aggregate_fields'; - count: Scalars['Int']; - max?: Maybe; - min?: Maybe; -}; - -/** aggregate fields of "Comment" */ -export type Comment_Aggregate_FieldsCountArgs = { - columns?: InputMaybe>; - distinct?: InputMaybe; -}; - -/** order by aggregate values of table "Comment" */ -export type Comment_Aggregate_Order_By = { - count?: InputMaybe; - max?: InputMaybe; - min?: InputMaybe; -}; - -/** append existing jsonb value of filtered columns with new jsonb value */ -export type Comment_Append_Input = { - content?: InputMaybe; -}; - -/** input type for inserting array relation for remote table "Comment" */ -export type Comment_Arr_Rel_Insert_Input = { - data: Array; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** Boolean expression to filter rows from the table "Comment". All fields are combined with a logical 'AND'. */ -export type Comment_Bool_Exp = { - _and?: InputMaybe>; - _not?: InputMaybe; - _or?: InputMaybe>; - content?: InputMaybe; - createdAt?: InputMaybe; - deletedAt?: InputMaybe; - id?: InputMaybe; - likes?: InputMaybe; - page?: InputMaybe; - pageId?: InputMaybe; - parent?: InputMaybe; - parentId?: InputMaybe; - replies?: InputMaybe; - updatedAt?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** unique or primary key constraints on table "Comment" */ -export type Comment_Constraint = - /** unique or primary key constraint */ - 'Comment_pkey'; - -/** delete the field or element with specified path (for JSON arrays, negative integers count from the end) */ -export type Comment_Delete_At_Path_Input = { - content?: InputMaybe>; -}; - -/** delete the array element with specified index (negative integers count from the end). throws an error if top level container is not an array */ -export type Comment_Delete_Elem_Input = { - content?: InputMaybe; -}; - -/** delete key/value pair or string element. key/value pairs are matched based on their key value */ -export type Comment_Delete_Key_Input = { - content?: InputMaybe; -}; - -/** input type for inserting data into table "Comment" */ -export type Comment_Insert_Input = { - content?: InputMaybe; - createdAt?: InputMaybe; - deletedAt?: InputMaybe; - id?: InputMaybe; - likes?: InputMaybe; - page?: InputMaybe; - pageId?: InputMaybe; - parent?: InputMaybe; - parentId?: InputMaybe; - replies?: InputMaybe; - updatedAt?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** aggregate max on columns */ -export type Comment_Max_Fields = { - __typename?: 'Comment_max_fields'; - createdAt?: Maybe; - deletedAt?: Maybe; - id?: Maybe; - pageId?: Maybe; - parentId?: Maybe; - updatedAt?: Maybe; - userId?: Maybe; -}; - -/** order by max() on columns of table "Comment" */ -export type Comment_Max_Order_By = { - createdAt?: InputMaybe; - deletedAt?: InputMaybe; - id?: InputMaybe; - pageId?: InputMaybe; - parentId?: InputMaybe; - updatedAt?: InputMaybe; - userId?: InputMaybe; -}; - -/** aggregate min on columns */ -export type Comment_Min_Fields = { - __typename?: 'Comment_min_fields'; - createdAt?: Maybe; - deletedAt?: Maybe; - id?: Maybe; - pageId?: Maybe; - parentId?: Maybe; - updatedAt?: Maybe; - userId?: Maybe; -}; - -/** order by min() on columns of table "Comment" */ -export type Comment_Min_Order_By = { - createdAt?: InputMaybe; - deletedAt?: InputMaybe; - id?: InputMaybe; - pageId?: InputMaybe; - parentId?: InputMaybe; - updatedAt?: InputMaybe; - userId?: InputMaybe; -}; - -/** response of any mutation on the table "Comment" */ -export type Comment_Mutation_Response = { - __typename?: 'Comment_mutation_response'; - /** number of rows affected by the mutation */ - affected_rows: Scalars['Int']; - /** data from the rows affected by the mutation */ - returning: Array; -}; - -/** input type for inserting object relation for remote table "Comment" */ -export type Comment_Obj_Rel_Insert_Input = { - data: Comment_Insert_Input; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** on_conflict condition type for table "Comment" */ -export type Comment_On_Conflict = { - constraint: Comment_Constraint; - update_columns?: Array; - where?: InputMaybe; -}; - -/** Ordering options when selecting data from "Comment". */ -export type Comment_Order_By = { - content?: InputMaybe; - createdAt?: InputMaybe; - deletedAt?: InputMaybe; - id?: InputMaybe; - likes_aggregate?: InputMaybe; - page?: InputMaybe; - pageId?: InputMaybe; - parent?: InputMaybe; - parentId?: InputMaybe; - replies_aggregate?: InputMaybe; - updatedAt?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** primary key columns input for table: Comment */ -export type Comment_Pk_Columns_Input = { - id: Scalars['uuid']; -}; - -/** prepend existing jsonb value of filtered columns with new jsonb value */ -export type Comment_Prepend_Input = { - content?: InputMaybe; -}; - -/** select columns of table "Comment" */ -export type Comment_Select_Column = - /** column name */ - | 'content' - /** column name */ - | 'createdAt' - /** column name */ - | 'deletedAt' - /** column name */ - | 'id' - /** column name */ - | 'pageId' - /** column name */ - | 'parentId' - /** column name */ - | 'updatedAt' - /** column name */ - | 'userId'; - -/** input type for updating data in table "Comment" */ -export type Comment_Set_Input = { - content?: InputMaybe; - createdAt?: InputMaybe; - deletedAt?: InputMaybe; - id?: InputMaybe; - pageId?: InputMaybe; - parentId?: InputMaybe; - updatedAt?: InputMaybe; - userId?: InputMaybe; -}; - -/** update columns of table "Comment" */ -export type Comment_Update_Column = - /** column name */ - | 'content' - /** column name */ - | 'createdAt' - /** column name */ - | 'deletedAt' - /** column name */ - | 'id' - /** column name */ - | 'pageId' - /** column name */ - | 'parentId' - /** column name */ - | 'updatedAt' - /** column name */ - | 'userId'; - -/** columns and relationships of "Like" */ -export type Like = { - __typename?: 'Like'; - /** An object relationship */ - comment: Comment; - commentId: Scalars['uuid']; - createdAt: Scalars['timestamptz']; - id: Scalars['uuid']; - updatedAt: Scalars['timestamptz']; - /** An object relationship */ - user: User; - userId: Scalars['uuid']; -}; - -/** aggregated selection of "Like" */ -export type Like_Aggregate = { - __typename?: 'Like_aggregate'; - aggregate?: Maybe; - nodes: Array; -}; - -/** aggregate fields of "Like" */ -export type Like_Aggregate_Fields = { - __typename?: 'Like_aggregate_fields'; - count: Scalars['Int']; - max?: Maybe; - min?: Maybe; -}; - -/** aggregate fields of "Like" */ -export type Like_Aggregate_FieldsCountArgs = { - columns?: InputMaybe>; - distinct?: InputMaybe; -}; - -/** order by aggregate values of table "Like" */ -export type Like_Aggregate_Order_By = { - count?: InputMaybe; - max?: InputMaybe; - min?: InputMaybe; -}; - -/** input type for inserting array relation for remote table "Like" */ -export type Like_Arr_Rel_Insert_Input = { - data: Array; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** Boolean expression to filter rows from the table "Like". All fields are combined with a logical 'AND'. */ -export type Like_Bool_Exp = { - _and?: InputMaybe>; - _not?: InputMaybe; - _or?: InputMaybe>; - comment?: InputMaybe; - commentId?: InputMaybe; - createdAt?: InputMaybe; - id?: InputMaybe; - updatedAt?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** unique or primary key constraints on table "Like" */ -export type Like_Constraint = - /** unique or primary key constraint */ - | 'Like_commentId_userId_key' - /** unique or primary key constraint */ - | 'Like_pkey'; - -/** input type for inserting data into table "Like" */ -export type Like_Insert_Input = { - comment?: InputMaybe; - commentId?: InputMaybe; - createdAt?: InputMaybe; - id?: InputMaybe; - updatedAt?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** aggregate max on columns */ -export type Like_Max_Fields = { - __typename?: 'Like_max_fields'; - commentId?: Maybe; - createdAt?: Maybe; - id?: Maybe; - updatedAt?: Maybe; - userId?: Maybe; -}; - -/** order by max() on columns of table "Like" */ -export type Like_Max_Order_By = { - commentId?: InputMaybe; - createdAt?: InputMaybe; - id?: InputMaybe; - updatedAt?: InputMaybe; - userId?: InputMaybe; -}; - -/** aggregate min on columns */ -export type Like_Min_Fields = { - __typename?: 'Like_min_fields'; - commentId?: Maybe; - createdAt?: Maybe; - id?: Maybe; - updatedAt?: Maybe; - userId?: Maybe; -}; - -/** order by min() on columns of table "Like" */ -export type Like_Min_Order_By = { - commentId?: InputMaybe; - createdAt?: InputMaybe; - id?: InputMaybe; - updatedAt?: InputMaybe; - userId?: InputMaybe; -}; - -/** response of any mutation on the table "Like" */ -export type Like_Mutation_Response = { - __typename?: 'Like_mutation_response'; - /** number of rows affected by the mutation */ - affected_rows: Scalars['Int']; - /** data from the rows affected by the mutation */ - returning: Array; -}; - -/** on_conflict condition type for table "Like" */ -export type Like_On_Conflict = { - constraint: Like_Constraint; - update_columns?: Array; - where?: InputMaybe; -}; - -/** Ordering options when selecting data from "Like". */ -export type Like_Order_By = { - comment?: InputMaybe; - commentId?: InputMaybe; - createdAt?: InputMaybe; - id?: InputMaybe; - updatedAt?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** primary key columns input for table: Like */ -export type Like_Pk_Columns_Input = { - id: Scalars['uuid']; -}; - -/** select columns of table "Like" */ -export type Like_Select_Column = - /** column name */ - | 'commentId' - /** column name */ - | 'createdAt' - /** column name */ - | 'id' - /** column name */ - | 'updatedAt' - /** column name */ - | 'userId'; - -/** input type for updating data in table "Like" */ -export type Like_Set_Input = { - commentId?: InputMaybe; - createdAt?: InputMaybe; - id?: InputMaybe; - updatedAt?: InputMaybe; - userId?: InputMaybe; -}; - -/** update columns of table "Like" */ -export type Like_Update_Column = - /** column name */ - | 'commentId' - /** column name */ - | 'createdAt' - /** column name */ - | 'id' - /** column name */ - | 'updatedAt' - /** column name */ - | 'userId'; - -/** columns and relationships of "Member" */ -export type Member = { - __typename?: 'Member'; - /** An object relationship */ - Role: Role; - createdAt: Scalars['timestamptz']; - id: Scalars['uuid']; - role: Role_Enum; - /** An object relationship */ - team: Team; - teamId: Scalars['uuid']; - updatedAt: Scalars['timestamptz']; - /** An object relationship */ - user: User; - userId: Scalars['uuid']; -}; - -/** aggregated selection of "Member" */ -export type Member_Aggregate = { - __typename?: 'Member_aggregate'; - aggregate?: Maybe; - nodes: Array; -}; - -/** aggregate fields of "Member" */ -export type Member_Aggregate_Fields = { - __typename?: 'Member_aggregate_fields'; - count: Scalars['Int']; - max?: Maybe; - min?: Maybe; -}; - -/** aggregate fields of "Member" */ -export type Member_Aggregate_FieldsCountArgs = { - columns?: InputMaybe>; - distinct?: InputMaybe; -}; - -/** order by aggregate values of table "Member" */ -export type Member_Aggregate_Order_By = { - count?: InputMaybe; - max?: InputMaybe; - min?: InputMaybe; -}; - -/** input type for inserting array relation for remote table "Member" */ -export type Member_Arr_Rel_Insert_Input = { - data: Array; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** Boolean expression to filter rows from the table "Member". All fields are combined with a logical 'AND'. */ -export type Member_Bool_Exp = { - Role?: InputMaybe; - _and?: InputMaybe>; - _not?: InputMaybe; - _or?: InputMaybe>; - createdAt?: InputMaybe; - id?: InputMaybe; - role?: InputMaybe; - team?: InputMaybe; - teamId?: InputMaybe; - updatedAt?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** unique or primary key constraints on table "Member" */ -export type Member_Constraint = - /** unique or primary key constraint */ - | 'Member_pkey' - /** unique or primary key constraint */ - | 'Member_teamId_userId_key'; - -/** input type for inserting data into table "Member" */ -export type Member_Insert_Input = { - Role?: InputMaybe; - createdAt?: InputMaybe; - id?: InputMaybe; - role?: InputMaybe; - team?: InputMaybe; - teamId?: InputMaybe; - updatedAt?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** aggregate max on columns */ -export type Member_Max_Fields = { - __typename?: 'Member_max_fields'; - createdAt?: Maybe; - id?: Maybe; - teamId?: Maybe; - updatedAt?: Maybe; - userId?: Maybe; -}; - -/** order by max() on columns of table "Member" */ -export type Member_Max_Order_By = { - createdAt?: InputMaybe; - id?: InputMaybe; - teamId?: InputMaybe; - updatedAt?: InputMaybe; - userId?: InputMaybe; -}; - -/** aggregate min on columns */ -export type Member_Min_Fields = { - __typename?: 'Member_min_fields'; - createdAt?: Maybe; - id?: Maybe; - teamId?: Maybe; - updatedAt?: Maybe; - userId?: Maybe; -}; - -/** order by min() on columns of table "Member" */ -export type Member_Min_Order_By = { - createdAt?: InputMaybe; - id?: InputMaybe; - teamId?: InputMaybe; - updatedAt?: InputMaybe; - userId?: InputMaybe; -}; - -/** response of any mutation on the table "Member" */ -export type Member_Mutation_Response = { - __typename?: 'Member_mutation_response'; - /** number of rows affected by the mutation */ - affected_rows: Scalars['Int']; - /** data from the rows affected by the mutation */ - returning: Array; -}; - -/** on_conflict condition type for table "Member" */ -export type Member_On_Conflict = { - constraint: Member_Constraint; - update_columns?: Array; - where?: InputMaybe; -}; - -/** Ordering options when selecting data from "Member". */ -export type Member_Order_By = { - Role?: InputMaybe; - createdAt?: InputMaybe; - id?: InputMaybe; - role?: InputMaybe; - team?: InputMaybe; - teamId?: InputMaybe; - updatedAt?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** primary key columns input for table: Member */ -export type Member_Pk_Columns_Input = { - id: Scalars['uuid']; -}; - -/** select columns of table "Member" */ -export type Member_Select_Column = - /** column name */ - | 'createdAt' - /** column name */ - | 'id' - /** column name */ - | 'role' - /** column name */ - | 'teamId' - /** column name */ - | 'updatedAt' - /** column name */ - | 'userId'; - -/** input type for updating data in table "Member" */ -export type Member_Set_Input = { - createdAt?: InputMaybe; - id?: InputMaybe; - role?: InputMaybe; - teamId?: InputMaybe; - updatedAt?: InputMaybe; - userId?: InputMaybe; -}; - -/** update columns of table "Member" */ -export type Member_Update_Column = - /** column name */ - | 'createdAt' - /** column name */ - | 'id' - /** column name */ - | 'role' - /** column name */ - | 'teamId' - /** column name */ - | 'updatedAt' - /** column name */ - | 'userId'; - -/** columns and relationships of "NotificationMessage" */ -export type NotificationMessage = { - __typename?: 'NotificationMessage'; - /** Content of message, e.g. comment content */ - content?: Maybe; - /** Triggered entity's id, e.g. CommentId or LikeId */ - contextId: Scalars['uuid']; - createdAt: Scalars['timestamptz']; - deletedAt?: Maybe; - id: Scalars['uuid']; - /** An object relationship */ - notificationType: NotificationType; - read: Scalars['Boolean']; - /** An object relationship */ - recipient: User; - recipientId: Scalars['uuid']; - /** An object relationship */ - triggeredBy: User; - triggeredById: Scalars['uuid']; - type: NotificationType_Enum; - url: Scalars['String']; -}; - -/** aggregated selection of "NotificationMessage" */ -export type NotificationMessage_Aggregate = { - __typename?: 'NotificationMessage_aggregate'; - aggregate?: Maybe; - nodes: Array; -}; - -/** aggregate fields of "NotificationMessage" */ -export type NotificationMessage_Aggregate_Fields = { - __typename?: 'NotificationMessage_aggregate_fields'; - count: Scalars['Int']; - max?: Maybe; - min?: Maybe; -}; - -/** aggregate fields of "NotificationMessage" */ -export type NotificationMessage_Aggregate_FieldsCountArgs = { - columns?: InputMaybe>; - distinct?: InputMaybe; -}; - -/** order by aggregate values of table "NotificationMessage" */ -export type NotificationMessage_Aggregate_Order_By = { - count?: InputMaybe; - max?: InputMaybe; - min?: InputMaybe; -}; - -/** input type for inserting array relation for remote table "NotificationMessage" */ -export type NotificationMessage_Arr_Rel_Insert_Input = { - data: Array; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** Boolean expression to filter rows from the table "NotificationMessage". All fields are combined with a logical 'AND'. */ -export type NotificationMessage_Bool_Exp = { - _and?: InputMaybe>; - _not?: InputMaybe; - _or?: InputMaybe>; - content?: InputMaybe; - contextId?: InputMaybe; - createdAt?: InputMaybe; - deletedAt?: InputMaybe; - id?: InputMaybe; - notificationType?: InputMaybe; - read?: InputMaybe; - recipient?: InputMaybe; - recipientId?: InputMaybe; - triggeredBy?: InputMaybe; - triggeredById?: InputMaybe; - type?: InputMaybe; - url?: InputMaybe; -}; - -/** unique or primary key constraints on table "NotificationMessage" */ -export type NotificationMessage_Constraint = - /** unique or primary key constraint */ - | 'NotificationMessage_pkey' - /** unique or primary key constraint */ - | 'NotificationMessage_type_triggeredById_contextId_recipientI_key'; - -/** input type for inserting data into table "NotificationMessage" */ -export type NotificationMessage_Insert_Input = { - /** Content of message, e.g. comment content */ - content?: InputMaybe; - /** Triggered entity's id, e.g. CommentId or LikeId */ - contextId?: InputMaybe; - createdAt?: InputMaybe; - deletedAt?: InputMaybe; - id?: InputMaybe; - notificationType?: InputMaybe; - read?: InputMaybe; - recipient?: InputMaybe; - recipientId?: InputMaybe; - triggeredBy?: InputMaybe; - triggeredById?: InputMaybe; - type?: InputMaybe; - url?: InputMaybe; -}; - -/** aggregate max on columns */ -export type NotificationMessage_Max_Fields = { - __typename?: 'NotificationMessage_max_fields'; - /** Content of message, e.g. comment content */ - content?: Maybe; - /** Triggered entity's id, e.g. CommentId or LikeId */ - contextId?: Maybe; - createdAt?: Maybe; - deletedAt?: Maybe; - id?: Maybe; - recipientId?: Maybe; - triggeredById?: Maybe; - url?: Maybe; -}; - -/** order by max() on columns of table "NotificationMessage" */ -export type NotificationMessage_Max_Order_By = { - /** Content of message, e.g. comment content */ - content?: InputMaybe; - /** Triggered entity's id, e.g. CommentId or LikeId */ - contextId?: InputMaybe; - createdAt?: InputMaybe; - deletedAt?: InputMaybe; - id?: InputMaybe; - recipientId?: InputMaybe; - triggeredById?: InputMaybe; - url?: InputMaybe; -}; - -/** aggregate min on columns */ -export type NotificationMessage_Min_Fields = { - __typename?: 'NotificationMessage_min_fields'; - /** Content of message, e.g. comment content */ - content?: Maybe; - /** Triggered entity's id, e.g. CommentId or LikeId */ - contextId?: Maybe; - createdAt?: Maybe; - deletedAt?: Maybe; - id?: Maybe; - recipientId?: Maybe; - triggeredById?: Maybe; - url?: Maybe; -}; - -/** order by min() on columns of table "NotificationMessage" */ -export type NotificationMessage_Min_Order_By = { - /** Content of message, e.g. comment content */ - content?: InputMaybe; - /** Triggered entity's id, e.g. CommentId or LikeId */ - contextId?: InputMaybe; - createdAt?: InputMaybe; - deletedAt?: InputMaybe; - id?: InputMaybe; - recipientId?: InputMaybe; - triggeredById?: InputMaybe; - url?: InputMaybe; -}; - -/** response of any mutation on the table "NotificationMessage" */ -export type NotificationMessage_Mutation_Response = { - __typename?: 'NotificationMessage_mutation_response'; - /** number of rows affected by the mutation */ - affected_rows: Scalars['Int']; - /** data from the rows affected by the mutation */ - returning: Array; -}; - -/** on_conflict condition type for table "NotificationMessage" */ -export type NotificationMessage_On_Conflict = { - constraint: NotificationMessage_Constraint; - update_columns?: Array; - where?: InputMaybe; -}; - -/** Ordering options when selecting data from "NotificationMessage". */ -export type NotificationMessage_Order_By = { - content?: InputMaybe; - contextId?: InputMaybe; - createdAt?: InputMaybe; - deletedAt?: InputMaybe; - id?: InputMaybe; - notificationType?: InputMaybe; - read?: InputMaybe; - recipient?: InputMaybe; - recipientId?: InputMaybe; - triggeredBy?: InputMaybe; - triggeredById?: InputMaybe; - type?: InputMaybe; - url?: InputMaybe; -}; - -/** primary key columns input for table: NotificationMessage */ -export type NotificationMessage_Pk_Columns_Input = { - id: Scalars['uuid']; -}; - -/** select columns of table "NotificationMessage" */ -export type NotificationMessage_Select_Column = - /** column name */ - | 'content' - /** column name */ - | 'contextId' - /** column name */ - | 'createdAt' - /** column name */ - | 'deletedAt' - /** column name */ - | 'id' - /** column name */ - | 'read' - /** column name */ - | 'recipientId' - /** column name */ - | 'triggeredById' - /** column name */ - | 'type' - /** column name */ - | 'url'; - -/** input type for updating data in table "NotificationMessage" */ -export type NotificationMessage_Set_Input = { - /** Content of message, e.g. comment content */ - content?: InputMaybe; - /** Triggered entity's id, e.g. CommentId or LikeId */ - contextId?: InputMaybe; - createdAt?: InputMaybe; - deletedAt?: InputMaybe; - id?: InputMaybe; - read?: InputMaybe; - recipientId?: InputMaybe; - triggeredById?: InputMaybe; - type?: InputMaybe; - url?: InputMaybe; -}; - -/** update columns of table "NotificationMessage" */ -export type NotificationMessage_Update_Column = - /** column name */ - | 'content' - /** column name */ - | 'contextId' - /** column name */ - | 'createdAt' - /** column name */ - | 'deletedAt' - /** column name */ - | 'id' - /** column name */ - | 'read' - /** column name */ - | 'recipientId' - /** column name */ - | 'triggeredById' - /** column name */ - | 'type' - /** column name */ - | 'url'; - -/** columns and relationships of "NotificationSubscription" */ -export type NotificationSubscription = { - __typename?: 'NotificationSubscription'; - createdAt?: Maybe; - id: Scalars['uuid']; - subscription: Scalars['jsonb']; - /** An object relationship */ - user: User; - userId: Scalars['uuid']; -}; - -/** columns and relationships of "NotificationSubscription" */ -export type NotificationSubscriptionSubscriptionArgs = { - path?: InputMaybe; -}; - -/** aggregated selection of "NotificationSubscription" */ -export type NotificationSubscription_Aggregate = { - __typename?: 'NotificationSubscription_aggregate'; - aggregate?: Maybe; - nodes: Array; -}; - -/** aggregate fields of "NotificationSubscription" */ -export type NotificationSubscription_Aggregate_Fields = { - __typename?: 'NotificationSubscription_aggregate_fields'; - count: Scalars['Int']; - max?: Maybe; - min?: Maybe; -}; - -/** aggregate fields of "NotificationSubscription" */ -export type NotificationSubscription_Aggregate_FieldsCountArgs = { - columns?: InputMaybe>; - distinct?: InputMaybe; -}; - -/** order by aggregate values of table "NotificationSubscription" */ -export type NotificationSubscription_Aggregate_Order_By = { - count?: InputMaybe; - max?: InputMaybe; - min?: InputMaybe; -}; - -/** append existing jsonb value of filtered columns with new jsonb value */ -export type NotificationSubscription_Append_Input = { - subscription?: InputMaybe; -}; - -/** input type for inserting array relation for remote table "NotificationSubscription" */ -export type NotificationSubscription_Arr_Rel_Insert_Input = { - data: Array; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** Boolean expression to filter rows from the table "NotificationSubscription". All fields are combined with a logical 'AND'. */ -export type NotificationSubscription_Bool_Exp = { - _and?: InputMaybe>; - _not?: InputMaybe; - _or?: InputMaybe>; - createdAt?: InputMaybe; - id?: InputMaybe; - subscription?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** unique or primary key constraints on table "NotificationSubscription" */ -export type NotificationSubscription_Constraint = - /** unique or primary key constraint */ - | 'NotificationSubscription_pkey' - /** unique or primary key constraint */ - | 'NotificationSubscription_subscription_userId_key'; - -/** delete the field or element with specified path (for JSON arrays, negative integers count from the end) */ -export type NotificationSubscription_Delete_At_Path_Input = { - subscription?: InputMaybe>; -}; - -/** delete the array element with specified index (negative integers count from the end). throws an error if top level container is not an array */ -export type NotificationSubscription_Delete_Elem_Input = { - subscription?: InputMaybe; -}; - -/** delete key/value pair or string element. key/value pairs are matched based on their key value */ -export type NotificationSubscription_Delete_Key_Input = { - subscription?: InputMaybe; -}; - -/** input type for inserting data into table "NotificationSubscription" */ -export type NotificationSubscription_Insert_Input = { - createdAt?: InputMaybe; - id?: InputMaybe; - subscription?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** aggregate max on columns */ -export type NotificationSubscription_Max_Fields = { - __typename?: 'NotificationSubscription_max_fields'; - createdAt?: Maybe; - id?: Maybe; - userId?: Maybe; -}; - -/** order by max() on columns of table "NotificationSubscription" */ -export type NotificationSubscription_Max_Order_By = { - createdAt?: InputMaybe; - id?: InputMaybe; - userId?: InputMaybe; -}; - -/** aggregate min on columns */ -export type NotificationSubscription_Min_Fields = { - __typename?: 'NotificationSubscription_min_fields'; - createdAt?: Maybe; - id?: Maybe; - userId?: Maybe; -}; - -/** order by min() on columns of table "NotificationSubscription" */ -export type NotificationSubscription_Min_Order_By = { - createdAt?: InputMaybe; - id?: InputMaybe; - userId?: InputMaybe; -}; - -/** response of any mutation on the table "NotificationSubscription" */ -export type NotificationSubscription_Mutation_Response = { - __typename?: 'NotificationSubscription_mutation_response'; - /** number of rows affected by the mutation */ - affected_rows: Scalars['Int']; - /** data from the rows affected by the mutation */ - returning: Array; -}; - -/** on_conflict condition type for table "NotificationSubscription" */ -export type NotificationSubscription_On_Conflict = { - constraint: NotificationSubscription_Constraint; - update_columns?: Array; - where?: InputMaybe; -}; - -/** Ordering options when selecting data from "NotificationSubscription". */ -export type NotificationSubscription_Order_By = { - createdAt?: InputMaybe; - id?: InputMaybe; - subscription?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** primary key columns input for table: NotificationSubscription */ -export type NotificationSubscription_Pk_Columns_Input = { - id: Scalars['uuid']; -}; - -/** prepend existing jsonb value of filtered columns with new jsonb value */ -export type NotificationSubscription_Prepend_Input = { - subscription?: InputMaybe; -}; - -/** select columns of table "NotificationSubscription" */ -export type NotificationSubscription_Select_Column = - /** column name */ - | 'createdAt' - /** column name */ - | 'id' - /** column name */ - | 'subscription' - /** column name */ - | 'userId'; - -/** input type for updating data in table "NotificationSubscription" */ -export type NotificationSubscription_Set_Input = { - createdAt?: InputMaybe; - id?: InputMaybe; - subscription?: InputMaybe; - userId?: InputMaybe; -}; - -/** update columns of table "NotificationSubscription" */ -export type NotificationSubscription_Update_Column = - /** column name */ - | 'createdAt' - /** column name */ - | 'id' - /** column name */ - | 'subscription' - /** column name */ - | 'userId'; - -/** columns and relationships of "NotificationType" */ -export type NotificationType = { - __typename?: 'NotificationType'; - comment: Scalars['String']; - /** An array relationship */ - notificationMessages: Array; - /** An aggregate relationship */ - notificationMessages_aggregate: NotificationMessage_Aggregate; - value: Scalars['String']; -}; - -/** columns and relationships of "NotificationType" */ -export type NotificationTypeNotificationMessagesArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "NotificationType" */ -export type NotificationTypeNotificationMessages_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** aggregated selection of "NotificationType" */ -export type NotificationType_Aggregate = { - __typename?: 'NotificationType_aggregate'; - aggregate?: Maybe; - nodes: Array; -}; - -/** aggregate fields of "NotificationType" */ -export type NotificationType_Aggregate_Fields = { - __typename?: 'NotificationType_aggregate_fields'; - count: Scalars['Int']; - max?: Maybe; - min?: Maybe; -}; - -/** aggregate fields of "NotificationType" */ -export type NotificationType_Aggregate_FieldsCountArgs = { - columns?: InputMaybe>; - distinct?: InputMaybe; -}; - -/** Boolean expression to filter rows from the table "NotificationType". All fields are combined with a logical 'AND'. */ -export type NotificationType_Bool_Exp = { - _and?: InputMaybe>; - _not?: InputMaybe; - _or?: InputMaybe>; - comment?: InputMaybe; - notificationMessages?: InputMaybe; - value?: InputMaybe; -}; - -/** unique or primary key constraints on table "NotificationType" */ -export type NotificationType_Constraint = - /** unique or primary key constraint */ - 'NotificationType_pkey'; - -export type NotificationType_Enum = - /** Comment deleted by moderator */ - | 'CommentDeleted' - /** Received a comment */ - | 'ReceivedAComment' - /** Received a like */ - | 'ReceivedALike' - /** Received a reply */ - | 'ReceivedAReply'; - -/** Boolean expression to compare columns of type "NotificationType_enum". All fields are combined with logical 'AND'. */ -export type NotificationType_Enum_Comparison_Exp = { - _eq?: InputMaybe; - _in?: InputMaybe>; - _is_null?: InputMaybe; - _neq?: InputMaybe; - _nin?: InputMaybe>; -}; - -/** input type for inserting data into table "NotificationType" */ -export type NotificationType_Insert_Input = { - comment?: InputMaybe; - notificationMessages?: InputMaybe; - value?: InputMaybe; -}; - -/** aggregate max on columns */ -export type NotificationType_Max_Fields = { - __typename?: 'NotificationType_max_fields'; - comment?: Maybe; - value?: Maybe; -}; - -/** aggregate min on columns */ -export type NotificationType_Min_Fields = { - __typename?: 'NotificationType_min_fields'; - comment?: Maybe; - value?: Maybe; -}; - -/** response of any mutation on the table "NotificationType" */ -export type NotificationType_Mutation_Response = { - __typename?: 'NotificationType_mutation_response'; - /** number of rows affected by the mutation */ - affected_rows: Scalars['Int']; - /** data from the rows affected by the mutation */ - returning: Array; -}; - -/** input type for inserting object relation for remote table "NotificationType" */ -export type NotificationType_Obj_Rel_Insert_Input = { - data: NotificationType_Insert_Input; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** on_conflict condition type for table "NotificationType" */ -export type NotificationType_On_Conflict = { - constraint: NotificationType_Constraint; - update_columns?: Array; - where?: InputMaybe; -}; - -/** Ordering options when selecting data from "NotificationType". */ -export type NotificationType_Order_By = { - comment?: InputMaybe; - notificationMessages_aggregate?: InputMaybe; - value?: InputMaybe; -}; - -/** primary key columns input for table: NotificationType */ -export type NotificationType_Pk_Columns_Input = { - value: Scalars['String']; -}; - -/** select columns of table "NotificationType" */ -export type NotificationType_Select_Column = - /** column name */ - | 'comment' - /** column name */ - | 'value'; - -/** input type for updating data in table "NotificationType" */ -export type NotificationType_Set_Input = { - comment?: InputMaybe; - value?: InputMaybe; -}; - -/** update columns of table "NotificationType" */ -export type NotificationType_Update_Column = - /** column name */ - | 'comment' - /** column name */ - | 'value'; - -/** columns and relationships of "Page" */ -export type Page = { - __typename?: 'Page'; - /** An array relationship */ - comments: Array; - /** An aggregate relationship */ - comments_aggregate: Comment_Aggregate; - createdAt: Scalars['timestamptz']; - id: Scalars['uuid']; - /** An object relationship */ - project: Project; - projectId: Scalars['uuid']; - title?: Maybe; - updatedAt: Scalars['timestamptz']; - url: Scalars['String']; -}; - -/** columns and relationships of "Page" */ -export type PageCommentsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "Page" */ -export type PageComments_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** aggregated selection of "Page" */ -export type Page_Aggregate = { - __typename?: 'Page_aggregate'; - aggregate?: Maybe; - nodes: Array; -}; - -/** aggregate fields of "Page" */ -export type Page_Aggregate_Fields = { - __typename?: 'Page_aggregate_fields'; - count: Scalars['Int']; - max?: Maybe; - min?: Maybe; -}; - -/** aggregate fields of "Page" */ -export type Page_Aggregate_FieldsCountArgs = { - columns?: InputMaybe>; - distinct?: InputMaybe; -}; - -/** order by aggregate values of table "Page" */ -export type Page_Aggregate_Order_By = { - count?: InputMaybe; - max?: InputMaybe; - min?: InputMaybe; -}; - -/** input type for inserting array relation for remote table "Page" */ -export type Page_Arr_Rel_Insert_Input = { - data: Array; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** Boolean expression to filter rows from the table "Page". All fields are combined with a logical 'AND'. */ -export type Page_Bool_Exp = { - _and?: InputMaybe>; - _not?: InputMaybe; - _or?: InputMaybe>; - comments?: InputMaybe; - createdAt?: InputMaybe; - id?: InputMaybe; - project?: InputMaybe; - projectId?: InputMaybe; - title?: InputMaybe; - updatedAt?: InputMaybe; - url?: InputMaybe; -}; - -/** unique or primary key constraints on table "Page" */ -export type Page_Constraint = - /** unique or primary key constraint */ - | 'Page_pkey' - /** unique or primary key constraint */ - | 'Page_url_key'; - -/** input type for inserting data into table "Page" */ -export type Page_Insert_Input = { - comments?: InputMaybe; - createdAt?: InputMaybe; - id?: InputMaybe; - project?: InputMaybe; - projectId?: InputMaybe; - title?: InputMaybe; - updatedAt?: InputMaybe; - url?: InputMaybe; -}; - -/** aggregate max on columns */ -export type Page_Max_Fields = { - __typename?: 'Page_max_fields'; - createdAt?: Maybe; - id?: Maybe; - projectId?: Maybe; - title?: Maybe; - updatedAt?: Maybe; - url?: Maybe; -}; - -/** order by max() on columns of table "Page" */ -export type Page_Max_Order_By = { - createdAt?: InputMaybe; - id?: InputMaybe; - projectId?: InputMaybe; - title?: InputMaybe; - updatedAt?: InputMaybe; - url?: InputMaybe; -}; - -/** aggregate min on columns */ -export type Page_Min_Fields = { - __typename?: 'Page_min_fields'; - createdAt?: Maybe; - id?: Maybe; - projectId?: Maybe; - title?: Maybe; - updatedAt?: Maybe; - url?: Maybe; -}; - -/** order by min() on columns of table "Page" */ -export type Page_Min_Order_By = { - createdAt?: InputMaybe; - id?: InputMaybe; - projectId?: InputMaybe; - title?: InputMaybe; - updatedAt?: InputMaybe; - url?: InputMaybe; -}; - -/** response of any mutation on the table "Page" */ -export type Page_Mutation_Response = { - __typename?: 'Page_mutation_response'; - /** number of rows affected by the mutation */ - affected_rows: Scalars['Int']; - /** data from the rows affected by the mutation */ - returning: Array; -}; - -/** input type for inserting object relation for remote table "Page" */ -export type Page_Obj_Rel_Insert_Input = { - data: Page_Insert_Input; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** on_conflict condition type for table "Page" */ -export type Page_On_Conflict = { - constraint: Page_Constraint; - update_columns?: Array; - where?: InputMaybe; -}; - -/** Ordering options when selecting data from "Page". */ -export type Page_Order_By = { - comments_aggregate?: InputMaybe; - createdAt?: InputMaybe; - id?: InputMaybe; - project?: InputMaybe; - projectId?: InputMaybe; - title?: InputMaybe; - updatedAt?: InputMaybe; - url?: InputMaybe; -}; - -/** primary key columns input for table: Page */ -export type Page_Pk_Columns_Input = { - id: Scalars['uuid']; -}; - -/** select columns of table "Page" */ -export type Page_Select_Column = - /** column name */ - | 'createdAt' - /** column name */ - | 'id' - /** column name */ - | 'projectId' - /** column name */ - | 'title' - /** column name */ - | 'updatedAt' - /** column name */ - | 'url'; - -/** input type for updating data in table "Page" */ -export type Page_Set_Input = { - createdAt?: InputMaybe; - id?: InputMaybe; - projectId?: InputMaybe; - title?: InputMaybe; - updatedAt?: InputMaybe; - url?: InputMaybe; -}; - -/** update columns of table "Page" */ -export type Page_Update_Column = - /** column name */ - | 'createdAt' - /** column name */ - | 'id' - /** column name */ - | 'projectId' - /** column name */ - | 'title' - /** column name */ - | 'updatedAt' - /** column name */ - | 'url'; - -/** columns and relationships of "Project" */ -export type Project = { - __typename?: 'Project'; - createdAt: Scalars['timestamptz']; - domain: Scalars['String']; - id: Scalars['uuid']; - name: Scalars['String']; - /** An array relationship */ - pages: Array; - /** An aggregate relationship */ - pages_aggregate: Page_Aggregate; - /** An object relationship */ - team?: Maybe; - teamId?: Maybe; - theme?: Maybe; - updatedAt: Scalars['timestamptz']; - /** An object relationship */ - user?: Maybe; - userId?: Maybe; -}; - -/** columns and relationships of "Project" */ -export type ProjectPagesArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "Project" */ -export type ProjectPages_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "Project" */ -export type ProjectThemeArgs = { - path?: InputMaybe; -}; - -/** aggregated selection of "Project" */ -export type Project_Aggregate = { - __typename?: 'Project_aggregate'; - aggregate?: Maybe; - nodes: Array; -}; - -/** aggregate fields of "Project" */ -export type Project_Aggregate_Fields = { - __typename?: 'Project_aggregate_fields'; - count: Scalars['Int']; - max?: Maybe; - min?: Maybe; -}; - -/** aggregate fields of "Project" */ -export type Project_Aggregate_FieldsCountArgs = { - columns?: InputMaybe>; - distinct?: InputMaybe; -}; - -/** order by aggregate values of table "Project" */ -export type Project_Aggregate_Order_By = { - count?: InputMaybe; - max?: InputMaybe; - min?: InputMaybe; -}; - -/** append existing jsonb value of filtered columns with new jsonb value */ -export type Project_Append_Input = { - theme?: InputMaybe; -}; - -/** input type for inserting array relation for remote table "Project" */ -export type Project_Arr_Rel_Insert_Input = { - data: Array; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** Boolean expression to filter rows from the table "Project". All fields are combined with a logical 'AND'. */ -export type Project_Bool_Exp = { - _and?: InputMaybe>; - _not?: InputMaybe; - _or?: InputMaybe>; - createdAt?: InputMaybe; - domain?: InputMaybe; - id?: InputMaybe; - name?: InputMaybe; - pages?: InputMaybe; - team?: InputMaybe; - teamId?: InputMaybe; - theme?: InputMaybe; - updatedAt?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** unique or primary key constraints on table "Project" */ -export type Project_Constraint = - /** unique or primary key constraint */ - | 'Project_domain_key' - /** unique or primary key constraint */ - | 'Project_pkey'; - -/** delete the field or element with specified path (for JSON arrays, negative integers count from the end) */ -export type Project_Delete_At_Path_Input = { - theme?: InputMaybe>; -}; - -/** delete the array element with specified index (negative integers count from the end). throws an error if top level container is not an array */ -export type Project_Delete_Elem_Input = { - theme?: InputMaybe; -}; - -/** delete key/value pair or string element. key/value pairs are matched based on their key value */ -export type Project_Delete_Key_Input = { - theme?: InputMaybe; -}; - -/** input type for inserting data into table "Project" */ -export type Project_Insert_Input = { - createdAt?: InputMaybe; - domain?: InputMaybe; - id?: InputMaybe; - name?: InputMaybe; - pages?: InputMaybe; - team?: InputMaybe; - teamId?: InputMaybe; - theme?: InputMaybe; - updatedAt?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** aggregate max on columns */ -export type Project_Max_Fields = { - __typename?: 'Project_max_fields'; - createdAt?: Maybe; - domain?: Maybe; - id?: Maybe; - name?: Maybe; - teamId?: Maybe; - updatedAt?: Maybe; - userId?: Maybe; -}; - -/** order by max() on columns of table "Project" */ -export type Project_Max_Order_By = { - createdAt?: InputMaybe; - domain?: InputMaybe; - id?: InputMaybe; - name?: InputMaybe; - teamId?: InputMaybe; - updatedAt?: InputMaybe; - userId?: InputMaybe; -}; - -/** aggregate min on columns */ -export type Project_Min_Fields = { - __typename?: 'Project_min_fields'; - createdAt?: Maybe; - domain?: Maybe; - id?: Maybe; - name?: Maybe; - teamId?: Maybe; - updatedAt?: Maybe; - userId?: Maybe; -}; - -/** order by min() on columns of table "Project" */ -export type Project_Min_Order_By = { - createdAt?: InputMaybe; - domain?: InputMaybe; - id?: InputMaybe; - name?: InputMaybe; - teamId?: InputMaybe; - updatedAt?: InputMaybe; - userId?: InputMaybe; -}; - -/** response of any mutation on the table "Project" */ -export type Project_Mutation_Response = { - __typename?: 'Project_mutation_response'; - /** number of rows affected by the mutation */ - affected_rows: Scalars['Int']; - /** data from the rows affected by the mutation */ - returning: Array; -}; - -/** input type for inserting object relation for remote table "Project" */ -export type Project_Obj_Rel_Insert_Input = { - data: Project_Insert_Input; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** on_conflict condition type for table "Project" */ -export type Project_On_Conflict = { - constraint: Project_Constraint; - update_columns?: Array; - where?: InputMaybe; -}; - -/** Ordering options when selecting data from "Project". */ -export type Project_Order_By = { - createdAt?: InputMaybe; - domain?: InputMaybe; - id?: InputMaybe; - name?: InputMaybe; - pages_aggregate?: InputMaybe; - team?: InputMaybe; - teamId?: InputMaybe; - theme?: InputMaybe; - updatedAt?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** primary key columns input for table: Project */ -export type Project_Pk_Columns_Input = { - id: Scalars['uuid']; -}; - -/** prepend existing jsonb value of filtered columns with new jsonb value */ -export type Project_Prepend_Input = { - theme?: InputMaybe; -}; - -/** select columns of table "Project" */ -export type Project_Select_Column = - /** column name */ - | 'createdAt' - /** column name */ - | 'domain' - /** column name */ - | 'id' - /** column name */ - | 'name' - /** column name */ - | 'teamId' - /** column name */ - | 'theme' - /** column name */ - | 'updatedAt' - /** column name */ - | 'userId'; - -/** input type for updating data in table "Project" */ -export type Project_Set_Input = { - createdAt?: InputMaybe; - domain?: InputMaybe; - id?: InputMaybe; - name?: InputMaybe; - teamId?: InputMaybe; - theme?: InputMaybe; - updatedAt?: InputMaybe; - userId?: InputMaybe; -}; - -/** update columns of table "Project" */ -export type Project_Update_Column = - /** column name */ - | 'createdAt' - /** column name */ - | 'domain' - /** column name */ - | 'id' - /** column name */ - | 'name' - /** column name */ - | 'teamId' - /** column name */ - | 'theme' - /** column name */ - | 'updatedAt' - /** column name */ - | 'userId'; - -/** User's role in teams */ -export type Role = { - __typename?: 'Role'; - comment?: Maybe; - /** An array relationship */ - members: Array; - /** An aggregate relationship */ - members_aggregate: Member_Aggregate; - value: Scalars['String']; -}; - -/** User's role in teams */ -export type RoleMembersArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** User's role in teams */ -export type RoleMembers_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** aggregated selection of "Role" */ -export type Role_Aggregate = { - __typename?: 'Role_aggregate'; - aggregate?: Maybe; - nodes: Array; -}; - -/** aggregate fields of "Role" */ -export type Role_Aggregate_Fields = { - __typename?: 'Role_aggregate_fields'; - count: Scalars['Int']; - max?: Maybe; - min?: Maybe; -}; - -/** aggregate fields of "Role" */ -export type Role_Aggregate_FieldsCountArgs = { - columns?: InputMaybe>; - distinct?: InputMaybe; -}; - -/** Boolean expression to filter rows from the table "Role". All fields are combined with a logical 'AND'. */ -export type Role_Bool_Exp = { - _and?: InputMaybe>; - _not?: InputMaybe; - _or?: InputMaybe>; - comment?: InputMaybe; - members?: InputMaybe; - value?: InputMaybe; -}; - -/** unique or primary key constraints on table "Role" */ -export type Role_Constraint = - /** unique or primary key constraint */ - 'Role_pkey'; - -export type Role_Enum = - /** Manager of a team */ - | 'manager' - /** Normal user */ - | 'user'; - -/** Boolean expression to compare columns of type "Role_enum". All fields are combined with logical 'AND'. */ -export type Role_Enum_Comparison_Exp = { - _eq?: InputMaybe; - _in?: InputMaybe>; - _is_null?: InputMaybe; - _neq?: InputMaybe; - _nin?: InputMaybe>; -}; - -/** input type for inserting data into table "Role" */ -export type Role_Insert_Input = { - comment?: InputMaybe; - members?: InputMaybe; - value?: InputMaybe; -}; - -/** aggregate max on columns */ -export type Role_Max_Fields = { - __typename?: 'Role_max_fields'; - comment?: Maybe; - value?: Maybe; -}; - -/** aggregate min on columns */ -export type Role_Min_Fields = { - __typename?: 'Role_min_fields'; - comment?: Maybe; - value?: Maybe; -}; - -/** response of any mutation on the table "Role" */ -export type Role_Mutation_Response = { - __typename?: 'Role_mutation_response'; - /** number of rows affected by the mutation */ - affected_rows: Scalars['Int']; - /** data from the rows affected by the mutation */ - returning: Array; -}; - -/** input type for inserting object relation for remote table "Role" */ -export type Role_Obj_Rel_Insert_Input = { - data: Role_Insert_Input; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** on_conflict condition type for table "Role" */ -export type Role_On_Conflict = { - constraint: Role_Constraint; - update_columns?: Array; - where?: InputMaybe; -}; - -/** Ordering options when selecting data from "Role". */ -export type Role_Order_By = { - comment?: InputMaybe; - members_aggregate?: InputMaybe; - value?: InputMaybe; -}; - -/** primary key columns input for table: Role */ -export type Role_Pk_Columns_Input = { - value: Scalars['String']; -}; - -/** select columns of table "Role" */ -export type Role_Select_Column = - /** column name */ - | 'comment' - /** column name */ - | 'value'; - -/** input type for updating data in table "Role" */ -export type Role_Set_Input = { - comment?: InputMaybe; - value?: InputMaybe; -}; - -/** update columns of table "Role" */ -export type Role_Update_Column = - /** column name */ - | 'comment' - /** column name */ - | 'value'; - -/** columns and relationships of "Session" */ -export type Session = { - __typename?: 'Session'; - createdAt: Scalars['timestamptz']; - expires: Scalars['timestamptz']; - id: Scalars['uuid']; - sessionToken: Scalars['String']; - updatedAt: Scalars['timestamptz']; - /** An object relationship */ - user: User; - userId: Scalars['uuid']; -}; - -/** aggregated selection of "Session" */ -export type Session_Aggregate = { - __typename?: 'Session_aggregate'; - aggregate?: Maybe; - nodes: Array; -}; - -/** aggregate fields of "Session" */ -export type Session_Aggregate_Fields = { - __typename?: 'Session_aggregate_fields'; - count: Scalars['Int']; - max?: Maybe; - min?: Maybe; -}; - -/** aggregate fields of "Session" */ -export type Session_Aggregate_FieldsCountArgs = { - columns?: InputMaybe>; - distinct?: InputMaybe; -}; - -/** order by aggregate values of table "Session" */ -export type Session_Aggregate_Order_By = { - count?: InputMaybe; - max?: InputMaybe; - min?: InputMaybe; -}; - -/** input type for inserting array relation for remote table "Session" */ -export type Session_Arr_Rel_Insert_Input = { - data: Array; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** Boolean expression to filter rows from the table "Session". All fields are combined with a logical 'AND'. */ -export type Session_Bool_Exp = { - _and?: InputMaybe>; - _not?: InputMaybe; - _or?: InputMaybe>; - createdAt?: InputMaybe; - expires?: InputMaybe; - id?: InputMaybe; - sessionToken?: InputMaybe; - updatedAt?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** unique or primary key constraints on table "Session" */ -export type Session_Constraint = - /** unique or primary key constraint */ - | 'Session_pkey' - /** unique or primary key constraint */ - | 'Session_sessionToken_key'; - -/** input type for inserting data into table "Session" */ -export type Session_Insert_Input = { - createdAt?: InputMaybe; - expires?: InputMaybe; - id?: InputMaybe; - sessionToken?: InputMaybe; - updatedAt?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** aggregate max on columns */ -export type Session_Max_Fields = { - __typename?: 'Session_max_fields'; - createdAt?: Maybe; - expires?: Maybe; - id?: Maybe; - sessionToken?: Maybe; - updatedAt?: Maybe; - userId?: Maybe; -}; - -/** order by max() on columns of table "Session" */ -export type Session_Max_Order_By = { - createdAt?: InputMaybe; - expires?: InputMaybe; - id?: InputMaybe; - sessionToken?: InputMaybe; - updatedAt?: InputMaybe; - userId?: InputMaybe; -}; - -/** aggregate min on columns */ -export type Session_Min_Fields = { - __typename?: 'Session_min_fields'; - createdAt?: Maybe; - expires?: Maybe; - id?: Maybe; - sessionToken?: Maybe; - updatedAt?: Maybe; - userId?: Maybe; -}; - -/** order by min() on columns of table "Session" */ -export type Session_Min_Order_By = { - createdAt?: InputMaybe; - expires?: InputMaybe; - id?: InputMaybe; - sessionToken?: InputMaybe; - updatedAt?: InputMaybe; - userId?: InputMaybe; -}; - -/** response of any mutation on the table "Session" */ -export type Session_Mutation_Response = { - __typename?: 'Session_mutation_response'; - /** number of rows affected by the mutation */ - affected_rows: Scalars['Int']; - /** data from the rows affected by the mutation */ - returning: Array; -}; - -/** on_conflict condition type for table "Session" */ -export type Session_On_Conflict = { - constraint: Session_Constraint; - update_columns?: Array; - where?: InputMaybe; -}; - -/** Ordering options when selecting data from "Session". */ -export type Session_Order_By = { - createdAt?: InputMaybe; - expires?: InputMaybe; - id?: InputMaybe; - sessionToken?: InputMaybe; - updatedAt?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** primary key columns input for table: Session */ -export type Session_Pk_Columns_Input = { - id: Scalars['uuid']; -}; - -/** select columns of table "Session" */ -export type Session_Select_Column = - /** column name */ - | 'createdAt' - /** column name */ - | 'expires' - /** column name */ - | 'id' - /** column name */ - | 'sessionToken' - /** column name */ - | 'updatedAt' - /** column name */ - | 'userId'; - -/** input type for updating data in table "Session" */ -export type Session_Set_Input = { - createdAt?: InputMaybe; - expires?: InputMaybe; - id?: InputMaybe; - sessionToken?: InputMaybe; - updatedAt?: InputMaybe; - userId?: InputMaybe; -}; - -/** update columns of table "Session" */ -export type Session_Update_Column = - /** column name */ - | 'createdAt' - /** column name */ - | 'expires' - /** column name */ - | 'id' - /** column name */ - | 'sessionToken' - /** column name */ - | 'updatedAt' - /** column name */ - | 'userId'; - -/** Boolean expression to compare columns of type "String". All fields are combined with logical 'AND'. */ -export type String_Comparison_Exp = { - _eq?: InputMaybe; - _gt?: InputMaybe; - _gte?: InputMaybe; - /** does the column match the given case-insensitive pattern */ - _ilike?: InputMaybe; - _in?: InputMaybe>; - /** does the column match the given POSIX regular expression, case insensitive */ - _iregex?: InputMaybe; - _is_null?: InputMaybe; - /** does the column match the given pattern */ - _like?: InputMaybe; - _lt?: InputMaybe; - _lte?: InputMaybe; - _neq?: InputMaybe; - /** does the column NOT match the given case-insensitive pattern */ - _nilike?: InputMaybe; - _nin?: InputMaybe>; - /** does the column NOT match the given POSIX regular expression, case insensitive */ - _niregex?: InputMaybe; - /** does the column NOT match the given pattern */ - _nlike?: InputMaybe; - /** does the column NOT match the given POSIX regular expression, case sensitive */ - _nregex?: InputMaybe; - /** does the column NOT match the given SQL regular expression */ - _nsimilar?: InputMaybe; - /** does the column match the given POSIX regular expression, case sensitive */ - _regex?: InputMaybe; - /** does the column match the given SQL regular expression */ - _similar?: InputMaybe; -}; - -/** columns and relationships of "Team" */ -export type Team = { - __typename?: 'Team'; - createdAt: Scalars['timestamptz']; - id: Scalars['uuid']; - /** An array relationship */ - members: Array; - /** An aggregate relationship */ - members_aggregate: Member_Aggregate; - name: Scalars['String']; - /** An array relationship */ - projects: Array; - /** An aggregate relationship */ - projects_aggregate: Project_Aggregate; - uid?: Maybe; - updatedAt: Scalars['timestamptz']; -}; - -/** columns and relationships of "Team" */ -export type TeamMembersArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "Team" */ -export type TeamMembers_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "Team" */ -export type TeamProjectsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "Team" */ -export type TeamProjects_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** aggregated selection of "Team" */ -export type Team_Aggregate = { - __typename?: 'Team_aggregate'; - aggregate?: Maybe; - nodes: Array; -}; - -/** aggregate fields of "Team" */ -export type Team_Aggregate_Fields = { - __typename?: 'Team_aggregate_fields'; - count: Scalars['Int']; - max?: Maybe; - min?: Maybe; -}; - -/** aggregate fields of "Team" */ -export type Team_Aggregate_FieldsCountArgs = { - columns?: InputMaybe>; - distinct?: InputMaybe; -}; - -/** Boolean expression to filter rows from the table "Team". All fields are combined with a logical 'AND'. */ -export type Team_Bool_Exp = { - _and?: InputMaybe>; - _not?: InputMaybe; - _or?: InputMaybe>; - createdAt?: InputMaybe; - id?: InputMaybe; - members?: InputMaybe; - name?: InputMaybe; - projects?: InputMaybe; - uid?: InputMaybe; - updatedAt?: InputMaybe; -}; - -/** unique or primary key constraints on table "Team" */ -export type Team_Constraint = - /** unique or primary key constraint */ - | 'Team_pkey' - /** unique or primary key constraint */ - | 'Team_uid_key'; - -/** input type for inserting data into table "Team" */ -export type Team_Insert_Input = { - createdAt?: InputMaybe; - id?: InputMaybe; - members?: InputMaybe; - name?: InputMaybe; - projects?: InputMaybe; - uid?: InputMaybe; - updatedAt?: InputMaybe; -}; - -/** aggregate max on columns */ -export type Team_Max_Fields = { - __typename?: 'Team_max_fields'; - createdAt?: Maybe; - id?: Maybe; - name?: Maybe; - uid?: Maybe; - updatedAt?: Maybe; -}; - -/** aggregate min on columns */ -export type Team_Min_Fields = { - __typename?: 'Team_min_fields'; - createdAt?: Maybe; - id?: Maybe; - name?: Maybe; - uid?: Maybe; - updatedAt?: Maybe; -}; - -/** response of any mutation on the table "Team" */ -export type Team_Mutation_Response = { - __typename?: 'Team_mutation_response'; - /** number of rows affected by the mutation */ - affected_rows: Scalars['Int']; - /** data from the rows affected by the mutation */ - returning: Array; -}; - -/** input type for inserting object relation for remote table "Team" */ -export type Team_Obj_Rel_Insert_Input = { - data: Team_Insert_Input; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** on_conflict condition type for table "Team" */ -export type Team_On_Conflict = { - constraint: Team_Constraint; - update_columns?: Array; - where?: InputMaybe; -}; - -/** Ordering options when selecting data from "Team". */ -export type Team_Order_By = { - createdAt?: InputMaybe; - id?: InputMaybe; - members_aggregate?: InputMaybe; - name?: InputMaybe; - projects_aggregate?: InputMaybe; - uid?: InputMaybe; - updatedAt?: InputMaybe; -}; - -/** primary key columns input for table: Team */ -export type Team_Pk_Columns_Input = { - id: Scalars['uuid']; -}; - -/** select columns of table "Team" */ -export type Team_Select_Column = - /** column name */ - | 'createdAt' - /** column name */ - | 'id' - /** column name */ - | 'name' - /** column name */ - | 'uid' - /** column name */ - | 'updatedAt'; - -/** input type for updating data in table "Team" */ -export type Team_Set_Input = { - createdAt?: InputMaybe; - id?: InputMaybe; - name?: InputMaybe; - uid?: InputMaybe; - updatedAt?: InputMaybe; -}; - -/** update columns of table "Team" */ -export type Team_Update_Column = - /** column name */ - | 'createdAt' - /** column name */ - | 'id' - /** column name */ - | 'name' - /** column name */ - | 'uid' - /** column name */ - | 'updatedAt'; - -/** columns and relationships of "User" */ -export type User = { - __typename?: 'User'; - /** An array relationship */ - accounts: Array; - /** An aggregate relationship */ - accounts_aggregate: Account_Aggregate; - bio?: Maybe; - /** An array relationship */ - comments: Array; - /** An aggregate relationship */ - comments_aggregate: Comment_Aggregate; - createdAt: Scalars['timestamptz']; - email?: Maybe; - emailVerified?: Maybe; - id: Scalars['uuid']; - /** User profile avatar */ - image?: Maybe; - /** An array relationship */ - likes: Array; - /** An aggregate relationship */ - likes_aggregate: Like_Aggregate; - /** An array relationship */ - members: Array; - /** An aggregate relationship */ - members_aggregate: Member_Aggregate; - name?: Maybe; - /** An array relationship */ - notificationSubscriptions: Array; - /** An aggregate relationship */ - notificationSubscriptions_aggregate: NotificationSubscription_Aggregate; - /** An array relationship */ - projects: Array; - /** An aggregate relationship */ - projects_aggregate: Project_Aggregate; - /** An array relationship */ - recipientNotificationMessages: Array; - /** An aggregate relationship */ - recipientNotificationMessages_aggregate: NotificationMessage_Aggregate; - /** An array relationship */ - sessions: Array; - /** An aggregate relationship */ - sessions_aggregate: Session_Aggregate; - /** An array relationship */ - triggeredNotificationMessages: Array; - /** An aggregate relationship */ - triggeredNotificationMessages_aggregate: NotificationMessage_Aggregate; - twitterUserName?: Maybe; - type?: Maybe; - updatedAt: Scalars['timestamptz']; - /** An object relationship */ - userType?: Maybe; - username?: Maybe; - website?: Maybe; -}; - -/** columns and relationships of "User" */ -export type UserAccountsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "User" */ -export type UserAccounts_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "User" */ -export type UserCommentsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "User" */ -export type UserComments_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "User" */ -export type UserLikesArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "User" */ -export type UserLikes_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "User" */ -export type UserMembersArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "User" */ -export type UserMembers_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "User" */ -export type UserNotificationSubscriptionsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "User" */ -export type UserNotificationSubscriptions_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "User" */ -export type UserProjectsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "User" */ -export type UserProjects_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "User" */ -export type UserRecipientNotificationMessagesArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "User" */ -export type UserRecipientNotificationMessages_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "User" */ -export type UserSessionsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "User" */ -export type UserSessions_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "User" */ -export type UserTriggeredNotificationMessagesArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "User" */ -export type UserTriggeredNotificationMessages_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "UserType" */ -export type UserType = { - __typename?: 'UserType'; - comment: Scalars['String']; - /** An array relationship */ - users: Array; - /** An aggregate relationship */ - users_aggregate: User_Aggregate; - value: Scalars['String']; -}; - -/** columns and relationships of "UserType" */ -export type UserTypeUsersArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "UserType" */ -export type UserTypeUsers_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** aggregated selection of "UserType" */ -export type UserType_Aggregate = { - __typename?: 'UserType_aggregate'; - aggregate?: Maybe; - nodes: Array; -}; - -/** aggregate fields of "UserType" */ -export type UserType_Aggregate_Fields = { - __typename?: 'UserType_aggregate_fields'; - count: Scalars['Int']; - max?: Maybe; - min?: Maybe; -}; - -/** aggregate fields of "UserType" */ -export type UserType_Aggregate_FieldsCountArgs = { - columns?: InputMaybe>; - distinct?: InputMaybe; -}; - -/** Boolean expression to filter rows from the table "UserType". All fields are combined with a logical 'AND'. */ -export type UserType_Bool_Exp = { - _and?: InputMaybe>; - _not?: InputMaybe; - _or?: InputMaybe>; - comment?: InputMaybe; - users?: InputMaybe; - value?: InputMaybe; -}; - -/** unique or primary key constraints on table "UserType" */ -export type UserType_Constraint = - /** unique or primary key constraint */ - 'UserType_pkey'; - -export type UserType_Enum = - /** Site administrator */ - | 'admin' - /** Anonymous widget vsisitor */ - | 'anonymous' - /** Free user */ - | 'free' - /** Paid user */ - | 'pro'; - -/** Boolean expression to compare columns of type "UserType_enum". All fields are combined with logical 'AND'. */ -export type UserType_Enum_Comparison_Exp = { - _eq?: InputMaybe; - _in?: InputMaybe>; - _is_null?: InputMaybe; - _neq?: InputMaybe; - _nin?: InputMaybe>; -}; - -/** input type for inserting data into table "UserType" */ -export type UserType_Insert_Input = { - comment?: InputMaybe; - users?: InputMaybe; - value?: InputMaybe; -}; - -/** aggregate max on columns */ -export type UserType_Max_Fields = { - __typename?: 'UserType_max_fields'; - comment?: Maybe; - value?: Maybe; -}; - -/** aggregate min on columns */ -export type UserType_Min_Fields = { - __typename?: 'UserType_min_fields'; - comment?: Maybe; - value?: Maybe; -}; - -/** response of any mutation on the table "UserType" */ -export type UserType_Mutation_Response = { - __typename?: 'UserType_mutation_response'; - /** number of rows affected by the mutation */ - affected_rows: Scalars['Int']; - /** data from the rows affected by the mutation */ - returning: Array; -}; - -/** input type for inserting object relation for remote table "UserType" */ -export type UserType_Obj_Rel_Insert_Input = { - data: UserType_Insert_Input; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** on_conflict condition type for table "UserType" */ -export type UserType_On_Conflict = { - constraint: UserType_Constraint; - update_columns?: Array; - where?: InputMaybe; -}; - -/** Ordering options when selecting data from "UserType". */ -export type UserType_Order_By = { - comment?: InputMaybe; - users_aggregate?: InputMaybe; - value?: InputMaybe; -}; - -/** primary key columns input for table: UserType */ -export type UserType_Pk_Columns_Input = { - value: Scalars['String']; -}; - -/** select columns of table "UserType" */ -export type UserType_Select_Column = - /** column name */ - | 'comment' - /** column name */ - | 'value'; - -/** input type for updating data in table "UserType" */ -export type UserType_Set_Input = { - comment?: InputMaybe; - value?: InputMaybe; -}; - -/** update columns of table "UserType" */ -export type UserType_Update_Column = - /** column name */ - | 'comment' - /** column name */ - | 'value'; - -/** aggregated selection of "User" */ -export type User_Aggregate = { - __typename?: 'User_aggregate'; - aggregate?: Maybe; - nodes: Array; -}; - -/** aggregate fields of "User" */ -export type User_Aggregate_Fields = { - __typename?: 'User_aggregate_fields'; - count: Scalars['Int']; - max?: Maybe; - min?: Maybe; -}; - -/** aggregate fields of "User" */ -export type User_Aggregate_FieldsCountArgs = { - columns?: InputMaybe>; - distinct?: InputMaybe; -}; - -/** order by aggregate values of table "User" */ -export type User_Aggregate_Order_By = { - count?: InputMaybe; - max?: InputMaybe; - min?: InputMaybe; -}; - -/** input type for inserting array relation for remote table "User" */ -export type User_Arr_Rel_Insert_Input = { - data: Array; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** Boolean expression to filter rows from the table "User". All fields are combined with a logical 'AND'. */ -export type User_Bool_Exp = { - _and?: InputMaybe>; - _not?: InputMaybe; - _or?: InputMaybe>; - accounts?: InputMaybe; - bio?: InputMaybe; - comments?: InputMaybe; - createdAt?: InputMaybe; - email?: InputMaybe; - emailVerified?: InputMaybe; - id?: InputMaybe; - image?: InputMaybe; - likes?: InputMaybe; - members?: InputMaybe; - name?: InputMaybe; - notificationSubscriptions?: InputMaybe; - projects?: InputMaybe; - recipientNotificationMessages?: InputMaybe; - sessions?: InputMaybe; - triggeredNotificationMessages?: InputMaybe; - twitterUserName?: InputMaybe; - type?: InputMaybe; - updatedAt?: InputMaybe; - userType?: InputMaybe; - username?: InputMaybe; - website?: InputMaybe; -}; - -/** unique or primary key constraints on table "User" */ -export type User_Constraint = - /** unique or primary key constraint */ - | 'User_email_key' - /** unique or primary key constraint */ - | 'User_pkey' - /** unique or primary key constraint */ - | 'User_username_key'; - -/** input type for inserting data into table "User" */ -export type User_Insert_Input = { - accounts?: InputMaybe; - bio?: InputMaybe; - comments?: InputMaybe; - createdAt?: InputMaybe; - email?: InputMaybe; - emailVerified?: InputMaybe; - id?: InputMaybe; - /** User profile avatar */ - image?: InputMaybe; - likes?: InputMaybe; - members?: InputMaybe; - name?: InputMaybe; - notificationSubscriptions?: InputMaybe; - projects?: InputMaybe; - recipientNotificationMessages?: InputMaybe; - sessions?: InputMaybe; - triggeredNotificationMessages?: InputMaybe; - twitterUserName?: InputMaybe; - type?: InputMaybe; - updatedAt?: InputMaybe; - userType?: InputMaybe; - username?: InputMaybe; - website?: InputMaybe; -}; - -/** aggregate max on columns */ -export type User_Max_Fields = { - __typename?: 'User_max_fields'; - bio?: Maybe; - createdAt?: Maybe; - email?: Maybe; - emailVerified?: Maybe; - id?: Maybe; - /** User profile avatar */ - image?: Maybe; - name?: Maybe; - twitterUserName?: Maybe; - updatedAt?: Maybe; - username?: Maybe; - website?: Maybe; -}; - -/** order by max() on columns of table "User" */ -export type User_Max_Order_By = { - bio?: InputMaybe; - createdAt?: InputMaybe; - email?: InputMaybe; - emailVerified?: InputMaybe; - id?: InputMaybe; - /** User profile avatar */ - image?: InputMaybe; - name?: InputMaybe; - twitterUserName?: InputMaybe; - updatedAt?: InputMaybe; - username?: InputMaybe; - website?: InputMaybe; -}; - -/** aggregate min on columns */ -export type User_Min_Fields = { - __typename?: 'User_min_fields'; - bio?: Maybe; - createdAt?: Maybe; - email?: Maybe; - emailVerified?: Maybe; - id?: Maybe; - /** User profile avatar */ - image?: Maybe; - name?: Maybe; - twitterUserName?: Maybe; - updatedAt?: Maybe; - username?: Maybe; - website?: Maybe; -}; - -/** order by min() on columns of table "User" */ -export type User_Min_Order_By = { - bio?: InputMaybe; - createdAt?: InputMaybe; - email?: InputMaybe; - emailVerified?: InputMaybe; - id?: InputMaybe; - /** User profile avatar */ - image?: InputMaybe; - name?: InputMaybe; - twitterUserName?: InputMaybe; - updatedAt?: InputMaybe; - username?: InputMaybe; - website?: InputMaybe; -}; - -/** response of any mutation on the table "User" */ -export type User_Mutation_Response = { - __typename?: 'User_mutation_response'; - /** number of rows affected by the mutation */ - affected_rows: Scalars['Int']; - /** data from the rows affected by the mutation */ - returning: Array; -}; - -/** input type for inserting object relation for remote table "User" */ -export type User_Obj_Rel_Insert_Input = { - data: User_Insert_Input; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** on_conflict condition type for table "User" */ -export type User_On_Conflict = { - constraint: User_Constraint; - update_columns?: Array; - where?: InputMaybe; -}; - -/** Ordering options when selecting data from "User". */ -export type User_Order_By = { - accounts_aggregate?: InputMaybe; - bio?: InputMaybe; - comments_aggregate?: InputMaybe; - createdAt?: InputMaybe; - email?: InputMaybe; - emailVerified?: InputMaybe; - id?: InputMaybe; - image?: InputMaybe; - likes_aggregate?: InputMaybe; - members_aggregate?: InputMaybe; - name?: InputMaybe; - notificationSubscriptions_aggregate?: InputMaybe; - projects_aggregate?: InputMaybe; - recipientNotificationMessages_aggregate?: InputMaybe; - sessions_aggregate?: InputMaybe; - triggeredNotificationMessages_aggregate?: InputMaybe; - twitterUserName?: InputMaybe; - type?: InputMaybe; - updatedAt?: InputMaybe; - userType?: InputMaybe; - username?: InputMaybe; - website?: InputMaybe; -}; - -/** primary key columns input for table: User */ -export type User_Pk_Columns_Input = { - id: Scalars['uuid']; -}; - -/** select columns of table "User" */ -export type User_Select_Column = - /** column name */ - | 'bio' - /** column name */ - | 'createdAt' - /** column name */ - | 'email' - /** column name */ - | 'emailVerified' - /** column name */ - | 'id' - /** column name */ - | 'image' - /** column name */ - | 'name' - /** column name */ - | 'twitterUserName' - /** column name */ - | 'type' - /** column name */ - | 'updatedAt' - /** column name */ - | 'username' - /** column name */ - | 'website'; - -/** input type for updating data in table "User" */ -export type User_Set_Input = { - bio?: InputMaybe; - createdAt?: InputMaybe; - email?: InputMaybe; - emailVerified?: InputMaybe; - id?: InputMaybe; - /** User profile avatar */ - image?: InputMaybe; - name?: InputMaybe; - twitterUserName?: InputMaybe; - type?: InputMaybe; - updatedAt?: InputMaybe; - username?: InputMaybe; - website?: InputMaybe; -}; - -/** update columns of table "User" */ -export type User_Update_Column = - /** column name */ - | 'bio' - /** column name */ - | 'createdAt' - /** column name */ - | 'email' - /** column name */ - | 'emailVerified' - /** column name */ - | 'id' - /** column name */ - | 'image' - /** column name */ - | 'name' - /** column name */ - | 'twitterUserName' - /** column name */ - | 'type' - /** column name */ - | 'updatedAt' - /** column name */ - | 'username' - /** column name */ - | 'website'; - -/** columns and relationships of "VerificationToken" */ -export type VerificationToken = { - __typename?: 'VerificationToken'; - expires: Scalars['timestamptz']; - id: Scalars['uuid']; - identifier: Scalars['String']; - token: Scalars['String']; -}; - -/** aggregated selection of "VerificationToken" */ -export type VerificationToken_Aggregate = { - __typename?: 'VerificationToken_aggregate'; - aggregate?: Maybe; - nodes: Array; -}; - -/** aggregate fields of "VerificationToken" */ -export type VerificationToken_Aggregate_Fields = { - __typename?: 'VerificationToken_aggregate_fields'; - count: Scalars['Int']; - max?: Maybe; - min?: Maybe; -}; - -/** aggregate fields of "VerificationToken" */ -export type VerificationToken_Aggregate_FieldsCountArgs = { - columns?: InputMaybe>; - distinct?: InputMaybe; -}; - -/** Boolean expression to filter rows from the table "VerificationToken". All fields are combined with a logical 'AND'. */ -export type VerificationToken_Bool_Exp = { - _and?: InputMaybe>; - _not?: InputMaybe; - _or?: InputMaybe>; - expires?: InputMaybe; - id?: InputMaybe; - identifier?: InputMaybe; - token?: InputMaybe; -}; - -/** unique or primary key constraints on table "VerificationToken" */ -export type VerificationToken_Constraint = - /** unique or primary key constraint */ - | 'VerificationToken_identifier_token_key' - /** unique or primary key constraint */ - | 'VerificationToken_pkey'; - -/** input type for inserting data into table "VerificationToken" */ -export type VerificationToken_Insert_Input = { - expires?: InputMaybe; - id?: InputMaybe; - identifier?: InputMaybe; - token?: InputMaybe; -}; - -/** aggregate max on columns */ -export type VerificationToken_Max_Fields = { - __typename?: 'VerificationToken_max_fields'; - expires?: Maybe; - id?: Maybe; - identifier?: Maybe; - token?: Maybe; -}; - -/** aggregate min on columns */ -export type VerificationToken_Min_Fields = { - __typename?: 'VerificationToken_min_fields'; - expires?: Maybe; - id?: Maybe; - identifier?: Maybe; - token?: Maybe; -}; - -/** response of any mutation on the table "VerificationToken" */ -export type VerificationToken_Mutation_Response = { - __typename?: 'VerificationToken_mutation_response'; - /** number of rows affected by the mutation */ - affected_rows: Scalars['Int']; - /** data from the rows affected by the mutation */ - returning: Array; -}; - -/** on_conflict condition type for table "VerificationToken" */ -export type VerificationToken_On_Conflict = { - constraint: VerificationToken_Constraint; - update_columns?: Array; - where?: InputMaybe; -}; - -/** Ordering options when selecting data from "VerificationToken". */ -export type VerificationToken_Order_By = { - expires?: InputMaybe; - id?: InputMaybe; - identifier?: InputMaybe; - token?: InputMaybe; -}; - -/** primary key columns input for table: VerificationToken */ -export type VerificationToken_Pk_Columns_Input = { - id: Scalars['uuid']; -}; - -/** select columns of table "VerificationToken" */ -export type VerificationToken_Select_Column = - /** column name */ - | 'expires' - /** column name */ - | 'id' - /** column name */ - | 'identifier' - /** column name */ - | 'token'; - -/** input type for updating data in table "VerificationToken" */ -export type VerificationToken_Set_Input = { - expires?: InputMaybe; - id?: InputMaybe; - identifier?: InputMaybe; - token?: InputMaybe; -}; - -/** update columns of table "VerificationToken" */ -export type VerificationToken_Update_Column = - /** column name */ - | 'expires' - /** column name */ - | 'id' - /** column name */ - | 'identifier' - /** column name */ - | 'token'; - -export type Jsonb_Cast_Exp = { - String?: InputMaybe; -}; - -/** Boolean expression to compare columns of type "jsonb". All fields are combined with logical 'AND'. */ -export type Jsonb_Comparison_Exp = { - _cast?: InputMaybe; - /** is the column contained in the given json value */ - _contained_in?: InputMaybe; - /** does the column contain the given json value at the top level */ - _contains?: InputMaybe; - _eq?: InputMaybe; - _gt?: InputMaybe; - _gte?: InputMaybe; - /** does the string exist as a top-level key in the column */ - _has_key?: InputMaybe; - /** do all of these strings exist as top-level keys in the column */ - _has_keys_all?: InputMaybe>; - /** do any of these strings exist as top-level keys in the column */ - _has_keys_any?: InputMaybe>; - _in?: InputMaybe>; - _is_null?: InputMaybe; - _lt?: InputMaybe; - _lte?: InputMaybe; - _neq?: InputMaybe; - _nin?: InputMaybe>; -}; - -/** mutation root */ -export type Mutation_Root = { - __typename?: 'mutation_root'; - /** delete single row from the table: "Account" */ - deleteAccountByPk?: Maybe; - /** delete data from the table: "Account" */ - deleteAccounts?: Maybe; - /** delete single row from the table: "Comment" */ - deleteCommentByPk?: Maybe; - /** delete data from the table: "Comment" */ - deleteComments?: Maybe; - /** delete single row from the table: "Like" */ - deleteLikeByPk?: Maybe; - /** delete data from the table: "Like" */ - deleteLikes?: Maybe; - /** delete single row from the table: "Member" */ - deleteMemberByPk?: Maybe; - /** delete data from the table: "Member" */ - deleteMembers?: Maybe; - /** delete single row from the table: "NotificationMessage" */ - deleteNotificationMessageByPk?: Maybe; - /** delete data from the table: "NotificationMessage" */ - deleteNotificationMessages?: Maybe; - /** delete single row from the table: "NotificationSubscription" */ - deleteNotificationSubscriptionByPk?: Maybe; - /** delete data from the table: "NotificationSubscription" */ - deleteNotificationSubscriptions?: Maybe; - /** delete single row from the table: "Page" */ - deletePageByPk?: Maybe; - /** delete data from the table: "Page" */ - deletePages?: Maybe; - /** delete single row from the table: "Project" */ - deleteProjectByPk?: Maybe; - /** delete data from the table: "Project" */ - deleteProjects?: Maybe; - /** delete single row from the table: "Role" */ - deleteRoleByPk?: Maybe; - /** delete data from the table: "Role" */ - deleteRoles?: Maybe; - /** delete single row from the table: "Session" */ - deleteSessionByPk?: Maybe; - /** delete data from the table: "Session" */ - deleteSessions?: Maybe; - /** delete single row from the table: "Team" */ - deleteTeamByPk?: Maybe; - /** delete data from the table: "Team" */ - deleteTeams?: Maybe; - /** delete single row from the table: "User" */ - deleteUserByPk?: Maybe; - /** delete single row from the table: "UserType" */ - deleteUserTypeByPk?: Maybe; - /** delete data from the table: "UserType" */ - deleteUserTypes?: Maybe; - /** delete data from the table: "User" */ - deleteUsers?: Maybe; - /** delete single row from the table: "VerificationToken" */ - deleteVerificationTokenByPk?: Maybe; - /** delete data from the table: "VerificationToken" */ - deleteVerificationTokens?: Maybe; - /** delete data from the table: "NotificationType" */ - delete_NotificationType?: Maybe; - /** delete single row from the table: "NotificationType" */ - delete_NotificationType_by_pk?: Maybe; - /** insert data into the table: "Account" */ - insertAccounts?: Maybe; - /** insert data into the table: "Comment" */ - insertComments?: Maybe; - /** insert data into the table: "Like" */ - insertLikes?: Maybe; - /** insert data into the table: "Member" */ - insertMembers?: Maybe; - /** insert data into the table: "NotificationMessage" */ - insertNotificationMessages?: Maybe; - /** insert data into the table: "NotificationSubscription" */ - insertNotificationSubscriptions?: Maybe; - /** insert a single row into the table: "Account" */ - insertOneAccount?: Maybe; - /** insert a single row into the table: "Comment" */ - insertOneComment?: Maybe; - /** insert a single row into the table: "Like" */ - insertOneLike?: Maybe; - /** insert a single row into the table: "Member" */ - insertOneMember?: Maybe; - /** insert a single row into the table: "NotificationMessage" */ - insertOneNotificationMessage?: Maybe; - /** insert a single row into the table: "NotificationSubscription" */ - insertOneNotificationSubscription?: Maybe; - /** insert a single row into the table: "Page" */ - insertOnePage?: Maybe; - /** insert a single row into the table: "Project" */ - insertOneProject?: Maybe; - /** insert a single row into the table: "Role" */ - insertOneRole?: Maybe; - /** insert a single row into the table: "Session" */ - insertOneSession?: Maybe; - /** insert a single row into the table: "Team" */ - insertOneTeam?: Maybe; - /** insert a single row into the table: "User" */ - insertOneUser?: Maybe; - /** insert a single row into the table: "UserType" */ - insertOneUserType?: Maybe; - /** insert a single row into the table: "VerificationToken" */ - insertOneVerificationToken?: Maybe; - /** insert data into the table: "Page" */ - insertPages?: Maybe; - /** insert data into the table: "Project" */ - insertProjects?: Maybe; - /** insert data into the table: "Role" */ - insertRoles?: Maybe; - /** insert data into the table: "Session" */ - insertSessions?: Maybe; - /** insert data into the table: "Team" */ - insertTeams?: Maybe; - /** insert data into the table: "UserType" */ - insertUserTypes?: Maybe; - /** insert data into the table: "User" */ - insertUsers?: Maybe; - /** insert data into the table: "VerificationToken" */ - insertVerificationTokens?: Maybe; - /** insert data into the table: "NotificationType" */ - insert_NotificationType?: Maybe; - /** insert a single row into the table: "NotificationType" */ - insert_NotificationType_one?: Maybe; - /** update single row of the table: "Account" */ - updateAccountByPk?: Maybe; - /** update data of the table: "Account" */ - updateAccounts?: Maybe; - /** update single row of the table: "Comment" */ - updateCommentByPk?: Maybe; - /** update data of the table: "Comment" */ - updateComments?: Maybe; - /** update single row of the table: "Like" */ - updateLikeByPk?: Maybe; - /** update data of the table: "Like" */ - updateLikes?: Maybe; - /** update single row of the table: "Member" */ - updateMemberByPk?: Maybe; - /** update data of the table: "Member" */ - updateMembers?: Maybe; - /** update single row of the table: "NotificationMessage" */ - updateNotificationMessageByPk?: Maybe; - /** update data of the table: "NotificationMessage" */ - updateNotificationMessages?: Maybe; - /** update single row of the table: "NotificationSubscription" */ - updateNotificationSubscriptionByPk?: Maybe; - /** update data of the table: "NotificationSubscription" */ - updateNotificationSubscriptions?: Maybe; - /** update single row of the table: "Page" */ - updatePageByPk?: Maybe; - /** update data of the table: "Page" */ - updatePages?: Maybe; - /** update single row of the table: "Project" */ - updateProjectByPk?: Maybe; - /** update data of the table: "Project" */ - updateProjects?: Maybe; - /** update single row of the table: "Role" */ - updateRoleByPk?: Maybe; - /** update data of the table: "Role" */ - updateRoles?: Maybe; - /** update single row of the table: "Session" */ - updateSessionByPk?: Maybe; - /** update data of the table: "Session" */ - updateSessions?: Maybe; - /** update single row of the table: "Team" */ - updateTeamByPk?: Maybe; - /** update data of the table: "Team" */ - updateTeams?: Maybe; - /** update single row of the table: "User" */ - updateUserByPk?: Maybe; - /** update single row of the table: "UserType" */ - updateUserTypeByPk?: Maybe; - /** update data of the table: "UserType" */ - updateUserTypes?: Maybe; - /** update data of the table: "User" */ - updateUsers?: Maybe; - /** update single row of the table: "VerificationToken" */ - updateVerificationTokenByPk?: Maybe; - /** update data of the table: "VerificationToken" */ - updateVerificationTokens?: Maybe; - /** update data of the table: "NotificationType" */ - update_NotificationType?: Maybe; - /** update single row of the table: "NotificationType" */ - update_NotificationType_by_pk?: Maybe; -}; - -/** mutation root */ -export type Mutation_RootDeleteAccountByPkArgs = { - id: Scalars['uuid']; -}; - -/** mutation root */ -export type Mutation_RootDeleteAccountsArgs = { - where: Account_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootDeleteCommentByPkArgs = { - id: Scalars['uuid']; -}; - -/** mutation root */ -export type Mutation_RootDeleteCommentsArgs = { - where: Comment_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootDeleteLikeByPkArgs = { - id: Scalars['uuid']; -}; - -/** mutation root */ -export type Mutation_RootDeleteLikesArgs = { - where: Like_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootDeleteMemberByPkArgs = { - id: Scalars['uuid']; -}; - -/** mutation root */ -export type Mutation_RootDeleteMembersArgs = { - where: Member_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootDeleteNotificationMessageByPkArgs = { - id: Scalars['uuid']; -}; - -/** mutation root */ -export type Mutation_RootDeleteNotificationMessagesArgs = { - where: NotificationMessage_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootDeleteNotificationSubscriptionByPkArgs = { - id: Scalars['uuid']; -}; - -/** mutation root */ -export type Mutation_RootDeleteNotificationSubscriptionsArgs = { - where: NotificationSubscription_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootDeletePageByPkArgs = { - id: Scalars['uuid']; -}; - -/** mutation root */ -export type Mutation_RootDeletePagesArgs = { - where: Page_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootDeleteProjectByPkArgs = { - id: Scalars['uuid']; -}; - -/** mutation root */ -export type Mutation_RootDeleteProjectsArgs = { - where: Project_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootDeleteRoleByPkArgs = { - value: Scalars['String']; -}; - -/** mutation root */ -export type Mutation_RootDeleteRolesArgs = { - where: Role_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootDeleteSessionByPkArgs = { - id: Scalars['uuid']; -}; - -/** mutation root */ -export type Mutation_RootDeleteSessionsArgs = { - where: Session_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootDeleteTeamByPkArgs = { - id: Scalars['uuid']; -}; - -/** mutation root */ -export type Mutation_RootDeleteTeamsArgs = { - where: Team_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootDeleteUserByPkArgs = { - id: Scalars['uuid']; -}; - -/** mutation root */ -export type Mutation_RootDeleteUserTypeByPkArgs = { - value: Scalars['String']; -}; - -/** mutation root */ -export type Mutation_RootDeleteUserTypesArgs = { - where: UserType_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootDeleteUsersArgs = { - where: User_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootDeleteVerificationTokenByPkArgs = { - id: Scalars['uuid']; -}; - -/** mutation root */ -export type Mutation_RootDeleteVerificationTokensArgs = { - where: VerificationToken_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootDelete_NotificationTypeArgs = { - where: NotificationType_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootDelete_NotificationType_By_PkArgs = { - value: Scalars['String']; -}; - -/** mutation root */ -export type Mutation_RootInsertAccountsArgs = { - objects: Array; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertCommentsArgs = { - objects: Array; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertLikesArgs = { - objects: Array; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertMembersArgs = { - objects: Array; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertNotificationMessagesArgs = { - objects: Array; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertNotificationSubscriptionsArgs = { - objects: Array; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertOneAccountArgs = { - object: Account_Insert_Input; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertOneCommentArgs = { - object: Comment_Insert_Input; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertOneLikeArgs = { - object: Like_Insert_Input; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertOneMemberArgs = { - object: Member_Insert_Input; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertOneNotificationMessageArgs = { - object: NotificationMessage_Insert_Input; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertOneNotificationSubscriptionArgs = { - object: NotificationSubscription_Insert_Input; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertOnePageArgs = { - object: Page_Insert_Input; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertOneProjectArgs = { - object: Project_Insert_Input; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertOneRoleArgs = { - object: Role_Insert_Input; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertOneSessionArgs = { - object: Session_Insert_Input; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertOneTeamArgs = { - object: Team_Insert_Input; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertOneUserArgs = { - object: User_Insert_Input; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertOneUserTypeArgs = { - object: UserType_Insert_Input; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertOneVerificationTokenArgs = { - object: VerificationToken_Insert_Input; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertPagesArgs = { - objects: Array; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertProjectsArgs = { - objects: Array; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertRolesArgs = { - objects: Array; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertSessionsArgs = { - objects: Array; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertTeamsArgs = { - objects: Array; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertUserTypesArgs = { - objects: Array; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertUsersArgs = { - objects: Array; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertVerificationTokensArgs = { - objects: Array; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsert_NotificationTypeArgs = { - objects: Array; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsert_NotificationType_OneArgs = { - object: NotificationType_Insert_Input; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootUpdateAccountByPkArgs = { - _set?: InputMaybe; - pk_columns: Account_Pk_Columns_Input; -}; - -/** mutation root */ -export type Mutation_RootUpdateAccountsArgs = { - _set?: InputMaybe; - where: Account_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootUpdateCommentByPkArgs = { - _append?: InputMaybe; - _delete_at_path?: InputMaybe; - _delete_elem?: InputMaybe; - _delete_key?: InputMaybe; - _prepend?: InputMaybe; - _set?: InputMaybe; - pk_columns: Comment_Pk_Columns_Input; -}; - -/** mutation root */ -export type Mutation_RootUpdateCommentsArgs = { - _append?: InputMaybe; - _delete_at_path?: InputMaybe; - _delete_elem?: InputMaybe; - _delete_key?: InputMaybe; - _prepend?: InputMaybe; - _set?: InputMaybe; - where: Comment_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootUpdateLikeByPkArgs = { - _set?: InputMaybe; - pk_columns: Like_Pk_Columns_Input; -}; - -/** mutation root */ -export type Mutation_RootUpdateLikesArgs = { - _set?: InputMaybe; - where: Like_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootUpdateMemberByPkArgs = { - _set?: InputMaybe; - pk_columns: Member_Pk_Columns_Input; -}; - -/** mutation root */ -export type Mutation_RootUpdateMembersArgs = { - _set?: InputMaybe; - where: Member_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootUpdateNotificationMessageByPkArgs = { - _set?: InputMaybe; - pk_columns: NotificationMessage_Pk_Columns_Input; -}; - -/** mutation root */ -export type Mutation_RootUpdateNotificationMessagesArgs = { - _set?: InputMaybe; - where: NotificationMessage_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootUpdateNotificationSubscriptionByPkArgs = { - _append?: InputMaybe; - _delete_at_path?: InputMaybe; - _delete_elem?: InputMaybe; - _delete_key?: InputMaybe; - _prepend?: InputMaybe; - _set?: InputMaybe; - pk_columns: NotificationSubscription_Pk_Columns_Input; -}; - -/** mutation root */ -export type Mutation_RootUpdateNotificationSubscriptionsArgs = { - _append?: InputMaybe; - _delete_at_path?: InputMaybe; - _delete_elem?: InputMaybe; - _delete_key?: InputMaybe; - _prepend?: InputMaybe; - _set?: InputMaybe; - where: NotificationSubscription_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootUpdatePageByPkArgs = { - _set?: InputMaybe; - pk_columns: Page_Pk_Columns_Input; -}; - -/** mutation root */ -export type Mutation_RootUpdatePagesArgs = { - _set?: InputMaybe; - where: Page_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootUpdateProjectByPkArgs = { - _append?: InputMaybe; - _delete_at_path?: InputMaybe; - _delete_elem?: InputMaybe; - _delete_key?: InputMaybe; - _prepend?: InputMaybe; - _set?: InputMaybe; - pk_columns: Project_Pk_Columns_Input; -}; - -/** mutation root */ -export type Mutation_RootUpdateProjectsArgs = { - _append?: InputMaybe; - _delete_at_path?: InputMaybe; - _delete_elem?: InputMaybe; - _delete_key?: InputMaybe; - _prepend?: InputMaybe; - _set?: InputMaybe; - where: Project_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootUpdateRoleByPkArgs = { - _set?: InputMaybe; - pk_columns: Role_Pk_Columns_Input; -}; - -/** mutation root */ -export type Mutation_RootUpdateRolesArgs = { - _set?: InputMaybe; - where: Role_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootUpdateSessionByPkArgs = { - _set?: InputMaybe; - pk_columns: Session_Pk_Columns_Input; -}; - -/** mutation root */ -export type Mutation_RootUpdateSessionsArgs = { - _set?: InputMaybe; - where: Session_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootUpdateTeamByPkArgs = { - _set?: InputMaybe; - pk_columns: Team_Pk_Columns_Input; -}; - -/** mutation root */ -export type Mutation_RootUpdateTeamsArgs = { - _set?: InputMaybe; - where: Team_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootUpdateUserByPkArgs = { - _set?: InputMaybe; - pk_columns: User_Pk_Columns_Input; -}; - -/** mutation root */ -export type Mutation_RootUpdateUserTypeByPkArgs = { - _set?: InputMaybe; - pk_columns: UserType_Pk_Columns_Input; -}; - -/** mutation root */ -export type Mutation_RootUpdateUserTypesArgs = { - _set?: InputMaybe; - where: UserType_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootUpdateUsersArgs = { - _set?: InputMaybe; - where: User_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootUpdateVerificationTokenByPkArgs = { - _set?: InputMaybe; - pk_columns: VerificationToken_Pk_Columns_Input; -}; - -/** mutation root */ -export type Mutation_RootUpdateVerificationTokensArgs = { - _set?: InputMaybe; - where: VerificationToken_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootUpdate_NotificationTypeArgs = { - _set?: InputMaybe; - where: NotificationType_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootUpdate_NotificationType_By_PkArgs = { - _set?: InputMaybe; - pk_columns: NotificationType_Pk_Columns_Input; -}; - -/** column ordering options */ -export type Order_By = - /** in ascending order, nulls last */ - | 'asc' - /** in ascending order, nulls first */ - | 'asc_nulls_first' - /** in ascending order, nulls last */ - | 'asc_nulls_last' - /** in descending order, nulls first */ - | 'desc' - /** in descending order, nulls first */ - | 'desc_nulls_first' - /** in descending order, nulls last */ - | 'desc_nulls_last'; - -export type Query_Root = { - __typename?: 'query_root'; - /** fetch data from the table: "NotificationType" */ - NotificationType: Array; - /** fetch aggregated fields from the table: "NotificationType" */ - NotificationType_aggregate: NotificationType_Aggregate; - /** fetch data from the table: "NotificationType" using primary key columns */ - NotificationType_by_pk?: Maybe; - /** fetch aggregated fields from the table: "Account" */ - accountAggregate: Account_Aggregate; - /** fetch data from the table: "Account" using primary key columns */ - accountByPk?: Maybe; - /** An array relationship */ - accounts: Array; - /** fetch aggregated fields from the table: "Comment" */ - commentAggregate: Comment_Aggregate; - /** fetch data from the table: "Comment" using primary key columns */ - commentByPk?: Maybe; - /** An array relationship */ - comments: Array; - /** fetch aggregated fields from the table: "Like" */ - likeAggregate: Like_Aggregate; - /** fetch data from the table: "Like" using primary key columns */ - likeByPk?: Maybe; - /** An array relationship */ - likes: Array; - /** fetch aggregated fields from the table: "Member" */ - memberAggregate: Member_Aggregate; - /** fetch data from the table: "Member" using primary key columns */ - memberByPk?: Maybe; - /** An array relationship */ - members: Array; - /** An array relationship */ - notificationMessages: Array; - /** fetch aggregated fields from the table: "NotificationMessage" */ - notificationMessagesAggregate: NotificationMessage_Aggregate; - /** fetch data from the table: "NotificationMessage" using primary key columns */ - notificationMessagesByPk?: Maybe; - /** fetch aggregated fields from the table: "NotificationSubscription" */ - notificationSubscriptionAggregate: NotificationSubscription_Aggregate; - /** fetch data from the table: "NotificationSubscription" using primary key columns */ - notificationSubscriptionByPk?: Maybe; - /** An array relationship */ - notificationSubscriptions: Array; - /** fetch aggregated fields from the table: "Page" */ - pageAggregate: Page_Aggregate; - /** fetch data from the table: "Page" using primary key columns */ - pageByPk?: Maybe; - /** An array relationship */ - pages: Array; - /** fetch aggregated fields from the table: "Project" */ - projectAggregate: Project_Aggregate; - /** fetch data from the table: "Project" using primary key columns */ - projectByPk?: Maybe; - /** An array relationship */ - projects: Array; - /** fetch aggregated fields from the table: "Role" */ - roleAggregate: Role_Aggregate; - /** fetch data from the table: "Role" using primary key columns */ - roleByPk?: Maybe; - /** fetch data from the table: "Role" */ - roles: Array; - /** fetch aggregated fields from the table: "Session" */ - sessionAggregate: Session_Aggregate; - /** fetch data from the table: "Session" using primary key columns */ - sessionByPk?: Maybe; - /** An array relationship */ - sessions: Array; - /** fetch aggregated fields from the table: "Team" */ - teamAggregate: Team_Aggregate; - /** fetch data from the table: "Team" using primary key columns */ - teamByPk?: Maybe; - /** fetch data from the table: "Team" */ - teams: Array; - /** fetch aggregated fields from the table: "User" */ - userAggregate: User_Aggregate; - /** fetch data from the table: "User" using primary key columns */ - userByPk?: Maybe; - /** fetch aggregated fields from the table: "UserType" */ - userTypeAggregate: UserType_Aggregate; - /** fetch data from the table: "UserType" using primary key columns */ - userTypeByPk?: Maybe; - /** fetch data from the table: "UserType" */ - userTypes: Array; - /** An array relationship */ - users: Array; - /** fetch aggregated fields from the table: "VerificationToken" */ - verificationTokenAggregate: VerificationToken_Aggregate; - /** fetch data from the table: "VerificationToken" using primary key columns */ - verificationTokenByPk?: Maybe; - /** fetch data from the table: "VerificationToken" */ - verificationTokens: Array; -}; - -export type Query_RootNotificationTypeArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootNotificationType_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootNotificationType_By_PkArgs = { - value: Scalars['String']; -}; - -export type Query_RootAccountAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootAccountByPkArgs = { - id: Scalars['uuid']; -}; - -export type Query_RootAccountsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootCommentAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootCommentByPkArgs = { - id: Scalars['uuid']; -}; - -export type Query_RootCommentsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootLikeAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootLikeByPkArgs = { - id: Scalars['uuid']; -}; - -export type Query_RootLikesArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootMemberAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootMemberByPkArgs = { - id: Scalars['uuid']; -}; - -export type Query_RootMembersArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootNotificationMessagesArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootNotificationMessagesAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootNotificationMessagesByPkArgs = { - id: Scalars['uuid']; -}; - -export type Query_RootNotificationSubscriptionAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootNotificationSubscriptionByPkArgs = { - id: Scalars['uuid']; -}; - -export type Query_RootNotificationSubscriptionsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootPageAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootPageByPkArgs = { - id: Scalars['uuid']; -}; - -export type Query_RootPagesArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootProjectAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootProjectByPkArgs = { - id: Scalars['uuid']; -}; - -export type Query_RootProjectsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootRoleAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootRoleByPkArgs = { - value: Scalars['String']; -}; - -export type Query_RootRolesArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootSessionAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootSessionByPkArgs = { - id: Scalars['uuid']; -}; - -export type Query_RootSessionsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootTeamAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootTeamByPkArgs = { - id: Scalars['uuid']; -}; - -export type Query_RootTeamsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootUserAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootUserByPkArgs = { - id: Scalars['uuid']; -}; - -export type Query_RootUserTypeAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootUserTypeByPkArgs = { - value: Scalars['String']; -}; - -export type Query_RootUserTypesArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootUsersArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootVerificationTokenAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootVerificationTokenByPkArgs = { - id: Scalars['uuid']; -}; - -export type Query_RootVerificationTokensArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_Root = { - __typename?: 'subscription_root'; - /** fetch data from the table: "NotificationType" */ - NotificationType: Array; - /** fetch aggregated fields from the table: "NotificationType" */ - NotificationType_aggregate: NotificationType_Aggregate; - /** fetch data from the table: "NotificationType" using primary key columns */ - NotificationType_by_pk?: Maybe; - /** fetch aggregated fields from the table: "Account" */ - accountAggregate: Account_Aggregate; - /** fetch data from the table: "Account" using primary key columns */ - accountByPk?: Maybe; - /** An array relationship */ - accounts: Array; - /** fetch aggregated fields from the table: "Comment" */ - commentAggregate: Comment_Aggregate; - /** fetch data from the table: "Comment" using primary key columns */ - commentByPk?: Maybe; - /** An array relationship */ - comments: Array; - /** fetch aggregated fields from the table: "Like" */ - likeAggregate: Like_Aggregate; - /** fetch data from the table: "Like" using primary key columns */ - likeByPk?: Maybe; - /** An array relationship */ - likes: Array; - /** fetch aggregated fields from the table: "Member" */ - memberAggregate: Member_Aggregate; - /** fetch data from the table: "Member" using primary key columns */ - memberByPk?: Maybe; - /** An array relationship */ - members: Array; - /** An array relationship */ - notificationMessages: Array; - /** fetch aggregated fields from the table: "NotificationMessage" */ - notificationMessagesAggregate: NotificationMessage_Aggregate; - /** fetch data from the table: "NotificationMessage" using primary key columns */ - notificationMessagesByPk?: Maybe; - /** fetch aggregated fields from the table: "NotificationSubscription" */ - notificationSubscriptionAggregate: NotificationSubscription_Aggregate; - /** fetch data from the table: "NotificationSubscription" using primary key columns */ - notificationSubscriptionByPk?: Maybe; - /** An array relationship */ - notificationSubscriptions: Array; - /** fetch aggregated fields from the table: "Page" */ - pageAggregate: Page_Aggregate; - /** fetch data from the table: "Page" using primary key columns */ - pageByPk?: Maybe; - /** An array relationship */ - pages: Array; - /** fetch aggregated fields from the table: "Project" */ - projectAggregate: Project_Aggregate; - /** fetch data from the table: "Project" using primary key columns */ - projectByPk?: Maybe; - /** An array relationship */ - projects: Array; - /** fetch aggregated fields from the table: "Role" */ - roleAggregate: Role_Aggregate; - /** fetch data from the table: "Role" using primary key columns */ - roleByPk?: Maybe; - /** fetch data from the table: "Role" */ - roles: Array; - /** fetch aggregated fields from the table: "Session" */ - sessionAggregate: Session_Aggregate; - /** fetch data from the table: "Session" using primary key columns */ - sessionByPk?: Maybe; - /** An array relationship */ - sessions: Array; - /** fetch aggregated fields from the table: "Team" */ - teamAggregate: Team_Aggregate; - /** fetch data from the table: "Team" using primary key columns */ - teamByPk?: Maybe; - /** fetch data from the table: "Team" */ - teams: Array; - /** fetch aggregated fields from the table: "User" */ - userAggregate: User_Aggregate; - /** fetch data from the table: "User" using primary key columns */ - userByPk?: Maybe; - /** fetch aggregated fields from the table: "UserType" */ - userTypeAggregate: UserType_Aggregate; - /** fetch data from the table: "UserType" using primary key columns */ - userTypeByPk?: Maybe; - /** fetch data from the table: "UserType" */ - userTypes: Array; - /** An array relationship */ - users: Array; - /** fetch aggregated fields from the table: "VerificationToken" */ - verificationTokenAggregate: VerificationToken_Aggregate; - /** fetch data from the table: "VerificationToken" using primary key columns */ - verificationTokenByPk?: Maybe; - /** fetch data from the table: "VerificationToken" */ - verificationTokens: Array; -}; - -export type Subscription_RootNotificationTypeArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootNotificationType_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootNotificationType_By_PkArgs = { - value: Scalars['String']; -}; - -export type Subscription_RootAccountAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootAccountByPkArgs = { - id: Scalars['uuid']; -}; - -export type Subscription_RootAccountsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootCommentAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootCommentByPkArgs = { - id: Scalars['uuid']; -}; - -export type Subscription_RootCommentsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootLikeAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootLikeByPkArgs = { - id: Scalars['uuid']; -}; - -export type Subscription_RootLikesArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootMemberAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootMemberByPkArgs = { - id: Scalars['uuid']; -}; - -export type Subscription_RootMembersArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootNotificationMessagesArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootNotificationMessagesAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootNotificationMessagesByPkArgs = { - id: Scalars['uuid']; -}; - -export type Subscription_RootNotificationSubscriptionAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootNotificationSubscriptionByPkArgs = { - id: Scalars['uuid']; -}; - -export type Subscription_RootNotificationSubscriptionsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootPageAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootPageByPkArgs = { - id: Scalars['uuid']; -}; - -export type Subscription_RootPagesArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootProjectAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootProjectByPkArgs = { - id: Scalars['uuid']; -}; - -export type Subscription_RootProjectsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootRoleAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootRoleByPkArgs = { - value: Scalars['String']; -}; - -export type Subscription_RootRolesArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootSessionAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootSessionByPkArgs = { - id: Scalars['uuid']; -}; - -export type Subscription_RootSessionsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootTeamAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootTeamByPkArgs = { - id: Scalars['uuid']; -}; - -export type Subscription_RootTeamsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootUserAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootUserByPkArgs = { - id: Scalars['uuid']; -}; - -export type Subscription_RootUserTypeAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootUserTypeByPkArgs = { - value: Scalars['String']; -}; - -export type Subscription_RootUserTypesArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootUsersArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootVerificationTokenAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootVerificationTokenByPkArgs = { - id: Scalars['uuid']; -}; - -export type Subscription_RootVerificationTokensArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** Boolean expression to compare columns of type "timestamptz". All fields are combined with logical 'AND'. */ -export type Timestamptz_Comparison_Exp = { - _eq?: InputMaybe; - _gt?: InputMaybe; - _gte?: InputMaybe; - _in?: InputMaybe>; - _is_null?: InputMaybe; - _lt?: InputMaybe; - _lte?: InputMaybe; - _neq?: InputMaybe; - _nin?: InputMaybe>; -}; - -/** Boolean expression to compare columns of type "uuid". All fields are combined with logical 'AND'. */ -export type Uuid_Comparison_Exp = { - _eq?: InputMaybe; - _gt?: InputMaybe; - _gte?: InputMaybe; - _in?: InputMaybe>; - _is_null?: InputMaybe; - _lt?: InputMaybe; - _lte?: InputMaybe; - _neq?: InputMaybe; - _nin?: InputMaybe>; -}; diff --git a/packages/graphql/src/backend/generated/user.tsx b/packages/graphql/src/backend/generated/user.tsx deleted file mode 100644 index 34705f2df..000000000 --- a/packages/graphql/src/backend/generated/user.tsx +++ /dev/null @@ -1,1310 +0,0 @@ -import * as Types from './types'; - -import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core'; -export type AdapterUserFragment = { - __typename?: 'User'; - id: string; - name?: string | null; - username?: string | null; - image?: string | null; - email?: string | null; - emailVerified?: string | null; - type?: Types.UserType_Enum | null; - bio?: string | null; - website?: string | null; - twitterUserName?: string | null; -}; - -export type UpdateUserByPkMutationVariables = Types.Exact<{ - id: Types.Scalars['uuid']; - username?: Types.InputMaybe; - bio?: Types.InputMaybe; - website?: Types.InputMaybe; - twitterUserName?: Types.InputMaybe; -}>; - -export type UpdateUserByPkMutation = { - __typename?: 'mutation_root'; - updateUserByPk?: { __typename?: 'User'; id: string } | null; -}; - -export type UserBeforeUpdateQueryVariables = Types.Exact<{ - id: Types.Scalars['uuid']; -}>; - -export type UserBeforeUpdateQuery = { - __typename?: 'query_root'; - userByPk?: { - __typename?: 'User'; - username?: string | null; - bio?: string | null; - website?: string | null; - twitterUserName?: string | null; - } | null; -}; - -export type UpdateUserProfileByPkMutationVariables = Types.Exact<{ - id: Types.Scalars['uuid']; - email?: Types.InputMaybe; - name?: Types.InputMaybe; - image?: Types.InputMaybe; - emailVerified?: Types.InputMaybe; -}>; - -export type UpdateUserProfileByPkMutation = { - __typename?: 'mutation_root'; - updateUserByPk?: { - __typename?: 'User'; - id: string; - name?: string | null; - username?: string | null; - image?: string | null; - email?: string | null; - emailVerified?: string | null; - type?: Types.UserType_Enum | null; - bio?: string | null; - website?: string | null; - twitterUserName?: string | null; - } | null; -}; - -export type UserByPkBeforeUpdateQueryVariables = Types.Exact<{ - id: Types.Scalars['uuid']; -}>; - -export type UserByPkBeforeUpdateQuery = { - __typename?: 'query_root'; - userByPk?: { - __typename?: 'User'; - id: string; - email?: string | null; - name?: string | null; - username?: string | null; - image?: string | null; - emailVerified?: string | null; - } | null; -}; - -export type UpdateUserProfileByEmailMutationVariables = Types.Exact<{ - email: Types.Scalars['String']; - name?: Types.InputMaybe; - image?: Types.InputMaybe; - emailVerified?: Types.InputMaybe; -}>; - -export type UpdateUserProfileByEmailMutation = { - __typename?: 'mutation_root'; - updateUsers?: { - __typename?: 'User_mutation_response'; - returning: Array<{ - __typename?: 'User'; - id: string; - name?: string | null; - username?: string | null; - image?: string | null; - email?: string | null; - emailVerified?: string | null; - type?: Types.UserType_Enum | null; - bio?: string | null; - website?: string | null; - twitterUserName?: string | null; - }>; - } | null; -}; - -export type UserByEmailBeforeUpdateQueryVariables = Types.Exact<{ - email: Types.Scalars['String']; -}>; - -export type UserByEmailBeforeUpdateQuery = { - __typename?: 'query_root'; - users: Array<{ - __typename?: 'User'; - id: string; - name?: string | null; - username?: string | null; - email?: string | null; - image?: string | null; - emailVerified?: string | null; - }>; -}; - -export type UserByPkQueryVariables = Types.Exact<{ - id: Types.Scalars['uuid']; -}>; - -export type UserByPkQuery = { - __typename?: 'query_root'; - userByPk?: { - __typename?: 'User'; - id: string; - email?: string | null; - username?: string | null; - type?: Types.UserType_Enum | null; - image?: string | null; - name?: string | null; - emailVerified?: string | null; - updatedAt: string; - createdAt: string; - } | null; -}; - -export type UserByEmailQueryVariables = Types.Exact<{ - email: Types.Scalars['String']; -}>; - -export type UserByEmailQuery = { - __typename?: 'query_root'; - users: Array<{ - __typename?: 'User'; - id: string; - name?: string | null; - username?: string | null; - image?: string | null; - email?: string | null; - emailVerified?: string | null; - type?: Types.UserType_Enum | null; - bio?: string | null; - website?: string | null; - twitterUserName?: string | null; - }>; -}; - -export type UserByAccountQueryVariables = Types.Exact<{ - provider: Types.Scalars['String']; - providerAccountId: Types.Scalars['String']; -}>; - -export type UserByAccountQuery = { - __typename?: 'query_root'; - users: Array<{ - __typename?: 'User'; - id: string; - name?: string | null; - username?: string | null; - image?: string | null; - email?: string | null; - emailVerified?: string | null; - type?: Types.UserType_Enum | null; - bio?: string | null; - website?: string | null; - twitterUserName?: string | null; - }>; -}; - -export type AllUsersQueryVariables = Types.Exact<{ [key: string]: never }>; - -export type AllUsersQuery = { - __typename?: 'query_root'; - users: Array<{ __typename?: 'User'; username?: string | null }>; -}; - -export type DeleteUserMutationVariables = Types.Exact<{ - id: Types.Scalars['uuid']; -}>; - -export type DeleteUserMutation = { - __typename?: 'mutation_root'; - deleteUserByPk?: { __typename?: 'User'; id: string } | null; -}; - -export type CreateUserMutationVariables = Types.Exact<{ - name?: Types.InputMaybe; - username?: Types.InputMaybe; - email?: Types.InputMaybe; - emailVerified?: Types.InputMaybe; - image?: Types.InputMaybe; - type?: Types.InputMaybe; -}>; - -export type CreateUserMutation = { - __typename?: 'mutation_root'; - insertOneUser?: { - __typename?: 'User'; - id: string; - name?: string | null; - username?: string | null; - image?: string | null; - email?: string | null; - emailVerified?: string | null; - type?: Types.UserType_Enum | null; - bio?: string | null; - website?: string | null; - twitterUserName?: string | null; - } | null; -}; - -export const AdapterUserFragmentDoc = { - kind: 'Document', - definitions: [ - { - kind: 'FragmentDefinition', - name: { kind: 'Name', value: 'adapterUser' }, - typeCondition: { - kind: 'NamedType', - name: { kind: 'Name', value: 'User' }, - }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { kind: 'Field', name: { kind: 'Name', value: 'name' } }, - { kind: 'Field', name: { kind: 'Name', value: 'username' } }, - { kind: 'Field', name: { kind: 'Name', value: 'image' } }, - { kind: 'Field', name: { kind: 'Name', value: 'email' } }, - { kind: 'Field', name: { kind: 'Name', value: 'emailVerified' } }, - { kind: 'Field', name: { kind: 'Name', value: 'type' } }, - { kind: 'Field', name: { kind: 'Name', value: 'bio' } }, - { kind: 'Field', name: { kind: 'Name', value: 'website' } }, - { kind: 'Field', name: { kind: 'Name', value: 'twitterUserName' } }, - ], - }, - }, - ], -} as unknown as DocumentNode; -export const UpdateUserByPkDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'mutation', - name: { kind: 'Name', value: 'updateUserByPk' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { kind: 'Variable', name: { kind: 'Name', value: 'id' } }, - type: { - kind: 'NonNullType', - type: { kind: 'NamedType', name: { kind: 'Name', value: 'uuid' } }, - }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'username' }, - }, - type: { kind: 'NamedType', name: { kind: 'Name', value: 'String' } }, - }, - { - kind: 'VariableDefinition', - variable: { kind: 'Variable', name: { kind: 'Name', value: 'bio' } }, - type: { kind: 'NamedType', name: { kind: 'Name', value: 'String' } }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'website' }, - }, - type: { kind: 'NamedType', name: { kind: 'Name', value: 'String' } }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'twitterUserName' }, - }, - type: { kind: 'NamedType', name: { kind: 'Name', value: 'String' } }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'updateUserByPk' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'pk_columns' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'id' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'id' }, - }, - }, - ], - }, - }, - { - kind: 'Argument', - name: { kind: 'Name', value: '_set' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'username' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'username' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'bio' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'bio' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'website' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'website' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'twitterUserName' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'twitterUserName' }, - }, - }, - ], - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode< - UpdateUserByPkMutation, - UpdateUserByPkMutationVariables ->; -export const UserBeforeUpdateDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'query', - name: { kind: 'Name', value: 'userBeforeUpdate' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { kind: 'Variable', name: { kind: 'Name', value: 'id' } }, - type: { - kind: 'NonNullType', - type: { kind: 'NamedType', name: { kind: 'Name', value: 'uuid' } }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'userByPk' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'id' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'id' }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'username' } }, - { kind: 'Field', name: { kind: 'Name', value: 'bio' } }, - { kind: 'Field', name: { kind: 'Name', value: 'website' } }, - { - kind: 'Field', - name: { kind: 'Name', value: 'twitterUserName' }, - }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode< - UserBeforeUpdateQuery, - UserBeforeUpdateQueryVariables ->; -export const UpdateUserProfileByPkDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'mutation', - name: { kind: 'Name', value: 'updateUserProfileByPk' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { kind: 'Variable', name: { kind: 'Name', value: 'id' } }, - type: { - kind: 'NonNullType', - type: { kind: 'NamedType', name: { kind: 'Name', value: 'uuid' } }, - }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'email' }, - }, - type: { kind: 'NamedType', name: { kind: 'Name', value: 'String' } }, - }, - { - kind: 'VariableDefinition', - variable: { kind: 'Variable', name: { kind: 'Name', value: 'name' } }, - type: { kind: 'NamedType', name: { kind: 'Name', value: 'String' } }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'image' }, - }, - type: { kind: 'NamedType', name: { kind: 'Name', value: 'String' } }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'emailVerified' }, - }, - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'timestamptz' }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'updateUserByPk' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'pk_columns' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'id' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'id' }, - }, - }, - ], - }, - }, - { - kind: 'Argument', - name: { kind: 'Name', value: '_set' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'name' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'name' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'email' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'email' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'image' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'image' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'emailVerified' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'emailVerified' }, - }, - }, - ], - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'FragmentSpread', - name: { kind: 'Name', value: 'adapterUser' }, - }, - ], - }, - }, - ], - }, - }, - ...AdapterUserFragmentDoc.definitions, - ], -} as unknown as DocumentNode< - UpdateUserProfileByPkMutation, - UpdateUserProfileByPkMutationVariables ->; -export const UserByPkBeforeUpdateDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'query', - name: { kind: 'Name', value: 'userByPkBeforeUpdate' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { kind: 'Variable', name: { kind: 'Name', value: 'id' } }, - type: { - kind: 'NonNullType', - type: { kind: 'NamedType', name: { kind: 'Name', value: 'uuid' } }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'userByPk' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'id' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'id' }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { kind: 'Field', name: { kind: 'Name', value: 'email' } }, - { kind: 'Field', name: { kind: 'Name', value: 'name' } }, - { kind: 'Field', name: { kind: 'Name', value: 'username' } }, - { kind: 'Field', name: { kind: 'Name', value: 'image' } }, - { - kind: 'Field', - name: { kind: 'Name', value: 'emailVerified' }, - }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode< - UserByPkBeforeUpdateQuery, - UserByPkBeforeUpdateQueryVariables ->; -export const UpdateUserProfileByEmailDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'mutation', - name: { kind: 'Name', value: 'updateUserProfileByEmail' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'email' }, - }, - type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'String' }, - }, - }, - }, - { - kind: 'VariableDefinition', - variable: { kind: 'Variable', name: { kind: 'Name', value: 'name' } }, - type: { kind: 'NamedType', name: { kind: 'Name', value: 'String' } }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'image' }, - }, - type: { kind: 'NamedType', name: { kind: 'Name', value: 'String' } }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'emailVerified' }, - }, - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'timestamptz' }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'updateUsers' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'where' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'email' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: '_eq' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'email' }, - }, - }, - ], - }, - }, - ], - }, - }, - { - kind: 'Argument', - name: { kind: 'Name', value: '_set' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'name' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'name' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'image' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'image' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'emailVerified' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'emailVerified' }, - }, - }, - ], - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'returning' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'FragmentSpread', - name: { kind: 'Name', value: 'adapterUser' }, - }, - ], - }, - }, - ], - }, - }, - ], - }, - }, - ...AdapterUserFragmentDoc.definitions, - ], -} as unknown as DocumentNode< - UpdateUserProfileByEmailMutation, - UpdateUserProfileByEmailMutationVariables ->; -export const UserByEmailBeforeUpdateDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'query', - name: { kind: 'Name', value: 'userByEmailBeforeUpdate' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'email' }, - }, - type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'String' }, - }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'users' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'where' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'email' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: '_eq' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'email' }, - }, - }, - ], - }, - }, - ], - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { kind: 'Field', name: { kind: 'Name', value: 'name' } }, - { kind: 'Field', name: { kind: 'Name', value: 'username' } }, - { kind: 'Field', name: { kind: 'Name', value: 'email' } }, - { kind: 'Field', name: { kind: 'Name', value: 'image' } }, - { - kind: 'Field', - name: { kind: 'Name', value: 'emailVerified' }, - }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode< - UserByEmailBeforeUpdateQuery, - UserByEmailBeforeUpdateQueryVariables ->; -export const UserByPkDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'query', - name: { kind: 'Name', value: 'userByPk' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { kind: 'Variable', name: { kind: 'Name', value: 'id' } }, - type: { - kind: 'NonNullType', - type: { kind: 'NamedType', name: { kind: 'Name', value: 'uuid' } }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'userByPk' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'id' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'id' }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { kind: 'Field', name: { kind: 'Name', value: 'email' } }, - { kind: 'Field', name: { kind: 'Name', value: 'username' } }, - { kind: 'Field', name: { kind: 'Name', value: 'type' } }, - { kind: 'Field', name: { kind: 'Name', value: 'image' } }, - { kind: 'Field', name: { kind: 'Name', value: 'name' } }, - { - kind: 'Field', - name: { kind: 'Name', value: 'emailVerified' }, - }, - { kind: 'Field', name: { kind: 'Name', value: 'updatedAt' } }, - { kind: 'Field', name: { kind: 'Name', value: 'createdAt' } }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode; -export const UserByEmailDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'query', - name: { kind: 'Name', value: 'userByEmail' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'email' }, - }, - type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'String' }, - }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'users' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'where' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'email' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: '_eq' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'email' }, - }, - }, - ], - }, - }, - ], - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'FragmentSpread', - name: { kind: 'Name', value: 'adapterUser' }, - }, - ], - }, - }, - ], - }, - }, - ...AdapterUserFragmentDoc.definitions, - ], -} as unknown as DocumentNode; -export const UserByAccountDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'query', - name: { kind: 'Name', value: 'userByAccount' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'provider' }, - }, - type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'String' }, - }, - }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'providerAccountId' }, - }, - type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'String' }, - }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'users' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'where' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'accounts' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'provider' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: '_eq' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'provider' }, - }, - }, - ], - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'providerAccountId' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: '_eq' }, - value: { - kind: 'Variable', - name: { - kind: 'Name', - value: 'providerAccountId', - }, - }, - }, - ], - }, - }, - ], - }, - }, - ], - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'FragmentSpread', - name: { kind: 'Name', value: 'adapterUser' }, - }, - ], - }, - }, - ], - }, - }, - ...AdapterUserFragmentDoc.definitions, - ], -} as unknown as DocumentNode; -export const AllUsersDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'query', - name: { kind: 'Name', value: 'allUsers' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'users' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'username' } }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode; -export const DeleteUserDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'mutation', - name: { kind: 'Name', value: 'deleteUser' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { kind: 'Variable', name: { kind: 'Name', value: 'id' } }, - type: { - kind: 'NonNullType', - type: { kind: 'NamedType', name: { kind: 'Name', value: 'uuid' } }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'deleteUserByPk' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'id' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'id' }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode; -export const CreateUserDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'mutation', - name: { kind: 'Name', value: 'createUser' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { kind: 'Variable', name: { kind: 'Name', value: 'name' } }, - type: { kind: 'NamedType', name: { kind: 'Name', value: 'String' } }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'username' }, - }, - type: { kind: 'NamedType', name: { kind: 'Name', value: 'String' } }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'email' }, - }, - type: { kind: 'NamedType', name: { kind: 'Name', value: 'String' } }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'emailVerified' }, - }, - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'timestamptz' }, - }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'image' }, - }, - type: { kind: 'NamedType', name: { kind: 'Name', value: 'String' } }, - }, - { - kind: 'VariableDefinition', - variable: { kind: 'Variable', name: { kind: 'Name', value: 'type' } }, - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'UserType_enum' }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'insertOneUser' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'object' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'name' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'name' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'username' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'username' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'email' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'email' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'emailVerified' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'emailVerified' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'image' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'image' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'type' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'type' }, - }, - }, - ], - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'FragmentSpread', - name: { kind: 'Name', value: 'adapterUser' }, - }, - ], - }, - }, - ], - }, - }, - ...AdapterUserFragmentDoc.definitions, - ], -} as unknown as DocumentNode; diff --git a/packages/graphql/src/backend/generated/verification-token.tsx b/packages/graphql/src/backend/generated/verification-token.tsx deleted file mode 100644 index a05ce6dd3..000000000 --- a/packages/graphql/src/backend/generated/verification-token.tsx +++ /dev/null @@ -1,275 +0,0 @@ -import * as Types from './types'; - -import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core'; -export type InsertOneVerificationTokenMutationVariables = Types.Exact<{ - identifier: Types.Scalars['String']; - token: Types.Scalars['String']; - expires: Types.Scalars['timestamptz']; -}>; - -export type InsertOneVerificationTokenMutation = { - __typename?: 'mutation_root'; - insertOneVerificationToken?: { - __typename?: 'VerificationToken'; - id: string; - identifier: string; - token: string; - expires: string; - } | null; -}; - -export type DeleteVerificationTokenMutationVariables = Types.Exact<{ - identifier: Types.Scalars['String']; - token: Types.Scalars['String']; -}>; - -export type DeleteVerificationTokenMutation = { - __typename?: 'mutation_root'; - deleteVerificationTokens?: { - __typename?: 'VerificationToken_mutation_response'; - affected_rows: number; - returning: Array<{ - __typename?: 'VerificationToken'; - id: string; - identifier: string; - token: string; - expires: string; - }>; - } | null; -}; - -export const InsertOneVerificationTokenDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'mutation', - name: { kind: 'Name', value: 'insertOneVerificationToken' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'identifier' }, - }, - type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'String' }, - }, - }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'token' }, - }, - type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'String' }, - }, - }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'expires' }, - }, - type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'timestamptz' }, - }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'insertOneVerificationToken' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'object' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'identifier' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'identifier' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'token' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'token' }, - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'expires' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'expires' }, - }, - }, - ], - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { kind: 'Field', name: { kind: 'Name', value: 'identifier' } }, - { kind: 'Field', name: { kind: 'Name', value: 'token' } }, - { kind: 'Field', name: { kind: 'Name', value: 'expires' } }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode< - InsertOneVerificationTokenMutation, - InsertOneVerificationTokenMutationVariables ->; -export const DeleteVerificationTokenDocument = { - kind: 'Document', - definitions: [ - { - kind: 'OperationDefinition', - operation: 'mutation', - name: { kind: 'Name', value: 'deleteVerificationToken' }, - variableDefinitions: [ - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'identifier' }, - }, - type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'String' }, - }, - }, - }, - { - kind: 'VariableDefinition', - variable: { - kind: 'Variable', - name: { kind: 'Name', value: 'token' }, - }, - type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'String' }, - }, - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'deleteVerificationTokens' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'where' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'identifier' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: '_eq' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'identifier' }, - }, - }, - ], - }, - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'token' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: '_eq' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'token' }, - }, - }, - ], - }, - }, - ], - }, - }, - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'returning' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { - kind: 'Field', - name: { kind: 'Name', value: 'identifier' }, - }, - { kind: 'Field', name: { kind: 'Name', value: 'token' } }, - { - kind: 'Field', - name: { kind: 'Name', value: 'expires' }, - }, - ], - }, - }, - { - kind: 'Field', - name: { kind: 'Name', value: 'affected_rows' }, - }, - ], - }, - }, - ], - }, - }, - ], -} as unknown as DocumentNode< - DeleteVerificationTokenMutation, - DeleteVerificationTokenMutationVariables ->; diff --git a/packages/graphql/src/backend/index.ts b/packages/graphql/src/backend/index.ts deleted file mode 100644 index 55b0bdb49..000000000 --- a/packages/graphql/src/backend/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -export * from './generated/account'; -export * from './generated/comment'; -export * from './generated/like'; -export * from './generated/notification'; -export * from './generated/page'; -export * from './generated/project'; -export * from './generated/session'; -export * from './generated/user'; -export * from './generated/verification-token'; diff --git a/packages/graphql/src/backend/like.graphql b/packages/graphql/src/backend/like.graphql deleted file mode 100644 index e50c01747..000000000 --- a/packages/graphql/src/backend/like.graphql +++ /dev/null @@ -1,19 +0,0 @@ -# Find the the recipient from a like id -query recipientByLikeId($likeId: uuid!) { - likeByPk(id: $likeId) { - comment { - page { - id - url - } - recipient: user { - id - name - } - } - triggeredBy: user { - id - name - } - } -} diff --git a/packages/graphql/src/backend/notification.graphql b/packages/graphql/src/backend/notification.graphql deleted file mode 100644 index 37663c9a2..000000000 --- a/packages/graphql/src/backend/notification.graphql +++ /dev/null @@ -1,66 +0,0 @@ -mutation insertOneNotificationSubscription( - $userId: uuid! - $subscription: jsonb! -) { - insertOneNotificationSubscription( - object: { userId: $userId, subscription: $subscription } - ) { - id - } -} - -query notificationSubscriptionsByUserId($userId: uuid!) { - notificationSubscriptions(where: { userId: { _eq: $userId } }) { - id - subscription - } -} - -mutation deleteNotificationSubscriptionByPk($id: uuid!) { - deleteNotificationSubscriptionByPk(id: $id) { - id - } -} - -mutation insertOneNotificationMessage( - $recipientId: uuid! - $type: NotificationType_enum! - $triggeredById: uuid! - $contextId: uuid! - $url: String! - $content: String -) { - insertOneNotificationMessage( - object: { - recipientId: $recipientId - triggeredById: $triggeredById - type: $type - url: $url - contextId: $contextId - content: $content - read: false - } - ) { - id - } -} - -# Unique keys to delete a specific notification message -# See unique keys of NotificationMessage table -mutation deleteNotificationMessage( - $recipientId: uuid! - $type: NotificationType_enum! - $triggeredById: uuid! - $contextId: uuid! -) { - deleteNotificationMessages( - where: { - recipientId: { _eq: $recipientId } - triggeredById: { _eq: $triggeredById } - type: { _eq: $type } - contextId: { _eq: $contextId } - } - ) { - affected_rows - } -} diff --git a/packages/graphql/src/backend/page.graphql b/packages/graphql/src/backend/page.graphql deleted file mode 100644 index d719669a4..000000000 --- a/packages/graphql/src/backend/page.graphql +++ /dev/null @@ -1,65 +0,0 @@ -# TODO: Merge with `pageByUrlOnly` -query pageByURL($url: String!, $projectId: uuid!) { - pages( - limit: 1 - where: { url: { _eq: $url }, projectId: { _eq: $projectId } } - ) { - id - url - title - project { - domain - } - } -} - -mutation insertOnePage($projectId: uuid!, $title: String!, $url: String!) { - insertOnePage(object: { projectId: $projectId, title: $title, url: $url }) { - id - url - title - project { - domain - } - } -} - -mutation updatePages($projectId: uuid!, $title: String!, $url: String!) { - updatePages( - where: { url: { _eq: $url }, projectId: { _eq: $projectId } } - # Make sure all fields are filled if we add more fields here - _set: { title: $title } - ) { - returning { - id - } - affected_rows - } -} - -# Used in pages/widget/comment/[pageURL].tsx -query freshPages($limit: Int!) { - pages(order_by: { createdAt: desc }, limit: $limit) { - id - url - createdAt - } -} - -query pageByUrlOnly($url: String!) { - pages(limit: 1, where: { url: { _eq: $url } }) { - id - url - } -} - -query themeOfPage($pageId: uuid!) { - pageByPk(id: $pageId) { - id - url - project { - id - theme - } - } -} diff --git a/packages/graphql/src/backend/project.graphql b/packages/graphql/src/backend/project.graphql deleted file mode 100644 index df78a9a7c..000000000 --- a/packages/graphql/src/backend/project.graphql +++ /dev/null @@ -1,54 +0,0 @@ -query allProjects { - projects { - id - domain - } -} - -query themeProjectByPk($domain: String!) { - projects(where: { domain: { _eq: $domain } }) { - id - name - theme - domain - } -} - -query projectByPk($id: uuid!) { - projectByPk(id: $id) { - id - } -} - -# Get all page URLs of a project -query pageURLsOfProject($id: uuid!) { - projectByPk(id: $id) { - id - pages { - id - url - } - } -} - -query userProjects($userId: uuid!) { - projects(where: { userId: { _eq: $userId } }) { - id - } - userByPk(id: $userId) { - id - email - username - image - name - } -} - -query projectByDomain($domain: String!) { - projects(where: { domain: { _eq: $domain } }) { - id - name - domain - createdAt - } -} diff --git a/packages/graphql/src/backend/session.graphql b/packages/graphql/src/backend/session.graphql deleted file mode 100644 index 646cfe3a6..000000000 --- a/packages/graphql/src/backend/session.graphql +++ /dev/null @@ -1,60 +0,0 @@ -mutation createSession( - $userId: uuid - $sessionToken: String! - $expires: timestamptz! -) { - insertOneSession( - object: { userId: $userId, sessionToken: $sessionToken, expires: $expires } - ) { - id - expires - sessionToken - userId - } -} - -query sessionAndUser($sessionToken: String!) { - sessions(where: { sessionToken: { _eq: $sessionToken } }) { - id - expires - sessionToken - userId - user { - id - name - username - image - email - emailVerified - } - } -} - -mutation updateSession( - $sessionToken: String! - $userId: uuid! - $expires: timestamptz! -) { - updateSessions( - where: { sessionToken: { _eq: $sessionToken } } - _set: { userId: $userId, expires: $expires } - ) { - returning { - id - expires - sessionToken - userId - } - } -} - -mutation deleteSession($sessionToken: String!) { - deleteSessions(where: { sessionToken: { _eq: $sessionToken } }) { - returning { - id - expires - sessionToken - userId - } - } -} diff --git a/packages/graphql/src/backend/user.graphql b/packages/graphql/src/backend/user.graphql deleted file mode 100644 index f366dfe19..000000000 --- a/packages/graphql/src/backend/user.graphql +++ /dev/null @@ -1,171 +0,0 @@ -fragment adapterUser on User { - id - name - username - image - email - emailVerified - type - bio - website - twitterUserName -} - -# Use it with userBeforeUpdate -mutation updateUserByPk( - $id: uuid! - $username: String - $bio: String - $website: String - $twitterUserName: String -) { - updateUserByPk( - pk_columns: { id: $id } - _set: { - username: $username - bio: $bio - website: $website - twitterUserName: $twitterUserName - } - ) { - id - } -} - -query userBeforeUpdate($id: uuid!) { - userByPk(id: $id) { - username - bio - website - twitterUserName - } -} - -# Use it with userByPkBeforeUpdate -mutation updateUserProfileByPk( - $id: uuid! - $email: String - $name: String - $image: String - $emailVerified: timestamptz -) { - updateUserByPk( - pk_columns: { id: $id } - _set: { - name: $name - email: $email - image: $image - emailVerified: $emailVerified - } - ) { - ...adapterUser - } -} - -# We must fill the existing user fields before updating it -# as hasura will set it to null if there are missing fields -query userByPkBeforeUpdate($id: uuid!) { - userByPk(id: $id) { - id - email - name - username - image - emailVerified - } -} - -# Use it with userByEmailBeforeUpdate -mutation updateUserProfileByEmail( - $email: String! - $name: String - $image: String - $emailVerified: timestamptz -) { - updateUsers( - where: { email: { _eq: $email } } - _set: { name: $name, image: $image, emailVerified: $emailVerified } - ) { - returning { - ...adapterUser - } - } -} - -query userByEmailBeforeUpdate($email: String!) { - users(where: { email: { _eq: $email } }) { - id - name - username - email - image - emailVerified - } -} - -query userByPk($id: uuid!) { - userByPk(id: $id) { - id - email - username - type - image - name - emailVerified - updatedAt - createdAt - } -} - -query userByEmail($email: String!) { - users(where: { email: { _eq: $email } }) { - ...adapterUser - } -} - -query userByAccount($provider: String!, $providerAccountId: String!) { - users( - where: { - accounts: { - provider: { _eq: $provider } - providerAccountId: { _eq: $providerAccountId } - } - } - ) { - ...adapterUser - } -} - -query allUsers { - users { - username - } -} - -mutation deleteUser($id: uuid!) { - deleteUserByPk(id: $id) { - id - } -} - -mutation createUser( - $name: String - $username: String - $email: String - $emailVerified: timestamptz - $image: String - $type: UserType_enum -) { - insertOneUser( - object: { - name: $name - username: $username - email: $email - emailVerified: $emailVerified - image: $image - type: $type - } - ) { - ...adapterUser - } -} diff --git a/packages/graphql/src/backend/verification-token.graphql b/packages/graphql/src/backend/verification-token.graphql deleted file mode 100644 index c039fb12d..000000000 --- a/packages/graphql/src/backend/verification-token.graphql +++ /dev/null @@ -1,28 +0,0 @@ -mutation insertOneVerificationToken( - $identifier: String! - $token: String! - $expires: timestamptz! -) { - insertOneVerificationToken( - object: { identifier: $identifier, token: $token, expires: $expires } - ) { - id - identifier - token - expires - } -} - -mutation deleteVerificationToken($identifier: String!, $token: String!) { - deleteVerificationTokens( - where: { identifier: { _eq: $identifier }, token: { _eq: $token } } - ) { - returning { - id - identifier - token - expires - } - affected_rows - } -} diff --git a/packages/graphql/src/frontend/comment.graphql b/packages/graphql/src/frontend/comment.graphql deleted file mode 100644 index 03e522389..000000000 --- a/packages/graphql/src/frontend/comment.graphql +++ /dev/null @@ -1,77 +0,0 @@ -fragment commentItem on Comment { - id - content - createdAt - deletedAt - parentId - pageId - user { - id - name - username - email - image - } - likes { - id - userId - } -} - -# Used in pages/widget/comment/[pageId].tsx -subscription commentTree($pageURL: String!) { - comments( - where: { page: { url: { _eq: $pageURL } }, parentId: { _is_null: true } } - order_by: { likes_aggregate: { count: desc }, createdAt: asc } - ) { - ...commentItem - replies(order_by: { likes_aggregate: { count: desc }, createdAt: asc }) { - ...commentItem - replies(order_by: { likes_aggregate: { count: desc }, createdAt: asc }) { - ...commentItem - replies( - order_by: { likes_aggregate: { count: desc }, createdAt: asc } - ) { - ...commentItem - } - } - } - } -} - -# Query ancestors and children -subscription commentTimeline($id: uuid!) { - commentByPk(id: $id) { - ...commentItem - replies(order_by: { likes_aggregate: { count: desc }, createdAt: asc }) { - ...commentItem - } - parent { - ...commentItem - parent { - ...commentItem - parent { - ...commentItem - } - } - } - } -} - -mutation insertOneComment($content: jsonb!, $parentId: uuid, $pageId: uuid!) { - insertOneComment( - object: { content: $content, parentId: $parentId, pageId: $pageId } - ) { - id - } -} - -mutation deleteOneComment($id: uuid!) { - updateCommentByPk( - pk_columns: { id: $id } - # Make sure all fields are filled if we add more fields here - _set: { deletedAt: "now()" } - ) { - id - } -} diff --git a/packages/graphql/src/frontend/generated/comment.tsx b/packages/graphql/src/frontend/generated/comment.tsx deleted file mode 100644 index 20e1c92d6..000000000 --- a/packages/graphql/src/frontend/generated/comment.tsx +++ /dev/null @@ -1,348 +0,0 @@ -import * as Types from './types'; - -import gql from 'graphql-tag'; -import * as Urql from 'urql'; -export type Omit = Pick>; -export type CommentItemFragment = { - __typename?: 'Comment'; - id: string; - content: any; - createdAt: string; - deletedAt?: string | null; - parentId?: string | null; - pageId: string; - user: { - __typename?: 'User'; - id: string; - name?: string | null; - username?: string | null; - email?: string | null; - image?: string | null; - }; - likes: Array<{ __typename?: 'Like'; id: string; userId: string }>; -}; - -export type CommentTreeSubscriptionVariables = Types.Exact<{ - pageURL: Types.Scalars['String']; - orderBy?: Types.InputMaybe; -}>; - -export type CommentTreeSubscription = { - __typename?: 'subscription_root'; - comments: Array<{ - __typename?: 'Comment'; - id: string; - content: any; - createdAt: string; - deletedAt?: string | null; - parentId?: string | null; - pageId: string; - replies: Array<{ - __typename?: 'Comment'; - id: string; - content: any; - createdAt: string; - deletedAt?: string | null; - parentId?: string | null; - pageId: string; - replies: Array<{ - __typename?: 'Comment'; - id: string; - content: any; - createdAt: string; - deletedAt?: string | null; - parentId?: string | null; - pageId: string; - replies: Array<{ - __typename?: 'Comment'; - id: string; - content: any; - createdAt: string; - deletedAt?: string | null; - parentId?: string | null; - pageId: string; - user: { - __typename?: 'User'; - id: string; - name?: string | null; - username?: string | null; - email?: string | null; - image?: string | null; - }; - likes: Array<{ __typename?: 'Like'; id: string; userId: string }>; - }>; - user: { - __typename?: 'User'; - id: string; - name?: string | null; - username?: string | null; - email?: string | null; - image?: string | null; - }; - likes: Array<{ __typename?: 'Like'; id: string; userId: string }>; - }>; - user: { - __typename?: 'User'; - id: string; - name?: string | null; - username?: string | null; - email?: string | null; - image?: string | null; - }; - likes: Array<{ __typename?: 'Like'; id: string; userId: string }>; - }>; - user: { - __typename?: 'User'; - id: string; - name?: string | null; - username?: string | null; - email?: string | null; - image?: string | null; - }; - likes: Array<{ __typename?: 'Like'; id: string; userId: string }>; - }>; -}; - -export type CommentTimelineSubscriptionVariables = Types.Exact<{ - id: Types.Scalars['uuid']; -}>; - -export type CommentTimelineSubscription = { - __typename?: 'subscription_root'; - commentByPk?: { - __typename?: 'Comment'; - id: string; - content: any; - createdAt: string; - deletedAt?: string | null; - parentId?: string | null; - pageId: string; - replies: Array<{ - __typename?: 'Comment'; - id: string; - content: any; - createdAt: string; - deletedAt?: string | null; - parentId?: string | null; - pageId: string; - user: { - __typename?: 'User'; - id: string; - name?: string | null; - username?: string | null; - email?: string | null; - image?: string | null; - }; - likes: Array<{ __typename?: 'Like'; id: string; userId: string }>; - }>; - parent?: { - __typename?: 'Comment'; - id: string; - content: any; - createdAt: string; - deletedAt?: string | null; - parentId?: string | null; - pageId: string; - parent?: { - __typename?: 'Comment'; - id: string; - content: any; - createdAt: string; - deletedAt?: string | null; - parentId?: string | null; - pageId: string; - parent?: { - __typename?: 'Comment'; - id: string; - content: any; - createdAt: string; - deletedAt?: string | null; - parentId?: string | null; - pageId: string; - user: { - __typename?: 'User'; - id: string; - name?: string | null; - username?: string | null; - email?: string | null; - image?: string | null; - }; - likes: Array<{ __typename?: 'Like'; id: string; userId: string }>; - } | null; - user: { - __typename?: 'User'; - id: string; - name?: string | null; - username?: string | null; - email?: string | null; - image?: string | null; - }; - likes: Array<{ __typename?: 'Like'; id: string; userId: string }>; - } | null; - user: { - __typename?: 'User'; - id: string; - name?: string | null; - username?: string | null; - email?: string | null; - image?: string | null; - }; - likes: Array<{ __typename?: 'Like'; id: string; userId: string }>; - } | null; - user: { - __typename?: 'User'; - id: string; - name?: string | null; - username?: string | null; - email?: string | null; - image?: string | null; - }; - likes: Array<{ __typename?: 'Like'; id: string; userId: string }>; - } | null; -}; - -export type InsertOneCommentMutationVariables = Types.Exact<{ - content: Types.Scalars['jsonb']; - parentId?: Types.InputMaybe; - pageId: Types.Scalars['uuid']; -}>; - -export type InsertOneCommentMutation = { - __typename?: 'mutation_root'; - insertOneComment?: { __typename?: 'Comment'; id: string } | null; -}; - -export type DeleteOneCommentMutationVariables = Types.Exact<{ - id: Types.Scalars['uuid']; -}>; - -export type DeleteOneCommentMutation = { - __typename?: 'mutation_root'; - updateCommentByPk?: { __typename?: 'Comment'; id: string } | null; -}; - -export const CommentItemFragmentDoc = gql` - fragment commentItem on Comment { - id - content - createdAt - deletedAt - parentId - pageId - user { - id - name - username - email - image - } - likes { - id - userId - } - } -`; -export const CommentTreeDocument = gql` - subscription commentTree($pageURL: String!, $orderBy: order_by = asc) { - comments( - where: { page: { url: { _eq: $pageURL } }, parentId: { _is_null: true } } - order_by: { likes_aggregate: { count: desc }, createdAt: $orderBy } - ) { - ...commentItem - replies(order_by: { likes_aggregate: { count: desc }, createdAt: asc }) { - ...commentItem - replies( - order_by: { likes_aggregate: { count: desc }, createdAt: asc } - ) { - ...commentItem - replies( - order_by: { likes_aggregate: { count: desc }, createdAt: asc } - ) { - ...commentItem - } - } - } - } - } - ${CommentItemFragmentDoc} -`; - -export function useCommentTreeSubscription( - options: Omit< - Urql.UseSubscriptionArgs, - 'query' - > = {}, - handler?: Urql.SubscriptionHandler, -) { - return Urql.useSubscription< - CommentTreeSubscription, - TData, - CommentTreeSubscriptionVariables - >({ query: CommentTreeDocument, ...options }, handler); -} -export const CommentTimelineDocument = gql` - subscription commentTimeline($id: uuid!) { - commentByPk(id: $id) { - ...commentItem - replies(order_by: { likes_aggregate: { count: desc }, createdAt: asc }) { - ...commentItem - } - parent { - ...commentItem - parent { - ...commentItem - parent { - ...commentItem - } - } - } - } - } - ${CommentItemFragmentDoc} -`; - -export function useCommentTimelineSubscription< - TData = CommentTimelineSubscription, ->( - options: Omit< - Urql.UseSubscriptionArgs, - 'query' - > = {}, - handler?: Urql.SubscriptionHandler, -) { - return Urql.useSubscription< - CommentTimelineSubscription, - TData, - CommentTimelineSubscriptionVariables - >({ query: CommentTimelineDocument, ...options }, handler); -} -export const InsertOneCommentDocument = gql` - mutation insertOneComment($content: jsonb!, $parentId: uuid, $pageId: uuid!) { - insertOneComment( - object: { content: $content, parentId: $parentId, pageId: $pageId } - ) { - id - } - } -`; - -export function useInsertOneCommentMutation() { - return Urql.useMutation< - InsertOneCommentMutation, - InsertOneCommentMutationVariables - >(InsertOneCommentDocument); -} -export const DeleteOneCommentDocument = gql` - mutation deleteOneComment($id: uuid!) { - updateCommentByPk(pk_columns: { id: $id }, _set: { deletedAt: "now()" }) { - id - } - } -`; - -export function useDeleteOneCommentMutation() { - return Urql.useMutation< - DeleteOneCommentMutation, - DeleteOneCommentMutationVariables - >(DeleteOneCommentDocument); -} diff --git a/packages/graphql/src/frontend/generated/like.tsx b/packages/graphql/src/frontend/generated/like.tsx deleted file mode 100644 index 6c8e8d483..000000000 --- a/packages/graphql/src/frontend/generated/like.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import * as Types from './types'; - -import gql from 'graphql-tag'; -import * as Urql from 'urql'; -export type Omit = Pick>; -export type InsertOneLikeMutationVariables = Types.Exact<{ - commentId: Types.Scalars['uuid']; -}>; - -export type InsertOneLikeMutation = { - __typename?: 'mutation_root'; - insertOneLike?: { __typename?: 'Like'; id: string } | null; -}; - -export type DeleteLikeByPkMutationVariables = Types.Exact<{ - id: Types.Scalars['uuid']; -}>; - -export type DeleteLikeByPkMutation = { - __typename?: 'mutation_root'; - deleteLikeByPk?: { __typename?: 'Like'; id: string } | null; -}; - -export const InsertOneLikeDocument = gql` - mutation insertOneLike($commentId: uuid!) { - insertOneLike(object: { commentId: $commentId }) { - id - } - } -`; - -export function useInsertOneLikeMutation() { - return Urql.useMutation< - InsertOneLikeMutation, - InsertOneLikeMutationVariables - >(InsertOneLikeDocument); -} -export const DeleteLikeByPkDocument = gql` - mutation deleteLikeByPk($id: uuid!) { - deleteLikeByPk(id: $id) { - id - } - } -`; - -export function useDeleteLikeByPkMutation() { - return Urql.useMutation< - DeleteLikeByPkMutation, - DeleteLikeByPkMutationVariables - >(DeleteLikeByPkDocument); -} diff --git a/packages/graphql/src/frontend/generated/notification.tsx b/packages/graphql/src/frontend/generated/notification.tsx deleted file mode 100644 index 98f39b654..000000000 --- a/packages/graphql/src/frontend/generated/notification.tsx +++ /dev/null @@ -1,134 +0,0 @@ -import * as Types from './types'; - -import gql from 'graphql-tag'; -import * as Urql from 'urql'; -export type Omit = Pick>; -export type CurrentNotificationMessagesQueryVariables = Types.Exact<{ - userId: Types.Scalars['uuid']; -}>; - -export type CurrentNotificationMessagesQuery = { - __typename?: 'query_root'; - notificationMessages: Array<{ - __typename?: 'NotificationMessage'; - id: string; - type: Types.NotificationType_Enum; - url: string; - content?: string | null; - read: boolean; - createdAt: string; - recipient: { - __typename?: 'User'; - id: string; - name?: string | null; - username?: string | null; - email?: string | null; - image?: string | null; - }; - triggeredBy: { - __typename?: 'User'; - id: string; - name?: string | null; - username?: string | null; - email?: string | null; - image?: string | null; - }; - }>; -}; - -export type HaveReadANotificationMutationVariables = Types.Exact<{ - messageId: Types.Scalars['uuid']; -}>; - -export type HaveReadANotificationMutation = { - __typename?: 'mutation_root'; - updateNotificationMessageByPk?: { - __typename?: 'NotificationMessage'; - id: string; - } | null; -}; - -export type DeleteNotificationMessageMutationVariables = Types.Exact<{ - messageId: Types.Scalars['uuid']; -}>; - -export type DeleteNotificationMessageMutation = { - __typename?: 'mutation_root'; - deleteNotificationMessageByPk?: { - __typename?: 'NotificationMessage'; - id: string; - } | null; -}; - -export const CurrentNotificationMessagesDocument = gql` - query currentNotificationMessages($userId: uuid!) { - notificationMessages( - where: { recipientId: { _eq: $userId } } - order_by: { createdAt: desc, read: asc } - ) { - id - recipient { - id - name - username - email - image - } - type - url - triggeredBy { - id - name - username - email - image - } - content - read - createdAt - } - } -`; - -export function useCurrentNotificationMessagesQuery( - options: Omit< - Urql.UseQueryArgs, - 'query' - >, -) { - return Urql.useQuery< - CurrentNotificationMessagesQuery, - CurrentNotificationMessagesQueryVariables - >({ query: CurrentNotificationMessagesDocument, ...options }); -} -export const HaveReadANotificationDocument = gql` - mutation haveReadANotification($messageId: uuid!) { - updateNotificationMessageByPk( - pk_columns: { id: $messageId } - _set: { read: true } - ) { - id - } - } -`; - -export function useHaveReadANotificationMutation() { - return Urql.useMutation< - HaveReadANotificationMutation, - HaveReadANotificationMutationVariables - >(HaveReadANotificationDocument); -} -export const DeleteNotificationMessageDocument = gql` - mutation deleteNotificationMessage($messageId: uuid!) { - deleteNotificationMessageByPk(id: $messageId) { - id - } - } -`; - -export function useDeleteNotificationMessageMutation() { - return Urql.useMutation< - DeleteNotificationMessageMutation, - DeleteNotificationMessageMutationVariables - >(DeleteNotificationMessageDocument); -} diff --git a/packages/graphql/src/frontend/generated/page.tsx b/packages/graphql/src/frontend/generated/page.tsx deleted file mode 100644 index af5958c76..000000000 --- a/packages/graphql/src/frontend/generated/page.tsx +++ /dev/null @@ -1,40 +0,0 @@ -import * as Types from './types'; - -import gql from 'graphql-tag'; -import * as Urql from 'urql'; -export type Omit = Pick>; -export type ThemeOfPageQueryVariables = Types.Exact<{ - pageId: Types.Scalars['uuid']; -}>; - -export type ThemeOfPageQuery = { - __typename?: 'query_root'; - pageByPk?: { - __typename?: 'Page'; - id: string; - url: string; - project: { __typename?: 'Project'; id: string; theme?: any | null }; - } | null; -}; - -export const ThemeOfPageDocument = gql` - query themeOfPage($pageId: uuid!) { - pageByPk(id: $pageId) { - id - url - project { - id - theme - } - } - } -`; - -export function useThemeOfPageQuery( - options: Omit, 'query'>, -) { - return Urql.useQuery({ - query: ThemeOfPageDocument, - ...options, - }); -} diff --git a/packages/graphql/src/frontend/generated/project.tsx b/packages/graphql/src/frontend/generated/project.tsx deleted file mode 100644 index f286a0722..000000000 --- a/packages/graphql/src/frontend/generated/project.tsx +++ /dev/null @@ -1,87 +0,0 @@ -import * as Types from './types'; - -import gql from 'graphql-tag'; -import * as Urql from 'urql'; -export type Omit = Pick>; -export type InsertOneProjectMutationVariables = Types.Exact<{ - teamId?: Types.InputMaybe; - name: Types.Scalars['String']; - domain: Types.Scalars['String']; -}>; - -export type InsertOneProjectMutation = { - __typename?: 'mutation_root'; - insertOneProject?: { - __typename?: 'Project'; - id: string; - name: string; - teamId?: string | null; - userId?: string | null; - } | null; -}; - -export type DeleteProjectByPkMutationVariables = Types.Exact<{ - id: Types.Scalars['uuid']; -}>; - -export type DeleteProjectByPkMutation = { - __typename?: 'mutation_root'; - deleteProjectByPk?: { __typename?: 'Project'; id: string } | null; -}; - -export type UpdateThemeMutationVariables = Types.Exact<{ - projectId: Types.Scalars['uuid']; - theme: Types.Scalars['jsonb']; -}>; - -export type UpdateThemeMutation = { - __typename?: 'mutation_root'; - updateProjectByPk?: { __typename?: 'Project'; id: string } | null; -}; - -export const InsertOneProjectDocument = gql` - mutation insertOneProject($teamId: uuid, $name: String!, $domain: String!) { - insertOneProject( - object: { teamId: $teamId, name: $name, domain: $domain } - ) { - id - name - teamId - userId - } - } -`; - -export function useInsertOneProjectMutation() { - return Urql.useMutation< - InsertOneProjectMutation, - InsertOneProjectMutationVariables - >(InsertOneProjectDocument); -} -export const DeleteProjectByPkDocument = gql` - mutation deleteProjectByPk($id: uuid!) { - deleteProjectByPk(id: $id) { - id - } - } -`; - -export function useDeleteProjectByPkMutation() { - return Urql.useMutation< - DeleteProjectByPkMutation, - DeleteProjectByPkMutationVariables - >(DeleteProjectByPkDocument); -} -export const UpdateThemeDocument = gql` - mutation updateTheme($projectId: uuid!, $theme: jsonb!) { - updateProjectByPk(pk_columns: { id: $projectId }, _set: { theme: $theme }) { - id - } - } -`; - -export function useUpdateThemeMutation() { - return Urql.useMutation( - UpdateThemeDocument, - ); -} diff --git a/packages/graphql/src/frontend/generated/types.ts b/packages/graphql/src/frontend/generated/types.ts deleted file mode 100644 index 0434c420c..000000000 --- a/packages/graphql/src/frontend/generated/types.ts +++ /dev/null @@ -1,5123 +0,0 @@ -export type Maybe = T | null; -export type InputMaybe = Maybe; -export type Exact = { - [K in keyof T]: T[K]; -}; -export type MakeOptional = Omit & { - [SubKey in K]?: Maybe; -}; -export type MakeMaybe = Omit & { - [SubKey in K]: Maybe; -}; -/** All built-in and custom scalars, mapped to their actual values */ -export type Scalars = { - ID: string; - String: string; - Boolean: boolean; - Int: number; - Float: number; - jsonb: any; - timestamptz: string; - uuid: string; -}; - -/** columns and relationships of "Account" */ -export type Account = { - __typename?: 'Account'; - accessToken?: Maybe; - expiresAt?: Maybe; - id: Scalars['uuid']; - idToken?: Maybe; - oauthToken?: Maybe; - oauthTokenSecret?: Maybe; - provider: Scalars['String']; - providerAccountId: Scalars['String']; - refreshToken?: Maybe; - scope?: Maybe; - sessionState?: Maybe; - tokenType?: Maybe; - type: Scalars['String']; - /** An object relationship */ - user: User; - userId: Scalars['uuid']; -}; - -/** aggregated selection of "Account" */ -export type Account_Aggregate = { - __typename?: 'Account_aggregate'; - aggregate?: Maybe; - nodes: Array; -}; - -/** aggregate fields of "Account" */ -export type Account_Aggregate_Fields = { - __typename?: 'Account_aggregate_fields'; - count: Scalars['Int']; - max?: Maybe; - min?: Maybe; -}; - -/** aggregate fields of "Account" */ -export type Account_Aggregate_FieldsCountArgs = { - columns?: InputMaybe>; - distinct?: InputMaybe; -}; - -/** order by aggregate values of table "Account" */ -export type Account_Aggregate_Order_By = { - count?: InputMaybe; - max?: InputMaybe; - min?: InputMaybe; -}; - -/** input type for inserting array relation for remote table "Account" */ -export type Account_Arr_Rel_Insert_Input = { - data: Array; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** Boolean expression to filter rows from the table "Account". All fields are combined with a logical 'AND'. */ -export type Account_Bool_Exp = { - _and?: InputMaybe>; - _not?: InputMaybe; - _or?: InputMaybe>; - accessToken?: InputMaybe; - expiresAt?: InputMaybe; - id?: InputMaybe; - idToken?: InputMaybe; - oauthToken?: InputMaybe; - oauthTokenSecret?: InputMaybe; - provider?: InputMaybe; - providerAccountId?: InputMaybe; - refreshToken?: InputMaybe; - scope?: InputMaybe; - sessionState?: InputMaybe; - tokenType?: InputMaybe; - type?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** unique or primary key constraints on table "Account" */ -export type Account_Constraint = - /** unique or primary key constraint */ - | 'Account_pkey' - /** unique or primary key constraint */ - | 'Account_providerAccountId_provider_key'; - -/** input type for inserting data into table "Account" */ -export type Account_Insert_Input = { - accessToken?: InputMaybe; - expiresAt?: InputMaybe; - id?: InputMaybe; - idToken?: InputMaybe; - oauthToken?: InputMaybe; - oauthTokenSecret?: InputMaybe; - provider?: InputMaybe; - providerAccountId?: InputMaybe; - refreshToken?: InputMaybe; - scope?: InputMaybe; - sessionState?: InputMaybe; - tokenType?: InputMaybe; - type?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** aggregate max on columns */ -export type Account_Max_Fields = { - __typename?: 'Account_max_fields'; - accessToken?: Maybe; - expiresAt?: Maybe; - id?: Maybe; - idToken?: Maybe; - oauthToken?: Maybe; - oauthTokenSecret?: Maybe; - provider?: Maybe; - providerAccountId?: Maybe; - refreshToken?: Maybe; - scope?: Maybe; - sessionState?: Maybe; - tokenType?: Maybe; - type?: Maybe; - userId?: Maybe; -}; - -/** order by max() on columns of table "Account" */ -export type Account_Max_Order_By = { - accessToken?: InputMaybe; - expiresAt?: InputMaybe; - id?: InputMaybe; - idToken?: InputMaybe; - oauthToken?: InputMaybe; - oauthTokenSecret?: InputMaybe; - provider?: InputMaybe; - providerAccountId?: InputMaybe; - refreshToken?: InputMaybe; - scope?: InputMaybe; - sessionState?: InputMaybe; - tokenType?: InputMaybe; - type?: InputMaybe; - userId?: InputMaybe; -}; - -/** aggregate min on columns */ -export type Account_Min_Fields = { - __typename?: 'Account_min_fields'; - accessToken?: Maybe; - expiresAt?: Maybe; - id?: Maybe; - idToken?: Maybe; - oauthToken?: Maybe; - oauthTokenSecret?: Maybe; - provider?: Maybe; - providerAccountId?: Maybe; - refreshToken?: Maybe; - scope?: Maybe; - sessionState?: Maybe; - tokenType?: Maybe; - type?: Maybe; - userId?: Maybe; -}; - -/** order by min() on columns of table "Account" */ -export type Account_Min_Order_By = { - accessToken?: InputMaybe; - expiresAt?: InputMaybe; - id?: InputMaybe; - idToken?: InputMaybe; - oauthToken?: InputMaybe; - oauthTokenSecret?: InputMaybe; - provider?: InputMaybe; - providerAccountId?: InputMaybe; - refreshToken?: InputMaybe; - scope?: InputMaybe; - sessionState?: InputMaybe; - tokenType?: InputMaybe; - type?: InputMaybe; - userId?: InputMaybe; -}; - -/** response of any mutation on the table "Account" */ -export type Account_Mutation_Response = { - __typename?: 'Account_mutation_response'; - /** number of rows affected by the mutation */ - affected_rows: Scalars['Int']; - /** data from the rows affected by the mutation */ - returning: Array; -}; - -/** on_conflict condition type for table "Account" */ -export type Account_On_Conflict = { - constraint: Account_Constraint; - update_columns?: Array; - where?: InputMaybe; -}; - -/** Ordering options when selecting data from "Account". */ -export type Account_Order_By = { - accessToken?: InputMaybe; - expiresAt?: InputMaybe; - id?: InputMaybe; - idToken?: InputMaybe; - oauthToken?: InputMaybe; - oauthTokenSecret?: InputMaybe; - provider?: InputMaybe; - providerAccountId?: InputMaybe; - refreshToken?: InputMaybe; - scope?: InputMaybe; - sessionState?: InputMaybe; - tokenType?: InputMaybe; - type?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** primary key columns input for table: Account */ -export type Account_Pk_Columns_Input = { - id: Scalars['uuid']; -}; - -/** select columns of table "Account" */ -export type Account_Select_Column = - /** column name */ - | 'accessToken' - /** column name */ - | 'expiresAt' - /** column name */ - | 'id' - /** column name */ - | 'idToken' - /** column name */ - | 'oauthToken' - /** column name */ - | 'oauthTokenSecret' - /** column name */ - | 'provider' - /** column name */ - | 'providerAccountId' - /** column name */ - | 'refreshToken' - /** column name */ - | 'scope' - /** column name */ - | 'sessionState' - /** column name */ - | 'tokenType' - /** column name */ - | 'type' - /** column name */ - | 'userId'; - -/** input type for updating data in table "Account" */ -export type Account_Set_Input = { - accessToken?: InputMaybe; - expiresAt?: InputMaybe; - id?: InputMaybe; - idToken?: InputMaybe; - oauthToken?: InputMaybe; - oauthTokenSecret?: InputMaybe; - provider?: InputMaybe; - providerAccountId?: InputMaybe; - refreshToken?: InputMaybe; - scope?: InputMaybe; - sessionState?: InputMaybe; - tokenType?: InputMaybe; - type?: InputMaybe; - userId?: InputMaybe; -}; - -/** update columns of table "Account" */ -export type Account_Update_Column = - /** column name */ - | 'accessToken' - /** column name */ - | 'expiresAt' - /** column name */ - | 'id' - /** column name */ - | 'idToken' - /** column name */ - | 'oauthToken' - /** column name */ - | 'oauthTokenSecret' - /** column name */ - | 'provider' - /** column name */ - | 'providerAccountId' - /** column name */ - | 'refreshToken' - /** column name */ - | 'scope' - /** column name */ - | 'sessionState' - /** column name */ - | 'tokenType' - /** column name */ - | 'type' - /** column name */ - | 'userId'; - -/** Boolean expression to compare columns of type "Boolean". All fields are combined with logical 'AND'. */ -export type Boolean_Comparison_Exp = { - _eq?: InputMaybe; - _gt?: InputMaybe; - _gte?: InputMaybe; - _in?: InputMaybe>; - _is_null?: InputMaybe; - _lt?: InputMaybe; - _lte?: InputMaybe; - _neq?: InputMaybe; - _nin?: InputMaybe>; -}; - -/** columns and relationships of "Comment" */ -export type Comment = { - __typename?: 'Comment'; - content: Scalars['jsonb']; - createdAt: Scalars['timestamptz']; - deletedAt?: Maybe; - id: Scalars['uuid']; - /** An array relationship */ - likes: Array; - /** An aggregate relationship */ - likes_aggregate: Like_Aggregate; - /** An object relationship */ - page: Page; - pageId: Scalars['uuid']; - /** An object relationship */ - parent?: Maybe; - parentId?: Maybe; - /** An array relationship */ - replies: Array; - /** An aggregate relationship */ - replies_aggregate: Comment_Aggregate; - updatedAt: Scalars['timestamptz']; - /** An object relationship */ - user: User; - userId: Scalars['uuid']; -}; - -/** columns and relationships of "Comment" */ -export type CommentContentArgs = { - path?: InputMaybe; -}; - -/** columns and relationships of "Comment" */ -export type CommentLikesArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "Comment" */ -export type CommentLikes_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "Comment" */ -export type CommentRepliesArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "Comment" */ -export type CommentReplies_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** aggregated selection of "Comment" */ -export type Comment_Aggregate = { - __typename?: 'Comment_aggregate'; - aggregate?: Maybe; - nodes: Array; -}; - -/** aggregate fields of "Comment" */ -export type Comment_Aggregate_Fields = { - __typename?: 'Comment_aggregate_fields'; - count: Scalars['Int']; - max?: Maybe; - min?: Maybe; -}; - -/** aggregate fields of "Comment" */ -export type Comment_Aggregate_FieldsCountArgs = { - columns?: InputMaybe>; - distinct?: InputMaybe; -}; - -/** order by aggregate values of table "Comment" */ -export type Comment_Aggregate_Order_By = { - count?: InputMaybe; - max?: InputMaybe; - min?: InputMaybe; -}; - -/** append existing jsonb value of filtered columns with new jsonb value */ -export type Comment_Append_Input = { - content?: InputMaybe; -}; - -/** input type for inserting array relation for remote table "Comment" */ -export type Comment_Arr_Rel_Insert_Input = { - data: Array; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** Boolean expression to filter rows from the table "Comment". All fields are combined with a logical 'AND'. */ -export type Comment_Bool_Exp = { - _and?: InputMaybe>; - _not?: InputMaybe; - _or?: InputMaybe>; - content?: InputMaybe; - createdAt?: InputMaybe; - deletedAt?: InputMaybe; - id?: InputMaybe; - likes?: InputMaybe; - page?: InputMaybe; - pageId?: InputMaybe; - parent?: InputMaybe; - parentId?: InputMaybe; - replies?: InputMaybe; - updatedAt?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** unique or primary key constraints on table "Comment" */ -export type Comment_Constraint = - /** unique or primary key constraint */ - 'Comment_pkey'; - -/** delete the field or element with specified path (for JSON arrays, negative integers count from the end) */ -export type Comment_Delete_At_Path_Input = { - content?: InputMaybe>; -}; - -/** delete the array element with specified index (negative integers count from the end). throws an error if top level container is not an array */ -export type Comment_Delete_Elem_Input = { - content?: InputMaybe; -}; - -/** delete key/value pair or string element. key/value pairs are matched based on their key value */ -export type Comment_Delete_Key_Input = { - content?: InputMaybe; -}; - -/** input type for inserting data into table "Comment" */ -export type Comment_Insert_Input = { - content?: InputMaybe; - createdAt?: InputMaybe; - deletedAt?: InputMaybe; - id?: InputMaybe; - likes?: InputMaybe; - page?: InputMaybe; - pageId?: InputMaybe; - parent?: InputMaybe; - parentId?: InputMaybe; - replies?: InputMaybe; - updatedAt?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** aggregate max on columns */ -export type Comment_Max_Fields = { - __typename?: 'Comment_max_fields'; - createdAt?: Maybe; - deletedAt?: Maybe; - id?: Maybe; - pageId?: Maybe; - parentId?: Maybe; - updatedAt?: Maybe; - userId?: Maybe; -}; - -/** order by max() on columns of table "Comment" */ -export type Comment_Max_Order_By = { - createdAt?: InputMaybe; - deletedAt?: InputMaybe; - id?: InputMaybe; - pageId?: InputMaybe; - parentId?: InputMaybe; - updatedAt?: InputMaybe; - userId?: InputMaybe; -}; - -/** aggregate min on columns */ -export type Comment_Min_Fields = { - __typename?: 'Comment_min_fields'; - createdAt?: Maybe; - deletedAt?: Maybe; - id?: Maybe; - pageId?: Maybe; - parentId?: Maybe; - updatedAt?: Maybe; - userId?: Maybe; -}; - -/** order by min() on columns of table "Comment" */ -export type Comment_Min_Order_By = { - createdAt?: InputMaybe; - deletedAt?: InputMaybe; - id?: InputMaybe; - pageId?: InputMaybe; - parentId?: InputMaybe; - updatedAt?: InputMaybe; - userId?: InputMaybe; -}; - -/** response of any mutation on the table "Comment" */ -export type Comment_Mutation_Response = { - __typename?: 'Comment_mutation_response'; - /** number of rows affected by the mutation */ - affected_rows: Scalars['Int']; - /** data from the rows affected by the mutation */ - returning: Array; -}; - -/** input type for inserting object relation for remote table "Comment" */ -export type Comment_Obj_Rel_Insert_Input = { - data: Comment_Insert_Input; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** on_conflict condition type for table "Comment" */ -export type Comment_On_Conflict = { - constraint: Comment_Constraint; - update_columns?: Array; - where?: InputMaybe; -}; - -/** Ordering options when selecting data from "Comment". */ -export type Comment_Order_By = { - content?: InputMaybe; - createdAt?: InputMaybe; - deletedAt?: InputMaybe; - id?: InputMaybe; - likes_aggregate?: InputMaybe; - page?: InputMaybe; - pageId?: InputMaybe; - parent?: InputMaybe; - parentId?: InputMaybe; - replies_aggregate?: InputMaybe; - updatedAt?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** primary key columns input for table: Comment */ -export type Comment_Pk_Columns_Input = { - id: Scalars['uuid']; -}; - -/** prepend existing jsonb value of filtered columns with new jsonb value */ -export type Comment_Prepend_Input = { - content?: InputMaybe; -}; - -/** select columns of table "Comment" */ -export type Comment_Select_Column = - /** column name */ - | 'content' - /** column name */ - | 'createdAt' - /** column name */ - | 'deletedAt' - /** column name */ - | 'id' - /** column name */ - | 'pageId' - /** column name */ - | 'parentId' - /** column name */ - | 'updatedAt' - /** column name */ - | 'userId'; - -/** input type for updating data in table "Comment" */ -export type Comment_Set_Input = { - content?: InputMaybe; - createdAt?: InputMaybe; - deletedAt?: InputMaybe; - id?: InputMaybe; - pageId?: InputMaybe; - parentId?: InputMaybe; - updatedAt?: InputMaybe; - userId?: InputMaybe; -}; - -/** update columns of table "Comment" */ -export type Comment_Update_Column = - /** column name */ - | 'content' - /** column name */ - | 'createdAt' - /** column name */ - | 'deletedAt' - /** column name */ - | 'id' - /** column name */ - | 'pageId' - /** column name */ - | 'parentId' - /** column name */ - | 'updatedAt' - /** column name */ - | 'userId'; - -/** columns and relationships of "Like" */ -export type Like = { - __typename?: 'Like'; - /** An object relationship */ - comment: Comment; - commentId: Scalars['uuid']; - createdAt: Scalars['timestamptz']; - id: Scalars['uuid']; - updatedAt: Scalars['timestamptz']; - /** An object relationship */ - user: User; - userId: Scalars['uuid']; -}; - -/** aggregated selection of "Like" */ -export type Like_Aggregate = { - __typename?: 'Like_aggregate'; - aggregate?: Maybe; - nodes: Array; -}; - -/** aggregate fields of "Like" */ -export type Like_Aggregate_Fields = { - __typename?: 'Like_aggregate_fields'; - count: Scalars['Int']; - max?: Maybe; - min?: Maybe; -}; - -/** aggregate fields of "Like" */ -export type Like_Aggregate_FieldsCountArgs = { - columns?: InputMaybe>; - distinct?: InputMaybe; -}; - -/** order by aggregate values of table "Like" */ -export type Like_Aggregate_Order_By = { - count?: InputMaybe; - max?: InputMaybe; - min?: InputMaybe; -}; - -/** input type for inserting array relation for remote table "Like" */ -export type Like_Arr_Rel_Insert_Input = { - data: Array; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** Boolean expression to filter rows from the table "Like". All fields are combined with a logical 'AND'. */ -export type Like_Bool_Exp = { - _and?: InputMaybe>; - _not?: InputMaybe; - _or?: InputMaybe>; - comment?: InputMaybe; - commentId?: InputMaybe; - createdAt?: InputMaybe; - id?: InputMaybe; - updatedAt?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** unique or primary key constraints on table "Like" */ -export type Like_Constraint = - /** unique or primary key constraint */ - | 'Like_commentId_userId_key' - /** unique or primary key constraint */ - | 'Like_pkey'; - -/** input type for inserting data into table "Like" */ -export type Like_Insert_Input = { - comment?: InputMaybe; - commentId?: InputMaybe; - createdAt?: InputMaybe; - id?: InputMaybe; - updatedAt?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** aggregate max on columns */ -export type Like_Max_Fields = { - __typename?: 'Like_max_fields'; - commentId?: Maybe; - createdAt?: Maybe; - id?: Maybe; - updatedAt?: Maybe; - userId?: Maybe; -}; - -/** order by max() on columns of table "Like" */ -export type Like_Max_Order_By = { - commentId?: InputMaybe; - createdAt?: InputMaybe; - id?: InputMaybe; - updatedAt?: InputMaybe; - userId?: InputMaybe; -}; - -/** aggregate min on columns */ -export type Like_Min_Fields = { - __typename?: 'Like_min_fields'; - commentId?: Maybe; - createdAt?: Maybe; - id?: Maybe; - updatedAt?: Maybe; - userId?: Maybe; -}; - -/** order by min() on columns of table "Like" */ -export type Like_Min_Order_By = { - commentId?: InputMaybe; - createdAt?: InputMaybe; - id?: InputMaybe; - updatedAt?: InputMaybe; - userId?: InputMaybe; -}; - -/** response of any mutation on the table "Like" */ -export type Like_Mutation_Response = { - __typename?: 'Like_mutation_response'; - /** number of rows affected by the mutation */ - affected_rows: Scalars['Int']; - /** data from the rows affected by the mutation */ - returning: Array; -}; - -/** on_conflict condition type for table "Like" */ -export type Like_On_Conflict = { - constraint: Like_Constraint; - update_columns?: Array; - where?: InputMaybe; -}; - -/** Ordering options when selecting data from "Like". */ -export type Like_Order_By = { - comment?: InputMaybe; - commentId?: InputMaybe; - createdAt?: InputMaybe; - id?: InputMaybe; - updatedAt?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** primary key columns input for table: Like */ -export type Like_Pk_Columns_Input = { - id: Scalars['uuid']; -}; - -/** select columns of table "Like" */ -export type Like_Select_Column = - /** column name */ - | 'commentId' - /** column name */ - | 'createdAt' - /** column name */ - | 'id' - /** column name */ - | 'updatedAt' - /** column name */ - | 'userId'; - -/** input type for updating data in table "Like" */ -export type Like_Set_Input = { - commentId?: InputMaybe; - createdAt?: InputMaybe; - id?: InputMaybe; - updatedAt?: InputMaybe; - userId?: InputMaybe; -}; - -/** update columns of table "Like" */ -export type Like_Update_Column = - /** column name */ - | 'commentId' - /** column name */ - | 'createdAt' - /** column name */ - | 'id' - /** column name */ - | 'updatedAt' - /** column name */ - | 'userId'; - -/** columns and relationships of "Member" */ -export type Member = { - __typename?: 'Member'; - /** An object relationship */ - Role: Role; - createdAt: Scalars['timestamptz']; - id: Scalars['uuid']; - role: Role_Enum; - /** An object relationship */ - team: Team; - teamId: Scalars['uuid']; - updatedAt: Scalars['timestamptz']; - /** An object relationship */ - user: User; - userId: Scalars['uuid']; -}; - -/** aggregated selection of "Member" */ -export type Member_Aggregate = { - __typename?: 'Member_aggregate'; - aggregate?: Maybe; - nodes: Array; -}; - -/** aggregate fields of "Member" */ -export type Member_Aggregate_Fields = { - __typename?: 'Member_aggregate_fields'; - count: Scalars['Int']; - max?: Maybe; - min?: Maybe; -}; - -/** aggregate fields of "Member" */ -export type Member_Aggregate_FieldsCountArgs = { - columns?: InputMaybe>; - distinct?: InputMaybe; -}; - -/** order by aggregate values of table "Member" */ -export type Member_Aggregate_Order_By = { - count?: InputMaybe; - max?: InputMaybe; - min?: InputMaybe; -}; - -/** input type for inserting array relation for remote table "Member" */ -export type Member_Arr_Rel_Insert_Input = { - data: Array; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** Boolean expression to filter rows from the table "Member". All fields are combined with a logical 'AND'. */ -export type Member_Bool_Exp = { - Role?: InputMaybe; - _and?: InputMaybe>; - _not?: InputMaybe; - _or?: InputMaybe>; - createdAt?: InputMaybe; - id?: InputMaybe; - role?: InputMaybe; - team?: InputMaybe; - teamId?: InputMaybe; - updatedAt?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** unique or primary key constraints on table "Member" */ -export type Member_Constraint = - /** unique or primary key constraint */ - | 'Member_pkey' - /** unique or primary key constraint */ - | 'Member_teamId_userId_key'; - -/** input type for inserting data into table "Member" */ -export type Member_Insert_Input = { - Role?: InputMaybe; - createdAt?: InputMaybe; - id?: InputMaybe; - role?: InputMaybe; - team?: InputMaybe; - teamId?: InputMaybe; - updatedAt?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** aggregate max on columns */ -export type Member_Max_Fields = { - __typename?: 'Member_max_fields'; - createdAt?: Maybe; - id?: Maybe; - teamId?: Maybe; - updatedAt?: Maybe; - userId?: Maybe; -}; - -/** order by max() on columns of table "Member" */ -export type Member_Max_Order_By = { - createdAt?: InputMaybe; - id?: InputMaybe; - teamId?: InputMaybe; - updatedAt?: InputMaybe; - userId?: InputMaybe; -}; - -/** aggregate min on columns */ -export type Member_Min_Fields = { - __typename?: 'Member_min_fields'; - createdAt?: Maybe; - id?: Maybe; - teamId?: Maybe; - updatedAt?: Maybe; - userId?: Maybe; -}; - -/** order by min() on columns of table "Member" */ -export type Member_Min_Order_By = { - createdAt?: InputMaybe; - id?: InputMaybe; - teamId?: InputMaybe; - updatedAt?: InputMaybe; - userId?: InputMaybe; -}; - -/** response of any mutation on the table "Member" */ -export type Member_Mutation_Response = { - __typename?: 'Member_mutation_response'; - /** number of rows affected by the mutation */ - affected_rows: Scalars['Int']; - /** data from the rows affected by the mutation */ - returning: Array; -}; - -/** on_conflict condition type for table "Member" */ -export type Member_On_Conflict = { - constraint: Member_Constraint; - update_columns?: Array; - where?: InputMaybe; -}; - -/** Ordering options when selecting data from "Member". */ -export type Member_Order_By = { - Role?: InputMaybe; - createdAt?: InputMaybe; - id?: InputMaybe; - role?: InputMaybe; - team?: InputMaybe; - teamId?: InputMaybe; - updatedAt?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** primary key columns input for table: Member */ -export type Member_Pk_Columns_Input = { - id: Scalars['uuid']; -}; - -/** select columns of table "Member" */ -export type Member_Select_Column = - /** column name */ - | 'createdAt' - /** column name */ - | 'id' - /** column name */ - | 'role' - /** column name */ - | 'teamId' - /** column name */ - | 'updatedAt' - /** column name */ - | 'userId'; - -/** input type for updating data in table "Member" */ -export type Member_Set_Input = { - createdAt?: InputMaybe; - id?: InputMaybe; - role?: InputMaybe; - teamId?: InputMaybe; - updatedAt?: InputMaybe; - userId?: InputMaybe; -}; - -/** update columns of table "Member" */ -export type Member_Update_Column = - /** column name */ - | 'createdAt' - /** column name */ - | 'id' - /** column name */ - | 'role' - /** column name */ - | 'teamId' - /** column name */ - | 'updatedAt' - /** column name */ - | 'userId'; - -/** columns and relationships of "NotificationMessage" */ -export type NotificationMessage = { - __typename?: 'NotificationMessage'; - /** Content of message, e.g. comment content */ - content?: Maybe; - /** Triggered entity's id, e.g. CommentId or LikeId */ - contextId: Scalars['uuid']; - createdAt: Scalars['timestamptz']; - deletedAt?: Maybe; - id: Scalars['uuid']; - /** An object relationship */ - notificationType: NotificationType; - read: Scalars['Boolean']; - /** An object relationship */ - recipient: User; - recipientId: Scalars['uuid']; - /** An object relationship */ - triggeredBy: User; - triggeredById: Scalars['uuid']; - type: NotificationType_Enum; - url: Scalars['String']; -}; - -/** aggregated selection of "NotificationMessage" */ -export type NotificationMessage_Aggregate = { - __typename?: 'NotificationMessage_aggregate'; - aggregate?: Maybe; - nodes: Array; -}; - -/** aggregate fields of "NotificationMessage" */ -export type NotificationMessage_Aggregate_Fields = { - __typename?: 'NotificationMessage_aggregate_fields'; - count: Scalars['Int']; - max?: Maybe; - min?: Maybe; -}; - -/** aggregate fields of "NotificationMessage" */ -export type NotificationMessage_Aggregate_FieldsCountArgs = { - columns?: InputMaybe>; - distinct?: InputMaybe; -}; - -/** order by aggregate values of table "NotificationMessage" */ -export type NotificationMessage_Aggregate_Order_By = { - count?: InputMaybe; - max?: InputMaybe; - min?: InputMaybe; -}; - -/** input type for inserting array relation for remote table "NotificationMessage" */ -export type NotificationMessage_Arr_Rel_Insert_Input = { - data: Array; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** Boolean expression to filter rows from the table "NotificationMessage". All fields are combined with a logical 'AND'. */ -export type NotificationMessage_Bool_Exp = { - _and?: InputMaybe>; - _not?: InputMaybe; - _or?: InputMaybe>; - content?: InputMaybe; - contextId?: InputMaybe; - createdAt?: InputMaybe; - deletedAt?: InputMaybe; - id?: InputMaybe; - notificationType?: InputMaybe; - read?: InputMaybe; - recipient?: InputMaybe; - recipientId?: InputMaybe; - triggeredBy?: InputMaybe; - triggeredById?: InputMaybe; - type?: InputMaybe; - url?: InputMaybe; -}; - -/** unique or primary key constraints on table "NotificationMessage" */ -export type NotificationMessage_Constraint = - /** unique or primary key constraint */ - | 'NotificationMessage_pkey' - /** unique or primary key constraint */ - | 'NotificationMessage_type_triggeredById_contextId_recipientI_key'; - -/** input type for inserting data into table "NotificationMessage" */ -export type NotificationMessage_Insert_Input = { - /** Content of message, e.g. comment content */ - content?: InputMaybe; - /** Triggered entity's id, e.g. CommentId or LikeId */ - contextId?: InputMaybe; - createdAt?: InputMaybe; - deletedAt?: InputMaybe; - id?: InputMaybe; - notificationType?: InputMaybe; - read?: InputMaybe; - recipient?: InputMaybe; - recipientId?: InputMaybe; - triggeredBy?: InputMaybe; - triggeredById?: InputMaybe; - type?: InputMaybe; - url?: InputMaybe; -}; - -/** aggregate max on columns */ -export type NotificationMessage_Max_Fields = { - __typename?: 'NotificationMessage_max_fields'; - /** Content of message, e.g. comment content */ - content?: Maybe; - /** Triggered entity's id, e.g. CommentId or LikeId */ - contextId?: Maybe; - createdAt?: Maybe; - deletedAt?: Maybe; - id?: Maybe; - recipientId?: Maybe; - triggeredById?: Maybe; - url?: Maybe; -}; - -/** order by max() on columns of table "NotificationMessage" */ -export type NotificationMessage_Max_Order_By = { - /** Content of message, e.g. comment content */ - content?: InputMaybe; - /** Triggered entity's id, e.g. CommentId or LikeId */ - contextId?: InputMaybe; - createdAt?: InputMaybe; - deletedAt?: InputMaybe; - id?: InputMaybe; - recipientId?: InputMaybe; - triggeredById?: InputMaybe; - url?: InputMaybe; -}; - -/** aggregate min on columns */ -export type NotificationMessage_Min_Fields = { - __typename?: 'NotificationMessage_min_fields'; - /** Content of message, e.g. comment content */ - content?: Maybe; - /** Triggered entity's id, e.g. CommentId or LikeId */ - contextId?: Maybe; - createdAt?: Maybe; - deletedAt?: Maybe; - id?: Maybe; - recipientId?: Maybe; - triggeredById?: Maybe; - url?: Maybe; -}; - -/** order by min() on columns of table "NotificationMessage" */ -export type NotificationMessage_Min_Order_By = { - /** Content of message, e.g. comment content */ - content?: InputMaybe; - /** Triggered entity's id, e.g. CommentId or LikeId */ - contextId?: InputMaybe; - createdAt?: InputMaybe; - deletedAt?: InputMaybe; - id?: InputMaybe; - recipientId?: InputMaybe; - triggeredById?: InputMaybe; - url?: InputMaybe; -}; - -/** response of any mutation on the table "NotificationMessage" */ -export type NotificationMessage_Mutation_Response = { - __typename?: 'NotificationMessage_mutation_response'; - /** number of rows affected by the mutation */ - affected_rows: Scalars['Int']; - /** data from the rows affected by the mutation */ - returning: Array; -}; - -/** on_conflict condition type for table "NotificationMessage" */ -export type NotificationMessage_On_Conflict = { - constraint: NotificationMessage_Constraint; - update_columns?: Array; - where?: InputMaybe; -}; - -/** Ordering options when selecting data from "NotificationMessage". */ -export type NotificationMessage_Order_By = { - content?: InputMaybe; - contextId?: InputMaybe; - createdAt?: InputMaybe; - deletedAt?: InputMaybe; - id?: InputMaybe; - notificationType?: InputMaybe; - read?: InputMaybe; - recipient?: InputMaybe; - recipientId?: InputMaybe; - triggeredBy?: InputMaybe; - triggeredById?: InputMaybe; - type?: InputMaybe; - url?: InputMaybe; -}; - -/** primary key columns input for table: NotificationMessage */ -export type NotificationMessage_Pk_Columns_Input = { - id: Scalars['uuid']; -}; - -/** select columns of table "NotificationMessage" */ -export type NotificationMessage_Select_Column = - /** column name */ - | 'content' - /** column name */ - | 'contextId' - /** column name */ - | 'createdAt' - /** column name */ - | 'deletedAt' - /** column name */ - | 'id' - /** column name */ - | 'read' - /** column name */ - | 'recipientId' - /** column name */ - | 'triggeredById' - /** column name */ - | 'type' - /** column name */ - | 'url'; - -/** input type for updating data in table "NotificationMessage" */ -export type NotificationMessage_Set_Input = { - /** Content of message, e.g. comment content */ - content?: InputMaybe; - /** Triggered entity's id, e.g. CommentId or LikeId */ - contextId?: InputMaybe; - createdAt?: InputMaybe; - deletedAt?: InputMaybe; - id?: InputMaybe; - read?: InputMaybe; - recipientId?: InputMaybe; - triggeredById?: InputMaybe; - type?: InputMaybe; - url?: InputMaybe; -}; - -/** update columns of table "NotificationMessage" */ -export type NotificationMessage_Update_Column = - /** column name */ - | 'content' - /** column name */ - | 'contextId' - /** column name */ - | 'createdAt' - /** column name */ - | 'deletedAt' - /** column name */ - | 'id' - /** column name */ - | 'read' - /** column name */ - | 'recipientId' - /** column name */ - | 'triggeredById' - /** column name */ - | 'type' - /** column name */ - | 'url'; - -/** columns and relationships of "NotificationSubscription" */ -export type NotificationSubscription = { - __typename?: 'NotificationSubscription'; - createdAt?: Maybe; - id: Scalars['uuid']; - subscription: Scalars['jsonb']; - /** An object relationship */ - user: User; - userId: Scalars['uuid']; -}; - -/** columns and relationships of "NotificationSubscription" */ -export type NotificationSubscriptionSubscriptionArgs = { - path?: InputMaybe; -}; - -/** aggregated selection of "NotificationSubscription" */ -export type NotificationSubscription_Aggregate = { - __typename?: 'NotificationSubscription_aggregate'; - aggregate?: Maybe; - nodes: Array; -}; - -/** aggregate fields of "NotificationSubscription" */ -export type NotificationSubscription_Aggregate_Fields = { - __typename?: 'NotificationSubscription_aggregate_fields'; - count: Scalars['Int']; - max?: Maybe; - min?: Maybe; -}; - -/** aggregate fields of "NotificationSubscription" */ -export type NotificationSubscription_Aggregate_FieldsCountArgs = { - columns?: InputMaybe>; - distinct?: InputMaybe; -}; - -/** order by aggregate values of table "NotificationSubscription" */ -export type NotificationSubscription_Aggregate_Order_By = { - count?: InputMaybe; - max?: InputMaybe; - min?: InputMaybe; -}; - -/** append existing jsonb value of filtered columns with new jsonb value */ -export type NotificationSubscription_Append_Input = { - subscription?: InputMaybe; -}; - -/** input type for inserting array relation for remote table "NotificationSubscription" */ -export type NotificationSubscription_Arr_Rel_Insert_Input = { - data: Array; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** Boolean expression to filter rows from the table "NotificationSubscription". All fields are combined with a logical 'AND'. */ -export type NotificationSubscription_Bool_Exp = { - _and?: InputMaybe>; - _not?: InputMaybe; - _or?: InputMaybe>; - createdAt?: InputMaybe; - id?: InputMaybe; - subscription?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** unique or primary key constraints on table "NotificationSubscription" */ -export type NotificationSubscription_Constraint = - /** unique or primary key constraint */ - | 'NotificationSubscription_pkey' - /** unique or primary key constraint */ - | 'NotificationSubscription_subscription_userId_key'; - -/** delete the field or element with specified path (for JSON arrays, negative integers count from the end) */ -export type NotificationSubscription_Delete_At_Path_Input = { - subscription?: InputMaybe>; -}; - -/** delete the array element with specified index (negative integers count from the end). throws an error if top level container is not an array */ -export type NotificationSubscription_Delete_Elem_Input = { - subscription?: InputMaybe; -}; - -/** delete key/value pair or string element. key/value pairs are matched based on their key value */ -export type NotificationSubscription_Delete_Key_Input = { - subscription?: InputMaybe; -}; - -/** input type for inserting data into table "NotificationSubscription" */ -export type NotificationSubscription_Insert_Input = { - createdAt?: InputMaybe; - id?: InputMaybe; - subscription?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** aggregate max on columns */ -export type NotificationSubscription_Max_Fields = { - __typename?: 'NotificationSubscription_max_fields'; - createdAt?: Maybe; - id?: Maybe; - userId?: Maybe; -}; - -/** order by max() on columns of table "NotificationSubscription" */ -export type NotificationSubscription_Max_Order_By = { - createdAt?: InputMaybe; - id?: InputMaybe; - userId?: InputMaybe; -}; - -/** aggregate min on columns */ -export type NotificationSubscription_Min_Fields = { - __typename?: 'NotificationSubscription_min_fields'; - createdAt?: Maybe; - id?: Maybe; - userId?: Maybe; -}; - -/** order by min() on columns of table "NotificationSubscription" */ -export type NotificationSubscription_Min_Order_By = { - createdAt?: InputMaybe; - id?: InputMaybe; - userId?: InputMaybe; -}; - -/** response of any mutation on the table "NotificationSubscription" */ -export type NotificationSubscription_Mutation_Response = { - __typename?: 'NotificationSubscription_mutation_response'; - /** number of rows affected by the mutation */ - affected_rows: Scalars['Int']; - /** data from the rows affected by the mutation */ - returning: Array; -}; - -/** on_conflict condition type for table "NotificationSubscription" */ -export type NotificationSubscription_On_Conflict = { - constraint: NotificationSubscription_Constraint; - update_columns?: Array; - where?: InputMaybe; -}; - -/** Ordering options when selecting data from "NotificationSubscription". */ -export type NotificationSubscription_Order_By = { - createdAt?: InputMaybe; - id?: InputMaybe; - subscription?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** primary key columns input for table: NotificationSubscription */ -export type NotificationSubscription_Pk_Columns_Input = { - id: Scalars['uuid']; -}; - -/** prepend existing jsonb value of filtered columns with new jsonb value */ -export type NotificationSubscription_Prepend_Input = { - subscription?: InputMaybe; -}; - -/** select columns of table "NotificationSubscription" */ -export type NotificationSubscription_Select_Column = - /** column name */ - | 'createdAt' - /** column name */ - | 'id' - /** column name */ - | 'subscription' - /** column name */ - | 'userId'; - -/** input type for updating data in table "NotificationSubscription" */ -export type NotificationSubscription_Set_Input = { - createdAt?: InputMaybe; - id?: InputMaybe; - subscription?: InputMaybe; - userId?: InputMaybe; -}; - -/** update columns of table "NotificationSubscription" */ -export type NotificationSubscription_Update_Column = - /** column name */ - | 'createdAt' - /** column name */ - | 'id' - /** column name */ - | 'subscription' - /** column name */ - | 'userId'; - -/** columns and relationships of "NotificationType" */ -export type NotificationType = { - __typename?: 'NotificationType'; - comment: Scalars['String']; - /** An array relationship */ - notificationMessages: Array; - /** An aggregate relationship */ - notificationMessages_aggregate: NotificationMessage_Aggregate; - value: Scalars['String']; -}; - -/** columns and relationships of "NotificationType" */ -export type NotificationTypeNotificationMessagesArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "NotificationType" */ -export type NotificationTypeNotificationMessages_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** aggregated selection of "NotificationType" */ -export type NotificationType_Aggregate = { - __typename?: 'NotificationType_aggregate'; - aggregate?: Maybe; - nodes: Array; -}; - -/** aggregate fields of "NotificationType" */ -export type NotificationType_Aggregate_Fields = { - __typename?: 'NotificationType_aggregate_fields'; - count: Scalars['Int']; - max?: Maybe; - min?: Maybe; -}; - -/** aggregate fields of "NotificationType" */ -export type NotificationType_Aggregate_FieldsCountArgs = { - columns?: InputMaybe>; - distinct?: InputMaybe; -}; - -/** Boolean expression to filter rows from the table "NotificationType". All fields are combined with a logical 'AND'. */ -export type NotificationType_Bool_Exp = { - _and?: InputMaybe>; - _not?: InputMaybe; - _or?: InputMaybe>; - comment?: InputMaybe; - notificationMessages?: InputMaybe; - value?: InputMaybe; -}; - -/** unique or primary key constraints on table "NotificationType" */ -export type NotificationType_Constraint = - /** unique or primary key constraint */ - 'NotificationType_pkey'; - -export type NotificationType_Enum = - /** Comment deleted by moderator */ - | 'CommentDeleted' - /** Received a comment */ - | 'ReceivedAComment' - /** Received a like */ - | 'ReceivedALike' - /** Received a reply */ - | 'ReceivedAReply'; - -/** Boolean expression to compare columns of type "NotificationType_enum". All fields are combined with logical 'AND'. */ -export type NotificationType_Enum_Comparison_Exp = { - _eq?: InputMaybe; - _in?: InputMaybe>; - _is_null?: InputMaybe; - _neq?: InputMaybe; - _nin?: InputMaybe>; -}; - -/** input type for inserting data into table "NotificationType" */ -export type NotificationType_Insert_Input = { - comment?: InputMaybe; - notificationMessages?: InputMaybe; - value?: InputMaybe; -}; - -/** aggregate max on columns */ -export type NotificationType_Max_Fields = { - __typename?: 'NotificationType_max_fields'; - comment?: Maybe; - value?: Maybe; -}; - -/** aggregate min on columns */ -export type NotificationType_Min_Fields = { - __typename?: 'NotificationType_min_fields'; - comment?: Maybe; - value?: Maybe; -}; - -/** response of any mutation on the table "NotificationType" */ -export type NotificationType_Mutation_Response = { - __typename?: 'NotificationType_mutation_response'; - /** number of rows affected by the mutation */ - affected_rows: Scalars['Int']; - /** data from the rows affected by the mutation */ - returning: Array; -}; - -/** input type for inserting object relation for remote table "NotificationType" */ -export type NotificationType_Obj_Rel_Insert_Input = { - data: NotificationType_Insert_Input; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** on_conflict condition type for table "NotificationType" */ -export type NotificationType_On_Conflict = { - constraint: NotificationType_Constraint; - update_columns?: Array; - where?: InputMaybe; -}; - -/** Ordering options when selecting data from "NotificationType". */ -export type NotificationType_Order_By = { - comment?: InputMaybe; - notificationMessages_aggregate?: InputMaybe; - value?: InputMaybe; -}; - -/** primary key columns input for table: NotificationType */ -export type NotificationType_Pk_Columns_Input = { - value: Scalars['String']; -}; - -/** select columns of table "NotificationType" */ -export type NotificationType_Select_Column = - /** column name */ - | 'comment' - /** column name */ - | 'value'; - -/** input type for updating data in table "NotificationType" */ -export type NotificationType_Set_Input = { - comment?: InputMaybe; - value?: InputMaybe; -}; - -/** update columns of table "NotificationType" */ -export type NotificationType_Update_Column = - /** column name */ - | 'comment' - /** column name */ - | 'value'; - -/** columns and relationships of "Page" */ -export type Page = { - __typename?: 'Page'; - /** An array relationship */ - comments: Array; - /** An aggregate relationship */ - comments_aggregate: Comment_Aggregate; - createdAt: Scalars['timestamptz']; - id: Scalars['uuid']; - /** An object relationship */ - project: Project; - projectId: Scalars['uuid']; - title?: Maybe; - updatedAt: Scalars['timestamptz']; - url: Scalars['String']; -}; - -/** columns and relationships of "Page" */ -export type PageCommentsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "Page" */ -export type PageComments_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** aggregated selection of "Page" */ -export type Page_Aggregate = { - __typename?: 'Page_aggregate'; - aggregate?: Maybe; - nodes: Array; -}; - -/** aggregate fields of "Page" */ -export type Page_Aggregate_Fields = { - __typename?: 'Page_aggregate_fields'; - count: Scalars['Int']; - max?: Maybe; - min?: Maybe; -}; - -/** aggregate fields of "Page" */ -export type Page_Aggregate_FieldsCountArgs = { - columns?: InputMaybe>; - distinct?: InputMaybe; -}; - -/** order by aggregate values of table "Page" */ -export type Page_Aggregate_Order_By = { - count?: InputMaybe; - max?: InputMaybe; - min?: InputMaybe; -}; - -/** input type for inserting array relation for remote table "Page" */ -export type Page_Arr_Rel_Insert_Input = { - data: Array; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** Boolean expression to filter rows from the table "Page". All fields are combined with a logical 'AND'. */ -export type Page_Bool_Exp = { - _and?: InputMaybe>; - _not?: InputMaybe; - _or?: InputMaybe>; - comments?: InputMaybe; - createdAt?: InputMaybe; - id?: InputMaybe; - project?: InputMaybe; - projectId?: InputMaybe; - title?: InputMaybe; - updatedAt?: InputMaybe; - url?: InputMaybe; -}; - -/** unique or primary key constraints on table "Page" */ -export type Page_Constraint = - /** unique or primary key constraint */ - | 'Page_pkey' - /** unique or primary key constraint */ - | 'Page_url_key'; - -/** input type for inserting data into table "Page" */ -export type Page_Insert_Input = { - comments?: InputMaybe; - createdAt?: InputMaybe; - id?: InputMaybe; - project?: InputMaybe; - projectId?: InputMaybe; - title?: InputMaybe; - updatedAt?: InputMaybe; - url?: InputMaybe; -}; - -/** aggregate max on columns */ -export type Page_Max_Fields = { - __typename?: 'Page_max_fields'; - createdAt?: Maybe; - id?: Maybe; - projectId?: Maybe; - title?: Maybe; - updatedAt?: Maybe; - url?: Maybe; -}; - -/** order by max() on columns of table "Page" */ -export type Page_Max_Order_By = { - createdAt?: InputMaybe; - id?: InputMaybe; - projectId?: InputMaybe; - title?: InputMaybe; - updatedAt?: InputMaybe; - url?: InputMaybe; -}; - -/** aggregate min on columns */ -export type Page_Min_Fields = { - __typename?: 'Page_min_fields'; - createdAt?: Maybe; - id?: Maybe; - projectId?: Maybe; - title?: Maybe; - updatedAt?: Maybe; - url?: Maybe; -}; - -/** order by min() on columns of table "Page" */ -export type Page_Min_Order_By = { - createdAt?: InputMaybe; - id?: InputMaybe; - projectId?: InputMaybe; - title?: InputMaybe; - updatedAt?: InputMaybe; - url?: InputMaybe; -}; - -/** response of any mutation on the table "Page" */ -export type Page_Mutation_Response = { - __typename?: 'Page_mutation_response'; - /** number of rows affected by the mutation */ - affected_rows: Scalars['Int']; - /** data from the rows affected by the mutation */ - returning: Array; -}; - -/** input type for inserting object relation for remote table "Page" */ -export type Page_Obj_Rel_Insert_Input = { - data: Page_Insert_Input; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** on_conflict condition type for table "Page" */ -export type Page_On_Conflict = { - constraint: Page_Constraint; - update_columns?: Array; - where?: InputMaybe; -}; - -/** Ordering options when selecting data from "Page". */ -export type Page_Order_By = { - comments_aggregate?: InputMaybe; - createdAt?: InputMaybe; - id?: InputMaybe; - project?: InputMaybe; - projectId?: InputMaybe; - title?: InputMaybe; - updatedAt?: InputMaybe; - url?: InputMaybe; -}; - -/** primary key columns input for table: Page */ -export type Page_Pk_Columns_Input = { - id: Scalars['uuid']; -}; - -/** select columns of table "Page" */ -export type Page_Select_Column = - /** column name */ - | 'createdAt' - /** column name */ - | 'id' - /** column name */ - | 'projectId' - /** column name */ - | 'title' - /** column name */ - | 'updatedAt' - /** column name */ - | 'url'; - -/** input type for updating data in table "Page" */ -export type Page_Set_Input = { - createdAt?: InputMaybe; - id?: InputMaybe; - projectId?: InputMaybe; - title?: InputMaybe; - updatedAt?: InputMaybe; - url?: InputMaybe; -}; - -/** update columns of table "Page" */ -export type Page_Update_Column = - /** column name */ - | 'createdAt' - /** column name */ - | 'id' - /** column name */ - | 'projectId' - /** column name */ - | 'title' - /** column name */ - | 'updatedAt' - /** column name */ - | 'url'; - -/** columns and relationships of "Project" */ -export type Project = { - __typename?: 'Project'; - createdAt: Scalars['timestamptz']; - domain: Scalars['String']; - id: Scalars['uuid']; - name: Scalars['String']; - /** An array relationship */ - pages: Array; - /** An aggregate relationship */ - pages_aggregate: Page_Aggregate; - /** An object relationship */ - team?: Maybe; - teamId?: Maybe; - theme?: Maybe; - updatedAt: Scalars['timestamptz']; - /** An object relationship */ - user?: Maybe; - userId?: Maybe; -}; - -/** columns and relationships of "Project" */ -export type ProjectPagesArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "Project" */ -export type ProjectPages_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "Project" */ -export type ProjectThemeArgs = { - path?: InputMaybe; -}; - -/** aggregated selection of "Project" */ -export type Project_Aggregate = { - __typename?: 'Project_aggregate'; - aggregate?: Maybe; - nodes: Array; -}; - -/** aggregate fields of "Project" */ -export type Project_Aggregate_Fields = { - __typename?: 'Project_aggregate_fields'; - count: Scalars['Int']; - max?: Maybe; - min?: Maybe; -}; - -/** aggregate fields of "Project" */ -export type Project_Aggregate_FieldsCountArgs = { - columns?: InputMaybe>; - distinct?: InputMaybe; -}; - -/** order by aggregate values of table "Project" */ -export type Project_Aggregate_Order_By = { - count?: InputMaybe; - max?: InputMaybe; - min?: InputMaybe; -}; - -/** append existing jsonb value of filtered columns with new jsonb value */ -export type Project_Append_Input = { - theme?: InputMaybe; -}; - -/** input type for inserting array relation for remote table "Project" */ -export type Project_Arr_Rel_Insert_Input = { - data: Array; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** Boolean expression to filter rows from the table "Project". All fields are combined with a logical 'AND'. */ -export type Project_Bool_Exp = { - _and?: InputMaybe>; - _not?: InputMaybe; - _or?: InputMaybe>; - createdAt?: InputMaybe; - domain?: InputMaybe; - id?: InputMaybe; - name?: InputMaybe; - pages?: InputMaybe; - team?: InputMaybe; - teamId?: InputMaybe; - theme?: InputMaybe; - updatedAt?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** unique or primary key constraints on table "Project" */ -export type Project_Constraint = - /** unique or primary key constraint */ - | 'Project_domain_key' - /** unique or primary key constraint */ - | 'Project_pkey'; - -/** delete the field or element with specified path (for JSON arrays, negative integers count from the end) */ -export type Project_Delete_At_Path_Input = { - theme?: InputMaybe>; -}; - -/** delete the array element with specified index (negative integers count from the end). throws an error if top level container is not an array */ -export type Project_Delete_Elem_Input = { - theme?: InputMaybe; -}; - -/** delete key/value pair or string element. key/value pairs are matched based on their key value */ -export type Project_Delete_Key_Input = { - theme?: InputMaybe; -}; - -/** input type for inserting data into table "Project" */ -export type Project_Insert_Input = { - createdAt?: InputMaybe; - domain?: InputMaybe; - id?: InputMaybe; - name?: InputMaybe; - pages?: InputMaybe; - team?: InputMaybe; - teamId?: InputMaybe; - theme?: InputMaybe; - updatedAt?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** aggregate max on columns */ -export type Project_Max_Fields = { - __typename?: 'Project_max_fields'; - createdAt?: Maybe; - domain?: Maybe; - id?: Maybe; - name?: Maybe; - teamId?: Maybe; - updatedAt?: Maybe; - userId?: Maybe; -}; - -/** order by max() on columns of table "Project" */ -export type Project_Max_Order_By = { - createdAt?: InputMaybe; - domain?: InputMaybe; - id?: InputMaybe; - name?: InputMaybe; - teamId?: InputMaybe; - updatedAt?: InputMaybe; - userId?: InputMaybe; -}; - -/** aggregate min on columns */ -export type Project_Min_Fields = { - __typename?: 'Project_min_fields'; - createdAt?: Maybe; - domain?: Maybe; - id?: Maybe; - name?: Maybe; - teamId?: Maybe; - updatedAt?: Maybe; - userId?: Maybe; -}; - -/** order by min() on columns of table "Project" */ -export type Project_Min_Order_By = { - createdAt?: InputMaybe; - domain?: InputMaybe; - id?: InputMaybe; - name?: InputMaybe; - teamId?: InputMaybe; - updatedAt?: InputMaybe; - userId?: InputMaybe; -}; - -/** response of any mutation on the table "Project" */ -export type Project_Mutation_Response = { - __typename?: 'Project_mutation_response'; - /** number of rows affected by the mutation */ - affected_rows: Scalars['Int']; - /** data from the rows affected by the mutation */ - returning: Array; -}; - -/** input type for inserting object relation for remote table "Project" */ -export type Project_Obj_Rel_Insert_Input = { - data: Project_Insert_Input; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** on_conflict condition type for table "Project" */ -export type Project_On_Conflict = { - constraint: Project_Constraint; - update_columns?: Array; - where?: InputMaybe; -}; - -/** Ordering options when selecting data from "Project". */ -export type Project_Order_By = { - createdAt?: InputMaybe; - domain?: InputMaybe; - id?: InputMaybe; - name?: InputMaybe; - pages_aggregate?: InputMaybe; - team?: InputMaybe; - teamId?: InputMaybe; - theme?: InputMaybe; - updatedAt?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** primary key columns input for table: Project */ -export type Project_Pk_Columns_Input = { - id: Scalars['uuid']; -}; - -/** prepend existing jsonb value of filtered columns with new jsonb value */ -export type Project_Prepend_Input = { - theme?: InputMaybe; -}; - -/** select columns of table "Project" */ -export type Project_Select_Column = - /** column name */ - | 'createdAt' - /** column name */ - | 'domain' - /** column name */ - | 'id' - /** column name */ - | 'name' - /** column name */ - | 'teamId' - /** column name */ - | 'theme' - /** column name */ - | 'updatedAt' - /** column name */ - | 'userId'; - -/** input type for updating data in table "Project" */ -export type Project_Set_Input = { - createdAt?: InputMaybe; - domain?: InputMaybe; - id?: InputMaybe; - name?: InputMaybe; - teamId?: InputMaybe; - theme?: InputMaybe; - updatedAt?: InputMaybe; - userId?: InputMaybe; -}; - -/** update columns of table "Project" */ -export type Project_Update_Column = - /** column name */ - | 'createdAt' - /** column name */ - | 'domain' - /** column name */ - | 'id' - /** column name */ - | 'name' - /** column name */ - | 'teamId' - /** column name */ - | 'theme' - /** column name */ - | 'updatedAt' - /** column name */ - | 'userId'; - -/** User's role in teams */ -export type Role = { - __typename?: 'Role'; - comment?: Maybe; - /** An array relationship */ - members: Array; - /** An aggregate relationship */ - members_aggregate: Member_Aggregate; - value: Scalars['String']; -}; - -/** User's role in teams */ -export type RoleMembersArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** User's role in teams */ -export type RoleMembers_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** aggregated selection of "Role" */ -export type Role_Aggregate = { - __typename?: 'Role_aggregate'; - aggregate?: Maybe; - nodes: Array; -}; - -/** aggregate fields of "Role" */ -export type Role_Aggregate_Fields = { - __typename?: 'Role_aggregate_fields'; - count: Scalars['Int']; - max?: Maybe; - min?: Maybe; -}; - -/** aggregate fields of "Role" */ -export type Role_Aggregate_FieldsCountArgs = { - columns?: InputMaybe>; - distinct?: InputMaybe; -}; - -/** Boolean expression to filter rows from the table "Role". All fields are combined with a logical 'AND'. */ -export type Role_Bool_Exp = { - _and?: InputMaybe>; - _not?: InputMaybe; - _or?: InputMaybe>; - comment?: InputMaybe; - members?: InputMaybe; - value?: InputMaybe; -}; - -/** unique or primary key constraints on table "Role" */ -export type Role_Constraint = - /** unique or primary key constraint */ - 'Role_pkey'; - -export type Role_Enum = - /** Manager of a team */ - | 'manager' - /** Normal user */ - | 'user'; - -/** Boolean expression to compare columns of type "Role_enum". All fields are combined with logical 'AND'. */ -export type Role_Enum_Comparison_Exp = { - _eq?: InputMaybe; - _in?: InputMaybe>; - _is_null?: InputMaybe; - _neq?: InputMaybe; - _nin?: InputMaybe>; -}; - -/** input type for inserting data into table "Role" */ -export type Role_Insert_Input = { - comment?: InputMaybe; - members?: InputMaybe; - value?: InputMaybe; -}; - -/** aggregate max on columns */ -export type Role_Max_Fields = { - __typename?: 'Role_max_fields'; - comment?: Maybe; - value?: Maybe; -}; - -/** aggregate min on columns */ -export type Role_Min_Fields = { - __typename?: 'Role_min_fields'; - comment?: Maybe; - value?: Maybe; -}; - -/** response of any mutation on the table "Role" */ -export type Role_Mutation_Response = { - __typename?: 'Role_mutation_response'; - /** number of rows affected by the mutation */ - affected_rows: Scalars['Int']; - /** data from the rows affected by the mutation */ - returning: Array; -}; - -/** input type for inserting object relation for remote table "Role" */ -export type Role_Obj_Rel_Insert_Input = { - data: Role_Insert_Input; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** on_conflict condition type for table "Role" */ -export type Role_On_Conflict = { - constraint: Role_Constraint; - update_columns?: Array; - where?: InputMaybe; -}; - -/** Ordering options when selecting data from "Role". */ -export type Role_Order_By = { - comment?: InputMaybe; - members_aggregate?: InputMaybe; - value?: InputMaybe; -}; - -/** primary key columns input for table: Role */ -export type Role_Pk_Columns_Input = { - value: Scalars['String']; -}; - -/** select columns of table "Role" */ -export type Role_Select_Column = - /** column name */ - | 'comment' - /** column name */ - | 'value'; - -/** input type for updating data in table "Role" */ -export type Role_Set_Input = { - comment?: InputMaybe; - value?: InputMaybe; -}; - -/** update columns of table "Role" */ -export type Role_Update_Column = - /** column name */ - | 'comment' - /** column name */ - | 'value'; - -/** columns and relationships of "Session" */ -export type Session = { - __typename?: 'Session'; - createdAt: Scalars['timestamptz']; - expires: Scalars['timestamptz']; - id: Scalars['uuid']; - sessionToken: Scalars['String']; - updatedAt: Scalars['timestamptz']; - /** An object relationship */ - user: User; - userId: Scalars['uuid']; -}; - -/** aggregated selection of "Session" */ -export type Session_Aggregate = { - __typename?: 'Session_aggregate'; - aggregate?: Maybe; - nodes: Array; -}; - -/** aggregate fields of "Session" */ -export type Session_Aggregate_Fields = { - __typename?: 'Session_aggregate_fields'; - count: Scalars['Int']; - max?: Maybe; - min?: Maybe; -}; - -/** aggregate fields of "Session" */ -export type Session_Aggregate_FieldsCountArgs = { - columns?: InputMaybe>; - distinct?: InputMaybe; -}; - -/** order by aggregate values of table "Session" */ -export type Session_Aggregate_Order_By = { - count?: InputMaybe; - max?: InputMaybe; - min?: InputMaybe; -}; - -/** input type for inserting array relation for remote table "Session" */ -export type Session_Arr_Rel_Insert_Input = { - data: Array; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** Boolean expression to filter rows from the table "Session". All fields are combined with a logical 'AND'. */ -export type Session_Bool_Exp = { - _and?: InputMaybe>; - _not?: InputMaybe; - _or?: InputMaybe>; - createdAt?: InputMaybe; - expires?: InputMaybe; - id?: InputMaybe; - sessionToken?: InputMaybe; - updatedAt?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** unique or primary key constraints on table "Session" */ -export type Session_Constraint = - /** unique or primary key constraint */ - | 'Session_pkey' - /** unique or primary key constraint */ - | 'Session_sessionToken_key'; - -/** input type for inserting data into table "Session" */ -export type Session_Insert_Input = { - createdAt?: InputMaybe; - expires?: InputMaybe; - id?: InputMaybe; - sessionToken?: InputMaybe; - updatedAt?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** aggregate max on columns */ -export type Session_Max_Fields = { - __typename?: 'Session_max_fields'; - createdAt?: Maybe; - expires?: Maybe; - id?: Maybe; - sessionToken?: Maybe; - updatedAt?: Maybe; - userId?: Maybe; -}; - -/** order by max() on columns of table "Session" */ -export type Session_Max_Order_By = { - createdAt?: InputMaybe; - expires?: InputMaybe; - id?: InputMaybe; - sessionToken?: InputMaybe; - updatedAt?: InputMaybe; - userId?: InputMaybe; -}; - -/** aggregate min on columns */ -export type Session_Min_Fields = { - __typename?: 'Session_min_fields'; - createdAt?: Maybe; - expires?: Maybe; - id?: Maybe; - sessionToken?: Maybe; - updatedAt?: Maybe; - userId?: Maybe; -}; - -/** order by min() on columns of table "Session" */ -export type Session_Min_Order_By = { - createdAt?: InputMaybe; - expires?: InputMaybe; - id?: InputMaybe; - sessionToken?: InputMaybe; - updatedAt?: InputMaybe; - userId?: InputMaybe; -}; - -/** response of any mutation on the table "Session" */ -export type Session_Mutation_Response = { - __typename?: 'Session_mutation_response'; - /** number of rows affected by the mutation */ - affected_rows: Scalars['Int']; - /** data from the rows affected by the mutation */ - returning: Array; -}; - -/** on_conflict condition type for table "Session" */ -export type Session_On_Conflict = { - constraint: Session_Constraint; - update_columns?: Array; - where?: InputMaybe; -}; - -/** Ordering options when selecting data from "Session". */ -export type Session_Order_By = { - createdAt?: InputMaybe; - expires?: InputMaybe; - id?: InputMaybe; - sessionToken?: InputMaybe; - updatedAt?: InputMaybe; - user?: InputMaybe; - userId?: InputMaybe; -}; - -/** primary key columns input for table: Session */ -export type Session_Pk_Columns_Input = { - id: Scalars['uuid']; -}; - -/** select columns of table "Session" */ -export type Session_Select_Column = - /** column name */ - | 'createdAt' - /** column name */ - | 'expires' - /** column name */ - | 'id' - /** column name */ - | 'sessionToken' - /** column name */ - | 'updatedAt' - /** column name */ - | 'userId'; - -/** input type for updating data in table "Session" */ -export type Session_Set_Input = { - createdAt?: InputMaybe; - expires?: InputMaybe; - id?: InputMaybe; - sessionToken?: InputMaybe; - updatedAt?: InputMaybe; - userId?: InputMaybe; -}; - -/** update columns of table "Session" */ -export type Session_Update_Column = - /** column name */ - | 'createdAt' - /** column name */ - | 'expires' - /** column name */ - | 'id' - /** column name */ - | 'sessionToken' - /** column name */ - | 'updatedAt' - /** column name */ - | 'userId'; - -/** Boolean expression to compare columns of type "String". All fields are combined with logical 'AND'. */ -export type String_Comparison_Exp = { - _eq?: InputMaybe; - _gt?: InputMaybe; - _gte?: InputMaybe; - /** does the column match the given case-insensitive pattern */ - _ilike?: InputMaybe; - _in?: InputMaybe>; - /** does the column match the given POSIX regular expression, case insensitive */ - _iregex?: InputMaybe; - _is_null?: InputMaybe; - /** does the column match the given pattern */ - _like?: InputMaybe; - _lt?: InputMaybe; - _lte?: InputMaybe; - _neq?: InputMaybe; - /** does the column NOT match the given case-insensitive pattern */ - _nilike?: InputMaybe; - _nin?: InputMaybe>; - /** does the column NOT match the given POSIX regular expression, case insensitive */ - _niregex?: InputMaybe; - /** does the column NOT match the given pattern */ - _nlike?: InputMaybe; - /** does the column NOT match the given POSIX regular expression, case sensitive */ - _nregex?: InputMaybe; - /** does the column NOT match the given SQL regular expression */ - _nsimilar?: InputMaybe; - /** does the column match the given POSIX regular expression, case sensitive */ - _regex?: InputMaybe; - /** does the column match the given SQL regular expression */ - _similar?: InputMaybe; -}; - -/** columns and relationships of "Team" */ -export type Team = { - __typename?: 'Team'; - createdAt: Scalars['timestamptz']; - id: Scalars['uuid']; - /** An array relationship */ - members: Array; - /** An aggregate relationship */ - members_aggregate: Member_Aggregate; - name: Scalars['String']; - /** An array relationship */ - projects: Array; - /** An aggregate relationship */ - projects_aggregate: Project_Aggregate; - uid?: Maybe; - updatedAt: Scalars['timestamptz']; -}; - -/** columns and relationships of "Team" */ -export type TeamMembersArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "Team" */ -export type TeamMembers_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "Team" */ -export type TeamProjectsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "Team" */ -export type TeamProjects_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** aggregated selection of "Team" */ -export type Team_Aggregate = { - __typename?: 'Team_aggregate'; - aggregate?: Maybe; - nodes: Array; -}; - -/** aggregate fields of "Team" */ -export type Team_Aggregate_Fields = { - __typename?: 'Team_aggregate_fields'; - count: Scalars['Int']; - max?: Maybe; - min?: Maybe; -}; - -/** aggregate fields of "Team" */ -export type Team_Aggregate_FieldsCountArgs = { - columns?: InputMaybe>; - distinct?: InputMaybe; -}; - -/** Boolean expression to filter rows from the table "Team". All fields are combined with a logical 'AND'. */ -export type Team_Bool_Exp = { - _and?: InputMaybe>; - _not?: InputMaybe; - _or?: InputMaybe>; - createdAt?: InputMaybe; - id?: InputMaybe; - members?: InputMaybe; - name?: InputMaybe; - projects?: InputMaybe; - uid?: InputMaybe; - updatedAt?: InputMaybe; -}; - -/** unique or primary key constraints on table "Team" */ -export type Team_Constraint = - /** unique or primary key constraint */ - | 'Team_pkey' - /** unique or primary key constraint */ - | 'Team_uid_key'; - -/** input type for inserting data into table "Team" */ -export type Team_Insert_Input = { - createdAt?: InputMaybe; - id?: InputMaybe; - members?: InputMaybe; - name?: InputMaybe; - projects?: InputMaybe; - uid?: InputMaybe; - updatedAt?: InputMaybe; -}; - -/** aggregate max on columns */ -export type Team_Max_Fields = { - __typename?: 'Team_max_fields'; - createdAt?: Maybe; - id?: Maybe; - name?: Maybe; - uid?: Maybe; - updatedAt?: Maybe; -}; - -/** aggregate min on columns */ -export type Team_Min_Fields = { - __typename?: 'Team_min_fields'; - createdAt?: Maybe; - id?: Maybe; - name?: Maybe; - uid?: Maybe; - updatedAt?: Maybe; -}; - -/** response of any mutation on the table "Team" */ -export type Team_Mutation_Response = { - __typename?: 'Team_mutation_response'; - /** number of rows affected by the mutation */ - affected_rows: Scalars['Int']; - /** data from the rows affected by the mutation */ - returning: Array; -}; - -/** input type for inserting object relation for remote table "Team" */ -export type Team_Obj_Rel_Insert_Input = { - data: Team_Insert_Input; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** on_conflict condition type for table "Team" */ -export type Team_On_Conflict = { - constraint: Team_Constraint; - update_columns?: Array; - where?: InputMaybe; -}; - -/** Ordering options when selecting data from "Team". */ -export type Team_Order_By = { - createdAt?: InputMaybe; - id?: InputMaybe; - members_aggregate?: InputMaybe; - name?: InputMaybe; - projects_aggregate?: InputMaybe; - uid?: InputMaybe; - updatedAt?: InputMaybe; -}; - -/** primary key columns input for table: Team */ -export type Team_Pk_Columns_Input = { - id: Scalars['uuid']; -}; - -/** select columns of table "Team" */ -export type Team_Select_Column = - /** column name */ - | 'createdAt' - /** column name */ - | 'id' - /** column name */ - | 'name' - /** column name */ - | 'uid' - /** column name */ - | 'updatedAt'; - -/** input type for updating data in table "Team" */ -export type Team_Set_Input = { - createdAt?: InputMaybe; - id?: InputMaybe; - name?: InputMaybe; - uid?: InputMaybe; - updatedAt?: InputMaybe; -}; - -/** update columns of table "Team" */ -export type Team_Update_Column = - /** column name */ - | 'createdAt' - /** column name */ - | 'id' - /** column name */ - | 'name' - /** column name */ - | 'uid' - /** column name */ - | 'updatedAt'; - -/** columns and relationships of "User" */ -export type User = { - __typename?: 'User'; - /** An array relationship */ - accounts: Array; - /** An aggregate relationship */ - accounts_aggregate: Account_Aggregate; - bio?: Maybe; - /** An array relationship */ - comments: Array; - /** An aggregate relationship */ - comments_aggregate: Comment_Aggregate; - createdAt: Scalars['timestamptz']; - email?: Maybe; - emailVerified?: Maybe; - id: Scalars['uuid']; - /** User profile avatar */ - image?: Maybe; - /** An array relationship */ - likes: Array; - /** An aggregate relationship */ - likes_aggregate: Like_Aggregate; - /** An array relationship */ - members: Array; - /** An aggregate relationship */ - members_aggregate: Member_Aggregate; - name?: Maybe; - /** An array relationship */ - notificationSubscriptions: Array; - /** An aggregate relationship */ - notificationSubscriptions_aggregate: NotificationSubscription_Aggregate; - /** An array relationship */ - projects: Array; - /** An aggregate relationship */ - projects_aggregate: Project_Aggregate; - /** An array relationship */ - recipientNotificationMessages: Array; - /** An aggregate relationship */ - recipientNotificationMessages_aggregate: NotificationMessage_Aggregate; - /** An array relationship */ - sessions: Array; - /** An aggregate relationship */ - sessions_aggregate: Session_Aggregate; - /** An array relationship */ - triggeredNotificationMessages: Array; - /** An aggregate relationship */ - triggeredNotificationMessages_aggregate: NotificationMessage_Aggregate; - twitterUserName?: Maybe; - type?: Maybe; - updatedAt: Scalars['timestamptz']; - /** An object relationship */ - userType?: Maybe; - username?: Maybe; - website?: Maybe; -}; - -/** columns and relationships of "User" */ -export type UserAccountsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "User" */ -export type UserAccounts_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "User" */ -export type UserCommentsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "User" */ -export type UserComments_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "User" */ -export type UserLikesArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "User" */ -export type UserLikes_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "User" */ -export type UserMembersArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "User" */ -export type UserMembers_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "User" */ -export type UserNotificationSubscriptionsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "User" */ -export type UserNotificationSubscriptions_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "User" */ -export type UserProjectsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "User" */ -export type UserProjects_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "User" */ -export type UserRecipientNotificationMessagesArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "User" */ -export type UserRecipientNotificationMessages_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "User" */ -export type UserSessionsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "User" */ -export type UserSessions_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "User" */ -export type UserTriggeredNotificationMessagesArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "User" */ -export type UserTriggeredNotificationMessages_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "UserType" */ -export type UserType = { - __typename?: 'UserType'; - comment: Scalars['String']; - /** An array relationship */ - users: Array; - /** An aggregate relationship */ - users_aggregate: User_Aggregate; - value: Scalars['String']; -}; - -/** columns and relationships of "UserType" */ -export type UserTypeUsersArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** columns and relationships of "UserType" */ -export type UserTypeUsers_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** aggregated selection of "UserType" */ -export type UserType_Aggregate = { - __typename?: 'UserType_aggregate'; - aggregate?: Maybe; - nodes: Array; -}; - -/** aggregate fields of "UserType" */ -export type UserType_Aggregate_Fields = { - __typename?: 'UserType_aggregate_fields'; - count: Scalars['Int']; - max?: Maybe; - min?: Maybe; -}; - -/** aggregate fields of "UserType" */ -export type UserType_Aggregate_FieldsCountArgs = { - columns?: InputMaybe>; - distinct?: InputMaybe; -}; - -/** Boolean expression to filter rows from the table "UserType". All fields are combined with a logical 'AND'. */ -export type UserType_Bool_Exp = { - _and?: InputMaybe>; - _not?: InputMaybe; - _or?: InputMaybe>; - comment?: InputMaybe; - users?: InputMaybe; - value?: InputMaybe; -}; - -/** unique or primary key constraints on table "UserType" */ -export type UserType_Constraint = - /** unique or primary key constraint */ - 'UserType_pkey'; - -export type UserType_Enum = - /** Site administrator */ - | 'admin' - /** Anonymous widget vsisitor */ - | 'anonymous' - /** Free user */ - | 'free' - /** Paid user */ - | 'pro'; - -/** Boolean expression to compare columns of type "UserType_enum". All fields are combined with logical 'AND'. */ -export type UserType_Enum_Comparison_Exp = { - _eq?: InputMaybe; - _in?: InputMaybe>; - _is_null?: InputMaybe; - _neq?: InputMaybe; - _nin?: InputMaybe>; -}; - -/** input type for inserting data into table "UserType" */ -export type UserType_Insert_Input = { - comment?: InputMaybe; - users?: InputMaybe; - value?: InputMaybe; -}; - -/** aggregate max on columns */ -export type UserType_Max_Fields = { - __typename?: 'UserType_max_fields'; - comment?: Maybe; - value?: Maybe; -}; - -/** aggregate min on columns */ -export type UserType_Min_Fields = { - __typename?: 'UserType_min_fields'; - comment?: Maybe; - value?: Maybe; -}; - -/** response of any mutation on the table "UserType" */ -export type UserType_Mutation_Response = { - __typename?: 'UserType_mutation_response'; - /** number of rows affected by the mutation */ - affected_rows: Scalars['Int']; - /** data from the rows affected by the mutation */ - returning: Array; -}; - -/** input type for inserting object relation for remote table "UserType" */ -export type UserType_Obj_Rel_Insert_Input = { - data: UserType_Insert_Input; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** on_conflict condition type for table "UserType" */ -export type UserType_On_Conflict = { - constraint: UserType_Constraint; - update_columns?: Array; - where?: InputMaybe; -}; - -/** Ordering options when selecting data from "UserType". */ -export type UserType_Order_By = { - comment?: InputMaybe; - users_aggregate?: InputMaybe; - value?: InputMaybe; -}; - -/** primary key columns input for table: UserType */ -export type UserType_Pk_Columns_Input = { - value: Scalars['String']; -}; - -/** select columns of table "UserType" */ -export type UserType_Select_Column = - /** column name */ - | 'comment' - /** column name */ - | 'value'; - -/** input type for updating data in table "UserType" */ -export type UserType_Set_Input = { - comment?: InputMaybe; - value?: InputMaybe; -}; - -/** update columns of table "UserType" */ -export type UserType_Update_Column = - /** column name */ - | 'comment' - /** column name */ - | 'value'; - -/** aggregated selection of "User" */ -export type User_Aggregate = { - __typename?: 'User_aggregate'; - aggregate?: Maybe; - nodes: Array; -}; - -/** aggregate fields of "User" */ -export type User_Aggregate_Fields = { - __typename?: 'User_aggregate_fields'; - count: Scalars['Int']; - max?: Maybe; - min?: Maybe; -}; - -/** aggregate fields of "User" */ -export type User_Aggregate_FieldsCountArgs = { - columns?: InputMaybe>; - distinct?: InputMaybe; -}; - -/** order by aggregate values of table "User" */ -export type User_Aggregate_Order_By = { - count?: InputMaybe; - max?: InputMaybe; - min?: InputMaybe; -}; - -/** input type for inserting array relation for remote table "User" */ -export type User_Arr_Rel_Insert_Input = { - data: Array; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** Boolean expression to filter rows from the table "User". All fields are combined with a logical 'AND'. */ -export type User_Bool_Exp = { - _and?: InputMaybe>; - _not?: InputMaybe; - _or?: InputMaybe>; - accounts?: InputMaybe; - bio?: InputMaybe; - comments?: InputMaybe; - createdAt?: InputMaybe; - email?: InputMaybe; - emailVerified?: InputMaybe; - id?: InputMaybe; - image?: InputMaybe; - likes?: InputMaybe; - members?: InputMaybe; - name?: InputMaybe; - notificationSubscriptions?: InputMaybe; - projects?: InputMaybe; - recipientNotificationMessages?: InputMaybe; - sessions?: InputMaybe; - triggeredNotificationMessages?: InputMaybe; - twitterUserName?: InputMaybe; - type?: InputMaybe; - updatedAt?: InputMaybe; - userType?: InputMaybe; - username?: InputMaybe; - website?: InputMaybe; -}; - -/** unique or primary key constraints on table "User" */ -export type User_Constraint = - /** unique or primary key constraint */ - | 'User_email_key' - /** unique or primary key constraint */ - | 'User_pkey' - /** unique or primary key constraint */ - | 'User_username_key'; - -/** input type for inserting data into table "User" */ -export type User_Insert_Input = { - accounts?: InputMaybe; - bio?: InputMaybe; - comments?: InputMaybe; - createdAt?: InputMaybe; - email?: InputMaybe; - emailVerified?: InputMaybe; - id?: InputMaybe; - /** User profile avatar */ - image?: InputMaybe; - likes?: InputMaybe; - members?: InputMaybe; - name?: InputMaybe; - notificationSubscriptions?: InputMaybe; - projects?: InputMaybe; - recipientNotificationMessages?: InputMaybe; - sessions?: InputMaybe; - triggeredNotificationMessages?: InputMaybe; - twitterUserName?: InputMaybe; - type?: InputMaybe; - updatedAt?: InputMaybe; - userType?: InputMaybe; - username?: InputMaybe; - website?: InputMaybe; -}; - -/** aggregate max on columns */ -export type User_Max_Fields = { - __typename?: 'User_max_fields'; - bio?: Maybe; - createdAt?: Maybe; - email?: Maybe; - emailVerified?: Maybe; - id?: Maybe; - /** User profile avatar */ - image?: Maybe; - name?: Maybe; - twitterUserName?: Maybe; - updatedAt?: Maybe; - username?: Maybe; - website?: Maybe; -}; - -/** order by max() on columns of table "User" */ -export type User_Max_Order_By = { - bio?: InputMaybe; - createdAt?: InputMaybe; - email?: InputMaybe; - emailVerified?: InputMaybe; - id?: InputMaybe; - /** User profile avatar */ - image?: InputMaybe; - name?: InputMaybe; - twitterUserName?: InputMaybe; - updatedAt?: InputMaybe; - username?: InputMaybe; - website?: InputMaybe; -}; - -/** aggregate min on columns */ -export type User_Min_Fields = { - __typename?: 'User_min_fields'; - bio?: Maybe; - createdAt?: Maybe; - email?: Maybe; - emailVerified?: Maybe; - id?: Maybe; - /** User profile avatar */ - image?: Maybe; - name?: Maybe; - twitterUserName?: Maybe; - updatedAt?: Maybe; - username?: Maybe; - website?: Maybe; -}; - -/** order by min() on columns of table "User" */ -export type User_Min_Order_By = { - bio?: InputMaybe; - createdAt?: InputMaybe; - email?: InputMaybe; - emailVerified?: InputMaybe; - id?: InputMaybe; - /** User profile avatar */ - image?: InputMaybe; - name?: InputMaybe; - twitterUserName?: InputMaybe; - updatedAt?: InputMaybe; - username?: InputMaybe; - website?: InputMaybe; -}; - -/** response of any mutation on the table "User" */ -export type User_Mutation_Response = { - __typename?: 'User_mutation_response'; - /** number of rows affected by the mutation */ - affected_rows: Scalars['Int']; - /** data from the rows affected by the mutation */ - returning: Array; -}; - -/** input type for inserting object relation for remote table "User" */ -export type User_Obj_Rel_Insert_Input = { - data: User_Insert_Input; - /** upsert condition */ - on_conflict?: InputMaybe; -}; - -/** on_conflict condition type for table "User" */ -export type User_On_Conflict = { - constraint: User_Constraint; - update_columns?: Array; - where?: InputMaybe; -}; - -/** Ordering options when selecting data from "User". */ -export type User_Order_By = { - accounts_aggregate?: InputMaybe; - bio?: InputMaybe; - comments_aggregate?: InputMaybe; - createdAt?: InputMaybe; - email?: InputMaybe; - emailVerified?: InputMaybe; - id?: InputMaybe; - image?: InputMaybe; - likes_aggregate?: InputMaybe; - members_aggregate?: InputMaybe; - name?: InputMaybe; - notificationSubscriptions_aggregate?: InputMaybe; - projects_aggregate?: InputMaybe; - recipientNotificationMessages_aggregate?: InputMaybe; - sessions_aggregate?: InputMaybe; - triggeredNotificationMessages_aggregate?: InputMaybe; - twitterUserName?: InputMaybe; - type?: InputMaybe; - updatedAt?: InputMaybe; - userType?: InputMaybe; - username?: InputMaybe; - website?: InputMaybe; -}; - -/** primary key columns input for table: User */ -export type User_Pk_Columns_Input = { - id: Scalars['uuid']; -}; - -/** select columns of table "User" */ -export type User_Select_Column = - /** column name */ - | 'bio' - /** column name */ - | 'createdAt' - /** column name */ - | 'email' - /** column name */ - | 'emailVerified' - /** column name */ - | 'id' - /** column name */ - | 'image' - /** column name */ - | 'name' - /** column name */ - | 'twitterUserName' - /** column name */ - | 'type' - /** column name */ - | 'updatedAt' - /** column name */ - | 'username' - /** column name */ - | 'website'; - -/** input type for updating data in table "User" */ -export type User_Set_Input = { - bio?: InputMaybe; - createdAt?: InputMaybe; - email?: InputMaybe; - emailVerified?: InputMaybe; - id?: InputMaybe; - /** User profile avatar */ - image?: InputMaybe; - name?: InputMaybe; - twitterUserName?: InputMaybe; - type?: InputMaybe; - updatedAt?: InputMaybe; - username?: InputMaybe; - website?: InputMaybe; -}; - -/** update columns of table "User" */ -export type User_Update_Column = - /** column name */ - | 'bio' - /** column name */ - | 'createdAt' - /** column name */ - | 'email' - /** column name */ - | 'emailVerified' - /** column name */ - | 'id' - /** column name */ - | 'image' - /** column name */ - | 'name' - /** column name */ - | 'twitterUserName' - /** column name */ - | 'type' - /** column name */ - | 'updatedAt' - /** column name */ - | 'username' - /** column name */ - | 'website'; - -/** columns and relationships of "VerificationToken" */ -export type VerificationToken = { - __typename?: 'VerificationToken'; - expires: Scalars['timestamptz']; - id: Scalars['uuid']; - identifier: Scalars['String']; - token: Scalars['String']; -}; - -/** aggregated selection of "VerificationToken" */ -export type VerificationToken_Aggregate = { - __typename?: 'VerificationToken_aggregate'; - aggregate?: Maybe; - nodes: Array; -}; - -/** aggregate fields of "VerificationToken" */ -export type VerificationToken_Aggregate_Fields = { - __typename?: 'VerificationToken_aggregate_fields'; - count: Scalars['Int']; - max?: Maybe; - min?: Maybe; -}; - -/** aggregate fields of "VerificationToken" */ -export type VerificationToken_Aggregate_FieldsCountArgs = { - columns?: InputMaybe>; - distinct?: InputMaybe; -}; - -/** Boolean expression to filter rows from the table "VerificationToken". All fields are combined with a logical 'AND'. */ -export type VerificationToken_Bool_Exp = { - _and?: InputMaybe>; - _not?: InputMaybe; - _or?: InputMaybe>; - expires?: InputMaybe; - id?: InputMaybe; - identifier?: InputMaybe; - token?: InputMaybe; -}; - -/** unique or primary key constraints on table "VerificationToken" */ -export type VerificationToken_Constraint = - /** unique or primary key constraint */ - | 'VerificationToken_identifier_token_key' - /** unique or primary key constraint */ - | 'VerificationToken_pkey'; - -/** input type for inserting data into table "VerificationToken" */ -export type VerificationToken_Insert_Input = { - expires?: InputMaybe; - id?: InputMaybe; - identifier?: InputMaybe; - token?: InputMaybe; -}; - -/** aggregate max on columns */ -export type VerificationToken_Max_Fields = { - __typename?: 'VerificationToken_max_fields'; - expires?: Maybe; - id?: Maybe; - identifier?: Maybe; - token?: Maybe; -}; - -/** aggregate min on columns */ -export type VerificationToken_Min_Fields = { - __typename?: 'VerificationToken_min_fields'; - expires?: Maybe; - id?: Maybe; - identifier?: Maybe; - token?: Maybe; -}; - -/** response of any mutation on the table "VerificationToken" */ -export type VerificationToken_Mutation_Response = { - __typename?: 'VerificationToken_mutation_response'; - /** number of rows affected by the mutation */ - affected_rows: Scalars['Int']; - /** data from the rows affected by the mutation */ - returning: Array; -}; - -/** on_conflict condition type for table "VerificationToken" */ -export type VerificationToken_On_Conflict = { - constraint: VerificationToken_Constraint; - update_columns?: Array; - where?: InputMaybe; -}; - -/** Ordering options when selecting data from "VerificationToken". */ -export type VerificationToken_Order_By = { - expires?: InputMaybe; - id?: InputMaybe; - identifier?: InputMaybe; - token?: InputMaybe; -}; - -/** primary key columns input for table: VerificationToken */ -export type VerificationToken_Pk_Columns_Input = { - id: Scalars['uuid']; -}; - -/** select columns of table "VerificationToken" */ -export type VerificationToken_Select_Column = - /** column name */ - | 'expires' - /** column name */ - | 'id' - /** column name */ - | 'identifier' - /** column name */ - | 'token'; - -/** input type for updating data in table "VerificationToken" */ -export type VerificationToken_Set_Input = { - expires?: InputMaybe; - id?: InputMaybe; - identifier?: InputMaybe; - token?: InputMaybe; -}; - -/** update columns of table "VerificationToken" */ -export type VerificationToken_Update_Column = - /** column name */ - | 'expires' - /** column name */ - | 'id' - /** column name */ - | 'identifier' - /** column name */ - | 'token'; - -export type Jsonb_Cast_Exp = { - String?: InputMaybe; -}; - -/** Boolean expression to compare columns of type "jsonb". All fields are combined with logical 'AND'. */ -export type Jsonb_Comparison_Exp = { - _cast?: InputMaybe; - /** is the column contained in the given json value */ - _contained_in?: InputMaybe; - /** does the column contain the given json value at the top level */ - _contains?: InputMaybe; - _eq?: InputMaybe; - _gt?: InputMaybe; - _gte?: InputMaybe; - /** does the string exist as a top-level key in the column */ - _has_key?: InputMaybe; - /** do all of these strings exist as top-level keys in the column */ - _has_keys_all?: InputMaybe>; - /** do any of these strings exist as top-level keys in the column */ - _has_keys_any?: InputMaybe>; - _in?: InputMaybe>; - _is_null?: InputMaybe; - _lt?: InputMaybe; - _lte?: InputMaybe; - _neq?: InputMaybe; - _nin?: InputMaybe>; -}; - -/** mutation root */ -export type Mutation_Root = { - __typename?: 'mutation_root'; - /** delete single row from the table: "Account" */ - deleteAccountByPk?: Maybe; - /** delete data from the table: "Account" */ - deleteAccounts?: Maybe; - /** delete single row from the table: "Comment" */ - deleteCommentByPk?: Maybe; - /** delete data from the table: "Comment" */ - deleteComments?: Maybe; - /** delete single row from the table: "Like" */ - deleteLikeByPk?: Maybe; - /** delete data from the table: "Like" */ - deleteLikes?: Maybe; - /** delete single row from the table: "Member" */ - deleteMemberByPk?: Maybe; - /** delete data from the table: "Member" */ - deleteMembers?: Maybe; - /** delete single row from the table: "NotificationMessage" */ - deleteNotificationMessageByPk?: Maybe; - /** delete data from the table: "NotificationMessage" */ - deleteNotificationMessages?: Maybe; - /** delete single row from the table: "NotificationSubscription" */ - deleteNotificationSubscriptionByPk?: Maybe; - /** delete data from the table: "NotificationSubscription" */ - deleteNotificationSubscriptions?: Maybe; - /** delete single row from the table: "Page" */ - deletePageByPk?: Maybe; - /** delete data from the table: "Page" */ - deletePages?: Maybe; - /** delete single row from the table: "Project" */ - deleteProjectByPk?: Maybe; - /** delete data from the table: "Project" */ - deleteProjects?: Maybe; - /** delete single row from the table: "Role" */ - deleteRoleByPk?: Maybe; - /** delete data from the table: "Role" */ - deleteRoles?: Maybe; - /** delete single row from the table: "Session" */ - deleteSessionByPk?: Maybe; - /** delete data from the table: "Session" */ - deleteSessions?: Maybe; - /** delete single row from the table: "Team" */ - deleteTeamByPk?: Maybe; - /** delete data from the table: "Team" */ - deleteTeams?: Maybe; - /** delete single row from the table: "User" */ - deleteUserByPk?: Maybe; - /** delete single row from the table: "UserType" */ - deleteUserTypeByPk?: Maybe; - /** delete data from the table: "UserType" */ - deleteUserTypes?: Maybe; - /** delete data from the table: "User" */ - deleteUsers?: Maybe; - /** delete single row from the table: "VerificationToken" */ - deleteVerificationTokenByPk?: Maybe; - /** delete data from the table: "VerificationToken" */ - deleteVerificationTokens?: Maybe; - /** delete data from the table: "NotificationType" */ - delete_NotificationType?: Maybe; - /** delete single row from the table: "NotificationType" */ - delete_NotificationType_by_pk?: Maybe; - /** insert data into the table: "Account" */ - insertAccounts?: Maybe; - /** insert data into the table: "Comment" */ - insertComments?: Maybe; - /** insert data into the table: "Like" */ - insertLikes?: Maybe; - /** insert data into the table: "Member" */ - insertMembers?: Maybe; - /** insert data into the table: "NotificationMessage" */ - insertNotificationMessages?: Maybe; - /** insert data into the table: "NotificationSubscription" */ - insertNotificationSubscriptions?: Maybe; - /** insert a single row into the table: "Account" */ - insertOneAccount?: Maybe; - /** insert a single row into the table: "Comment" */ - insertOneComment?: Maybe; - /** insert a single row into the table: "Like" */ - insertOneLike?: Maybe; - /** insert a single row into the table: "Member" */ - insertOneMember?: Maybe; - /** insert a single row into the table: "NotificationMessage" */ - insertOneNotificationMessage?: Maybe; - /** insert a single row into the table: "NotificationSubscription" */ - insertOneNotificationSubscription?: Maybe; - /** insert a single row into the table: "Page" */ - insertOnePage?: Maybe; - /** insert a single row into the table: "Project" */ - insertOneProject?: Maybe; - /** insert a single row into the table: "Role" */ - insertOneRole?: Maybe; - /** insert a single row into the table: "Session" */ - insertOneSession?: Maybe; - /** insert a single row into the table: "Team" */ - insertOneTeam?: Maybe; - /** insert a single row into the table: "User" */ - insertOneUser?: Maybe; - /** insert a single row into the table: "UserType" */ - insertOneUserType?: Maybe; - /** insert a single row into the table: "VerificationToken" */ - insertOneVerificationToken?: Maybe; - /** insert data into the table: "Page" */ - insertPages?: Maybe; - /** insert data into the table: "Project" */ - insertProjects?: Maybe; - /** insert data into the table: "Role" */ - insertRoles?: Maybe; - /** insert data into the table: "Session" */ - insertSessions?: Maybe; - /** insert data into the table: "Team" */ - insertTeams?: Maybe; - /** insert data into the table: "UserType" */ - insertUserTypes?: Maybe; - /** insert data into the table: "User" */ - insertUsers?: Maybe; - /** insert data into the table: "VerificationToken" */ - insertVerificationTokens?: Maybe; - /** insert data into the table: "NotificationType" */ - insert_NotificationType?: Maybe; - /** insert a single row into the table: "NotificationType" */ - insert_NotificationType_one?: Maybe; - /** update single row of the table: "Account" */ - updateAccountByPk?: Maybe; - /** update data of the table: "Account" */ - updateAccounts?: Maybe; - /** update single row of the table: "Comment" */ - updateCommentByPk?: Maybe; - /** update data of the table: "Comment" */ - updateComments?: Maybe; - /** update single row of the table: "Like" */ - updateLikeByPk?: Maybe; - /** update data of the table: "Like" */ - updateLikes?: Maybe; - /** update single row of the table: "Member" */ - updateMemberByPk?: Maybe; - /** update data of the table: "Member" */ - updateMembers?: Maybe; - /** update single row of the table: "NotificationMessage" */ - updateNotificationMessageByPk?: Maybe; - /** update data of the table: "NotificationMessage" */ - updateNotificationMessages?: Maybe; - /** update single row of the table: "NotificationSubscription" */ - updateNotificationSubscriptionByPk?: Maybe; - /** update data of the table: "NotificationSubscription" */ - updateNotificationSubscriptions?: Maybe; - /** update single row of the table: "Page" */ - updatePageByPk?: Maybe; - /** update data of the table: "Page" */ - updatePages?: Maybe; - /** update single row of the table: "Project" */ - updateProjectByPk?: Maybe; - /** update data of the table: "Project" */ - updateProjects?: Maybe; - /** update single row of the table: "Role" */ - updateRoleByPk?: Maybe; - /** update data of the table: "Role" */ - updateRoles?: Maybe; - /** update single row of the table: "Session" */ - updateSessionByPk?: Maybe; - /** update data of the table: "Session" */ - updateSessions?: Maybe; - /** update single row of the table: "Team" */ - updateTeamByPk?: Maybe; - /** update data of the table: "Team" */ - updateTeams?: Maybe; - /** update single row of the table: "User" */ - updateUserByPk?: Maybe; - /** update single row of the table: "UserType" */ - updateUserTypeByPk?: Maybe; - /** update data of the table: "UserType" */ - updateUserTypes?: Maybe; - /** update data of the table: "User" */ - updateUsers?: Maybe; - /** update single row of the table: "VerificationToken" */ - updateVerificationTokenByPk?: Maybe; - /** update data of the table: "VerificationToken" */ - updateVerificationTokens?: Maybe; - /** update data of the table: "NotificationType" */ - update_NotificationType?: Maybe; - /** update single row of the table: "NotificationType" */ - update_NotificationType_by_pk?: Maybe; -}; - -/** mutation root */ -export type Mutation_RootDeleteAccountByPkArgs = { - id: Scalars['uuid']; -}; - -/** mutation root */ -export type Mutation_RootDeleteAccountsArgs = { - where: Account_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootDeleteCommentByPkArgs = { - id: Scalars['uuid']; -}; - -/** mutation root */ -export type Mutation_RootDeleteCommentsArgs = { - where: Comment_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootDeleteLikeByPkArgs = { - id: Scalars['uuid']; -}; - -/** mutation root */ -export type Mutation_RootDeleteLikesArgs = { - where: Like_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootDeleteMemberByPkArgs = { - id: Scalars['uuid']; -}; - -/** mutation root */ -export type Mutation_RootDeleteMembersArgs = { - where: Member_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootDeleteNotificationMessageByPkArgs = { - id: Scalars['uuid']; -}; - -/** mutation root */ -export type Mutation_RootDeleteNotificationMessagesArgs = { - where: NotificationMessage_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootDeleteNotificationSubscriptionByPkArgs = { - id: Scalars['uuid']; -}; - -/** mutation root */ -export type Mutation_RootDeleteNotificationSubscriptionsArgs = { - where: NotificationSubscription_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootDeletePageByPkArgs = { - id: Scalars['uuid']; -}; - -/** mutation root */ -export type Mutation_RootDeletePagesArgs = { - where: Page_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootDeleteProjectByPkArgs = { - id: Scalars['uuid']; -}; - -/** mutation root */ -export type Mutation_RootDeleteProjectsArgs = { - where: Project_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootDeleteRoleByPkArgs = { - value: Scalars['String']; -}; - -/** mutation root */ -export type Mutation_RootDeleteRolesArgs = { - where: Role_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootDeleteSessionByPkArgs = { - id: Scalars['uuid']; -}; - -/** mutation root */ -export type Mutation_RootDeleteSessionsArgs = { - where: Session_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootDeleteTeamByPkArgs = { - id: Scalars['uuid']; -}; - -/** mutation root */ -export type Mutation_RootDeleteTeamsArgs = { - where: Team_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootDeleteUserByPkArgs = { - id: Scalars['uuid']; -}; - -/** mutation root */ -export type Mutation_RootDeleteUserTypeByPkArgs = { - value: Scalars['String']; -}; - -/** mutation root */ -export type Mutation_RootDeleteUserTypesArgs = { - where: UserType_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootDeleteUsersArgs = { - where: User_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootDeleteVerificationTokenByPkArgs = { - id: Scalars['uuid']; -}; - -/** mutation root */ -export type Mutation_RootDeleteVerificationTokensArgs = { - where: VerificationToken_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootDelete_NotificationTypeArgs = { - where: NotificationType_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootDelete_NotificationType_By_PkArgs = { - value: Scalars['String']; -}; - -/** mutation root */ -export type Mutation_RootInsertAccountsArgs = { - objects: Array; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertCommentsArgs = { - objects: Array; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertLikesArgs = { - objects: Array; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertMembersArgs = { - objects: Array; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertNotificationMessagesArgs = { - objects: Array; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertNotificationSubscriptionsArgs = { - objects: Array; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertOneAccountArgs = { - object: Account_Insert_Input; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertOneCommentArgs = { - object: Comment_Insert_Input; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertOneLikeArgs = { - object: Like_Insert_Input; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertOneMemberArgs = { - object: Member_Insert_Input; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertOneNotificationMessageArgs = { - object: NotificationMessage_Insert_Input; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertOneNotificationSubscriptionArgs = { - object: NotificationSubscription_Insert_Input; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertOnePageArgs = { - object: Page_Insert_Input; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertOneProjectArgs = { - object: Project_Insert_Input; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertOneRoleArgs = { - object: Role_Insert_Input; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertOneSessionArgs = { - object: Session_Insert_Input; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertOneTeamArgs = { - object: Team_Insert_Input; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertOneUserArgs = { - object: User_Insert_Input; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertOneUserTypeArgs = { - object: UserType_Insert_Input; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertOneVerificationTokenArgs = { - object: VerificationToken_Insert_Input; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertPagesArgs = { - objects: Array; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertProjectsArgs = { - objects: Array; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertRolesArgs = { - objects: Array; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertSessionsArgs = { - objects: Array; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertTeamsArgs = { - objects: Array; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertUserTypesArgs = { - objects: Array; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertUsersArgs = { - objects: Array; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsertVerificationTokensArgs = { - objects: Array; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsert_NotificationTypeArgs = { - objects: Array; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootInsert_NotificationType_OneArgs = { - object: NotificationType_Insert_Input; - on_conflict?: InputMaybe; -}; - -/** mutation root */ -export type Mutation_RootUpdateAccountByPkArgs = { - _set?: InputMaybe; - pk_columns: Account_Pk_Columns_Input; -}; - -/** mutation root */ -export type Mutation_RootUpdateAccountsArgs = { - _set?: InputMaybe; - where: Account_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootUpdateCommentByPkArgs = { - _append?: InputMaybe; - _delete_at_path?: InputMaybe; - _delete_elem?: InputMaybe; - _delete_key?: InputMaybe; - _prepend?: InputMaybe; - _set?: InputMaybe; - pk_columns: Comment_Pk_Columns_Input; -}; - -/** mutation root */ -export type Mutation_RootUpdateCommentsArgs = { - _append?: InputMaybe; - _delete_at_path?: InputMaybe; - _delete_elem?: InputMaybe; - _delete_key?: InputMaybe; - _prepend?: InputMaybe; - _set?: InputMaybe; - where: Comment_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootUpdateLikeByPkArgs = { - _set?: InputMaybe; - pk_columns: Like_Pk_Columns_Input; -}; - -/** mutation root */ -export type Mutation_RootUpdateLikesArgs = { - _set?: InputMaybe; - where: Like_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootUpdateMemberByPkArgs = { - _set?: InputMaybe; - pk_columns: Member_Pk_Columns_Input; -}; - -/** mutation root */ -export type Mutation_RootUpdateMembersArgs = { - _set?: InputMaybe; - where: Member_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootUpdateNotificationMessageByPkArgs = { - _set?: InputMaybe; - pk_columns: NotificationMessage_Pk_Columns_Input; -}; - -/** mutation root */ -export type Mutation_RootUpdateNotificationMessagesArgs = { - _set?: InputMaybe; - where: NotificationMessage_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootUpdateNotificationSubscriptionByPkArgs = { - _append?: InputMaybe; - _delete_at_path?: InputMaybe; - _delete_elem?: InputMaybe; - _delete_key?: InputMaybe; - _prepend?: InputMaybe; - _set?: InputMaybe; - pk_columns: NotificationSubscription_Pk_Columns_Input; -}; - -/** mutation root */ -export type Mutation_RootUpdateNotificationSubscriptionsArgs = { - _append?: InputMaybe; - _delete_at_path?: InputMaybe; - _delete_elem?: InputMaybe; - _delete_key?: InputMaybe; - _prepend?: InputMaybe; - _set?: InputMaybe; - where: NotificationSubscription_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootUpdatePageByPkArgs = { - _set?: InputMaybe; - pk_columns: Page_Pk_Columns_Input; -}; - -/** mutation root */ -export type Mutation_RootUpdatePagesArgs = { - _set?: InputMaybe; - where: Page_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootUpdateProjectByPkArgs = { - _append?: InputMaybe; - _delete_at_path?: InputMaybe; - _delete_elem?: InputMaybe; - _delete_key?: InputMaybe; - _prepend?: InputMaybe; - _set?: InputMaybe; - pk_columns: Project_Pk_Columns_Input; -}; - -/** mutation root */ -export type Mutation_RootUpdateProjectsArgs = { - _append?: InputMaybe; - _delete_at_path?: InputMaybe; - _delete_elem?: InputMaybe; - _delete_key?: InputMaybe; - _prepend?: InputMaybe; - _set?: InputMaybe; - where: Project_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootUpdateRoleByPkArgs = { - _set?: InputMaybe; - pk_columns: Role_Pk_Columns_Input; -}; - -/** mutation root */ -export type Mutation_RootUpdateRolesArgs = { - _set?: InputMaybe; - where: Role_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootUpdateSessionByPkArgs = { - _set?: InputMaybe; - pk_columns: Session_Pk_Columns_Input; -}; - -/** mutation root */ -export type Mutation_RootUpdateSessionsArgs = { - _set?: InputMaybe; - where: Session_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootUpdateTeamByPkArgs = { - _set?: InputMaybe; - pk_columns: Team_Pk_Columns_Input; -}; - -/** mutation root */ -export type Mutation_RootUpdateTeamsArgs = { - _set?: InputMaybe; - where: Team_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootUpdateUserByPkArgs = { - _set?: InputMaybe; - pk_columns: User_Pk_Columns_Input; -}; - -/** mutation root */ -export type Mutation_RootUpdateUserTypeByPkArgs = { - _set?: InputMaybe; - pk_columns: UserType_Pk_Columns_Input; -}; - -/** mutation root */ -export type Mutation_RootUpdateUserTypesArgs = { - _set?: InputMaybe; - where: UserType_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootUpdateUsersArgs = { - _set?: InputMaybe; - where: User_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootUpdateVerificationTokenByPkArgs = { - _set?: InputMaybe; - pk_columns: VerificationToken_Pk_Columns_Input; -}; - -/** mutation root */ -export type Mutation_RootUpdateVerificationTokensArgs = { - _set?: InputMaybe; - where: VerificationToken_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootUpdate_NotificationTypeArgs = { - _set?: InputMaybe; - where: NotificationType_Bool_Exp; -}; - -/** mutation root */ -export type Mutation_RootUpdate_NotificationType_By_PkArgs = { - _set?: InputMaybe; - pk_columns: NotificationType_Pk_Columns_Input; -}; - -/** column ordering options */ -export type Order_By = - /** in ascending order, nulls last */ - | 'asc' - /** in ascending order, nulls first */ - | 'asc_nulls_first' - /** in ascending order, nulls last */ - | 'asc_nulls_last' - /** in descending order, nulls first */ - | 'desc' - /** in descending order, nulls first */ - | 'desc_nulls_first' - /** in descending order, nulls last */ - | 'desc_nulls_last'; - -export type Query_Root = { - __typename?: 'query_root'; - /** fetch data from the table: "NotificationType" */ - NotificationType: Array; - /** fetch aggregated fields from the table: "NotificationType" */ - NotificationType_aggregate: NotificationType_Aggregate; - /** fetch data from the table: "NotificationType" using primary key columns */ - NotificationType_by_pk?: Maybe; - /** fetch aggregated fields from the table: "Account" */ - accountAggregate: Account_Aggregate; - /** fetch data from the table: "Account" using primary key columns */ - accountByPk?: Maybe; - /** An array relationship */ - accounts: Array; - /** fetch aggregated fields from the table: "Comment" */ - commentAggregate: Comment_Aggregate; - /** fetch data from the table: "Comment" using primary key columns */ - commentByPk?: Maybe; - /** An array relationship */ - comments: Array; - /** fetch aggregated fields from the table: "Like" */ - likeAggregate: Like_Aggregate; - /** fetch data from the table: "Like" using primary key columns */ - likeByPk?: Maybe; - /** An array relationship */ - likes: Array; - /** fetch aggregated fields from the table: "Member" */ - memberAggregate: Member_Aggregate; - /** fetch data from the table: "Member" using primary key columns */ - memberByPk?: Maybe; - /** An array relationship */ - members: Array; - /** An array relationship */ - notificationMessages: Array; - /** fetch aggregated fields from the table: "NotificationMessage" */ - notificationMessagesAggregate: NotificationMessage_Aggregate; - /** fetch data from the table: "NotificationMessage" using primary key columns */ - notificationMessagesByPk?: Maybe; - /** fetch aggregated fields from the table: "NotificationSubscription" */ - notificationSubscriptionAggregate: NotificationSubscription_Aggregate; - /** fetch data from the table: "NotificationSubscription" using primary key columns */ - notificationSubscriptionByPk?: Maybe; - /** An array relationship */ - notificationSubscriptions: Array; - /** fetch aggregated fields from the table: "Page" */ - pageAggregate: Page_Aggregate; - /** fetch data from the table: "Page" using primary key columns */ - pageByPk?: Maybe; - /** An array relationship */ - pages: Array; - /** fetch aggregated fields from the table: "Project" */ - projectAggregate: Project_Aggregate; - /** fetch data from the table: "Project" using primary key columns */ - projectByPk?: Maybe; - /** An array relationship */ - projects: Array; - /** fetch aggregated fields from the table: "Role" */ - roleAggregate: Role_Aggregate; - /** fetch data from the table: "Role" using primary key columns */ - roleByPk?: Maybe; - /** fetch data from the table: "Role" */ - roles: Array; - /** fetch aggregated fields from the table: "Session" */ - sessionAggregate: Session_Aggregate; - /** fetch data from the table: "Session" using primary key columns */ - sessionByPk?: Maybe; - /** An array relationship */ - sessions: Array; - /** fetch aggregated fields from the table: "Team" */ - teamAggregate: Team_Aggregate; - /** fetch data from the table: "Team" using primary key columns */ - teamByPk?: Maybe; - /** fetch data from the table: "Team" */ - teams: Array; - /** fetch aggregated fields from the table: "User" */ - userAggregate: User_Aggregate; - /** fetch data from the table: "User" using primary key columns */ - userByPk?: Maybe; - /** fetch aggregated fields from the table: "UserType" */ - userTypeAggregate: UserType_Aggregate; - /** fetch data from the table: "UserType" using primary key columns */ - userTypeByPk?: Maybe; - /** fetch data from the table: "UserType" */ - userTypes: Array; - /** An array relationship */ - users: Array; - /** fetch aggregated fields from the table: "VerificationToken" */ - verificationTokenAggregate: VerificationToken_Aggregate; - /** fetch data from the table: "VerificationToken" using primary key columns */ - verificationTokenByPk?: Maybe; - /** fetch data from the table: "VerificationToken" */ - verificationTokens: Array; -}; - -export type Query_RootNotificationTypeArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootNotificationType_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootNotificationType_By_PkArgs = { - value: Scalars['String']; -}; - -export type Query_RootAccountAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootAccountByPkArgs = { - id: Scalars['uuid']; -}; - -export type Query_RootAccountsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootCommentAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootCommentByPkArgs = { - id: Scalars['uuid']; -}; - -export type Query_RootCommentsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootLikeAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootLikeByPkArgs = { - id: Scalars['uuid']; -}; - -export type Query_RootLikesArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootMemberAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootMemberByPkArgs = { - id: Scalars['uuid']; -}; - -export type Query_RootMembersArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootNotificationMessagesArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootNotificationMessagesAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootNotificationMessagesByPkArgs = { - id: Scalars['uuid']; -}; - -export type Query_RootNotificationSubscriptionAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootNotificationSubscriptionByPkArgs = { - id: Scalars['uuid']; -}; - -export type Query_RootNotificationSubscriptionsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootPageAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootPageByPkArgs = { - id: Scalars['uuid']; -}; - -export type Query_RootPagesArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootProjectAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootProjectByPkArgs = { - id: Scalars['uuid']; -}; - -export type Query_RootProjectsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootRoleAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootRoleByPkArgs = { - value: Scalars['String']; -}; - -export type Query_RootRolesArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootSessionAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootSessionByPkArgs = { - id: Scalars['uuid']; -}; - -export type Query_RootSessionsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootTeamAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootTeamByPkArgs = { - id: Scalars['uuid']; -}; - -export type Query_RootTeamsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootUserAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootUserByPkArgs = { - id: Scalars['uuid']; -}; - -export type Query_RootUserTypeAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootUserTypeByPkArgs = { - value: Scalars['String']; -}; - -export type Query_RootUserTypesArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootUsersArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootVerificationTokenAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Query_RootVerificationTokenByPkArgs = { - id: Scalars['uuid']; -}; - -export type Query_RootVerificationTokensArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_Root = { - __typename?: 'subscription_root'; - /** fetch data from the table: "NotificationType" */ - NotificationType: Array; - /** fetch aggregated fields from the table: "NotificationType" */ - NotificationType_aggregate: NotificationType_Aggregate; - /** fetch data from the table: "NotificationType" using primary key columns */ - NotificationType_by_pk?: Maybe; - /** fetch aggregated fields from the table: "Account" */ - accountAggregate: Account_Aggregate; - /** fetch data from the table: "Account" using primary key columns */ - accountByPk?: Maybe; - /** An array relationship */ - accounts: Array; - /** fetch aggregated fields from the table: "Comment" */ - commentAggregate: Comment_Aggregate; - /** fetch data from the table: "Comment" using primary key columns */ - commentByPk?: Maybe; - /** An array relationship */ - comments: Array; - /** fetch aggregated fields from the table: "Like" */ - likeAggregate: Like_Aggregate; - /** fetch data from the table: "Like" using primary key columns */ - likeByPk?: Maybe; - /** An array relationship */ - likes: Array; - /** fetch aggregated fields from the table: "Member" */ - memberAggregate: Member_Aggregate; - /** fetch data from the table: "Member" using primary key columns */ - memberByPk?: Maybe; - /** An array relationship */ - members: Array; - /** An array relationship */ - notificationMessages: Array; - /** fetch aggregated fields from the table: "NotificationMessage" */ - notificationMessagesAggregate: NotificationMessage_Aggregate; - /** fetch data from the table: "NotificationMessage" using primary key columns */ - notificationMessagesByPk?: Maybe; - /** fetch aggregated fields from the table: "NotificationSubscription" */ - notificationSubscriptionAggregate: NotificationSubscription_Aggregate; - /** fetch data from the table: "NotificationSubscription" using primary key columns */ - notificationSubscriptionByPk?: Maybe; - /** An array relationship */ - notificationSubscriptions: Array; - /** fetch aggregated fields from the table: "Page" */ - pageAggregate: Page_Aggregate; - /** fetch data from the table: "Page" using primary key columns */ - pageByPk?: Maybe; - /** An array relationship */ - pages: Array; - /** fetch aggregated fields from the table: "Project" */ - projectAggregate: Project_Aggregate; - /** fetch data from the table: "Project" using primary key columns */ - projectByPk?: Maybe; - /** An array relationship */ - projects: Array; - /** fetch aggregated fields from the table: "Role" */ - roleAggregate: Role_Aggregate; - /** fetch data from the table: "Role" using primary key columns */ - roleByPk?: Maybe; - /** fetch data from the table: "Role" */ - roles: Array; - /** fetch aggregated fields from the table: "Session" */ - sessionAggregate: Session_Aggregate; - /** fetch data from the table: "Session" using primary key columns */ - sessionByPk?: Maybe; - /** An array relationship */ - sessions: Array; - /** fetch aggregated fields from the table: "Team" */ - teamAggregate: Team_Aggregate; - /** fetch data from the table: "Team" using primary key columns */ - teamByPk?: Maybe; - /** fetch data from the table: "Team" */ - teams: Array; - /** fetch aggregated fields from the table: "User" */ - userAggregate: User_Aggregate; - /** fetch data from the table: "User" using primary key columns */ - userByPk?: Maybe; - /** fetch aggregated fields from the table: "UserType" */ - userTypeAggregate: UserType_Aggregate; - /** fetch data from the table: "UserType" using primary key columns */ - userTypeByPk?: Maybe; - /** fetch data from the table: "UserType" */ - userTypes: Array; - /** An array relationship */ - users: Array; - /** fetch aggregated fields from the table: "VerificationToken" */ - verificationTokenAggregate: VerificationToken_Aggregate; - /** fetch data from the table: "VerificationToken" using primary key columns */ - verificationTokenByPk?: Maybe; - /** fetch data from the table: "VerificationToken" */ - verificationTokens: Array; -}; - -export type Subscription_RootNotificationTypeArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootNotificationType_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootNotificationType_By_PkArgs = { - value: Scalars['String']; -}; - -export type Subscription_RootAccountAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootAccountByPkArgs = { - id: Scalars['uuid']; -}; - -export type Subscription_RootAccountsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootCommentAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootCommentByPkArgs = { - id: Scalars['uuid']; -}; - -export type Subscription_RootCommentsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootLikeAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootLikeByPkArgs = { - id: Scalars['uuid']; -}; - -export type Subscription_RootLikesArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootMemberAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootMemberByPkArgs = { - id: Scalars['uuid']; -}; - -export type Subscription_RootMembersArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootNotificationMessagesArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootNotificationMessagesAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootNotificationMessagesByPkArgs = { - id: Scalars['uuid']; -}; - -export type Subscription_RootNotificationSubscriptionAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootNotificationSubscriptionByPkArgs = { - id: Scalars['uuid']; -}; - -export type Subscription_RootNotificationSubscriptionsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootPageAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootPageByPkArgs = { - id: Scalars['uuid']; -}; - -export type Subscription_RootPagesArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootProjectAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootProjectByPkArgs = { - id: Scalars['uuid']; -}; - -export type Subscription_RootProjectsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootRoleAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootRoleByPkArgs = { - value: Scalars['String']; -}; - -export type Subscription_RootRolesArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootSessionAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootSessionByPkArgs = { - id: Scalars['uuid']; -}; - -export type Subscription_RootSessionsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootTeamAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootTeamByPkArgs = { - id: Scalars['uuid']; -}; - -export type Subscription_RootTeamsArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootUserAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootUserByPkArgs = { - id: Scalars['uuid']; -}; - -export type Subscription_RootUserTypeAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootUserTypeByPkArgs = { - value: Scalars['String']; -}; - -export type Subscription_RootUserTypesArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootUsersArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootVerificationTokenAggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -export type Subscription_RootVerificationTokenByPkArgs = { - id: Scalars['uuid']; -}; - -export type Subscription_RootVerificationTokensArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - -/** Boolean expression to compare columns of type "timestamptz". All fields are combined with logical 'AND'. */ -export type Timestamptz_Comparison_Exp = { - _eq?: InputMaybe; - _gt?: InputMaybe; - _gte?: InputMaybe; - _in?: InputMaybe>; - _is_null?: InputMaybe; - _lt?: InputMaybe; - _lte?: InputMaybe; - _neq?: InputMaybe; - _nin?: InputMaybe>; -}; - -/** Boolean expression to compare columns of type "uuid". All fields are combined with logical 'AND'. */ -export type Uuid_Comparison_Exp = { - _eq?: InputMaybe; - _gt?: InputMaybe; - _gte?: InputMaybe; - _in?: InputMaybe>; - _is_null?: InputMaybe; - _lt?: InputMaybe; - _lte?: InputMaybe; - _neq?: InputMaybe; - _nin?: InputMaybe>; -}; diff --git a/packages/graphql/src/frontend/generated/user.tsx b/packages/graphql/src/frontend/generated/user.tsx deleted file mode 100644 index 73f32da04..000000000 --- a/packages/graphql/src/frontend/generated/user.tsx +++ /dev/null @@ -1,184 +0,0 @@ -import * as Types from './types'; - -import gql from 'graphql-tag'; -import * as Urql from 'urql'; -export type Omit = Pick>; -export type CurrentUserQueryVariables = Types.Exact<{ - id: Types.Scalars['uuid']; -}>; - -export type CurrentUserQuery = { - __typename?: 'query_root'; - userByPk?: { - __typename?: 'User'; - id: string; - email?: string | null; - type?: Types.UserType_Enum | null; - emailVerified?: string | null; - username?: string | null; - name?: string | null; - image?: string | null; - bio?: string | null; - website?: string | null; - twitterUserName?: string | null; - } | null; -}; - -export type UpdateUserByPkMutationVariables = Types.Exact<{ - id: Types.Scalars['uuid']; - bio?: Types.InputMaybe; - name: Types.Scalars['String']; - email?: Types.InputMaybe; - twitterUserName?: Types.InputMaybe; - website?: Types.InputMaybe; -}>; - -export type UpdateUserByPkMutation = { - __typename?: 'mutation_root'; - updateUserByPk?: { __typename?: 'User'; id: string } | null; -}; - -export type UpdateUserFieldsMutationVariables = Types.Exact<{ - id: Types.Scalars['uuid']; - email: Types.Scalars['String']; - name: Types.Scalars['String']; - username: Types.Scalars['String']; -}>; - -export type UpdateUserFieldsMutation = { - __typename?: 'mutation_root'; - updateUserByPk?: { __typename?: 'User'; id: string } | null; -}; - -export type UserDashboardProjectsQueryVariables = Types.Exact<{ - id: Types.Scalars['uuid']; -}>; - -export type UserDashboardProjectsQuery = { - __typename?: 'query_root'; - userByPk?: { - __typename?: 'User'; - id: string; - projects: Array<{ - __typename?: 'Project'; - id: string; - name: string; - domain: string; - createdAt: string; - pages: Array<{ - __typename?: 'Page'; - id: string; - title?: string | null; - url: string; - }>; - }>; - } | null; -}; - -export const CurrentUserDocument = gql` - query currentUser($id: uuid!) { - userByPk(id: $id) { - id - email - type - emailVerified - username - name - image - bio - website - twitterUserName - } - } -`; - -export function useCurrentUserQuery( - options: Omit, 'query'>, -) { - return Urql.useQuery({ - query: CurrentUserDocument, - ...options, - }); -} -export const UpdateUserByPkDocument = gql` - mutation updateUserByPk( - $id: uuid! - $bio: String - $name: String! - $email: String - $twitterUserName: String - $website: String - ) { - updateUserByPk( - pk_columns: { id: $id } - _set: { - bio: $bio - name: $name - email: $email - twitterUserName: $twitterUserName - website: $website - } - ) { - id - } - } -`; - -export function useUpdateUserByPkMutation() { - return Urql.useMutation< - UpdateUserByPkMutation, - UpdateUserByPkMutationVariables - >(UpdateUserByPkDocument); -} -export const UpdateUserFieldsDocument = gql` - mutation updateUserFields( - $id: uuid! - $email: String! - $name: String! - $username: String! - ) { - updateUserByPk( - pk_columns: { id: $id } - _set: { email: $email, name: $name, username: $username } - ) { - id - } - } -`; - -export function useUpdateUserFieldsMutation() { - return Urql.useMutation< - UpdateUserFieldsMutation, - UpdateUserFieldsMutationVariables - >(UpdateUserFieldsDocument); -} -export const UserDashboardProjectsDocument = gql` - query userDashboardProjects($id: uuid!) { - userByPk(id: $id) { - id - projects { - id - name - domain - createdAt - pages { - id - title - url - } - } - } - } -`; - -export function useUserDashboardProjectsQuery( - options: Omit< - Urql.UseQueryArgs, - 'query' - >, -) { - return Urql.useQuery< - UserDashboardProjectsQuery, - UserDashboardProjectsQueryVariables - >({ query: UserDashboardProjectsDocument, ...options }); -} diff --git a/packages/graphql/src/frontend/index.ts b/packages/graphql/src/frontend/index.ts deleted file mode 100644 index d244b6d0f..000000000 --- a/packages/graphql/src/frontend/index.ts +++ /dev/null @@ -1,34 +0,0 @@ -export * from './generated/comment'; -export { - useDeleteLikeByPkMutation, - useInsertOneLikeMutation, - InsertOneLikeDocument, -} from './generated/like'; -export type { - InsertOneLikeMutation, - InsertOneLikeMutationVariables, -} from './generated/like'; -export { - useCurrentNotificationMessagesQuery, - useDeleteNotificationMessageMutation, - useHaveReadANotificationMutation, - CurrentNotificationMessagesDocument, -} from './generated/notification'; -export type { - CurrentNotificationMessagesQuery, - CurrentNotificationMessagesQueryVariables, -} from './generated/notification'; -export { useThemeOfPageQuery } from './generated/page'; -export { - useDeleteProjectByPkMutation, - useInsertOneProjectMutation, - useUpdateThemeMutation, -} from './generated/project'; -export { - useCurrentUserQuery, - useUpdateUserByPkMutation, - useUpdateUserFieldsMutation, - useUserDashboardProjectsQuery, -} from './generated/user'; -export type { UserDashboardProjectsQuery } from './generated/user'; -export type { NotificationType_Enum, Order_By } from './generated/types'; diff --git a/packages/graphql/src/frontend/like.graphql b/packages/graphql/src/frontend/like.graphql deleted file mode 100644 index d0afc298b..000000000 --- a/packages/graphql/src/frontend/like.graphql +++ /dev/null @@ -1,11 +0,0 @@ -mutation insertOneLike($commentId: uuid!) { - insertOneLike(object: { commentId: $commentId }) { - id - } -} - -mutation deleteLikeByPk($id: uuid!) { - deleteLikeByPk(id: $id) { - id - } -} diff --git a/packages/graphql/src/frontend/notification.graphql b/packages/graphql/src/frontend/notification.graphql deleted file mode 100644 index 9f09a4ce9..000000000 --- a/packages/graphql/src/frontend/notification.graphql +++ /dev/null @@ -1,43 +0,0 @@ -query currentNotificationMessages($userId: uuid!) { - notificationMessages( - where: { recipientId: { _eq: $userId } } - order_by: { createdAt: desc, read: asc } - ) { - id - recipient { - id - name - username - email - image - } - type - url - triggeredBy { - id - name - username - email - image - } - content - read - createdAt - } -} - -mutation haveReadANotification($messageId: uuid!) { - updateNotificationMessageByPk( - pk_columns: { id: $messageId } - # Make sure all fields are filled if we add more fields here - _set: { read: true } - ) { - id - } -} - -mutation deleteNotificationMessage($messageId: uuid!) { - deleteNotificationMessageByPk(id: $messageId) { - id - } -} diff --git a/packages/graphql/src/frontend/page.graphql b/packages/graphql/src/frontend/page.graphql deleted file mode 100644 index 14dcffdb3..000000000 --- a/packages/graphql/src/frontend/page.graphql +++ /dev/null @@ -1,10 +0,0 @@ -query themeOfPage($pageId: uuid!) { - pageByPk(id: $pageId) { - id - url - project { - id - theme - } - } -} diff --git a/packages/graphql/src/frontend/project.graphql b/packages/graphql/src/frontend/project.graphql deleted file mode 100644 index 1ba027ba7..000000000 --- a/packages/graphql/src/frontend/project.graphql +++ /dev/null @@ -1,24 +0,0 @@ -mutation insertOneProject($teamId: uuid, $name: String!, $domain: String!) { - insertOneProject(object: { teamId: $teamId, name: $name, domain: $domain }) { - id - name - teamId - userId - } -} - -mutation deleteProjectByPk($id: uuid!) { - deleteProjectByPk(id: $id) { - id - } -} - -mutation updateTheme($projectId: uuid!, $theme: jsonb!) { - updateProjectByPk( - pk_columns: { id: $projectId } - # Make sure all fields are filled if we add more fields here - _set: { theme: $theme } - ) { - id - } -} diff --git a/packages/graphql/src/frontend/user.graphql b/packages/graphql/src/frontend/user.graphql deleted file mode 100644 index 67026f2dd..000000000 --- a/packages/graphql/src/frontend/user.graphql +++ /dev/null @@ -1,67 +0,0 @@ -query currentUser($id: uuid!) { - userByPk(id: $id) { - id - email - type - emailVerified - username - name - image - bio - website - twitterUserName - } -} - -mutation updateUserByPk( - $id: uuid! - $bio: String - $name: String! - $email: String - $twitterUserName: String - $website: String -) { - updateUserByPk( - pk_columns: { id: $id } - _set: { - bio: $bio - name: $name - email: $email - twitterUserName: $twitterUserName - website: $website - } - ) { - id - } -} - -mutation updateUserFields( - $id: uuid! - $email: String! - $name: String! - $username: String! -) { - updateUserByPk( - pk_columns: { id: $id } - _set: { email: $email, name: $name, username: $username } - ) { - id - } -} - -query userDashboardProjects($id: uuid!) { - userByPk(id: $id) { - id - projects { - id - name - domain - createdAt - pages { - id - title - url - } - } - } -} diff --git a/packages/graphql/src/index.ts b/packages/graphql/src/index.ts deleted file mode 100644 index 488e368f5..000000000 --- a/packages/graphql/src/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './frontend'; -export * from './backend'; diff --git a/packages/graphql/tsconfig.json b/packages/graphql/tsconfig.json deleted file mode 100644 index 6b00e310f..000000000 --- a/packages/graphql/tsconfig.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/tsconfig", - "extends": "@chirpy-dev/tsconfigs/base.json", - "compilerOptions": { - "baseUrl": "." - }, - "exclude": ["node_modules"], - "include": ["src/**/*.ts"] -} diff --git a/packages/trpc/package.json b/packages/trpc/package.json index 4645b3610..f6cd91be3 100644 --- a/packages/trpc/package.json +++ b/packages/trpc/package.json @@ -6,20 +6,21 @@ "sideEffects": false, "types": "./src/index.ts", "scripts": { - "build": "prisma generate" + "db:generate": "prisma generate", + "db:push": "prisma db push --skip-generate" }, "dependencies": { "@chirpy-dev/emails": "workspace:*", "@chirpy-dev/tsconfigs": "workspace:*", - "@chirpy-dev/utils": "workspace:*", "@chirpy-dev/types": "workspace:*", + "@chirpy-dev/utils": "workspace:*", "@next-auth/prisma-adapter": "1.0.5", "@prisma/client": "4.6.1", - "@tanstack/react-query": "4.17.1", - "@trpc/client": "10.2.0", - "@trpc/next": "10.2.0", - "@trpc/react-query": "10.2.0", - "@trpc/server": "10.2.0", + "@tanstack/react-query": "4.18.0", + "@trpc/client": "10.3.0", + "@trpc/next": "10.3.0", + "@trpc/react-query": "10.3.0", + "@trpc/server": "10.3.0", "@types/web-push": "3.3.2", "next": "13.0.5", "next-auth": "4.17.0", diff --git a/packages/trpc/src/auth/index.ts b/packages/trpc/src/auth/index.ts index 24ffcdc22..6b5a5b48b 100644 --- a/packages/trpc/src/auth/index.ts +++ b/packages/trpc/src/auth/index.ts @@ -2,3 +2,4 @@ export { default as NextAuth } from 'next-auth'; export { nextAuthOptions } from './auth-options'; export type { Profile as AuthProfile } from 'next-auth'; +export { withAuth } from 'next-auth/middleware'; diff --git a/packages/types/package.json b/packages/types/package.json index 5bdfcde45..a454a240a 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -6,7 +6,6 @@ "sideEffects": false, "types": "./src/index.ts", "devDependencies": { - "@chirpy-dev/graphql": "workspace:*", "@chirpy-dev/tsconfigs": "workspace:*", "@tiptap/core": "2.0.0-beta.204", "@tiptap/react": "2.0.0-beta.204", @@ -21,13 +20,12 @@ "react": "18.2.0", "react-dom": "18.2.0", "reading-time": "1.5.0", - "typescript": "4.9.3", - "urql": "3.0.3" + "typescript": "4.9.3" }, "publishConfig": { "access": "public" }, "dependencies": { - "@tanstack/react-query": "4.17.1" + "@tanstack/react-query": "4.18.0" } } diff --git a/packages/types/src/request.ts b/packages/types/src/request.ts deleted file mode 100644 index 08f631cef..000000000 --- a/packages/types/src/request.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { OperationContext } from 'urql'; - -export type Refetch = (opts?: Partial | undefined) => void; diff --git a/packages/ui/.storybook/preview.tsx b/packages/ui/.storybook/preview.tsx index 20c25b683..4935cb4b7 100644 --- a/packages/ui/.storybook/preview.tsx +++ b/packages/ui/.storybook/preview.tsx @@ -1,14 +1,8 @@ -import { urqlDecorator } from '@urql/storybook-addon'; import { LazyMotion } from 'framer-motion'; import { initialize, mswDecorator } from 'msw-storybook-addon'; import * as React from 'react'; -import { - SessionProvider, - CurrentUserProvider, - GQLClientProvider, - useThemeVariables, -} from '../src/contexts'; +import { CurrentUserProvider, useThemeVariables } from '../src/contexts'; import { loadFeatures } from '../src/pages/app'; // TODO: fix tailwind not work in storybook, @@ -24,23 +18,19 @@ initialize({ export const decorators = [ mswDecorator, - urqlDecorator, + // @ts-ignore (Story) => { const { styles } = useThemeVariables(); return ( - - - - - -
      - -
      -
      -
      -
      -
      + + + +
      + +
      +
      +
      ); }, ]; diff --git a/packages/ui/package.json b/packages/ui/package.json index 8b73e8606..c0664f2db 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -21,7 +21,7 @@ "@geist-ui/icons": "1.0.2", "@headlessui/react": "1.7.4", "@radix-ui/colors": "0.1.8", - "@tanstack/react-query": "4.17.1", + "@tanstack/react-query": "4.18.0", "@tiptap/core": "2.0.0-beta.204", "@tiptap/extension-image": "2.0.0-beta.204", "@tiptap/extension-link": "2.0.0-beta.204", @@ -29,13 +29,10 @@ "@tiptap/extension-underline": "2.0.0-beta.204", "@tiptap/react": "2.0.0-beta.204", "@tiptap/starter-kit": "2.0.0-beta.204", - "@trpc/client": "10.2.0", - "@trpc/next": "10.2.0", - "@trpc/react-query": "10.2.0", - "@trpc/server": "10.2.0", - "@urql/devtools": "2.0.3", - "@urql/exchange-graphcache": "5.0.5", - "@urql/exchange-refocus": "1.0.0", + "@trpc/client": "10.3.0", + "@trpc/next": "10.3.0", + "@trpc/react-query": "10.3.0", + "@trpc/server": "10.3.0", "avvvatars-react": "0.4.2", "canvas-confetti": "1.6.0", "chart.js": "3.8.0", @@ -61,13 +58,11 @@ "react-flatpickr": "3.10.13", "react-flip-move": "3.0.4", "super-tiny-icons": "0.4.0", - "superjson": "1.11.0", - "urql": "3.0.3" + "superjson": "1.11.0" }, "devDependencies": { "@babel/core": "7.20.2", "@chirpy-dev/eslint-config": "workspace:*", - "@chirpy-dev/graphql": "workspace:*", "@chirpy-dev/tsconfigs": "workspace:*", "@chirpy-dev/types": "workspace:*", "@storybook/addon-actions": "6.5.13", @@ -89,7 +84,6 @@ "@types/react": "18.0.25", "@types/react-dom": "18.0.9", "@types/react-flatpickr": "3.8.8", - "@urql/storybook-addon": "2.0.1", "autoprefixer": "10.4.13", "babel-loader": "8.2.5", "chromatic": "6.11.4", diff --git a/packages/ui/src/__tests__/fixtures/page-render.tsx b/packages/ui/src/__tests__/fixtures/page-render.tsx index 9a4e0a7e8..c68e7a686 100644 --- a/packages/ui/src/__tests__/fixtures/page-render.tsx +++ b/packages/ui/src/__tests__/fixtures/page-render.tsx @@ -1,10 +1,8 @@ import { render as reactRender } from '@testing-library/react'; -import { Provider } from 'urql'; import { ToastProvider } from '../../components'; // import '../mocks/next-router'; import { CurrentUserContext, UserData } from '../../contexts'; -import { createGqlClient } from '../../utilities'; import { mockUserData } from '../mocks/data/user'; export const mockRefetchUser = jest.fn(); @@ -32,11 +30,9 @@ export function pageRender(ui: React.ReactElement) { wrapper: function TestingWrapper({ children }) { const mockedUser = getMockedUser(); return ( - - - {children} - - + + {children} + ); }, }); diff --git a/packages/ui/src/__tests__/mocks/current-user-provider.tsx b/packages/ui/src/__tests__/mocks/current-user-provider.tsx index 66f6e45cf..fac365206 100644 --- a/packages/ui/src/__tests__/mocks/current-user-provider.tsx +++ b/packages/ui/src/__tests__/mocks/current-user-provider.tsx @@ -1,24 +1,17 @@ -import * as userModule from '@chirpy-dev/graphql'; import * as React from 'react'; import { CurrentUserProvider } from '../../contexts'; +import { trpcClient } from '../../utilities/trpc-client'; import { mockUserData } from './data/user'; export type MockCurrentUserProviderProps = React.PropsWithChildren<{ // }>; -jest.spyOn(userModule, 'useCurrentUserQuery').mockReturnValue([ - { - data: { - // @ts-ignore - userByPk: mockUserData, - }, - fetching: false, - stale: false, - }, - jest.fn(), -]); +jest.spyOn(trpcClient.user.me, 'useQuery').mockReturnValue({ + data: mockUserData, + status: 'success', +} as any); export function MockCurrentUserProvider({ children, diff --git a/packages/ui/src/__tests__/mocks/data/notification-data.ts b/packages/ui/src/__tests__/mocks/data/notification-data.ts deleted file mode 100644 index b55d0f78d..000000000 --- a/packages/ui/src/__tests__/mocks/data/notification-data.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { CurrentNotificationMessagesQuery } from '@chirpy-dev/graphql'; - -export const mockNotificationData: CurrentNotificationMessagesQuery = { - notificationMessages: [ - { - id: '4b1e5733-09d1-4a30-94ad-3a759a071b89', - recipient: { - id: 'ffd9d667-9b90-4a88-adde-a6dbf80111d0', - name: 'Qing', - username: 'qing', - email: 'qing@chirpy.dev', - image: 'https://avatars.githubusercontent.com/u/128sdsdf?v=4', - }, - type: 'ReceivedAComment', - url: 'http://localhost:3000/play', - triggeredBy: { - id: 'ff157d69-2f7d-45c7-a577-1ee073564e60', - name: 'xia', - username: 'xia', - email: 'xia@gmail.com', - image: 'https://avatars.githubusercontent.com/u/asdfaw2ds?v=4', - }, - content: 'testing', - read: false, - createdAt: '2022-04-20T12:39:18.284708+00:00', - }, - ], -}; diff --git a/packages/ui/src/blocks/notification-hub/__tests__/notification-hub.test.tsx b/packages/ui/src/blocks/notification-hub/__tests__/notification-hub.test.tsx index 12ca79692..9996dd6e5 100644 --- a/packages/ui/src/blocks/notification-hub/__tests__/notification-hub.test.tsx +++ b/packages/ui/src/blocks/notification-hub/__tests__/notification-hub.test.tsx @@ -1,25 +1,16 @@ -import * as notificationModule from '@chirpy-dev/graphql'; import { screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import { pageRender } from '../../../__tests__/fixtures/page-render'; +import { trpcClient } from '../../../utilities/trpc-client'; import { NotificationHub } from '../notification-hub'; import { messages } from '../stories/mock-data'; -jest.mock('@chirpy-dev/graphql', () => { - return { - // Make exported object configable - __esModule: true, - ...jest.requireActual('@chirpy-dev/graphql'), - }; -}); - -jest - .spyOn(notificationModule, 'useCurrentNotificationMessagesQuery') - .mockReturnValue([ - { data: messages, fetching: false, stale: false }, - jest.fn(), - ]); +jest.spyOn(trpcClient.notification.messages, 'useQuery').mockReturnValue({ + data: messages, + status: 'success', + refetch: jest.fn(), +} as any); // Run storybook to see the UI visually describe('NotificationHub', () => { @@ -34,9 +25,9 @@ describe('NotificationHub', () => { it('Should mark the clicked message as read', async () => { const haveReadANotification = jest.fn(); - jest - .spyOn(notificationModule, 'useHaveReadANotificationMutation') - .mockReturnValue([{} as any, haveReadANotification]); + jest.spyOn(trpcClient.notification.read, 'useMutation').mockReturnValue({ + mutateAsync: haveReadANotification, + } as any); await renderDefaultNotificationHub(); await userEvent.click(screen.getAllByAltText(/avatar/)[0]); @@ -45,9 +36,9 @@ describe('NotificationHub', () => { it('Should delete the message after click the delete button', async () => { const deleteNotificationMessage = jest.fn(); - jest - .spyOn(notificationModule, 'useDeleteNotificationMessageMutation') - .mockReturnValue([{} as any, deleteNotificationMessage]); + jest.spyOn(trpcClient.notification.delete, 'useMutation').mockReturnValue({ + mutateAsync: deleteNotificationMessage, + } as any); await renderDefaultNotificationHub(); await userEvent.click(screen.getAllByLabelText('Delete the message')[0]); diff --git a/packages/ui/src/blocks/notification-hub/stories/mock-data.ts b/packages/ui/src/blocks/notification-hub/stories/mock-data.ts index 6be098bb4..df9f5a217 100644 --- a/packages/ui/src/blocks/notification-hub/stories/mock-data.ts +++ b/packages/ui/src/blocks/notification-hub/stories/mock-data.ts @@ -1,60 +1,49 @@ -import { CurrentNotificationMessagesQuery } from '@chirpy-dev/graphql'; +import { RouterOutputs } from '../../../utilities/trpc-client'; -export const messages: CurrentNotificationMessagesQuery = { - notificationMessages: [ - { - id: '1', - recipient: { - id: 'ffd9d667-9b90-4a88-adde-a6dbf80111d0', - name: 'Qing', - image: 'https://avatars.githubusercontent.com/u/7880675?v=4', - }, - type: 'ReceivedALike', - url: 'http://localhost:3000/playground', - triggeredBy: { - id: 'ff157d69-2f7d-45c7-a577-1ee073564e60', - name: 'Dan', - image: 'https://avatars.githubusercontent.com/u/32698452?v=4', - }, - content: null, - read: false, - createdAt: '2022-04-17T02:27:34.830834+00:00', +export const messages: RouterOutputs['notification']['messages'] = [ + { + id: '1', + type: 'ReceivedALike', + url: 'http://localhost:3000/playground', + triggeredBy: { + id: 'ff157d69-2f7d-45c7-a577-1ee073564e60', + name: 'Dan', + username: 'dan', + email: 'dan@test.com', + image: 'https://avatars.githubusercontent.com/u/32698452?v=4', }, - { - id: '2', - recipient: { - id: 'ffd9d667-9b90-4a88-adde-a6dbf80111d0', - name: 'Qing', - image: 'https://avatars.githubusercontent.com/u/7880675?v=4', - }, - type: 'ReceivedAComment', - url: 'http://localhost:3000/playground', - triggeredBy: { - id: 'ff157d69-2f7d-45c7-a577-1ee073564e60', - name: 'Dan', - image: 'https://avatars.githubusercontent.com/u/32698452?v=4', - }, - content: 'React 18 is now available on npm!', - read: false, - createdAt: '2022-04-17T02:04:13.776034+00:00', + content: null, + read: false, + createdAt: new Date('2022-04-17T02:27:34.830834+00:00'), + }, + { + id: '2', + type: 'ReceivedAComment', + url: 'http://localhost:3000/playground', + triggeredBy: { + id: 'ff157d69-2f7d-45c7-a577-1ee073564e60', + name: 'Dan', + username: 'dan', + email: 'dan@test.com', + image: 'https://avatars.githubusercontent.com/u/32698452?v=4', }, - { - id: '3', - recipient: { - id: 'ffd9d667-9b90-4a88-adde-a6dbf80111d0', - name: 'Qing', - image: 'https://avatars.githubusercontent.com/u/7880675?v=4', - }, - type: 'ReceivedAComment', - url: 'http://localhost:3000/playground', - triggeredBy: { - id: 'ff157d69-2f7d-45c7-a577-1ee073564e60', - name: 'Dan', - image: 'https://avatars.githubusercontent.com/u/32698452?v=4', - }, - content: 'This message has been read', - read: true, - createdAt: '2022-04-10T02:04:13.776034+00:00', + content: 'React 18 is now available on npm!', + read: false, + createdAt: new Date('2022-04-17T02:04:13.776034+00:00'), + }, + { + id: '3', + type: 'ReceivedAComment', + url: 'http://localhost:3000/playground', + triggeredBy: { + id: 'ff157d69-2f7d-45c7-a577-1ee073564e60', + name: 'Dan', + username: 'dan', + email: 'dan@test.com', + image: 'https://avatars.githubusercontent.com/u/32698452?v=4', }, - ], -}; + content: 'This message has been read', + read: true, + createdAt: new Date('2022-04-10T02:04:13.776034+00:00'), + }, +]; diff --git a/packages/ui/src/blocks/notification-hub/stories/notification-hub.stories.tsx b/packages/ui/src/blocks/notification-hub/stories/notification-hub.stories.tsx index a3dac402c..92cb01b3c 100644 --- a/packages/ui/src/blocks/notification-hub/stories/notification-hub.stories.tsx +++ b/packages/ui/src/blocks/notification-hub/stories/notification-hub.stories.tsx @@ -1,10 +1,7 @@ -import { CurrentNotificationMessagesQuery } from '@chirpy-dev/graphql'; import { ComponentMeta, ComponentStory } from '@storybook/react'; import { userEvent, within } from '@storybook/testing-library'; -import { getOperationName, Operation } from 'urql'; import { NotificationHub } from '../notification-hub'; -import { messages } from './mock-data'; type NotificationHubType = typeof NotificationHub; export default { @@ -19,31 +16,10 @@ const Template: ComponentStory = (args: any) => ( ); export const Empty = Template.bind({}); -Empty.parameters = { - urql: getUrqlParameter({ - notificationMessages: [], - } as CurrentNotificationMessagesQuery), -}; - export const Default = Template.bind({}); -Default.parameters = { - urql: getUrqlParameter(messages), -}; + Default.play = async ({ canvasElement }) => { const canvas = within(canvasElement); const notificationButton = canvas.getByLabelText('click to open the menu'); await userEvent.click(notificationButton); }; - -function getUrqlParameter(data: CurrentNotificationMessagesQuery) { - return (op: Operation) => { - const query = getOperationName(op.query); - // logger.debug({ op, subscription: query }); - if (query === 'currentNotificationMessages') { - return { - data, - }; - } - return { data: {} }; - }; -} diff --git a/packages/ui/src/__tests__/pages/auth/sign-in.test.tsx b/packages/ui/src/pages/auth/__tests__/sign-in.test.tsx similarity index 84% rename from packages/ui/src/__tests__/pages/auth/sign-in.test.tsx rename to packages/ui/src/pages/auth/__tests__/sign-in.test.tsx index d8f33cf0a..9f4b49fa1 100644 --- a/packages/ui/src/__tests__/pages/auth/sign-in.test.tsx +++ b/packages/ui/src/pages/auth/__tests__/sign-in.test.tsx @@ -1,7 +1,7 @@ import { cleanup, screen } from '@testing-library/react'; -import { SignInPage } from '../../../pages'; -import { pageRender } from '../../fixtures/page-render'; +import { SignInPage } from '../..'; +import { pageRender } from '../../../__tests__/fixtures/page-render'; describe('Sign in page', () => { beforeEach(() => { diff --git a/packages/ui/src/__tests__/pages/auth/welcome.test.tsx b/packages/ui/src/pages/auth/__tests__/welcome.test.tsx similarity index 81% rename from packages/ui/src/__tests__/pages/auth/welcome.test.tsx rename to packages/ui/src/pages/auth/__tests__/welcome.test.tsx index 5d5eef78a..4139e919c 100644 --- a/packages/ui/src/__tests__/pages/auth/welcome.test.tsx +++ b/packages/ui/src/pages/auth/__tests__/welcome.test.tsx @@ -1,4 +1,3 @@ -import * as graphqlModule from '@chirpy-dev/graphql'; import { cleanup, screen, waitFor } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; @@ -6,31 +5,24 @@ import { pageRender } from '../../../__tests__/fixtures/page-render'; import { setMockedUser } from '../../../__tests__/fixtures/page-render'; import { mockNextRouter } from '../../../__tests__/mocks/next-router'; import { Welcome } from '../../../pages/auth/welcome'; +import { trpcClient } from '../../../utilities/trpc-client'; const mockUpdateUser = jest.fn().mockImplementation(() => { return Promise.resolve(); }); -jest.mock('@chirpy-dev/graphql', () => ({ - // Make exported object configurable - __esModule: true, - ...jest.requireActual('@chirpy-dev/graphql'), -})); - jest - .spyOn(graphqlModule, 'useUpdateUserFieldsMutation') + .spyOn(trpcClient.user.updateProfile, 'useMutation') .mockImplementation(() => { - return [ - { - data: { - updateUserByPk: { - __typename: 'User', - id: '1', - }, + return { + data: { + updateUserByPk: { + __typename: 'User', + id: '1', }, - fetching: false, - } as any, - mockUpdateUser, - ]; + }, + status: 'success', + mutateAsync: mockUpdateUser, + } as any; }); setMockedUser({ diff --git a/packages/ui/src/__tests__/pages/dashboard.test.tsx b/packages/ui/src/pages/dashboard/__tests__/dashboard.test.tsx similarity index 64% rename from packages/ui/src/__tests__/pages/dashboard.test.tsx rename to packages/ui/src/pages/dashboard/__tests__/dashboard.test.tsx index ba8d656ef..714f1607e 100644 --- a/packages/ui/src/__tests__/pages/dashboard.test.tsx +++ b/packages/ui/src/pages/dashboard/__tests__/dashboard.test.tsx @@ -1,45 +1,26 @@ -import * as graphqlModule from '@chirpy-dev/graphql'; import { screen, waitFor } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; -import { project } from '../../__tests__/mocks/mock-project-data'; -import { Dashboard } from '../../pages/dashboard'; -import { pageRender } from '../fixtures/page-render'; - -jest.mock('@chirpy-dev/graphql', () => { - return { - // Make exported object configable - __esModule: true, - ...jest.requireActual('@chirpy-dev/graphql'), - }; -}); +import { Dashboard } from '..'; +import { pageRender } from '../../../__tests__/fixtures/page-render'; +import { project } from '../../../__tests__/mocks/mock-project-data'; +import { trpcClient } from '../../../utilities/trpc-client'; const mockFetchUserProject = jest.fn(); -jest.spyOn(graphqlModule, 'useUserDashboardProjectsQuery').mockReturnValue([ - { - data: { - userByPk: { - projects: [project], - }, - }, - } as any, - mockFetchUserProject, -]); +jest.spyOn(trpcClient.project.all, 'useQuery').mockReturnValue({ + data: [project], + refetch: mockFetchUserProject, + status: 'success', +} as any); const mockInsertProject = jest.fn(); -jest.spyOn(graphqlModule, 'useInsertOneProjectMutation').mockReturnValue([ - { - loading: false, - } as any, - mockInsertProject, -]); +jest.spyOn(trpcClient.project.create, 'useMutation').mockReturnValue({ + mutateAsync: mockInsertProject, +} as any); const mockDeleteProject = jest.fn(); -jest.spyOn(graphqlModule, 'useDeleteProjectByPkMutation').mockReturnValue([ - { - loading: false, - } as any, - mockDeleteProject, -]); +jest.spyOn(trpcClient.project.delete, 'useMutation').mockReturnValue({ + mutateAsync: mockDeleteProject, +} as any); describe('dashboard', () => { beforeEach(() => { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7b91571e9..23ba679bf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -133,7 +133,6 @@ importers: '@next/bundle-analyzer': 13.0.5 '@radix-ui/colors': 0.1.8 '@relative-ci/agent': 4.1.1 - '@sendinblue/client': 3.2.2 '@tensorflow-models/toxicity': 1.2.2 '@tensorflow/tfjs': 3.18.0 '@tensorflow/tfjs-converter': 3.18.0 @@ -171,7 +170,6 @@ importers: next-plausible: 3.6.4 next-superjson-plugin: 0.4.9 next-themes: 0.2.1 - next-urql: 4.0.0 nodemailer: 6.7.8 postcss: 8.4.19 react: 18.2.0 @@ -182,12 +180,10 @@ importers: rehype-pretty-code: 0.4.0 rehype-slug: 5.1.0 shiki: 0.11.1 - stellate: 1.17.1 superjson: 1.11.0 tailwindcss: 3.2.4 type-fest: 3.2.0 typescript: 4.9.3 - urql: 3.0.3 web-push: 3.5.0 webpack: 5.75.0 wonka: 6.1.1 @@ -199,7 +195,6 @@ importers: '@chirpy-dev/ui': link:../../packages/ui '@chirpy-dev/utils': link:../../packages/utils '@radix-ui/colors': 0.1.8 - '@sendinblue/client': 3.2.2 '@tensorflow-models/toxicity': 1.2.2_ce7e77rhh6oipcy6kxvkentnmi '@tensorflow/tfjs': 3.18.0 '@tensorflow/tfjs-converter': 3.18.0_br26fteayl44zj43fz4bazb7oq @@ -220,7 +215,6 @@ importers: next-plausible: 3.6.4_7iuvftg57tblwyxclfkwku5xo4 next-superjson-plugin: 0.4.9_o7ninycgoz2lf73je52p7wq4ja next-themes: 0.2.1_7iuvftg57tblwyxclfkwku5xo4 - next-urql: 4.0.0_react@18.2.0+urql@3.0.3 nodemailer: 6.7.8 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 @@ -232,7 +226,6 @@ importers: shiki: 0.11.1 superjson: 1.11.0 type-fest: 3.2.0 - urql: 3.0.3_onqnqwb3ubg5opvemcqf7c2qhy web-push: 3.5.0 wonka: 6.1.1 ws: 8.11.0 @@ -261,7 +254,6 @@ importers: eslint: 8.28.0 jest: 29.3.1_@types+node@16.11.45 postcss: 8.4.19 - stellate: 1.17.1 tailwindcss: 3.2.4_postcss@8.4.19 typescript: 4.9.3 webpack: 5.75.0 @@ -343,10 +335,12 @@ importers: packages/emails: specifiers: '@chirpy-dev/tsconfigs': workspace:* + '@sendinblue/client': 3.2.2 eta: 1.12.3 typescript: 4.9.3 dependencies: '@chirpy-dev/tsconfigs': link:../tsconfigs + '@sendinblue/client': 3.2.2 eta: 1.12.3 devDependencies: typescript: 4.9.3 @@ -386,46 +380,6 @@ importers: devDependencies: eslint: 8.28.0 - packages/graphql: - specifiers: - '@chirpy-dev/tsconfigs': workspace:* - '@graphql-codegen/cli': 2.13.12 - '@graphql-codegen/introspection': 2.2.1 - '@graphql-codegen/near-operation-file-preset': 2.4.4 - '@graphql-codegen/typed-document-node': 2.3.7 - '@graphql-codegen/typescript': 2.8.2 - '@graphql-codegen/typescript-operations': 2.5.7 - '@graphql-codegen/typescript-urql': 3.7.3 - '@graphql-typed-document-node/core': 3.1.1 - '@types/node': 16.11.45 - csstype: 3.1.1 - graphql: 16.6.0 - graphql-tag: 2.12.6 - graphqurl: 1.0.1 - react: 18.2.0 - typescript: 4.9.3 - urql: 3.0.3 - zx: 7.0.8 - devDependencies: - '@chirpy-dev/tsconfigs': link:../tsconfigs - '@graphql-codegen/cli': 2.13.12_kjbtv7ce7iv4kwcptkge5oq7pm - '@graphql-codegen/introspection': 2.2.1_graphql@16.6.0 - '@graphql-codegen/near-operation-file-preset': 2.4.4_graphql@16.6.0 - '@graphql-codegen/typed-document-node': 2.3.7_graphql@16.6.0 - '@graphql-codegen/typescript': 2.8.2_graphql@16.6.0 - '@graphql-codegen/typescript-operations': 2.5.7_graphql@16.6.0 - '@graphql-codegen/typescript-urql': 3.7.3_sy4knu3obj4ys7pjcqbyfxmqle - '@graphql-typed-document-node/core': 3.1.1_graphql@16.6.0 - '@types/node': 16.11.45 - csstype: 3.1.1 - graphql: 16.6.0 - graphql-tag: 2.12.6_graphql@16.6.0 - graphqurl: 1.0.1_pldvz6pe3aqb7j6elrti4nlcrm - react: 18.2.0 - typescript: 4.9.3 - urql: 3.0.3_onqnqwb3ubg5opvemcqf7c2qhy - zx: 7.0.8 - packages/prettier-config: specifiers: '@ianvs/prettier-plugin-sort-imports': 3.7.1 @@ -445,11 +399,11 @@ importers: '@chirpy-dev/utils': workspace:* '@next-auth/prisma-adapter': 1.0.5 '@prisma/client': 4.6.1 - '@tanstack/react-query': 4.17.1 - '@trpc/client': 10.2.0 - '@trpc/next': 10.2.0 - '@trpc/react-query': 10.2.0 - '@trpc/server': 10.2.0 + '@tanstack/react-query': 4.18.0 + '@trpc/client': 10.3.0 + '@trpc/next': 10.3.0 + '@trpc/react-query': 10.3.0 + '@trpc/server': 10.3.0 '@types/jest': 29.2.3 '@types/node': 16.11.45 '@types/web-push': 3.3.2 @@ -470,11 +424,11 @@ importers: '@chirpy-dev/utils': link:../utils '@next-auth/prisma-adapter': 1.0.5_o53gfpk3vz2btjrokqfjjwwn3m '@prisma/client': 4.6.1_prisma@4.6.1 - '@tanstack/react-query': 4.17.1_biqbaboplfbrettd7655fr4n2y - '@trpc/client': 10.2.0_@trpc+server@10.2.0 - '@trpc/next': 10.2.0_dfo4zyd5puickhsctwfhhecacy - '@trpc/react-query': 10.2.0_xdgyyx5u2iaaonjivvzelfawba - '@trpc/server': 10.2.0 + '@tanstack/react-query': 4.18.0_biqbaboplfbrettd7655fr4n2y + '@trpc/client': 10.3.0_@trpc+server@10.3.0 + '@trpc/next': 10.3.0_vi2iz35cofb5u3hzttlzs2jwlq + '@trpc/react-query': 10.3.0_bhwn3e6ab7ypvnnsonc4sfinhq + '@trpc/server': 10.3.0 '@types/web-push': 3.3.2 next: 13.0.5_biqbaboplfbrettd7655fr4n2y next-auth: 4.17.0_7iuvftg57tblwyxclfkwku5xo4 @@ -495,9 +449,8 @@ importers: packages/types: specifiers: - '@chirpy-dev/graphql': workspace:* '@chirpy-dev/tsconfigs': workspace:* - '@tanstack/react-query': 4.17.1 + '@tanstack/react-query': 4.18.0 '@tiptap/core': 2.0.0-beta.204 '@tiptap/react': 2.0.0-beta.204 '@types/node': 16.11.45 @@ -512,11 +465,9 @@ importers: react-dom: 18.2.0 reading-time: 1.5.0 typescript: 4.9.3 - urql: 3.0.3 dependencies: - '@tanstack/react-query': 4.17.1_biqbaboplfbrettd7655fr4n2y + '@tanstack/react-query': 4.18.0_biqbaboplfbrettd7655fr4n2y devDependencies: - '@chirpy-dev/graphql': link:../graphql '@chirpy-dev/tsconfigs': link:../tsconfigs '@tiptap/core': 2.0.0-beta.204 '@tiptap/react': 2.0.0-beta.204_z5f4pk2xasrno4tu55p73jy46e @@ -532,13 +483,11 @@ importers: react-dom: 18.2.0_react@18.2.0 reading-time: 1.5.0 typescript: 4.9.3 - urql: 3.0.3_onqnqwb3ubg5opvemcqf7c2qhy packages/ui: specifiers: '@babel/core': 7.20.2 '@chirpy-dev/eslint-config': workspace:* - '@chirpy-dev/graphql': workspace:* '@chirpy-dev/trpc': workspace:* '@chirpy-dev/tsconfigs': workspace:* '@chirpy-dev/types': workspace:* @@ -554,7 +503,7 @@ importers: '@storybook/react': 6.5.13 '@storybook/testing-library': 0.0.13 '@storybook/testing-react': 1.3.0 - '@tanstack/react-query': 4.17.1 + '@tanstack/react-query': 4.18.0 '@testing-library/jest-dom': 5.16.5 '@testing-library/react': 13.4.0 '@testing-library/user-event': 14.4.3 @@ -565,10 +514,10 @@ importers: '@tiptap/extension-underline': 2.0.0-beta.204 '@tiptap/react': 2.0.0-beta.204 '@tiptap/starter-kit': 2.0.0-beta.204 - '@trpc/client': 10.2.0 - '@trpc/next': 10.2.0 - '@trpc/react-query': 10.2.0 - '@trpc/server': 10.2.0 + '@trpc/client': 10.3.0 + '@trpc/next': 10.3.0 + '@trpc/react-query': 10.3.0 + '@trpc/server': 10.3.0 '@types/canvas-confetti': 1.6.0 '@types/d3': 3.5.47 '@types/debounce-promise': 3.1.5 @@ -577,10 +526,6 @@ importers: '@types/react': 18.0.25 '@types/react-dom': 18.0.9 '@types/react-flatpickr': 3.8.8 - '@urql/devtools': 2.0.3 - '@urql/exchange-graphcache': 5.0.5 - '@urql/exchange-refocus': 1.0.0 - '@urql/storybook-addon': 2.0.1 autoprefixer: 10.4.13 avvvatars-react: 0.4.2 babel-loader: 8.2.5 @@ -634,7 +579,6 @@ importers: tailwindcss: 3.2.4 type-fest: 3.2.0 typescript: 4.9.3 - urql: 3.0.3 webpack: 5.75.0 whatwg-fetch: 3.6.2 dependencies: @@ -644,7 +588,7 @@ importers: '@geist-ui/icons': 1.0.2_react@18.2.0 '@headlessui/react': 1.7.4_biqbaboplfbrettd7655fr4n2y '@radix-ui/colors': 0.1.8 - '@tanstack/react-query': 4.17.1_biqbaboplfbrettd7655fr4n2y + '@tanstack/react-query': 4.18.0_biqbaboplfbrettd7655fr4n2y '@tiptap/core': 2.0.0-beta.204 '@tiptap/extension-image': 2.0.0-beta.204_bv566pzu4gfcw3675d5jwhi56i '@tiptap/extension-link': 2.0.0-beta.204_bv566pzu4gfcw3675d5jwhi56i @@ -652,13 +596,10 @@ importers: '@tiptap/extension-underline': 2.0.0-beta.204_bv566pzu4gfcw3675d5jwhi56i '@tiptap/react': 2.0.0-beta.204_z5f4pk2xasrno4tu55p73jy46e '@tiptap/starter-kit': 2.0.0-beta.204 - '@trpc/client': 10.2.0_@trpc+server@10.2.0 - '@trpc/next': 10.2.0_dfo4zyd5puickhsctwfhhecacy - '@trpc/react-query': 10.2.0_xdgyyx5u2iaaonjivvzelfawba - '@trpc/server': 10.2.0 - '@urql/devtools': 2.0.3_graphql@16.6.0 - '@urql/exchange-graphcache': 5.0.5_graphql@16.6.0 - '@urql/exchange-refocus': 1.0.0_graphql@16.6.0 + '@trpc/client': 10.3.0_@trpc+server@10.3.0 + '@trpc/next': 10.3.0_vi2iz35cofb5u3hzttlzs2jwlq + '@trpc/react-query': 10.3.0_bhwn3e6ab7ypvnnsonc4sfinhq + '@trpc/server': 10.3.0 avvvatars-react: 0.4.2_owo25xnefcwdq3zjgtohz6dbju canvas-confetti: 1.6.0 chart.js: 3.8.0 @@ -685,11 +626,9 @@ importers: react-flip-move: 3.0.4_4vqqtxpblx3txl6pkcft5ke2i4_biqbaboplfbrettd7655fr4n2y super-tiny-icons: 0.4.0 superjson: 1.11.0 - urql: 3.0.3_onqnqwb3ubg5opvemcqf7c2qhy devDependencies: '@babel/core': 7.20.2 '@chirpy-dev/eslint-config': link:../eslint-config - '@chirpy-dev/graphql': link:../graphql '@chirpy-dev/tsconfigs': link:../tsconfigs '@storybook/addon-actions': 6.5.13_biqbaboplfbrettd7655fr4n2y '@storybook/addon-essentials': 6.5.13_ggaoyc47wy3ua4t6by2tzv2uxi @@ -710,7 +649,6 @@ importers: '@types/react': 18.0.25 '@types/react-dom': 18.0.9 '@types/react-flatpickr': 3.8.8 - '@urql/storybook-addon': 2.0.1_gdcq4dv6opitr3wbfwyjmanyra autoprefixer: 10.4.13_postcss@8.4.19 babel-loader: 8.2.5_npabyccmuonwo2rku4k53xo3hi chromatic: 6.11.4 @@ -778,53 +716,6 @@ packages: '@jridgewell/gen-mapping': 0.1.1 '@jridgewell/trace-mapping': 0.3.17 - /@ardatan/relay-compiler/12.0.0_graphql@16.6.0: - resolution: {integrity: sha512-9anThAaj1dQr6IGmzBMcfzOQKTa5artjuPmw8NYK/fiGEMjADbSguBY2FMDykt+QhilR3wc9VA/3yVju7JHg7Q==} - hasBin: true - peerDependencies: - graphql: '*' - dependencies: - '@babel/core': 7.20.2 - '@babel/generator': 7.19.6 - '@babel/parser': 7.19.6 - '@babel/runtime': 7.20.1 - '@babel/traverse': 7.19.6 - '@babel/types': 7.19.4 - babel-preset-fbjs: 3.4.0_@babel+core@7.20.2 - chalk: 4.1.2 - fb-watchman: 2.0.2 - fbjs: 3.0.4 - glob: 7.2.3 - graphql: 16.6.0 - immutable: 3.7.6 - invariant: 2.2.4 - nullthrows: 1.1.1 - relay-runtime: 12.0.0 - signedsource: 1.0.0 - yargs: 15.4.1 - transitivePeerDependencies: - - encoding - - supports-color - dev: true - - /@ardatan/sync-fetch/0.0.1: - resolution: {integrity: sha512-xhlTqH0m31mnsG0tIP4ETgfSB6gXDaYYsUWTrlUV93fFQPI9dd8hE0Ot6MHLCtqgB32hwJAC3YZMWlXZw7AleA==} - engines: {node: '>=14'} - dependencies: - node-fetch: 2.6.7 - transitivePeerDependencies: - - encoding - dev: true - - /@atomist/yaml-updater/1.0.2: - resolution: {integrity: sha512-wdOMvqPZWP3ObzpwjrT4ODGnQYukC/bnzmVqWKwUQFMjIzRTMu9lv9MZxU5mtWgQ+l2i736XhmNt7guXzfuJcQ==} - engines: {node: '>=8.0.0', npm: '>=5.0.0'} - dependencies: - '@types/js-yaml': 3.12.7 - fast-deep-equal: 2.0.1 - js-yaml: 3.14.1 - dev: true - /@babel/code-frame/7.18.6: resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} engines: {node: '>=6.9.0'} @@ -1732,16 +1623,6 @@ packages: '@babel/helper-plugin-utils': 7.19.0 dev: true - /@babel/plugin-transform-block-scoping/7.19.4_@babel+core@7.20.2: - resolution: {integrity: sha512-934S2VLLlt2hRJwPf4MczaOr4hYF0z+VKPwqTNxyKX7NthTiPfhuKFWQZHXRM0vh/wo/VyXB3s4bZUNA08l+tQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.19.0 - dev: true - /@babel/plugin-transform-block-scoping/7.20.0_@babel+core@7.20.2: resolution: {integrity: sha512-sXOohbpHZSk7GjxK9b3dKB7CfqUD5DwOH+DggKzOQ7TXYP+RCSbRykfjQmn/zq+rBjycVRtLf9pYhAaEJA786w==} engines: {node: '>=6.9.0'} @@ -1782,16 +1663,6 @@ packages: '@babel/helper-plugin-utils': 7.19.0 dev: true - /@babel/plugin-transform-destructuring/7.19.4_@babel+core@7.20.2: - resolution: {integrity: sha512-t0j0Hgidqf0aM86dF8U+vXYReUgJnlv4bZLsyoPnwZNrGY+7/38o8YjaELrvHeVfTZao15kjR0PVv0nju2iduA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.19.0 - dev: true - /@babel/plugin-transform-destructuring/7.20.0_@babel+core@7.20.2: resolution: {integrity: sha512-1dIhvZfkDVx/zn2S1aFwlruspTt4189j7fEkH0Y0VyuDM6bQt7bD6kLcz3l4IlLG+e5OReaBz9ROAbttRtUHqA==} engines: {node: '>=6.9.0'} @@ -1985,16 +1856,6 @@ packages: '@babel/core': 7.12.9 '@babel/helper-plugin-utils': 7.19.0 - /@babel/plugin-transform-parameters/7.18.8_@babel+core@7.20.2: - resolution: {integrity: sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.19.0 - dev: true - /@babel/plugin-transform-parameters/7.20.1_@babel+core@7.20.2: resolution: {integrity: sha512-nDvKLrAvl+kf6BOy1UJ3MGwzzfTMgppxwiD2Jb4LO3xjYyZq30oQzDNJbCQpMdG9+j2IXHoiMrw5Cm/L6ZoxXQ==} engines: {node: '>=6.9.0'} @@ -2668,22 +2529,12 @@ packages: requiresBuild: true optional: true - /@cronvel/get-pixels/3.4.1: - resolution: {integrity: sha512-gB5C5nDIacLUdsMuW8YsM9SzK3vaFANe4J11CVXpovpy7bZUGrcJKmc6m/0gWG789pKr6XSZY2aEetjFvSRw5g==} - dependencies: - jpeg-js: 0.4.4 - ndarray: 1.0.19 - ndarray-pack: 1.2.1 - node-bitmap: 0.0.1 - omggif: 1.0.10 - pngjs: 6.0.0 - dev: true - /@cspotcode/source-map-support/0.8.1: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} dependencies: '@jridgewell/trace-mapping': 0.3.9 + dev: false /@csstools/postcss-cascade-layers/1.1.1_postcss@8.4.19: resolution: {integrity: sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==} @@ -2989,1233 +2840,140 @@ packages: react: 18.2.0 dev: false - /@graphql-codegen/add/3.2.1_graphql@16.6.0: - resolution: {integrity: sha512-w82H/evh8SSGoD3K6K/Oh3kqSdbuU+TgHqMYmmHFxtH692v2xhN/cu1s/TotBQ7r4mO7OQutze7dde2tZEXGEQ==} + /@headlessui/react/1.7.4_biqbaboplfbrettd7655fr4n2y: + resolution: {integrity: sha512-D8n5yGCF3WIkPsjEYeM8knn9jQ70bigGGb5aUvN6y4BGxcT3OcOQOKcM3zRGllRCZCFxCZyQvYJF6ZE7bQUOyQ==} + engines: {node: '>=10'} peerDependencies: - 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 || 16 + react: ^16 || ^17 || ^18 || 18 + react-dom: ^16 || ^17 || ^18 || 18 dependencies: - '@graphql-codegen/plugin-helpers': 2.7.2_graphql@16.6.0 - graphql: 16.6.0 - tslib: 2.4.1 - dev: true + client-only: 0.0.1 + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + dev: false - /@graphql-codegen/cli/2.13.12_kjbtv7ce7iv4kwcptkge5oq7pm: - resolution: {integrity: sha512-9pr39oseKQyQvm1tRFvW/2kt8c5JmT8u+5X6FZVBqWE18l1g4hB+XOeUNg/oEBdeDfiP7bvYjtQYOZaToXz9IQ==} - hasBin: true - peerDependencies: - 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 || 16 + /@humanwhocodes/config-array/0.11.7: + resolution: {integrity: sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==} + engines: {node: '>=10.10.0'} dependencies: - '@babel/generator': 7.20.4 - '@babel/template': 7.18.10 - '@babel/types': 7.20.2 - '@graphql-codegen/core': 2.6.6_graphql@16.6.0 - '@graphql-codegen/plugin-helpers': 2.7.2_graphql@16.6.0 - '@graphql-tools/apollo-engine-loader': 7.3.19_graphql@16.6.0 - '@graphql-tools/code-file-loader': 7.3.12_graphql@16.6.0 - '@graphql-tools/git-loader': 7.2.12_graphql@16.6.0 - '@graphql-tools/github-loader': 7.3.19_graphql@16.6.0 - '@graphql-tools/graphql-file-loader': 7.5.11_graphql@16.6.0 - '@graphql-tools/json-file-loader': 7.4.12_graphql@16.6.0 - '@graphql-tools/load': 7.8.0_graphql@16.6.0 - '@graphql-tools/prisma-loader': 7.2.39_hdfzlaxoqhmrmmanxrg2npeypa - '@graphql-tools/url-loader': 7.16.19_hdfzlaxoqhmrmmanxrg2npeypa - '@graphql-tools/utils': 8.13.1_graphql@16.6.0 - '@whatwg-node/fetch': 0.3.2 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - chokidar: 3.5.3 - cosmiconfig: 7.1.0 - cosmiconfig-typescript-loader: 4.1.1_vj3f3ugxect2v22njqgy3g2gxq - debounce: 1.2.1 - detect-indent: 6.1.0 - graphql: 16.6.0 - graphql-config: 4.3.6_kjbtv7ce7iv4kwcptkge5oq7pm - inquirer: 8.2.5 - is-glob: 4.0.3 - json-to-pretty-yaml: 1.2.2 - listr2: 4.0.5 - log-symbols: 4.1.0 - mkdirp: 1.0.4 - shell-quote: 1.7.4 - string-env-interpolation: 1.0.1 - ts-log: 2.2.5 - tslib: 2.4.1 - yaml: 1.10.2 - yargs: 17.6.2 + '@humanwhocodes/object-schema': 1.2.1 + debug: 4.3.4 + minimatch: 3.1.2 transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' - - '@types/node' - - bufferutil - - encoding - - enquirer - supports-color - - ts-node - - typescript - - utf-8-validate - dev: true - /@graphql-codegen/core/2.6.6_graphql@16.6.0: - resolution: {integrity: sha512-gU2FUxoLGw2GfcPWfBVXuiN3aDODbZ6Z9I+IGxa2u1Rzxlacw4TMmcwr4/IjC6mkiYJEKTvdVspHaby+brhuAg==} - peerDependencies: - 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 || 16 - dependencies: - '@graphql-codegen/plugin-helpers': 2.7.2_graphql@16.6.0 - '@graphql-tools/schema': 9.0.10_graphql@16.6.0 - '@graphql-tools/utils': 9.1.1_graphql@16.6.0 - graphql: 16.6.0 - tslib: 2.4.1 - dev: true + /@humanwhocodes/module-importer/1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} - /@graphql-codegen/introspection/2.2.1_graphql@16.6.0: - resolution: {integrity: sha512-083tu9rSLL0k9LrAyGt1AjGQI/O9gX3w1UliaufLc3mofDSt7iV04tT9VJRuk4IoBvyPZ/8YCs5zIpmt/GexPA==} - peerDependencies: - 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 || 16 - dependencies: - '@graphql-codegen/plugin-helpers': 2.7.1_graphql@16.6.0 - '@graphql-codegen/visitor-plugin-common': 2.13.0_graphql@16.6.0 - graphql: 16.6.0 - tslib: 2.4.0 - transitivePeerDependencies: - - encoding - - supports-color - dev: true + /@humanwhocodes/object-schema/1.2.1: + resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} - /@graphql-codegen/near-operation-file-preset/2.4.4_graphql@16.6.0: - resolution: {integrity: sha512-aDc0IM7cjDXx0yDJwRKIVb3PNM5oZEYnM52WwlXmkAP8+mGi3YpcfuwP69fAccA3Ua5/UYMDtS2y86B3GjfVNA==} + /@ianvs/prettier-plugin-sort-imports/3.7.1_prettier@2.8.0: + resolution: {integrity: sha512-XDnBUUruJY9KgNd7T2ZHnVPWo5B9NzVDCLEMm7HjXTA3rTtMg5Q46gYRjLvampDXSmN8+icu54aRE3IIT8U+1w==} peerDependencies: - 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 || 16 + '@vue/compiler-sfc': '>=3.0.0' + prettier: 2.x + peerDependenciesMeta: + '@vue/compiler-sfc': + optional: true dependencies: - '@graphql-codegen/add': 3.2.1_graphql@16.6.0 - '@graphql-codegen/plugin-helpers': 2.7.2_graphql@16.6.0 - '@graphql-codegen/visitor-plugin-common': 2.13.1_graphql@16.6.0 - '@graphql-tools/utils': 8.13.1_graphql@16.6.0 - graphql: 16.6.0 - parse-filepath: 1.0.2 - tslib: 2.4.1 + '@babel/core': 7.19.6 + '@babel/generator': 7.20.1 + '@babel/parser': 7.20.1 + '@babel/traverse': 7.20.1 + '@babel/types': 7.20.0 + javascript-natural-sort: 0.7.1 + lodash.clone: 4.5.0 + lodash.isequal: 4.5.0 + prettier: 2.8.0 transitivePeerDependencies: - - encoding - supports-color - dev: true + dev: false - /@graphql-codegen/plugin-helpers/2.7.1_graphql@16.6.0: - resolution: {integrity: sha512-wpEShhwbQp8pqXolnSCNaj0pU91LbuBvYHpYqm96TUqyeKQYAYRVmw3JIt0g8UQpKYhg8lYIDwWdcINOYqkGLg==} - peerDependencies: - 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 || 16 + /@istanbuljs/load-nyc-config/1.1.0: + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} dependencies: - '@graphql-tools/utils': 8.13.0_graphql@16.6.0 - change-case-all: 1.0.14 - common-tags: 1.8.2 - graphql: 16.6.0 - import-from: 4.0.0 - lodash: 4.17.21 - tslib: 2.4.1 + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.14.1 + resolve-from: 5.0.0 dev: true - /@graphql-codegen/plugin-helpers/2.7.2_graphql@16.6.0: - resolution: {integrity: sha512-kln2AZ12uii6U59OQXdjLk5nOlh1pHis1R98cDZGFnfaiAbX9V3fxcZ1MMJkB7qFUymTALzyjZoXXdyVmPMfRg==} - peerDependencies: - 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 || 16 - dependencies: - '@graphql-tools/utils': 8.13.1_graphql@16.6.0 - change-case-all: 1.0.14 - common-tags: 1.8.2 - graphql: 16.6.0 - import-from: 4.0.0 - lodash: 4.17.21 - tslib: 2.4.1 + /@istanbuljs/schema/0.1.3: + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} dev: true - /@graphql-codegen/schema-ast/2.5.1_graphql@16.6.0: - resolution: {integrity: sha512-tewa5DEKbglWn7kYyVBkh3J8YQ5ALqAMVmZwiVFIGOao5u66nd+e4HuFqp0u+Jpz4SJGGi0ap/oFrEvlqLjd2A==} - peerDependencies: - 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 || 16 + /@jest/console/29.3.1: + resolution: {integrity: sha512-IRE6GD47KwcqA09RIWrabKdHPiKDGgtAL31xDxbi/RjQMsr+lY+ppxmHwY0dUEV3qvvxZzoe5Hl0RXZJOjQNUg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@graphql-codegen/plugin-helpers': 2.7.2_graphql@16.6.0 - '@graphql-tools/utils': 8.13.1_graphql@16.6.0 - graphql: 16.6.0 - tslib: 2.4.1 + '@jest/types': 29.3.1 + '@types/node': 18.11.9 + chalk: 4.1.2 + jest-message-util: 29.3.1 + jest-util: 29.3.1 + slash: 3.0.0 dev: true - /@graphql-codegen/typed-document-node/2.3.7_graphql@16.6.0: - resolution: {integrity: sha512-9raCw2n2gGfdK4gFZaY/fbrUH/ADpZOhlNZ/l6iEzdEEGJbAIAIsovnt9LBnpJ+VCmUBfmjhpn1QQBEwyceVlw==} + /@jest/core/29.3.1: + resolution: {integrity: sha512-0ohVjjRex985w5MmO5L3u5GR1O30DexhBSpuwx2P+9ftyqHdJXnk7IUWiP80oHMvt7ubHCJHxV0a0vlKVuZirw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: - 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 || 16 + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true dependencies: - '@graphql-codegen/plugin-helpers': 2.7.2_graphql@16.6.0 - '@graphql-codegen/visitor-plugin-common': 2.13.2_graphql@16.6.0 - auto-bind: 4.0.0 - change-case-all: 1.0.14 - graphql: 16.6.0 - tslib: 2.4.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': 18.11.9 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + ci-info: 3.6.1 + exit: 0.1.2 + graceful-fs: 4.2.10 + jest-changed-files: 29.2.0 + jest-config: 29.3.1_@types+node@18.11.9 + jest-haste-map: 29.3.1 + jest-message-util: 29.3.1 + jest-regex-util: 29.2.0 + 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.5 + pretty-format: 29.3.1 + slash: 3.0.0 + strip-ansi: 6.0.1 transitivePeerDependencies: - - encoding - supports-color + - ts-node dev: true - /@graphql-codegen/typescript-operations/2.5.7_graphql@16.6.0: - resolution: {integrity: sha512-4TRyQy/GizcjkZsvN176C5O5bULyGB/lMXDWqg58A9AGf/P0n5n4QjgrMd2EG6tA3Xzg1tiBWhxYEFSmlPVETQ==} - peerDependencies: - 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 || 16 + /@jest/environment/29.3.1: + resolution: {integrity: sha512-pMmvfOPmoa1c1QpfFW0nXYtNLpofqo4BrCIk6f2kW4JFeNlHV2t3vd+3iDLf31e2ot2Mec0uqZfmI+U0K2CFag==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@graphql-codegen/plugin-helpers': 2.7.2_graphql@16.6.0 - '@graphql-codegen/typescript': 2.8.2_graphql@16.6.0 - '@graphql-codegen/visitor-plugin-common': 2.13.2_graphql@16.6.0 - auto-bind: 4.0.0 - graphql: 16.6.0 - tslib: 2.4.1 - transitivePeerDependencies: - - encoding - - supports-color + '@jest/fake-timers': 29.3.1 + '@jest/types': 29.3.1 + '@types/node': 18.11.9 + jest-mock: 29.3.1 dev: true - /@graphql-codegen/typescript-urql/3.7.3_sy4knu3obj4ys7pjcqbyfxmqle: - resolution: {integrity: sha512-ndb3C/IZeLaZXI24OEQZnJ7OgzZJvBdw1xnU/ohL6/lMcC5xQgxHBpqM10MZgfTc9l9Ip7qZVCVQk3I4cvcGrA==} - peerDependencies: - 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 || 16 - graphql-tag: ^2.0.0 - dependencies: - '@graphql-codegen/plugin-helpers': 2.7.2_graphql@16.6.0 - '@graphql-codegen/visitor-plugin-common': 2.13.1_graphql@16.6.0 - auto-bind: 4.0.0 - graphql: 16.6.0 - graphql-tag: 2.12.6_graphql@16.6.0 - tslib: 2.4.1 - transitivePeerDependencies: - - encoding - - supports-color - dev: true - - /@graphql-codegen/typescript/2.8.2_graphql@16.6.0: - resolution: {integrity: sha512-FWyEcJTHSxkImNgDRfsg4yBMJ11qPA6sPJ7v8Kviv5MaOFybclVSZ8WWfp7D8Dc6ix4zWfMd4dIl9ZIL/AJu8A==} - peerDependencies: - graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || 16 - dependencies: - '@graphql-codegen/plugin-helpers': 2.7.2_graphql@16.6.0 - '@graphql-codegen/schema-ast': 2.5.1_graphql@16.6.0 - '@graphql-codegen/visitor-plugin-common': 2.13.2_graphql@16.6.0 - auto-bind: 4.0.0 - graphql: 16.6.0 - tslib: 2.4.1 - transitivePeerDependencies: - - encoding - - supports-color - dev: true - - /@graphql-codegen/visitor-plugin-common/2.13.0_graphql@16.6.0: - resolution: {integrity: sha512-8lKw4l8W6yKaqrxx025eB6+lRMWaBKedbKjC9UyLhXAnqTi3tgaRKOBo4zvl1+KzE6R41Ruov9UcGD7OjgmBrw==} - peerDependencies: - 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 || 16 - dependencies: - '@graphql-codegen/plugin-helpers': 2.7.1_graphql@16.6.0 - '@graphql-tools/optimize': 1.3.0_graphql@16.6.0 - '@graphql-tools/relay-operation-optimizer': 6.5.0_graphql@16.6.0 - '@graphql-tools/utils': 8.13.0_graphql@16.6.0 - auto-bind: 4.0.0 - change-case-all: 1.0.14 - dependency-graph: 0.11.0 - graphql: 16.6.0 - graphql-tag: 2.12.6_graphql@16.6.0 - parse-filepath: 1.0.2 - tslib: 2.4.1 - transitivePeerDependencies: - - encoding - - supports-color - dev: true - - /@graphql-codegen/visitor-plugin-common/2.13.1_graphql@16.6.0: - resolution: {integrity: sha512-mD9ufZhDGhyrSaWQGrU1Q1c5f01TeWtSWy/cDwXYjJcHIj1Y/DG2x0tOflEfCvh5WcnmHNIw4lzDsg1W7iFJEg==} - peerDependencies: - 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 || 16 - dependencies: - '@graphql-codegen/plugin-helpers': 2.7.2_graphql@16.6.0 - '@graphql-tools/optimize': 1.3.1_graphql@16.6.0 - '@graphql-tools/relay-operation-optimizer': 6.5.10_graphql@16.6.0 - '@graphql-tools/utils': 8.13.1_graphql@16.6.0 - auto-bind: 4.0.0 - change-case-all: 1.0.14 - dependency-graph: 0.11.0 - graphql: 16.6.0 - graphql-tag: 2.12.6_graphql@16.6.0 - parse-filepath: 1.0.2 - tslib: 2.4.1 - transitivePeerDependencies: - - encoding - - supports-color - dev: true - - /@graphql-codegen/visitor-plugin-common/2.13.2_graphql@16.6.0: - resolution: {integrity: sha512-qCZ4nfI1YjDuPz4lqGi0s4/5lOqHxdiQPFSwrXDENjHW+Z0oAiNYj6CFqob9ai2tLtXXKSUzMh/eeZDPmTrfhQ==} - peerDependencies: - 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 || 16 - dependencies: - '@graphql-codegen/plugin-helpers': 2.7.2_graphql@16.6.0 - '@graphql-tools/optimize': 1.3.1_graphql@16.6.0 - '@graphql-tools/relay-operation-optimizer': 6.5.12_graphql@16.6.0 - '@graphql-tools/utils': 8.13.1_graphql@16.6.0 - auto-bind: 4.0.0 - change-case-all: 1.0.14 - dependency-graph: 0.11.0 - graphql: 16.6.0 - graphql-tag: 2.12.6_graphql@16.6.0 - parse-filepath: 1.0.2 - tslib: 2.4.1 - transitivePeerDependencies: - - encoding - - supports-color - dev: true - - /@graphql-tools/apollo-engine-loader/7.3.19_graphql@16.6.0: - resolution: {integrity: sha512-at5VaqSVGZDc3Fjr63vWhrKXTb5YdopCuvpRGeC9PALIWAMOLXNdkdPYiFe8crLAz60qhcpADqFoNFR+G2+NIg==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@ardatan/sync-fetch': 0.0.1 - '@graphql-tools/utils': 9.1.1_graphql@16.6.0 - '@whatwg-node/fetch': 0.5.3 - graphql: 16.6.0 - tslib: 2.4.1 - transitivePeerDependencies: - - encoding - dev: true - - /@graphql-tools/batch-execute/8.5.12_graphql@16.6.0: - resolution: {integrity: sha512-eNdN5CirW3ILoBaVyy4GI6JpLoJELeH0A7+uLRjwZuMFxpe4cljSrY8P+id28m43+uvBzB3rvNTv0+mnRjrMRw==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/utils': 9.1.1_graphql@16.6.0 - dataloader: 2.1.0 - graphql: 16.6.0 - tslib: 2.4.1 - value-or-promise: 1.0.11 - dev: true - - /@graphql-tools/batch-execute/8.5.7_graphql@15.4.0: - resolution: {integrity: sha512-s6VuNsagjCz8WhPYF9SXTPqvpOWE+HH7M2ZXMf5340OLGkWIe+Yu3+k8OCUYYnCTIFvJ4xTrpuxGQifY+DtE3Q==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/utils': 8.13.0_graphql@15.4.0 - dataloader: 2.1.0 - graphql: 15.4.0 - tslib: 2.4.1 - value-or-promise: 1.0.11 - dev: true - - /@graphql-tools/batch-execute/8.5.7_graphql@16.6.0: - resolution: {integrity: sha512-s6VuNsagjCz8WhPYF9SXTPqvpOWE+HH7M2ZXMf5340OLGkWIe+Yu3+k8OCUYYnCTIFvJ4xTrpuxGQifY+DtE3Q==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/utils': 8.13.0_graphql@16.6.0 - dataloader: 2.1.0 - graphql: 16.6.0 - tslib: 2.4.1 - value-or-promise: 1.0.11 - dev: true - - /@graphql-tools/code-file-loader/7.3.12_graphql@16.6.0: - resolution: {integrity: sha512-XflxElA2FNPDgicUZr4UF6NVlvPHFOKd1u8KAb/nHSlUT70qcvIPFfRASSuEvLMGYuW/lrFZfgi2z0BV6P5Vqw==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/graphql-tag-pluck': 7.3.12_graphql@16.6.0 - '@graphql-tools/utils': 9.1.1_graphql@16.6.0 - globby: 11.1.0 - graphql: 16.6.0 - tslib: 2.4.1 - unixify: 1.0.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@graphql-tools/delegate/9.0.17_graphql@16.6.0: - resolution: {integrity: sha512-y7h5H+hOhQWEkG67A4wurlphHMYJuMlQIEY7wZPVpmViuV6TuSPB7qkLITsM99XiNQhX+v1VayN2cuaP/8nIhw==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/batch-execute': 8.5.12_graphql@16.6.0 - '@graphql-tools/executor': 0.0.9_graphql@16.6.0 - '@graphql-tools/schema': 9.0.10_graphql@16.6.0 - '@graphql-tools/utils': 9.1.1_graphql@16.6.0 - dataloader: 2.1.0 - graphql: 16.6.0 - tslib: 2.4.1 - value-or-promise: 1.0.11 - dev: true - - /@graphql-tools/delegate/9.0.9_graphql@15.4.0: - resolution: {integrity: sha512-jUXRuVZ8jFEN9FS4jRRmSURZc8Ii06YR6LmMdPN8WdUsfQn/sTVQ6CEI/MxsEf60YuOFuBU8XAvSGsjQZTzuXg==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/batch-execute': 8.5.7_graphql@15.4.0 - '@graphql-tools/executor': 0.0.1_graphql@15.4.0 - '@graphql-tools/schema': 9.0.5_graphql@15.4.0 - '@graphql-tools/utils': 8.13.0_graphql@15.4.0 - dataloader: 2.1.0 - graphql: 15.4.0 - tslib: 2.4.1 - value-or-promise: 1.0.11 - dev: true - - /@graphql-tools/delegate/9.0.9_graphql@16.6.0: - resolution: {integrity: sha512-jUXRuVZ8jFEN9FS4jRRmSURZc8Ii06YR6LmMdPN8WdUsfQn/sTVQ6CEI/MxsEf60YuOFuBU8XAvSGsjQZTzuXg==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/batch-execute': 8.5.7_graphql@16.6.0 - '@graphql-tools/executor': 0.0.1_graphql@16.6.0 - '@graphql-tools/schema': 9.0.5_graphql@16.6.0 - '@graphql-tools/utils': 8.13.0_graphql@16.6.0 - dataloader: 2.1.0 - graphql: 16.6.0 - tslib: 2.4.1 - value-or-promise: 1.0.11 - dev: true - - /@graphql-tools/executor-graphql-ws/0.0.3_graphql@16.6.0: - resolution: {integrity: sha512-8VATDf82lTaYRE4/BrFm8v6Cz6UHoNTlSkQjPcGtDX4nxbBUYLDfN+Z8ZXl0eZc3tCwsIHkYQunJO0OjmcrP5Q==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/utils': 9.1.1_graphql@16.6.0 - '@repeaterjs/repeater': 3.0.4 - '@types/ws': 8.5.3 - graphql: 16.6.0 - graphql-ws: 5.11.2_graphql@16.6.0 - isomorphic-ws: 5.0.0_ws@8.11.0 - tslib: 2.4.1 - ws: 8.11.0 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - dev: true - - /@graphql-tools/executor-http/0.0.3_hdfzlaxoqhmrmmanxrg2npeypa: - resolution: {integrity: sha512-dtZzdcoc7tnctSGCQhcbOQPnVidn4DakgkyrBAWf0O3GTP9NFKlA+T9+I1N4gPHupQOZdJ1gmNXfnJZyswzCkA==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/utils': 9.1.1_graphql@16.6.0 - '@repeaterjs/repeater': 3.0.4 - '@whatwg-node/fetch': 0.5.1 - dset: 3.1.2 - extract-files: 11.0.0 - graphql: 16.6.0 - meros: 1.2.1_@types+node@16.11.45 - tslib: 2.4.1 - value-or-promise: 1.0.11 - transitivePeerDependencies: - - '@types/node' - - encoding - dev: true - - /@graphql-tools/executor-legacy-ws/0.0.3_graphql@16.6.0: - resolution: {integrity: sha512-ulQ3IsxQ9VRA2S+afJefFpMZHedoUDRd8ylz+9DjqAoykYz6CDD2s3pi6Fud52VCq3DP79dRM7a6hjWgt+YPWw==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/utils': 9.1.1_graphql@16.6.0 - '@types/ws': 8.5.3 - graphql: 16.6.0 - isomorphic-ws: 5.0.0_ws@8.11.0 - tslib: 2.4.1 - ws: 8.11.0 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - dev: true - - /@graphql-tools/executor/0.0.1_graphql@15.4.0: - resolution: {integrity: sha512-+li0brhr6NdViS/pyaDCRTUKf9/lCgaNcfrE4p1yjubwKFoqc5dhwiB3kQ0lOIso2ipAKk08kJ4sBLqJz3osWg==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/utils': 8.13.0_graphql@15.4.0 - '@graphql-typed-document-node/core': 3.1.1_graphql@15.4.0 - graphql: 15.4.0 - dev: true - - /@graphql-tools/executor/0.0.1_graphql@16.6.0: - resolution: {integrity: sha512-+li0brhr6NdViS/pyaDCRTUKf9/lCgaNcfrE4p1yjubwKFoqc5dhwiB3kQ0lOIso2ipAKk08kJ4sBLqJz3osWg==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/utils': 8.13.0_graphql@16.6.0 - '@graphql-typed-document-node/core': 3.1.1_graphql@16.6.0 - graphql: 16.6.0 - dev: true - - /@graphql-tools/executor/0.0.9_graphql@16.6.0: - resolution: {integrity: sha512-qLhQWXTxTS6gbL9INAQa4FJIqTd2tccnbs4HswOx35KnyLaLtREuQ8uTfU+5qMrRIBhuzpGdkP2ssqxLyOJ5rA==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/utils': 9.1.1_graphql@16.6.0 - '@graphql-typed-document-node/core': 3.1.1_graphql@16.6.0 - '@repeaterjs/repeater': 3.0.4 - graphql: 16.6.0 - tslib: 2.4.1 - value-or-promise: 1.0.11 - dev: true - - /@graphql-tools/git-loader/7.2.12_graphql@16.6.0: - resolution: {integrity: sha512-9YnkOikUTPMMlFw2F8Uvd1lPzbciwVo3E5WRsAN4bLeGnVcDAuf0QxElvpcAEhD5ctQR/VKlhuzm/5DyzgTBww==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/graphql-tag-pluck': 7.3.12_graphql@16.6.0 - '@graphql-tools/utils': 9.1.1_graphql@16.6.0 - graphql: 16.6.0 - is-glob: 4.0.3 - micromatch: 4.0.5 - tslib: 2.4.1 - unixify: 1.0.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@graphql-tools/github-loader/7.3.19_graphql@16.6.0: - resolution: {integrity: sha512-/IAe1zmtMFaxx2fiEWXXsExWn5akjjhBn06mfcewo1o27E+Pkg1E0H8QHwsmSN7wqXNUzph7V/C9jlA8kO3pvg==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@ardatan/sync-fetch': 0.0.1 - '@graphql-tools/graphql-tag-pluck': 7.3.12_graphql@16.6.0 - '@graphql-tools/utils': 9.1.1_graphql@16.6.0 - '@whatwg-node/fetch': 0.5.3 - graphql: 16.6.0 - tslib: 2.4.1 - transitivePeerDependencies: - - encoding - - supports-color - dev: true - - /@graphql-tools/graphql-file-loader/7.5.11_graphql@16.6.0: - resolution: {integrity: sha512-E4/YYLlM/T/VDYJ3MfQzJSkCpnHck+xMv2R6QTjO3khUeTCWJY4qsLDPFjAWE0+Mbe9NanXi/yL8Bz0yS/usDw==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/import': 6.7.12_graphql@16.6.0 - '@graphql-tools/utils': 9.1.1_graphql@16.6.0 - globby: 11.1.0 - graphql: 16.6.0 - tslib: 2.4.1 - unixify: 1.0.0 - dev: true - - /@graphql-tools/graphql-file-loader/7.5.6_graphql@15.4.0: - resolution: {integrity: sha512-24F+gPOMsezus2hhzJ3GXhpSQarMdTZAeTSkXgDTOH+VAPlIHvC7zMNuZ3Jt+3FsSXBF5NV4g0GmuSP+/3W9hg==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/import': 6.7.7_graphql@15.4.0 - '@graphql-tools/utils': 8.13.0_graphql@15.4.0 - globby: 11.1.0 - graphql: 15.4.0 - tslib: 2.4.1 - unixify: 1.0.0 - dev: true - - /@graphql-tools/graphql-file-loader/7.5.6_graphql@16.6.0: - resolution: {integrity: sha512-24F+gPOMsezus2hhzJ3GXhpSQarMdTZAeTSkXgDTOH+VAPlIHvC7zMNuZ3Jt+3FsSXBF5NV4g0GmuSP+/3W9hg==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/import': 6.7.7_graphql@16.6.0 - '@graphql-tools/utils': 8.13.0_graphql@16.6.0 - globby: 11.1.0 - graphql: 16.6.0 - tslib: 2.4.1 - unixify: 1.0.0 - dev: true - - /@graphql-tools/graphql-tag-pluck/7.3.12_graphql@16.6.0: - resolution: {integrity: sha512-B92+Q6xPgAKj4z+06vVWdx/7KPlh6vHgIkCg+9hJ2duYBUyEGn39YNdjjWvsGgl3N2G5/BOVFJRmdgLG1k79Xg==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@babel/parser': 7.20.3 - '@babel/traverse': 7.20.1 - '@babel/types': 7.20.2 - '@graphql-tools/utils': 9.1.1_graphql@16.6.0 - graphql: 16.6.0 - tslib: 2.4.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@graphql-tools/import/6.7.12_graphql@16.6.0: - resolution: {integrity: sha512-3+IV3RHqnpQz0o+0Liw3jkr0HL8LppvsFROKdfXihbnCGO7cIq4S9QYdczZ2DAJ7AosyzSu8m36X5dEmOYY6WA==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/utils': 9.1.1_graphql@16.6.0 - graphql: 16.6.0 - resolve-from: 5.0.0 - tslib: 2.4.1 - dev: true - - /@graphql-tools/import/6.7.7_graphql@15.4.0: - resolution: {integrity: sha512-EPMge+w+2bsLxIvTLSHCe2KSMXUPSp8tPyJdWNHINMJyb66iHWAgPcYEr+FdGYtYU00bL/KGxr2Zsy3IZz+5Xw==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/utils': 8.13.0_graphql@15.4.0 - graphql: 15.4.0 - resolve-from: 5.0.0 - tslib: 2.4.1 - dev: true - - /@graphql-tools/import/6.7.7_graphql@16.6.0: - resolution: {integrity: sha512-EPMge+w+2bsLxIvTLSHCe2KSMXUPSp8tPyJdWNHINMJyb66iHWAgPcYEr+FdGYtYU00bL/KGxr2Zsy3IZz+5Xw==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/utils': 8.13.0_graphql@16.6.0 - graphql: 16.6.0 - resolve-from: 5.0.0 - tslib: 2.4.1 - dev: true - - /@graphql-tools/json-file-loader/7.4.12_graphql@16.6.0: - resolution: {integrity: sha512-KuOBJg9ZVrgDsYUaolSXJI90HpwkNiPJviWSc5aqNYSkE+C9DwelBOaKBVQNk1ecEnktqx6Nd+KVsF3m+dupRQ==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/utils': 9.1.1_graphql@16.6.0 - globby: 11.1.0 - graphql: 16.6.0 - tslib: 2.4.1 - unixify: 1.0.0 - dev: true - - /@graphql-tools/json-file-loader/7.4.7_graphql@15.4.0: - resolution: {integrity: sha512-meLumVMrwsK/LkrTNrmRw3ZW8ew0TGqvvo0IpJ32v57hSBFKTsyp4k1ySWCaklNT5waJqMdUbOsUo8GTOIZ4fg==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/utils': 8.13.0_graphql@15.4.0 - globby: 11.1.0 - graphql: 15.4.0 - tslib: 2.4.1 - unixify: 1.0.0 - dev: true - - /@graphql-tools/json-file-loader/7.4.7_graphql@16.6.0: - resolution: {integrity: sha512-meLumVMrwsK/LkrTNrmRw3ZW8ew0TGqvvo0IpJ32v57hSBFKTsyp4k1ySWCaklNT5waJqMdUbOsUo8GTOIZ4fg==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/utils': 8.13.0_graphql@16.6.0 - globby: 11.1.0 - graphql: 16.6.0 - tslib: 2.4.1 - unixify: 1.0.0 - dev: true - - /@graphql-tools/load/7.8.0_graphql@15.4.0: - resolution: {integrity: sha512-l4FGgqMW0VOqo+NMYizwV8Zh+KtvVqOf93uaLo9wJ3sS3y/egPCgxPMDJJ/ufQZG3oZ/0oWeKt68qop3jY0yZg==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/schema': 9.0.4_graphql@15.4.0 - '@graphql-tools/utils': 8.12.0_graphql@15.4.0 - graphql: 15.4.0 - p-limit: 3.1.0 - tslib: 2.4.1 - dev: true - - /@graphql-tools/load/7.8.0_graphql@16.6.0: - resolution: {integrity: sha512-l4FGgqMW0VOqo+NMYizwV8Zh+KtvVqOf93uaLo9wJ3sS3y/egPCgxPMDJJ/ufQZG3oZ/0oWeKt68qop3jY0yZg==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/schema': 9.0.4_graphql@16.6.0 - '@graphql-tools/utils': 8.12.0_graphql@16.6.0 - graphql: 16.6.0 - p-limit: 3.1.0 - tslib: 2.4.1 - dev: true - - /@graphql-tools/merge/8.3.0_graphql@15.4.0: - resolution: {integrity: sha512-xRa7RAQok/0DD2YnjuqikMrr7dUAxTpdGtZ7BkvUUGhYs3B3p7reCAfvOVr1DJAqVToP7hdlMk+S5+Ylk+AaqA==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/utils': 8.8.0_graphql@15.4.0 - graphql: 15.4.0 - tslib: 2.4.1 - dev: true - - /@graphql-tools/merge/8.3.0_graphql@16.6.0: - resolution: {integrity: sha512-xRa7RAQok/0DD2YnjuqikMrr7dUAxTpdGtZ7BkvUUGhYs3B3p7reCAfvOVr1DJAqVToP7hdlMk+S5+Ylk+AaqA==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/utils': 8.8.0_graphql@16.6.0 - graphql: 16.6.0 - tslib: 2.4.1 - dev: true - - /@graphql-tools/merge/8.3.12_graphql@16.6.0: - resolution: {integrity: sha512-BFL8r4+FrqecPnIW0H8UJCBRQ4Y8Ep60aujw9c/sQuFmQTiqgWgpphswMGfaosP2zUinDE3ojU5wwcS2IJnumA==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/utils': 9.1.1_graphql@16.6.0 - graphql: 16.6.0 - tslib: 2.4.1 - dev: true - - /@graphql-tools/merge/8.3.6_graphql@15.4.0: - resolution: {integrity: sha512-uUBokxXi89bj08P+iCvQk3Vew4vcfL5ZM6NTylWi8PIpoq4r5nJ625bRuN8h2uubEdRiH8ntN9M4xkd/j7AybQ==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/utils': 8.12.0_graphql@15.4.0 - graphql: 15.4.0 - tslib: 2.4.1 - dev: true - - /@graphql-tools/merge/8.3.6_graphql@16.6.0: - resolution: {integrity: sha512-uUBokxXi89bj08P+iCvQk3Vew4vcfL5ZM6NTylWi8PIpoq4r5nJ625bRuN8h2uubEdRiH8ntN9M4xkd/j7AybQ==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/utils': 8.12.0_graphql@16.6.0 - graphql: 16.6.0 - tslib: 2.4.1 - dev: true - - /@graphql-tools/merge/8.3.7_graphql@15.4.0: - resolution: {integrity: sha512-su9cUb0gtbvKTmD3LJ3EoUkdqmJ3KBk1efJGvUoN8tFzVVBdxgfOVxwLGI2GgIHcKRVvfhumkjHsa2aneHSY+Q==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/utils': 8.13.0_graphql@15.4.0 - graphql: 15.4.0 - tslib: 2.4.1 - dev: true - - /@graphql-tools/merge/8.3.7_graphql@16.6.0: - resolution: {integrity: sha512-su9cUb0gtbvKTmD3LJ3EoUkdqmJ3KBk1efJGvUoN8tFzVVBdxgfOVxwLGI2GgIHcKRVvfhumkjHsa2aneHSY+Q==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/utils': 8.13.0_graphql@16.6.0 - graphql: 16.6.0 - tslib: 2.4.1 - dev: true - - /@graphql-tools/optimize/1.3.0_graphql@16.6.0: - resolution: {integrity: sha512-30QOWJoMJEt1De7tAFtWJ6VPrP6SLq+tSQrA3x+WMvCW3q2exq5wPDpvAXOakVKu0y8L2E+YkipC0hcQPBQdLg==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - graphql: 16.6.0 - tslib: 2.4.1 - dev: true - - /@graphql-tools/optimize/1.3.1_graphql@16.6.0: - resolution: {integrity: sha512-5j5CZSRGWVobt4bgRRg7zhjPiSimk+/zIuColih8E8DxuFOaJ+t0qu7eZS5KXWBkjcd4BPNuhUPpNlEmHPqVRQ==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - graphql: 16.6.0 - tslib: 2.4.1 - dev: true - - /@graphql-tools/prisma-loader/7.2.39_hdfzlaxoqhmrmmanxrg2npeypa: - resolution: {integrity: sha512-WcLOFFDmLjxcE3Lp0qdX7vD0KkJqAh3af1sVQnpFQLptWLoRHru44AbhECGs3XigICMBKrHO9MV+qtg7FAzhvA==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/url-loader': 7.16.19_hdfzlaxoqhmrmmanxrg2npeypa - '@graphql-tools/utils': 9.1.1_graphql@16.6.0 - '@types/js-yaml': 4.0.5 - '@types/json-stable-stringify': 1.0.34 - '@types/jsonwebtoken': 8.5.9 - chalk: 4.1.2 - debug: 4.3.4 - dotenv: 16.0.3 - graphql: 16.6.0 - graphql-request: 5.0.0_graphql@16.6.0 - http-proxy-agent: 5.0.0 - https-proxy-agent: 5.0.1 - isomorphic-fetch: 3.0.0 - js-yaml: 4.1.0 - json-stable-stringify: 1.0.2 - jsonwebtoken: 8.5.1 - lodash: 4.17.21 - scuid: 1.1.0 - tslib: 2.4.1 - yaml-ast-parser: 0.0.43 - transitivePeerDependencies: - - '@types/node' - - bufferutil - - encoding - - supports-color - - utf-8-validate - dev: true - - /@graphql-tools/relay-operation-optimizer/6.5.0_graphql@16.6.0: - resolution: {integrity: sha512-snqmdPiM2eBex6pijRFx4H9MPumVd8ZWM3y+aaRwzc73VUNnjHE4NyVZEEIdlbmJ2HoQ9Zrm9aFlHVMK7B59zg==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@ardatan/relay-compiler': 12.0.0_graphql@16.6.0 - '@graphql-tools/utils': 8.8.0_graphql@16.6.0 - graphql: 16.6.0 - tslib: 2.4.1 - transitivePeerDependencies: - - encoding - - supports-color - dev: true - - /@graphql-tools/relay-operation-optimizer/6.5.10_graphql@16.6.0: - resolution: {integrity: sha512-daNJRkJa/NgpXVxUApCMIGqHoyHExaG7XN2gk48r+DbKmoahpflF+lnhBKmS44HtSGciFUv8bPbp0NWvXafZ2w==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@ardatan/relay-compiler': 12.0.0_graphql@16.6.0 - '@graphql-tools/utils': 9.0.1_graphql@16.6.0 - graphql: 16.6.0 - tslib: 2.4.1 - transitivePeerDependencies: - - encoding - - supports-color - dev: true - - /@graphql-tools/relay-operation-optimizer/6.5.12_graphql@16.6.0: - resolution: {integrity: sha512-jwcgNK1S8fqDI612uhbZSZTmQ0aJrLjtOSEcelwZ6Ec7o29I3NlOMBGnjvnBr4Y2tUFWZhBKfx0aEn6EJlhiGA==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@ardatan/relay-compiler': 12.0.0_graphql@16.6.0 - '@graphql-tools/utils': 9.1.1_graphql@16.6.0 - graphql: 16.6.0 - tslib: 2.4.1 - transitivePeerDependencies: - - encoding - - supports-color - dev: true - - /@graphql-tools/schema/9.0.10_graphql@16.6.0: - resolution: {integrity: sha512-lV0o4df9SpPiaeeDAzgdCJ2o2N9Wvsp0SMHlF2qDbh9aFCFQRsXuksgiDm2yTgT3TG5OtUes/t0D6uPjPZFUbQ==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/merge': 8.3.12_graphql@16.6.0 - '@graphql-tools/utils': 9.1.1_graphql@16.6.0 - graphql: 16.6.0 - tslib: 2.4.1 - value-or-promise: 1.0.11 - dev: true - - /@graphql-tools/schema/9.0.4_graphql@15.4.0: - resolution: {integrity: sha512-B/b8ukjs18fq+/s7p97P8L1VMrwapYc3N2KvdG/uNThSazRRn8GsBK0Nr+FH+mVKiUfb4Dno79e3SumZVoHuOQ==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/merge': 8.3.6_graphql@15.4.0 - '@graphql-tools/utils': 8.12.0_graphql@15.4.0 - graphql: 15.4.0 - tslib: 2.4.1 - value-or-promise: 1.0.11 - dev: true - - /@graphql-tools/schema/9.0.4_graphql@16.6.0: - resolution: {integrity: sha512-B/b8ukjs18fq+/s7p97P8L1VMrwapYc3N2KvdG/uNThSazRRn8GsBK0Nr+FH+mVKiUfb4Dno79e3SumZVoHuOQ==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/merge': 8.3.6_graphql@16.6.0 - '@graphql-tools/utils': 8.12.0_graphql@16.6.0 - graphql: 16.6.0 - tslib: 2.4.1 - value-or-promise: 1.0.11 - dev: true - - /@graphql-tools/schema/9.0.5_graphql@15.4.0: - resolution: {integrity: sha512-JPxFumaPQp6pRnrofy7rWVNW57r/1RISNxBCGOudFmjfRE2PlO6b766pxhDnggm/yMR3yzR+mA/JHpOK+ij+EA==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/merge': 8.3.7_graphql@15.4.0 - '@graphql-tools/utils': 8.13.0_graphql@15.4.0 - graphql: 15.4.0 - tslib: 2.4.1 - value-or-promise: 1.0.11 - dev: true - - /@graphql-tools/schema/9.0.5_graphql@16.6.0: - resolution: {integrity: sha512-JPxFumaPQp6pRnrofy7rWVNW57r/1RISNxBCGOudFmjfRE2PlO6b766pxhDnggm/yMR3yzR+mA/JHpOK+ij+EA==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/merge': 8.3.7_graphql@16.6.0 - '@graphql-tools/utils': 8.13.0_graphql@16.6.0 - graphql: 16.6.0 - tslib: 2.4.1 - value-or-promise: 1.0.11 - dev: true - - /@graphql-tools/url-loader/7.16.19_hdfzlaxoqhmrmmanxrg2npeypa: - resolution: {integrity: sha512-vFHstaANoojDCXUb/a25mTubteTUV8b7XVLHbbSvAQvwGUne6d+Upg5MeGrKBeHl2Wpn240cJnaa4A1mrwivWA==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@ardatan/sync-fetch': 0.0.1 - '@graphql-tools/delegate': 9.0.17_graphql@16.6.0 - '@graphql-tools/executor-graphql-ws': 0.0.3_graphql@16.6.0 - '@graphql-tools/executor-http': 0.0.3_hdfzlaxoqhmrmmanxrg2npeypa - '@graphql-tools/executor-legacy-ws': 0.0.3_graphql@16.6.0 - '@graphql-tools/utils': 9.1.1_graphql@16.6.0 - '@graphql-tools/wrap': 9.2.16_graphql@16.6.0 - '@types/ws': 8.5.3 - '@whatwg-node/fetch': 0.5.3 - graphql: 16.6.0 - isomorphic-ws: 5.0.0_ws@8.11.0 - tslib: 2.4.1 - value-or-promise: 1.0.11 - ws: 8.11.0 - transitivePeerDependencies: - - '@types/node' - - bufferutil - - encoding - - utf-8-validate - dev: true - - /@graphql-tools/url-loader/7.16.5_5bj44e3bqhgvwkviw5qgosvp3i: - resolution: {integrity: sha512-PkLQyroHavPJ0AUzV74nauKCfcYUT8PoQojAgV9LCzOd4oHxpCPDba8ZpFFXyOVFiMtiSCXwNZwkW6RGnV+IXw==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@ardatan/sync-fetch': 0.0.1 - '@graphql-tools/delegate': 9.0.9_graphql@15.4.0 - '@graphql-tools/utils': 8.13.0_graphql@15.4.0 - '@graphql-tools/wrap': 9.2.4_graphql@15.4.0 - '@types/ws': 8.5.3 - '@whatwg-node/fetch': 0.5.1 - dset: 3.1.2 - extract-files: 11.0.0 - graphql: 15.4.0 - graphql-ws: 5.11.2_graphql@15.4.0 - isomorphic-ws: 5.0.0_ws@8.8.1 - meros: 1.2.0_@types+node@16.11.45 - tslib: 2.4.1 - value-or-promise: 1.0.11 - ws: 8.8.1 - transitivePeerDependencies: - - '@types/node' - - bufferutil - - encoding - - utf-8-validate - dev: true - - /@graphql-tools/url-loader/7.16.5_hdfzlaxoqhmrmmanxrg2npeypa: - resolution: {integrity: sha512-PkLQyroHavPJ0AUzV74nauKCfcYUT8PoQojAgV9LCzOd4oHxpCPDba8ZpFFXyOVFiMtiSCXwNZwkW6RGnV+IXw==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@ardatan/sync-fetch': 0.0.1 - '@graphql-tools/delegate': 9.0.9_graphql@16.6.0 - '@graphql-tools/utils': 8.13.0_graphql@16.6.0 - '@graphql-tools/wrap': 9.2.4_graphql@16.6.0 - '@types/ws': 8.5.3 - '@whatwg-node/fetch': 0.5.1 - dset: 3.1.2 - extract-files: 11.0.0 - graphql: 16.6.0 - graphql-ws: 5.11.2_graphql@16.6.0 - isomorphic-ws: 5.0.0_ws@8.8.1 - meros: 1.2.0_@types+node@16.11.45 - tslib: 2.4.1 - value-or-promise: 1.0.11 - ws: 8.8.1 - transitivePeerDependencies: - - '@types/node' - - bufferutil - - encoding - - utf-8-validate - dev: true - - /@graphql-tools/utils/8.12.0_graphql@15.4.0: - resolution: {integrity: sha512-TeO+MJWGXjUTS52qfK4R8HiPoF/R7X+qmgtOYd8DTH0l6b+5Y/tlg5aGeUJefqImRq7nvi93Ms40k/Uz4D5CWw==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - graphql: 15.4.0 - tslib: 2.4.1 - dev: true - - /@graphql-tools/utils/8.12.0_graphql@16.6.0: - resolution: {integrity: sha512-TeO+MJWGXjUTS52qfK4R8HiPoF/R7X+qmgtOYd8DTH0l6b+5Y/tlg5aGeUJefqImRq7nvi93Ms40k/Uz4D5CWw==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - graphql: 16.6.0 - tslib: 2.4.1 - dev: true - - /@graphql-tools/utils/8.13.0_graphql@15.4.0: - resolution: {integrity: sha512-cI4LdXElgVK2jFoq0DpANlvk4Di6kIapHsJI63RCepQ6xZe+mLI1mDrGdesG37s2BaABqV3RdTzeO/sPnTtyxQ==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - graphql: 15.4.0 - tslib: 2.4.1 - dev: true - - /@graphql-tools/utils/8.13.0_graphql@16.6.0: - resolution: {integrity: sha512-cI4LdXElgVK2jFoq0DpANlvk4Di6kIapHsJI63RCepQ6xZe+mLI1mDrGdesG37s2BaABqV3RdTzeO/sPnTtyxQ==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - graphql: 16.6.0 - tslib: 2.4.1 - dev: true - - /@graphql-tools/utils/8.13.1_graphql@16.6.0: - resolution: {integrity: sha512-qIh9yYpdUFmctVqovwMdheVNJqFh+DQNWIhX87FJStfXYnmweBUDATok9fWPleKeFwxnW8IapKmY8m8toJEkAw==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - graphql: 16.6.0 - tslib: 2.4.1 - dev: true - - /@graphql-tools/utils/8.8.0_graphql@15.4.0: - resolution: {integrity: sha512-KJrtx05uSM/cPYFdTnGAS1doL5bftJLAiFCDMZ8Vkifztz3BFn3gpFiy/o4wDtM8s39G46mxmt2Km/RmeltfGw==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - graphql: 15.4.0 - tslib: 2.4.1 - dev: true - - /@graphql-tools/utils/8.8.0_graphql@16.6.0: - resolution: {integrity: sha512-KJrtx05uSM/cPYFdTnGAS1doL5bftJLAiFCDMZ8Vkifztz3BFn3gpFiy/o4wDtM8s39G46mxmt2Km/RmeltfGw==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - graphql: 16.6.0 - tslib: 2.4.1 - dev: true - - /@graphql-tools/utils/9.0.1_graphql@16.6.0: - resolution: {integrity: sha512-z6FimVa5E44bHKmqK0/uMp9hHvHo2Tkt9A5rlLb40ReD/8IFKehSXLzM4b2N1vcP7mSsbXIdDK9Aoc8jT/he1Q==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - graphql: 16.6.0 - tslib: 2.4.1 - dev: true - - /@graphql-tools/utils/9.1.1_graphql@16.6.0: - resolution: {integrity: sha512-DXKLIEDbihK24fktR2hwp/BNIVwULIHaSTNTNhXS+19vgT50eX9wndx1bPxGwHnVBOONcwjXy0roQac49vdt/w==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - graphql: 16.6.0 - tslib: 2.4.1 - dev: true - - /@graphql-tools/wrap/9.2.16_graphql@16.6.0: - resolution: {integrity: sha512-fWTvGytllPq0IVrRcEAc6VuVUInfCEpOUhSAo1ocsSe0HZMoyrQkS1ST0jmCpEWeGWuUd/S2zBLS2yjH8fYfhA==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/delegate': 9.0.17_graphql@16.6.0 - '@graphql-tools/schema': 9.0.10_graphql@16.6.0 - '@graphql-tools/utils': 9.1.1_graphql@16.6.0 - graphql: 16.6.0 - tslib: 2.4.1 - value-or-promise: 1.0.11 - dev: true - - /@graphql-tools/wrap/9.2.4_graphql@15.4.0: - resolution: {integrity: sha512-e3j8ZCb3Rbw95SZuuqEErBQ/7GhNpU33LWJo10taVNmSWkOaFwpCVAoMXrGNVeIYM8moNyjFyeIO1zNjbNEH3Q==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/delegate': 9.0.9_graphql@15.4.0 - '@graphql-tools/schema': 9.0.5_graphql@15.4.0 - '@graphql-tools/utils': 8.13.0_graphql@15.4.0 - graphql: 15.4.0 - tslib: 2.4.1 - value-or-promise: 1.0.11 - dev: true - - /@graphql-tools/wrap/9.2.4_graphql@16.6.0: - resolution: {integrity: sha512-e3j8ZCb3Rbw95SZuuqEErBQ/7GhNpU33LWJo10taVNmSWkOaFwpCVAoMXrGNVeIYM8moNyjFyeIO1zNjbNEH3Q==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || 16 - dependencies: - '@graphql-tools/delegate': 9.0.9_graphql@16.6.0 - '@graphql-tools/schema': 9.0.5_graphql@16.6.0 - '@graphql-tools/utils': 8.13.0_graphql@16.6.0 - graphql: 16.6.0 - tslib: 2.4.1 - value-or-promise: 1.0.11 - dev: true - - /@graphql-typed-document-node/core/3.1.1_graphql@15.4.0: - resolution: {integrity: sha512-NQ17ii0rK1b34VZonlmT2QMJFI70m0TRwbknO/ihlbatXyaktDhN/98vBiUU6kNBPljqGqyIrl2T4nY2RpFANg==} - peerDependencies: - 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 || 16 - dependencies: - graphql: 15.4.0 - dev: true - - /@graphql-typed-document-node/core/3.1.1_graphql@16.6.0: - resolution: {integrity: sha512-NQ17ii0rK1b34VZonlmT2QMJFI70m0TRwbknO/ihlbatXyaktDhN/98vBiUU6kNBPljqGqyIrl2T4nY2RpFANg==} - peerDependencies: - 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 || 16 - dependencies: - graphql: 16.6.0 - - /@headlessui/react/1.7.4_biqbaboplfbrettd7655fr4n2y: - resolution: {integrity: sha512-D8n5yGCF3WIkPsjEYeM8knn9jQ70bigGGb5aUvN6y4BGxcT3OcOQOKcM3zRGllRCZCFxCZyQvYJF6ZE7bQUOyQ==} - engines: {node: '>=10'} - peerDependencies: - react: ^16 || ^17 || ^18 || 18 - react-dom: ^16 || ^17 || ^18 || 18 - dependencies: - client-only: 0.0.1 - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - dev: false - - /@humanwhocodes/config-array/0.11.7: - resolution: {integrity: sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==} - engines: {node: '>=10.10.0'} - dependencies: - '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - - /@humanwhocodes/module-importer/1.0.1: - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - - /@humanwhocodes/object-schema/1.2.1: - resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} - - /@ianvs/prettier-plugin-sort-imports/3.7.1_prettier@2.8.0: - resolution: {integrity: sha512-XDnBUUruJY9KgNd7T2ZHnVPWo5B9NzVDCLEMm7HjXTA3rTtMg5Q46gYRjLvampDXSmN8+icu54aRE3IIT8U+1w==} - peerDependencies: - '@vue/compiler-sfc': '>=3.0.0' - prettier: 2.x - peerDependenciesMeta: - '@vue/compiler-sfc': - optional: true - dependencies: - '@babel/core': 7.19.6 - '@babel/generator': 7.20.1 - '@babel/parser': 7.20.1 - '@babel/traverse': 7.20.1 - '@babel/types': 7.20.0 - javascript-natural-sort: 0.7.1 - lodash.clone: 4.5.0 - lodash.isequal: 4.5.0 - prettier: 2.8.0 - transitivePeerDependencies: - - supports-color - dev: false - - /@iarna/toml/2.2.5: - resolution: {integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==} - dev: true - - /@istanbuljs/load-nyc-config/1.1.0: - resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} - engines: {node: '>=8'} - dependencies: - camelcase: 5.3.1 - find-up: 4.1.0 - get-package-type: 0.1.0 - js-yaml: 3.14.1 - resolve-from: 5.0.0 - dev: true - - /@istanbuljs/schema/0.1.3: - resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} - engines: {node: '>=8'} - dev: true - - /@jest/console/29.3.1: - resolution: {integrity: sha512-IRE6GD47KwcqA09RIWrabKdHPiKDGgtAL31xDxbi/RjQMsr+lY+ppxmHwY0dUEV3qvvxZzoe5Hl0RXZJOjQNUg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.3.1 - '@types/node': 18.11.9 - chalk: 4.1.2 - jest-message-util: 29.3.1 - jest-util: 29.3.1 - slash: 3.0.0 - dev: true - - /@jest/core/29.3.1: - resolution: {integrity: sha512-0ohVjjRex985w5MmO5L3u5GR1O30DexhBSpuwx2P+9ftyqHdJXnk7IUWiP80oHMvt7ubHCJHxV0a0vlKVuZirw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@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': 18.11.9 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - ci-info: 3.6.1 - exit: 0.1.2 - graceful-fs: 4.2.10 - jest-changed-files: 29.2.0 - jest-config: 29.3.1_@types+node@18.11.9 - jest-haste-map: 29.3.1 - jest-message-util: 29.3.1 - jest-regex-util: 29.2.0 - 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.5 - pretty-format: 29.3.1 - slash: 3.0.0 - strip-ansi: 6.0.1 - transitivePeerDependencies: - - supports-color - - ts-node - dev: true - - /@jest/environment/29.3.1: - resolution: {integrity: sha512-pMmvfOPmoa1c1QpfFW0nXYtNLpofqo4BrCIk6f2kW4JFeNlHV2t3vd+3iDLf31e2ot2Mec0uqZfmI+U0K2CFag==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/fake-timers': 29.3.1 - '@jest/types': 29.3.1 - '@types/node': 18.11.9 - jest-mock: 29.3.1 - dev: true - - /@jest/expect-utils/29.3.1: - resolution: {integrity: sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /@jest/expect-utils/29.3.1: + resolution: {integrity: sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: jest-get-type: 29.2.0 dev: true @@ -4456,6 +3214,7 @@ packages: dependencies: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.14 + dev: false /@maizzle/cli/1.5.1: resolution: {integrity: sha512-8Ya5A0yeEHcgCDJTKdRG4Z0EMxH/eZiDJ5lCYj3j2JcgEp1RA/RSMcNkXpIEe6+CczmhE+h1xwa+51YZWaU6Uw==} @@ -4817,159 +3576,27 @@ packages: '@nodelib/fs.scandir': 2.1.5 fastq: 1.13.0 - /@npmcli/fs/1.1.1: - resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} - dependencies: - '@gar/promisify': 1.1.3 - semver: 7.3.8 - dev: true - - /@npmcli/move-file/1.1.2: - resolution: {integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==} - engines: {node: '>=10'} - dependencies: - mkdirp: 1.0.4 - rimraf: 3.0.2 - dev: true - - /@oclif/command/1.8.0: - resolution: {integrity: sha512-5vwpq6kbvwkQwKqAoOU3L72GZ3Ta8RRrewKj9OJRolx28KLJJ8Dg9Rf7obRwt5jQA9bkYd8gqzMTrI7H3xLfaw==} - engines: {node: '>=8.0.0'} - dependencies: - '@oclif/config': 1.17.0 - '@oclif/errors': 1.3.5 - '@oclif/parser': 3.8.7 - '@oclif/plugin-help': 3.2.1 - debug: 4.3.4 - semver: 7.3.8 - transitivePeerDependencies: - - supports-color - dev: true - - /@oclif/config/1.17.0: - resolution: {integrity: sha512-Lmfuf6ubjQ4ifC/9bz1fSCHc6F6E653oyaRXxg+lgT4+bYf9bk+nqrUpAbrXyABkCqgIBiFr3J4zR/kiFdE1PA==} - engines: {node: '>=8.0.0'} - dependencies: - '@oclif/errors': 1.3.5 - '@oclif/parser': 3.8.7 - debug: 4.3.4 - globby: 11.1.0 - is-wsl: 2.2.0 - tslib: 2.4.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@oclif/errors/1.3.4: - resolution: {integrity: sha512-pJKXyEqwdfRTUdM8n5FIHiQQHg5ETM0Wlso8bF9GodczO40mF5Z3HufnYWJE7z8sGKxOeJCdbAVZbS8Y+d5GCw==} - engines: {node: '>=8.0.0'} - dependencies: - clean-stack: 3.0.1 - fs-extra: 8.1.0 - indent-string: 4.0.0 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - dev: true - - /@oclif/errors/1.3.5: - resolution: {integrity: sha512-OivucXPH/eLLlOT7FkCMoZXiaVYf8I/w1eTAM1+gKzfhALwWTusxEx7wBmW0uzvkSg/9ovWLycPaBgJbM3LOCQ==} - engines: {node: '>=8.0.0'} - dependencies: - clean-stack: 3.0.1 - fs-extra: 8.1.0 - indent-string: 4.0.0 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - dev: true - - /@oclif/linewrap/1.0.0: - resolution: {integrity: sha512-Ups2dShK52xXa8w6iBWLgcjPJWjais6KPJQq3gQ/88AY6BXoTX+MIGFPrWQO1KLMiQfoTpcLnUwloN4brrVUHw==} - dev: true - - /@oclif/parser/3.8.7: - resolution: {integrity: sha512-b11xBmIUK+LuuwVGJpFs4LwQN2xj2cBWj2c4z1FtiXGrJ85h9xV6q+k136Hw0tGg1jQoRXuvuBnqQ7es7vO9/Q==} - engines: {node: '>=8.0.0'} - dependencies: - '@oclif/errors': 1.3.5 - '@oclif/linewrap': 1.0.0 - chalk: 4.1.2 - tslib: 2.4.1 - dev: true - - /@oclif/plugin-help/3.2.1: - resolution: {integrity: sha512-vq7rn16TrQmjX3Al/k1Z5iBZWZ3HE8fDXs52OmDJmmTqryPSNvURH9WCAsqr0PODYCSR17Hy1VTzS0x7vVVLEQ==} - engines: {node: '>=8.0.0'} - dependencies: - '@oclif/command': 1.8.0 - '@oclif/config': 1.17.0 - '@oclif/errors': 1.3.5 - chalk: 2.4.2 - indent-string: 4.0.0 - lodash.template: 4.5.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - widest-line: 3.1.0 - wrap-ansi: 4.0.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@oclif/screen/1.0.4: - resolution: {integrity: sha512-60CHpq+eqnTxLZQ4PGHYNwUX572hgpMHGPtTWMjdTMsAvlm69lZV/4ly6O3sAYkomo4NggGcomrDpBe34rxUqw==} - engines: {node: '>=8.0.0'} - dev: true - - /@open-draft/until/1.0.3: - resolution: {integrity: sha512-Aq58f5HiWdyDlFffbbSjAlv596h/cOnt2DO1w3DOC7OJ5EHs0hd/nycJfiu9RJbT6Yk6F1knnRRXNSpxoIVZ9Q==} - dev: true - - /@panva/hkdf/1.0.2: - resolution: {integrity: sha512-MSAs9t3Go7GUkMhpKC44T58DJ5KGk2vBo+h1cqQeqlMfdGkxaVB78ZWpv9gYi/g2fa4sopag9gJsNvS8XGgWJA==} - - /@peculiar/asn1-schema/2.3.0: - resolution: {integrity: sha512-DtNLAG4vmDrdSJFPe7rypkcj597chNQL7u+2dBtYo5mh7VW2+im6ke+O0NVr8W1f4re4C3F71LhoMb0Yxqa48Q==} - dependencies: - asn1js: 3.0.5 - pvtsutils: 1.3.2 - tslib: 2.4.1 - dev: true - - /@peculiar/asn1-schema/2.3.3: - resolution: {integrity: sha512-6GptMYDMyWBHTUKndHaDsRZUO/XMSgIns2krxcm2L7SEExRHwawFvSwNBhqNPR9HJwv3MruAiF1bhN0we6j6GQ==} + /@npmcli/fs/1.1.1: + resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} dependencies: - asn1js: 3.0.5 - pvtsutils: 1.3.2 - tslib: 2.4.1 + '@gar/promisify': 1.1.3 + semver: 7.3.8 dev: true - /@peculiar/json-schema/1.1.12: - resolution: {integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==} - engines: {node: '>=8.0.0'} + /@npmcli/move-file/1.1.2: + resolution: {integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==} + engines: {node: '>=10'} dependencies: - tslib: 2.4.1 + mkdirp: 1.0.4 + rimraf: 3.0.2 dev: true - /@peculiar/webcrypto/1.4.0: - resolution: {integrity: sha512-U58N44b2m3OuTgpmKgf0LPDOmP3bhwNz01vAnj1mBwxBASRhptWYK+M3zG+HBkDqGQM+bFsoIihTW8MdmPXEqg==} - engines: {node: '>=10.12.0'} - dependencies: - '@peculiar/asn1-schema': 2.3.0 - '@peculiar/json-schema': 1.1.12 - pvtsutils: 1.3.2 - tslib: 2.4.1 - webcrypto-core: 1.7.5 + /@open-draft/until/1.0.3: + resolution: {integrity: sha512-Aq58f5HiWdyDlFffbbSjAlv596h/cOnt2DO1w3DOC7OJ5EHs0hd/nycJfiu9RJbT6Yk6F1knnRRXNSpxoIVZ9Q==} dev: true - /@peculiar/webcrypto/1.4.1: - resolution: {integrity: sha512-eK4C6WTNYxoI7JOabMoZICiyqRRtJB220bh0Mbj5RwRycleZf9BPyZoxsTvpP0FpmVS2aS13NKOuh5/tN3sIRw==} - engines: {node: '>=10.12.0'} - dependencies: - '@peculiar/asn1-schema': 2.3.3 - '@peculiar/json-schema': 1.1.12 - pvtsutils: 1.3.2 - tslib: 2.4.1 - webcrypto-core: 1.7.5 - dev: true + /@panva/hkdf/1.0.2: + resolution: {integrity: sha512-MSAs9t3Go7GUkMhpKC44T58DJ5KGk2vBo+h1cqQeqlMfdGkxaVB78ZWpv9gYi/g2fa4sopag9gJsNvS8XGgWJA==} /@pkgr/utils/2.3.1: resolution: {integrity: sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==} @@ -5080,10 +3707,6 @@ packages: - supports-color dev: true - /@repeaterjs/repeater/3.0.4: - resolution: {integrity: sha512-AW8PKd6iX3vAZ0vA43nOUOnbq/X5ihgU+mSXXqunMkeQADGiqw/PY0JNeYtD5sr0PAy51YPgAPbDoeapv9r8WA==} - dev: true - /@rushstack/eslint-patch/1.2.0: resolution: {integrity: sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==} dev: false @@ -5133,22 +3756,6 @@ packages: engines: {node: '>=10'} dev: false - /@sindresorhus/slugify/1.1.2: - resolution: {integrity: sha512-V9nR/W0Xd9TSGXpZ4iFUcFGhuOJtZX82Fzxj1YISlbSgKvIiNa7eLEZrT0vAraPOt++KHauIVNYgGRgjc13dXA==} - engines: {node: '>=10'} - dependencies: - '@sindresorhus/transliterate': 0.1.2 - escape-string-regexp: 4.0.0 - dev: true - - /@sindresorhus/transliterate/0.1.2: - resolution: {integrity: sha512-5/kmIOY9FF32nicXH+5yLNTX4NJ4atl7jRgqAJuIn/iyDFXBktOKDxCvyGE/EzmF4ngSUvjXxQUQlQiZ5lfw+w==} - engines: {node: '>=10'} - dependencies: - escape-string-regexp: 2.0.0 - lodash.deburr: 4.1.0 - dev: true - /@sinonjs/commons/1.8.5: resolution: {integrity: sha512-rTpCA0wG1wUxglBSFdMMY0oTrKYvgf4fNgv/sXbfCVAdf+FnPBdKJR/7XbpTCwbCrvCbdPYnlWaUUYz4V2fPDA==} dependencies: @@ -6848,12 +5455,12 @@ packages: tailwindcss: 3.2.4_postcss@8.4.19 dev: false - /@tanstack/query-core/4.15.1: - resolution: {integrity: sha512-+UfqJsNbPIVo0a9ANW0ZxtjiMfGLaaoIaL9vZeVycvmBuWywJGtSi7fgPVMCPdZQFOzMsaXaOsDtSKQD5xLRVQ==} + /@tanstack/query-core/4.18.0: + resolution: {integrity: sha512-PP4mG8MD08sq64RZCqMfXMYfaj7+Oulwg7xZ/fJoEOdTZNcPIgaOkHajZvUBsNLbi/0ViMvJB4cFkL2Jg2WPbw==} dev: false - /@tanstack/react-query/4.17.1_biqbaboplfbrettd7655fr4n2y: - resolution: {integrity: sha512-0AAC1DerbNmmmR4EB6fkILhgTVao7nRPp8jDNHUq1m6AHaDdNV9VKy+h9fsTnBbiHBbcr3erfF//KEO3y3HojA==} + /@tanstack/react-query/4.18.0_biqbaboplfbrettd7655fr4n2y: + resolution: {integrity: sha512-s1kdbGMdVcfUIllzsHUqVUdktBT5uuIRgnvrqFNLjl9TSOXEoBSDrhjsGjao0INQZv8cMpQlgOh3YH9YtN6cKw==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 @@ -6864,7 +5471,7 @@ packages: react-native: optional: true dependencies: - '@tanstack/query-core': 4.15.1 + '@tanstack/query-core': 4.18.0 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 use-sync-external-store: 1.2.0_react@18.2.0 @@ -7336,66 +5943,70 @@ packages: engines: {node: '>= 10'} dev: true - /@trpc/client/10.2.0_@trpc+server@10.2.0: - resolution: {integrity: sha512-Mehf6euqMzAak+Umay1LKol9nC716yBjHNqrF6blWY/n2hwSICrLXQwveNaHK7qjKXJ86b4aDW39KR02WCQP4A==} + /@trpc/client/10.3.0_@trpc+server@10.3.0: + resolution: {integrity: sha512-plZ/uNGVZ0tsMwJKjVLUzT7B1kGxa+TpLxZ9i9OfxKUpPnMtz0MSg8Qx2oHqTqbGgcmmekyusmTfLyNzym2ZlA==} peerDependencies: - '@trpc/server': 10.2.0 + '@trpc/server': 10.3.0 dependencies: - '@trpc/server': 10.2.0 + '@trpc/server': 10.3.0 dev: false - /@trpc/next/10.2.0_dfo4zyd5puickhsctwfhhecacy: - resolution: {integrity: sha512-1zbZb9Xd6nYVZfgb6zNA6fLzZ5CWZjd7KYSUIWY0Bh7cVjDAmAtIj2wC3wcXWI7UsKntLIpvUB4XMEsFK/RxiQ==} + /@trpc/next/10.3.0_vi2iz35cofb5u3hzttlzs2jwlq: + resolution: {integrity: sha512-d8+c5SsAnE0v6ZSTYZwp+OomTI8MkJUf4yoH8WvOwM6HWR1z00ua8Jdp7jfu+RkJJIcDGi+NgDDOjaLvB5RR2w==} peerDependencies: '@tanstack/react-query': ^4.3.8 - '@trpc/client': 10.2.0 + '@trpc/client': 10.3.0 '@trpc/react-query': ^10.0.0-proxy-beta.21 - '@trpc/server': 10.2.0 + '@trpc/server': 10.3.0 next: '*' react: '>=16.8.0 || 18' react-dom: '>=16.8.0 || 18' dependencies: - '@tanstack/react-query': 4.17.1_biqbaboplfbrettd7655fr4n2y - '@trpc/client': 10.2.0_@trpc+server@10.2.0 - '@trpc/react-query': 10.2.0_xdgyyx5u2iaaonjivvzelfawba - '@trpc/server': 10.2.0 + '@tanstack/react-query': 4.18.0_biqbaboplfbrettd7655fr4n2y + '@trpc/client': 10.3.0_@trpc+server@10.3.0 + '@trpc/react-query': 10.3.0_bhwn3e6ab7ypvnnsonc4sfinhq + '@trpc/server': 10.3.0 next: 13.0.5_biqbaboplfbrettd7655fr4n2y react: 18.2.0 react-dom: 18.2.0_react@18.2.0 react-ssr-prepass: 1.5.0_react@18.2.0 dev: false - /@trpc/react-query/10.2.0_xdgyyx5u2iaaonjivvzelfawba: - resolution: {integrity: sha512-OH1T1VztPp9qG66cvxPd/Sr9pPsDn+nFmgWtpJmoiTgZJ2DnUPsdi9DVkXdaE9M2OwdoXhFqwboclPzaUAD22g==} + /@trpc/react-query/10.3.0_bhwn3e6ab7ypvnnsonc4sfinhq: + resolution: {integrity: sha512-qxVcGAf5A9i9yaYJmVhgbOysfcHvZj7rnOSiKPNWSEd3k5UHHizTrEcY++lhEzpdTxDLzEr/mV1oisByv0ymXQ==} peerDependencies: '@tanstack/react-query': ^4.3.8 - '@trpc/client': 10.2.0 - '@trpc/server': 10.2.0 + '@trpc/client': 10.3.0 + '@trpc/server': 10.3.0 react: '>=16.8.0 || 18' react-dom: '>=16.8.0 || 18' dependencies: - '@tanstack/react-query': 4.17.1_biqbaboplfbrettd7655fr4n2y - '@trpc/client': 10.2.0_@trpc+server@10.2.0 - '@trpc/server': 10.2.0 + '@tanstack/react-query': 4.18.0_biqbaboplfbrettd7655fr4n2y + '@trpc/client': 10.3.0_@trpc+server@10.3.0 + '@trpc/server': 10.3.0 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 dev: false - /@trpc/server/10.2.0: - resolution: {integrity: sha512-WGOA2bk6JOnOywUu1gkAgwqnxZ5g+vNkL9EpCGLgKYwwMcjAwgNRgYzLPsDsR1XL48wmdYOzfWzJ0G575+g/jA==} + /@trpc/server/10.3.0: + resolution: {integrity: sha512-PdSSmO9vBeWKdVhr3WHUPAPscOLLY+M6G7CL1AqjNL1grTOiB0bN1bvb4/D9qAdgwWB8qZOLb7WeuAudyD4FpQ==} dev: false /@tsconfig/node10/1.0.9: resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + dev: false /@tsconfig/node12/1.0.11: resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + dev: false /@tsconfig/node14/1.0.3: resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + dev: false /@tsconfig/node16/1.0.3: resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} + dev: false /@types/aria-query/4.2.2: resolution: {integrity: sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig==} @@ -7485,6 +6096,7 @@ packages: resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} dependencies: '@types/node': 18.11.9 + dev: false /@types/github-slugger/1.3.0: resolution: {integrity: sha512-J/rMZa7RqiH/rT29TEVZO4nBoDP9XJOjnbbIofg7GQKs4JIduEO3WLpte+6WeUz/TcrXKlY+bM7FYrp8yFB+3g==} @@ -7526,12 +6138,6 @@ packages: resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==} dev: false - /@types/http-proxy/1.17.9: - resolution: {integrity: sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==} - dependencies: - '@types/node': 18.11.9 - dev: true - /@types/is-ci/3.0.0: resolution: {integrity: sha512-Q0Op0hdWbYd1iahB+IFNQcWXFq4O0Q5MwQP7uN0souuQ4rPg1vEYcnIOfr1gY+M+6rc8FGoRaBO1mOOvL29sEQ==} dependencies: @@ -7569,14 +6175,6 @@ packages: resolution: {integrity: sha512-qC4bCqYGy1y/NP7dDVr7KJarn+PbX1nSpwA7JXdu0HxT3QYjO8MJ+cntENtHFVy2dRAyBV23OZ6MxsW1AM1L8g==} dev: true - /@types/js-yaml/3.12.7: - resolution: {integrity: sha512-S6+8JAYTE1qdsc9HMVsfY7+SgSuUU/Tp6TYTmITW0PZxiyIMvol3Gy//y69Wkhs0ti4py5qgR3uZH6uz/DNzJQ==} - dev: true - - /@types/js-yaml/4.0.5: - resolution: {integrity: sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==} - dev: true - /@types/jsdom/20.0.1: resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==} dependencies: @@ -7592,14 +6190,6 @@ packages: /@types/json-schema/7.0.11: resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} - /@types/json-schema/7.0.9: - resolution: {integrity: sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==} - dev: true - - /@types/json-stable-stringify/1.0.34: - resolution: {integrity: sha512-s2cfwagOQAS8o06TcwKfr9Wx11dNGbH2E9vJz1cqV+a/LOyhWNLUNd6JSRYNzvB4d29UuJX2M0Dj9vE1T8fRXw==} - dev: true - /@types/json5/0.0.29: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: false @@ -7659,10 +6249,6 @@ packages: /@types/node/18.11.9: resolution: {integrity: sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==} - /@types/node/18.7.16: - resolution: {integrity: sha512-EQHhixfu+mkqHMZl1R2Ovuvn47PUw18azMJOTwSZr9/fhzHNGXAJ0ma0dayRVchprpCj0Kc1K1xKoWaATWF1qg==} - dev: true - /@types/normalize-package-data/2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} @@ -7696,10 +6282,6 @@ packages: resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} dev: true - /@types/ps-tree/1.1.2: - resolution: {integrity: sha512-ZREFYlpUmPQJ0esjxoG1fMvB2HNaD3z+mjqdSosZvd3RalncI9NEur73P8ZJz4YQdL64CmV1w0RuqoRUlhQRBw==} - dev: true - /@types/qs/6.9.7: resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} dev: true @@ -7834,6 +6416,7 @@ packages: /@types/which/2.0.1: resolution: {integrity: sha512-Jjakcv8Roqtio6w1gr0D7y6twbhx6gGgFGF5BLwajPpnOIOxFkakFhCq+LmyyeAz7BX6ULrjBOxdKaCDy+4+dQ==} + dev: false /@types/ws/8.5.3: resolution: {integrity: sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==} @@ -8071,87 +6654,6 @@ packages: eslint-visitor-keys: 3.3.0 dev: false - /@urql/core/3.0.3_graphql@16.6.0: - resolution: {integrity: sha512-raQP51ERNtg5BvlN8x8mHVRvk4K0ugWQ69n53BdkjKpXVV5kuWp7trnwriGv1fQKa8HuiGNSCfyslUucc0OVQg==} - peerDependencies: - graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || 16 - dependencies: - '@graphql-typed-document-node/core': 3.1.1_graphql@16.6.0 - graphql: 16.6.0 - wonka: 6.0.0 - - /@urql/core/3.0.5_graphql@16.6.0: - resolution: {integrity: sha512-6/1HG+WEAcPs+hXSFnxWBTWkNUwa8dj2cHysWokMaFIbAioGtUaSdxp2q9FDMtWAIGdc640NFSt2B8itGLdoAA==} - peerDependencies: - graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || 16 - dependencies: - '@graphql-typed-document-node/core': 3.1.1_graphql@16.6.0 - graphql: 16.6.0 - wonka: 6.1.1 - dev: false - - /@urql/devtools/2.0.3_graphql@16.6.0: - resolution: {integrity: sha512-TktPLiBS9LcBPHD6qcnb8wqOVcg3Bx0iCtvQ80uPpfofwwBGJmqnQTjUdEFU6kwaLOFZULQ9+Uo4831G823mQw==} - peerDependencies: - '@urql/core': '>= 1.14.0' - graphql: '>= 0.11.0 || 16' - peerDependenciesMeta: - '@urql/core': - optional: true - dependencies: - graphql: 16.6.0 - wonka: 6.1.1 - dev: false - - /@urql/devtools/2.0.3_piontxvufcgqglruagbmoe2tyi: - resolution: {integrity: sha512-TktPLiBS9LcBPHD6qcnb8wqOVcg3Bx0iCtvQ80uPpfofwwBGJmqnQTjUdEFU6kwaLOFZULQ9+Uo4831G823mQw==} - peerDependencies: - '@urql/core': '>= 1.14.0' - graphql: '>= 0.11.0 || 16' - peerDependenciesMeta: - '@urql/core': - optional: true - dependencies: - '@urql/core': 3.0.3_graphql@16.6.0 - graphql: 16.6.0 - wonka: 6.1.1 - dev: true - optional: true - - /@urql/exchange-graphcache/5.0.5_graphql@16.6.0: - resolution: {integrity: sha512-h/42lj/fFPGw+Z/CVs/piDzYUCm1moPTdBpRsRqOsRmmMTHlkl0RQi0qQ+jMmzc1ZkH8Mab1ypj/iv9QLRIgbQ==} - peerDependencies: - graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || 16 - dependencies: - '@urql/core': 3.0.5_graphql@16.6.0 - graphql: 16.6.0 - wonka: 6.1.1 - dev: false - - /@urql/exchange-refocus/1.0.0_graphql@16.6.0: - resolution: {integrity: sha512-m2ZrY1ekn9IS+7hhvbVUFSG0Bb9b6s2uJvxx0uFrxscZ3r+Wc5M7wzzxdaImqXca4siSOPxjwME/NCy4/r/zuw==} - peerDependencies: - graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || 16 - dependencies: - '@urql/core': 3.0.3_graphql@16.6.0 - graphql: 16.6.0 - wonka: 6.1.1 - dev: false - - /@urql/storybook-addon/2.0.1_gdcq4dv6opitr3wbfwyjmanyra: - resolution: {integrity: sha512-xREwiqOJ7h48a2rI7lBXRRkecNMFN3MembiXfrdL7c3NVqgM4CYbJN5zg/Za9Nt4vAxUwNrFNu0AYw7cC1mYlA==} - dependencies: - '@urql/core': 3.0.3_graphql@16.6.0 - wonka: 6.1.1 - optionalDependencies: - '@storybook/addons': 6.5.13_biqbaboplfbrettd7655fr4n2y - '@urql/devtools': 2.0.3_piontxvufcgqglruagbmoe2tyi - transitivePeerDependencies: - - graphql - - react - - react-dom - dev: true - /@webassemblyjs/ast/1.11.1: resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==} dependencies: @@ -8374,52 +6876,6 @@ packages: resolution: {integrity: sha512-MFb5oyxX+A7PWQNjcY3kSCSG2FAHaBo7IJBWtxWFgsS20FtY3D9UY7lYqLZ6avS8fSkdSylIS4qiHzFlQUdXag==} dev: false - /@whatwg-node/fetch/0.3.2: - resolution: {integrity: sha512-Bs5zAWQs0tXsLa4mRmLw7Psps1EN78vPtgcLpw3qPY8s6UYPUM67zFZ9cy+7tZ64PXhfwzxJn+m7RH2Lq48RNQ==} - dependencies: - '@peculiar/webcrypto': 1.4.1 - abort-controller: 3.0.0 - busboy: 1.6.0 - event-target-polyfill: 0.0.3 - form-data-encoder: 1.7.2 - formdata-node: 4.4.1 - node-fetch: 2.6.7 - undici: 5.12.0 - web-streams-polyfill: 3.2.1 - transitivePeerDependencies: - - encoding - dev: true - - /@whatwg-node/fetch/0.5.1: - resolution: {integrity: sha512-RBZS60EU6CbRJ370BVVKW4F9csZuGh0OQNrUDhJ0IaIFLsXsJorFCM2iwaDWZTAPMqxW1TmuVcVKJ3d/H1dV1g==} - dependencies: - '@peculiar/webcrypto': 1.4.0 - abort-controller: 3.0.0 - busboy: 1.6.0 - form-data-encoder: 1.7.2 - formdata-node: 4.3.3 - node-fetch: 2.6.7 - undici: 5.12.0 - web-streams-polyfill: 3.2.1 - transitivePeerDependencies: - - encoding - dev: true - - /@whatwg-node/fetch/0.5.3: - resolution: {integrity: sha512-cuAKL3Z7lrJJuUrfF1wxkQTb24Qd1QO/lsjJpM5ZSZZzUMms5TPnbGeGUKWA3hVKNHh30lVfr2MyRCT5Jfkucw==} - dependencies: - '@peculiar/webcrypto': 1.4.1 - abort-controller: 3.0.0 - busboy: 1.6.0 - form-data-encoder: 1.7.2 - formdata-node: 4.4.1 - node-fetch: 2.6.7 - undici: 5.12.0 - web-streams-polyfill: 3.2.1 - transitivePeerDependencies: - - encoding - dev: true - /@xmldom/xmldom/0.8.3: resolution: {integrity: sha512-Lv2vySXypg4nfa51LY1nU8yDAGo/5YwF+EY/rUZgIbfvwVARcd67ttCM8SMsTeJy51YhHYavEq+FS6R0hW9PFQ==} engines: {node: '>=10.0.0'} @@ -8445,13 +6901,6 @@ packages: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: false - /abort-controller/3.0.0: - resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} - engines: {node: '>=6.5'} - dependencies: - event-target-shim: 5.0.1 - dev: true - /accepts/1.3.8: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} @@ -8518,6 +6967,7 @@ packages: resolution: {integrity: sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==} engines: {node: '>=0.4.0'} hasBin: true + dev: false /acorn/8.8.1: resolution: {integrity: sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==} @@ -8614,6 +7064,7 @@ packages: /ansi-escapes/3.2.0: resolution: {integrity: sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==} engines: {node: '>=4'} + dev: false /ansi-escapes/4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} @@ -8634,10 +7085,12 @@ packages: /ansi-regex/3.0.1: resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==} engines: {node: '>=4'} + dev: false /ansi-regex/4.1.1: resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} engines: {node: '>=6'} + dev: false /ansi-regex/5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} @@ -8682,10 +7135,6 @@ packages: entities: 2.2.0 dev: true - /ansicolors/0.3.2: - resolution: {integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==} - dev: true - /any-observable/0.3.0_rxjs@6.6.7: resolution: {integrity: sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==} engines: {node: '>=6'} @@ -8758,6 +7207,7 @@ packages: /arg/4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + dev: false /arg/5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} @@ -8927,10 +7377,6 @@ packages: engines: {node: '>=8'} dev: true - /asap/2.0.6: - resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} - dev: true - /asn1.js/5.4.1: resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} dependencies: @@ -8945,15 +7391,6 @@ packages: safer-buffer: 2.1.2 dev: false - /asn1js/3.0.5: - resolution: {integrity: sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==} - engines: {node: '>=12.0.0'} - dependencies: - pvtsutils: 1.3.2 - pvutils: 1.1.3 - tslib: 2.4.1 - dev: true - /assert-plus/1.0.0: resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} engines: {node: '>=0.8'} @@ -9001,10 +7438,6 @@ packages: engines: {node: '>=0.12.0'} dev: false - /async-limiter/1.0.1: - resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} - dev: true - /async/2.6.4: resolution: {integrity: sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==} dependencies: @@ -9028,11 +7461,6 @@ packages: hasBin: true dev: true - /auto-bind/4.0.0: - resolution: {integrity: sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==} - engines: {node: '>=8'} - dev: true - /autoprefixer/10.4.13_postcss@8.4.19: resolution: {integrity: sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==} engines: {node: ^10 || ^12 || >=14} @@ -9263,10 +7691,6 @@ packages: - supports-color dev: true - /babel-plugin-syntax-trailing-function-commas/7.0.0-beta.0: - resolution: {integrity: sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==} - dev: true - /babel-preset-current-node-syntax/1.0.1_@babel+core@7.20.2: resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: @@ -9287,43 +7711,6 @@ packages: '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.20.2 dev: true - /babel-preset-fbjs/3.4.0_@babel+core@7.20.2: - resolution: {integrity: sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.20.2 - '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.20.2 - '@babel/plugin-proposal-object-rest-spread': 7.19.4_@babel+core@7.20.2 - '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.20.2 - '@babel/plugin-syntax-flow': 7.18.6_@babel+core@7.20.2 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.2 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.20.2 - '@babel/plugin-transform-arrow-functions': 7.18.6_@babel+core@7.20.2 - '@babel/plugin-transform-block-scoped-functions': 7.18.6_@babel+core@7.20.2 - '@babel/plugin-transform-block-scoping': 7.19.4_@babel+core@7.20.2 - '@babel/plugin-transform-classes': 7.19.0_@babel+core@7.20.2 - '@babel/plugin-transform-computed-properties': 7.18.9_@babel+core@7.20.2 - '@babel/plugin-transform-destructuring': 7.19.4_@babel+core@7.20.2 - '@babel/plugin-transform-flow-strip-types': 7.19.0_@babel+core@7.20.2 - '@babel/plugin-transform-for-of': 7.18.8_@babel+core@7.20.2 - '@babel/plugin-transform-function-name': 7.18.9_@babel+core@7.20.2 - '@babel/plugin-transform-literals': 7.18.9_@babel+core@7.20.2 - '@babel/plugin-transform-member-expression-literals': 7.18.6_@babel+core@7.20.2 - '@babel/plugin-transform-modules-commonjs': 7.19.6_@babel+core@7.20.2 - '@babel/plugin-transform-object-super': 7.18.6_@babel+core@7.20.2 - '@babel/plugin-transform-parameters': 7.18.8_@babel+core@7.20.2 - '@babel/plugin-transform-property-literals': 7.18.6_@babel+core@7.20.2 - '@babel/plugin-transform-react-display-name': 7.18.6_@babel+core@7.20.2 - '@babel/plugin-transform-react-jsx': 7.19.0_@babel+core@7.20.2 - '@babel/plugin-transform-shorthand-properties': 7.18.6_@babel+core@7.20.2 - '@babel/plugin-transform-spread': 7.19.0_@babel+core@7.20.2 - '@babel/plugin-transform-template-literals': 7.18.9_@babel+core@7.20.2 - babel-plugin-syntax-trailing-function-commas: 7.0.0-beta.0 - transitivePeerDependencies: - - supports-color - dev: true - /babel-preset-jest/29.2.0_@babel+core@7.20.2: resolution: {integrity: sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -9335,10 +7722,6 @@ packages: babel-preset-current-node-syntax: 1.0.1_@babel+core@7.20.2 dev: true - /backo2/1.0.2: - resolution: {integrity: sha512-zj6Z6M7Eq+PBZ7PQxl5NT665MvJdAkzp0f60nAJ+sLaSCBPMwVak5ZegFbgVCzFcCJTKFoMizvM5Ld7+JrRJHA==} - dev: true - /bail/1.0.5: resolution: {integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==} @@ -9448,24 +7831,6 @@ packages: resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} dev: true - /body-parser/1.18.2: - resolution: {integrity: sha512-XIXhPptoLGNcvFyyOzjNXCjDYIbYj4iuXO0VU9lM0f3kYdG0ar5yg7C+pIc3OyoTlZXDu5ObpLTmS2Cgp89oDg==} - engines: {node: '>= 0.8'} - dependencies: - bytes: 3.0.0 - content-type: 1.0.4 - debug: 2.6.9 - depd: 1.1.2 - http-errors: 1.6.3 - iconv-lite: 0.4.19 - on-finished: 2.3.0 - qs: 6.5.1 - raw-body: 2.3.2 - type-is: 1.6.18 - transitivePeerDependencies: - - supports-color - dev: true - /body-parser/1.20.1: resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -9722,6 +8087,7 @@ packages: /buffer-equal-constant-time/1.0.1: resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} + dev: false /buffer-equal/0.0.1: resolution: {integrity: sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==} @@ -9762,13 +8128,6 @@ packages: resolution: {integrity: sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==} dev: false - /busboy/1.6.0: - resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} - engines: {node: '>=10.16.0'} - dependencies: - streamsearch: 1.1.0 - dev: true - /bytes/3.0.0: resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} engines: {node: '>= 0.8'} @@ -9970,14 +8329,6 @@ packages: resolution: {integrity: sha512-ej+w/m8Jzpv9Z7W7uJZer14Ke8P2ogsjg4ZMGIuq4iqUOqY2Jq8BNW42iGmNfRwREaaEfFIczLuZZiEVSYNHAA==} dev: false - /capital-case/1.0.4: - resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} - dependencies: - no-case: 3.0.4 - tslib: 2.4.1 - upper-case-first: 2.0.2 - dev: true - /capture-exit/2.0.0: resolution: {integrity: sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==} engines: {node: 6.* || 8.* || >= 10.*} @@ -9985,14 +8336,6 @@ packages: rsvp: 4.8.5 dev: true - /cardinal/2.1.1: - resolution: {integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==} - hasBin: true - dependencies: - ansicolors: 0.3.2 - redeyed: 2.1.1 - dev: true - /case-sensitive-paths-webpack-plugin/2.4.0: resolution: {integrity: sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==} engines: {node: '>=4'} @@ -10050,43 +8393,6 @@ packages: ansi-styles: 4.3.0 supports-color: 7.2.0 - /chalk/5.0.1: - resolution: {integrity: sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - dev: true - - /change-case-all/1.0.14: - resolution: {integrity: sha512-CWVm2uT7dmSHdO/z1CXT/n47mWonyypzBbuCy5tN7uMg22BsfkhwT6oHmFCAk+gL1LOOxhdbB9SZz3J1KTY3gA==} - dependencies: - change-case: 4.1.2 - is-lower-case: 2.0.2 - is-upper-case: 2.0.2 - lower-case: 2.0.2 - lower-case-first: 2.0.2 - sponge-case: 1.0.1 - swap-case: 2.0.2 - title-case: 3.0.3 - upper-case: 2.0.2 - upper-case-first: 2.0.2 - dev: true - - /change-case/4.1.2: - resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} - dependencies: - camel-case: 4.1.2 - capital-case: 1.0.4 - constant-case: 3.0.4 - dot-case: 3.0.4 - header-case: 2.0.4 - no-case: 3.0.4 - param-case: 3.0.4 - pascal-case: 3.1.2 - path-case: 3.0.4 - sentence-case: 3.0.4 - snake-case: 3.0.4 - tslib: 2.4.1 - dev: true - /char-regex/1.0.2: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} @@ -10189,10 +8495,6 @@ packages: engines: {node: '>=10'} dev: true - /chroma-js/2.4.2: - resolution: {integrity: sha512-U9eDw6+wt7V8z5NncY2jJfZa+hUH8XEj8FQHgFJTrUFnJfXYf4Ml4adI2vXZOjqRDpFWtYVWypDfZwnJ+HIR4A==} - dev: true - /chromatic/6.11.4: resolution: {integrity: sha512-f1TcuIXKjGUuOjPuwFF44kzbuEcESFcDxHzrzWPLmHuC90dV8HLxbufqYaTOBYMO/rJ32Zftb7S9pXuF/Rhfog==} hasBin: true @@ -10287,13 +8589,6 @@ packages: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} engines: {node: '>=6'} - /clean-stack/3.0.1: - resolution: {integrity: sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==} - engines: {node: '>=10'} - dependencies: - escape-string-regexp: 4.0.0 - dev: true - /cli-boxes/2.2.1: resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} engines: {node: '>=6'} @@ -10346,34 +8641,6 @@ packages: string-width: 5.1.2 dev: true - /cli-ux/4.9.3: - resolution: {integrity: sha512-/1owvF0SZ5Gn54cgrikJ0QskgTzeg30HGjkmjFoaHDJzAqFpuX1DBpFR8aLvsE1J5s9MgeYRENQK4BFwOag5VA==} - engines: {node: '>=8.0.0'} - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - dependencies: - '@oclif/errors': 1.3.5 - '@oclif/linewrap': 1.0.0 - '@oclif/screen': 1.0.4 - ansi-escapes: 3.2.0 - ansi-styles: 3.2.1 - cardinal: 2.1.1 - chalk: 2.4.2 - clean-stack: 2.2.0 - extract-stack: 1.0.0 - fs-extra: 7.0.1 - hyperlinker: 1.0.0 - indent-string: 3.2.0 - is-wsl: 1.1.0 - lodash: 4.17.21 - password-prompt: 1.1.2 - semver: 5.7.1 - strip-ansi: 5.2.0 - supports-color: 5.5.0 - supports-hyperlinks: 1.0.1 - treeify: 1.1.0 - tslib: 1.14.1 - dev: true - /cli-width/2.2.1: resolution: {integrity: sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==} dev: false @@ -10561,6 +8828,7 @@ packages: /common-tags/1.8.2: resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} engines: {node: '>=4.0.0'} + dev: false /commondir/1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} @@ -10685,23 +8953,10 @@ packages: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} dev: true - /constant-case/3.0.4: - resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} - dependencies: - no-case: 3.0.4 - tslib: 2.4.1 - upper-case: 2.0.2 - dev: true - /constants-browserify/1.0.0: resolution: {integrity: sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==} dev: true - /content-disposition/0.5.2: - resolution: {integrity: sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==} - engines: {node: '>= 0.6'} - dev: true - /content-disposition/0.5.4: resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} engines: {node: '>= 0.6'} @@ -10725,11 +8980,6 @@ packages: resolution: {integrity: sha1-4wOogrNCzD7oylE6eZmXNNqzriw=} dev: true - /cookie/0.3.1: - resolution: {integrity: sha512-+IJOX0OqlHCszo2mBUq+SrEbCj6w7Kpffqx60zYbPTFaO4+yYgRjHwcZNpWvaTylDHaV7PPmBHzSecZiMhtPgw==} - engines: {node: '>= 0.6'} - dev: true - /cookie/0.4.2: resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} engines: {node: '>= 0.6'} @@ -10806,47 +9056,6 @@ packages: vary: 1.1.2 dev: false - /cosmiconfig-toml-loader/1.0.0: - resolution: {integrity: sha512-H/2gurFWVi7xXvCyvsWRLCMekl4tITJcX0QEsDMpzxtuxDyM59xLatYNg4s/k9AA/HdtCYfj2su8mgA0GSDLDA==} - dependencies: - '@iarna/toml': 2.2.5 - dev: true - - /cosmiconfig-typescript-loader/4.1.1_hqkwlvhnlapr436diaz6e6f55i: - resolution: {integrity: sha512-9DHpa379Gp0o0Zefii35fcmuuin6q92FnLDffzdZ0l9tVd3nEobG3O+MZ06+kuBvFTSVScvNb/oHA13Nd4iipg==} - engines: {node: '>=12', npm: '>=6'} - peerDependencies: - '@types/node': '*' - cosmiconfig: '>=7' - ts-node: '>=10' - typescript: '>=3' - peerDependenciesMeta: - ts-node: - optional: true - dependencies: - '@types/node': 16.11.45 - cosmiconfig: 7.0.1 - ts-node: 10.9.1_pldvz6pe3aqb7j6elrti4nlcrm - typescript: 4.9.3 - dev: true - - /cosmiconfig-typescript-loader/4.1.1_vj3f3ugxect2v22njqgy3g2gxq: - resolution: {integrity: sha512-9DHpa379Gp0o0Zefii35fcmuuin6q92FnLDffzdZ0l9tVd3nEobG3O+MZ06+kuBvFTSVScvNb/oHA13Nd4iipg==} - engines: {node: '>=12', npm: '>=6'} - peerDependencies: - '@types/node': '*' - cosmiconfig: '>=7' - ts-node: '>=10' - typescript: '>=3' - peerDependenciesMeta: - ts-node: - optional: true - dependencies: - '@types/node': 16.11.45 - cosmiconfig: 7.1.0 - typescript: 4.9.3 - dev: true - /cosmiconfig/6.0.0: resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==} engines: {node: '>=8'} @@ -10936,14 +9145,7 @@ packages: /create-require/1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - - /cross-fetch/3.1.5: - resolution: {integrity: sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==} - dependencies: - node-fetch: 2.6.7 - transitivePeerDependencies: - - encoding - dev: true + dev: false /cross-spawn/5.1.0: resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} @@ -11160,12 +9362,6 @@ packages: dev: true optional: true - /cwise-compiler/1.1.3: - resolution: {integrity: sha512-WXlK/m+Di8DMMcCjcWr4i+XzcQra9eCdXIJrgh4TUgh0pIS/yJduLxS9JgefsHJ/YVLdgPtXm9r62W92MvanEQ==} - dependencies: - uniq: 1.0.1 - dev: true - /cyclist/1.0.1: resolution: {integrity: sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==} dev: true @@ -11249,11 +9445,6 @@ packages: assert-plus: 1.0.0 dev: false - /data-uri-to-buffer/4.0.0: - resolution: {integrity: sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==} - engines: {node: '>= 12'} - dev: true - /data-urls/3.0.2: resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} engines: {node: '>=12'} @@ -11267,10 +9458,6 @@ packages: resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==} dev: true - /dataloader/2.1.0: - resolution: {integrity: sha512-qTcEYLen3r7ojZNgVUaRggOI+KM7jrKxXeSHhogh/TWxYMeONEMqY+hmkobiYQozsGIyg9OYVzO4ZIfoB4I0pQ==} - dev: true - /datamaps/0.5.9: resolution: {integrity: sha512-GUXpO713URNzaExVUgBtqA5fr2UuxUG/fVitI04zEFHVL2FHSjd672alHq8E16oQqRNzF0m1bmx8WlTnDrGSqQ==} dependencies: @@ -11300,10 +9487,6 @@ packages: resolution: {integrity: sha512-rZHcgBkbYavBeD9ej6sP56XfG53d51CD4dnaw989YX/nZ/ZJfgRx/9ePKmTNiUiyQvh4mtrMoS3OAWW+yoYtpg==} dev: false - /debounce/1.2.1: - resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} - dev: true - /debug/2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: @@ -11540,24 +9723,15 @@ packages: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} dev: true - /depd/1.1.1: - resolution: {integrity: sha512-Jlk9xvkTDGXwZiIDyoM7+3AsuvJVoyOpRupvEVy9nX3YO3/ieZxhlgh8GpLNZ8AY7HjO6y2YwpMSh1ejhu3uIw==} - engines: {node: '>= 0.6'} - dev: true - /depd/1.1.2: resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} engines: {node: '>= 0.6'} + dev: false /depd/2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} - /dependency-graph/0.11.0: - resolution: {integrity: sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==} - engines: {node: '>= 0.6.0'} - dev: true - /des.js/1.0.1: resolution: {integrity: sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==} dependencies: @@ -11567,6 +9741,7 @@ packages: /destroy/1.0.4: resolution: {integrity: sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==} + dev: false /destroy/1.2.0: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} @@ -11631,6 +9806,7 @@ packages: /diff/4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} + dev: false /diffie-hellman/5.0.3: resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} @@ -11793,11 +9969,6 @@ packages: tslib: 2.4.0 dev: true - /dset/3.1.2: - resolution: {integrity: sha512-g/M9sqy3oHe477Ar4voQxWtaPIFw1jTdKZuomOjhCcBx9nHUNn0pu6NopuFFrTh/TRZIKEj+76vLWFu9BNKk+Q==} - engines: {node: '>=4'} - dev: true - /duplexer/0.1.2: resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} @@ -11853,6 +10024,7 @@ packages: resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} dependencies: safe-buffer: 5.2.1 + dev: false /editorconfig/0.15.3: resolution: {integrity: sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==} @@ -12335,12 +10507,6 @@ packages: esbuild-windows-arm64: 0.14.48 dev: true - /esbuild/0.8.57: - resolution: {integrity: sha512-j02SFrUwFTRUqiY0Kjplwjm1psuzO1d6AjaXKuOR9hrY0HuPsT6sV42B6myW34h1q4CRy+Y3g4RU/cGJeI/nNA==} - hasBin: true - requiresBuild: true - dev: true - /escalade/3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} @@ -12827,26 +10993,15 @@ packages: split: 0.3.3 stream-combiner: 0.0.4 through: 2.3.8 - - /event-target-polyfill/0.0.3: - resolution: {integrity: sha512-ZMc6UuvmbinrCk4RzGyVmRyIsAyxMRlp4CqSrcQRO8Dy0A9ldbiRy5kdtBj4OtP7EClGdqGfIqo9JmOClMsGLQ==} - dev: true - - /event-target-shim/5.0.1: - resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} - engines: {node: '>=6'} - dev: true + dev: false /eventemitter2/6.4.7: resolution: {integrity: sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==} dev: false - /eventemitter3/3.1.2: - resolution: {integrity: sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==} - dev: true - /eventemitter3/4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + dev: false /events/3.3.0: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} @@ -12958,44 +11113,6 @@ packages: jest-util: 29.3.1 dev: true - /express/4.16.3: - resolution: {integrity: sha512-CDaOBMB9knI6vx9SpIxEMOJ6VBbC2U/tYNILs0qv1YOZc15K9U2EcF06v10F0JX6IYcWnKYZJwIDJspEHLvUaQ==} - engines: {node: '>= 0.10.0'} - dependencies: - accepts: 1.3.8 - array-flatten: 1.1.1 - body-parser: 1.18.2 - content-disposition: 0.5.2 - content-type: 1.0.4 - cookie: 0.3.1 - cookie-signature: 1.0.6 - debug: 2.6.9 - depd: 1.1.2 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 1.1.1 - fresh: 0.5.2 - merge-descriptors: 1.0.1 - methods: 1.1.2 - on-finished: 2.3.0 - parseurl: 1.3.3 - path-to-regexp: 0.1.7 - proxy-addr: 2.0.7 - qs: 6.5.1 - range-parser: 1.2.1 - safe-buffer: 5.1.1 - send: 0.16.2 - serve-static: 1.13.2 - setprototypeof: 1.1.0 - statuses: 1.4.0 - type-is: 1.6.18 - utils-merge: 1.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - dev: true - /express/4.18.2: resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} engines: {node: '>= 0.10.0'} @@ -13080,21 +11197,6 @@ packages: - supports-color dev: true - /extract-files/11.0.0: - resolution: {integrity: sha512-FuoE1qtbJ4bBVvv94CC7s0oTnKUGvQs+Rjf1L2SJFfS+HTVVjhPFtehPdQ0JiGPqVNfSSZvL5yzHHQq2Z4WNhQ==} - engines: {node: ^12.20 || >= 14.13} - dev: true - - /extract-files/9.0.0: - resolution: {integrity: sha512-CvdFfHkC95B4bBBk36hcEmvdR2awOdhhVUYH6S/zrVj3477zven/fJMYg7121h4T1xHZC+tetUpubpAhxwI7hQ==} - engines: {node: ^10.17.0 || ^12.0.0 || >= 13.7.0} - dev: true - - /extract-stack/1.0.0: - resolution: {integrity: sha512-M5Ge0JIrn12EtIVpje2G+hI5X78hmX4UDzynZ7Vnp1MiPSqleEonmgr2Rh59eygEEgq3YJ1GDP96rnM8tnVg/Q==} - engines: {node: '>=4'} - dev: true - /extract-zip/2.0.1_supports-color@8.1.1: resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} engines: {node: '>= 10.17.0'} @@ -13128,10 +11230,6 @@ packages: isarray: 2.0.5 dev: false - /fast-deep-equal/2.0.1: - resolution: {integrity: sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==} - dev: true - /fast-deep-equal/3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -13184,24 +11282,6 @@ packages: bser: 2.1.1 dev: true - /fbjs-css-vars/1.0.2: - resolution: {integrity: sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==} - dev: true - - /fbjs/3.0.4: - resolution: {integrity: sha512-ucV0tDODnGV3JCnnkmoszb5lf4bNpzjv80K41wd4k798Etq+UYD0y0TIfalLjZoKgjive6/adkRnszwapiDgBQ==} - dependencies: - cross-fetch: 3.1.5 - fbjs-css-vars: 1.0.2 - loose-envify: 1.4.0 - object-assign: 4.1.1 - promise: 7.3.1 - setimmediate: 1.0.5 - ua-parser-js: 0.7.32 - transitivePeerDependencies: - - encoding - dev: true - /fclone/1.0.11: resolution: {integrity: sha512-GDqVQezKzRABdeqflsgMr7ktzgF9CyS+p2oe0jJqUY6izSSbhPIQJDpoU4PtGcD7VPM9xh/dVrTu6z1nwgmEGw==} dev: false @@ -13212,14 +11292,6 @@ packages: pend: 1.2.0 dev: false - /fetch-blob/3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} - dependencies: - node-domexception: 1.0.0 - web-streams-polyfill: 3.2.1 - dev: true - /fetch-retry/5.0.3: resolution: {integrity: sha512-uJQyMrX5IJZkhoEUBQ3EjxkeiZkppBd5jS/fMTJmfZxLSiaQjv2zD0kTvuvkSH89uFvgSlB6ueGpjD3HWN7Bxw==} dev: true @@ -13315,21 +11387,6 @@ packages: - supports-color dev: false - /finalhandler/1.1.1: - resolution: {integrity: sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==} - engines: {node: '>= 0.8'} - dependencies: - debug: 2.6.9 - encodeurl: 1.0.2 - escape-html: 1.0.3 - on-finished: 2.3.0 - parseurl: 1.3.3 - statuses: 1.4.0 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - dev: true - /finalhandler/1.2.0: resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} engines: {node: '>= 0.8'} @@ -13435,6 +11492,7 @@ packages: peerDependenciesMeta: debug: optional: true + dev: false /follow-redirects/1.15.2_debug@4.3.2: resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} @@ -13562,10 +11620,6 @@ packages: webpack: 5.75.0 dev: true - /form-data-encoder/1.7.2: - resolution: {integrity: sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==} - dev: true - /form-data/2.3.3: resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} engines: {node: '>= 0.12'} @@ -13592,29 +11646,6 @@ packages: mime-types: 2.1.35 dev: true - /formdata-node/4.3.3: - resolution: {integrity: sha512-coTew7WODO2vF+XhpUdmYz4UBvlsiTMSNaFYZlrXIqYbFd4W7bMwnoALNLE6uvNgzTg2j1JDF0ZImEfF06VPAA==} - engines: {node: '>= 12.20'} - dependencies: - node-domexception: 1.0.0 - web-streams-polyfill: 4.0.0-beta.1 - dev: true - - /formdata-node/4.4.1: - resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==} - engines: {node: '>= 12.20'} - dependencies: - node-domexception: 1.0.0 - web-streams-polyfill: 4.0.0-beta.3 - dev: true - - /formdata-polyfill/4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} - dependencies: - fetch-blob: 3.2.0 - dev: true - /forwarded/0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} @@ -13660,6 +11691,7 @@ packages: /from/0.1.7: resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==} + dev: false /from2/2.3.0: resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==} @@ -14027,6 +12059,7 @@ packages: ignore: 5.2.0 merge2: 1.4.1 slash: 4.0.0 + dev: false /globby/9.2.0: resolution: {integrity: sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==} @@ -14126,190 +12159,15 @@ packages: /grapheme-splitter/1.0.4: resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} - /graphql-config/4.3.6_6edx573jnzbjjsfdxhfko4hxwq: - resolution: {integrity: sha512-i7mAPwc0LAZPnYu2bI8B6yXU5820Wy/ArvmOseDLZIu0OU1UTULEuexHo6ZcHXeT9NvGGaUPQZm8NV3z79YydA==} - engines: {node: '>= 10.0.0'} - peerDependencies: - graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || 16 - dependencies: - '@graphql-tools/graphql-file-loader': 7.5.6_graphql@15.4.0 - '@graphql-tools/json-file-loader': 7.4.7_graphql@15.4.0 - '@graphql-tools/load': 7.8.0_graphql@15.4.0 - '@graphql-tools/merge': 8.3.0_graphql@15.4.0 - '@graphql-tools/url-loader': 7.16.5_5bj44e3bqhgvwkviw5qgosvp3i - '@graphql-tools/utils': 8.13.0_graphql@15.4.0 - cosmiconfig: 7.0.1 - cosmiconfig-toml-loader: 1.0.0 - cosmiconfig-typescript-loader: 4.1.1_hqkwlvhnlapr436diaz6e6f55i - graphql: 15.4.0 - minimatch: 4.2.1 - string-env-interpolation: 1.0.1 - ts-node: 10.9.1_pldvz6pe3aqb7j6elrti4nlcrm - tslib: 2.4.1 - transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' - - '@types/node' - - bufferutil - - encoding - - typescript - - utf-8-validate - dev: true - - /graphql-config/4.3.6_kjbtv7ce7iv4kwcptkge5oq7pm: - resolution: {integrity: sha512-i7mAPwc0LAZPnYu2bI8B6yXU5820Wy/ArvmOseDLZIu0OU1UTULEuexHo6ZcHXeT9NvGGaUPQZm8NV3z79YydA==} - engines: {node: '>= 10.0.0'} - peerDependencies: - graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || 16 - dependencies: - '@graphql-tools/graphql-file-loader': 7.5.6_graphql@16.6.0 - '@graphql-tools/json-file-loader': 7.4.7_graphql@16.6.0 - '@graphql-tools/load': 7.8.0_graphql@16.6.0 - '@graphql-tools/merge': 8.3.0_graphql@16.6.0 - '@graphql-tools/url-loader': 7.16.5_hdfzlaxoqhmrmmanxrg2npeypa - '@graphql-tools/utils': 8.13.0_graphql@16.6.0 - cosmiconfig: 7.0.1 - cosmiconfig-toml-loader: 1.0.0 - cosmiconfig-typescript-loader: 4.1.1_hqkwlvhnlapr436diaz6e6f55i - graphql: 16.6.0 - minimatch: 4.2.1 - string-env-interpolation: 1.0.1 - ts-node: 10.9.1_pldvz6pe3aqb7j6elrti4nlcrm - tslib: 2.4.1 - transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' - - '@types/node' - - bufferutil - - encoding - - typescript - - utf-8-validate - dev: true - - /graphql-language-service-interface/2.10.2_6edx573jnzbjjsfdxhfko4hxwq: - resolution: {integrity: sha512-RKIEBPhRMWdXY3fxRs99XysTDnEgAvNbu8ov/5iOlnkZsWQNzitjtd0O0l1CutQOQt3iXoHde7w8uhCnKL4tcg==} - peerDependencies: - graphql: ^15.5.0 || ^16.0.0 || 16 - dependencies: - graphql: 15.4.0 - graphql-config: 4.3.6_6edx573jnzbjjsfdxhfko4hxwq - graphql-language-service-parser: 1.10.4_6edx573jnzbjjsfdxhfko4hxwq - graphql-language-service-types: 1.8.7_6edx573jnzbjjsfdxhfko4hxwq - graphql-language-service-utils: 2.7.1_6edx573jnzbjjsfdxhfko4hxwq - vscode-languageserver-types: 3.17.2 - transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' - - '@types/node' - - bufferutil - - encoding - - typescript - - utf-8-validate - dev: true - - /graphql-language-service-parser/1.10.4_6edx573jnzbjjsfdxhfko4hxwq: - resolution: {integrity: sha512-duDE+0aeKLFVrb9Kf28U84ZEHhHcvTjWIT6dJbIAQJWBaDoht0D4BK9EIhd94I3DtKRc1JCJb2+70y1lvP/hiA==} - peerDependencies: - graphql: ^15.5.0 || ^16.0.0 || 16 - dependencies: - graphql: 15.4.0 - graphql-language-service-types: 1.8.7_6edx573jnzbjjsfdxhfko4hxwq - transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' - - '@types/node' - - bufferutil - - encoding - - typescript - - utf-8-validate - dev: true - - /graphql-language-service-types/1.8.7_6edx573jnzbjjsfdxhfko4hxwq: - resolution: {integrity: sha512-LP/Mx0nFBshYEyD0Ny6EVGfacJAGVx+qXtlJP4hLzUdBNOGimfDNtMVIdZANBXHXcM41MDgMHTnyEx2g6/Ttbw==} - peerDependencies: - graphql: ^15.5.0 || ^16.0.0 || 16 - dependencies: - graphql: 15.4.0 - graphql-config: 4.3.6_6edx573jnzbjjsfdxhfko4hxwq - vscode-languageserver-types: 3.17.2 - transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' - - '@types/node' - - bufferutil - - encoding - - typescript - - utf-8-validate - dev: true - - /graphql-language-service-utils/2.5.1_6edx573jnzbjjsfdxhfko4hxwq: - resolution: {integrity: sha512-Lzz723cYrYlVN4WVzIyFGg3ogoe+QYAIBfdtDboiIILoy0FTmqbyC2TOErqbmWKqO4NK9xDA95cSRFbWiHYj0g==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || 16 - dependencies: - graphql: 15.4.0 - graphql-language-service-types: 1.8.7_6edx573jnzbjjsfdxhfko4hxwq - nullthrows: 1.1.1 - transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' - - '@types/node' - - bufferutil - - encoding - - typescript - - utf-8-validate - dev: true - - /graphql-language-service-utils/2.7.1_6edx573jnzbjjsfdxhfko4hxwq: - resolution: {integrity: sha512-Wci5MbrQj+6d7rfvbORrA9uDlfMysBWYaG49ST5TKylNaXYFf3ixFOa74iM1KtM9eidosUbI3E1JlWi0JaidJA==} - peerDependencies: - graphql: ^15.5.0 || ^16.0.0 || 16 - dependencies: - '@types/json-schema': 7.0.9 - graphql: 15.4.0 - graphql-language-service-types: 1.8.7_6edx573jnzbjjsfdxhfko4hxwq - nullthrows: 1.1.1 - transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' - - '@types/node' - - bufferutil - - encoding - - typescript - - utf-8-validate - dev: true - - /graphql-request/5.0.0_graphql@16.6.0: - resolution: {integrity: sha512-SpVEnIo2J5k2+Zf76cUkdvIRaq5FMZvGQYnA4lUWYbc99m+fHh4CZYRRO/Ff4tCLQ613fzCm3SiDT64ubW5Gyw==} - peerDependencies: - graphql: 14 - 16 || 16 - dependencies: - '@graphql-typed-document-node/core': 3.1.1_graphql@16.6.0 - cross-fetch: 3.1.5 - extract-files: 9.0.0 - form-data: 3.0.1 - graphql: 16.6.0 - transitivePeerDependencies: - - encoding - dev: true - /graphql-tag/2.12.6_graphql@16.6.0: resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==} 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 || 16 - dependencies: - graphql: 16.6.0 - tslib: 2.4.0 - - /graphql-ws/5.11.2_graphql@15.4.0: - resolution: {integrity: sha512-4EiZ3/UXYcjm+xFGP544/yW1+DVI8ZpKASFbzrV5EDTFWJp0ZvLl4Dy2fSZAzz9imKp5pZMIcjB0x/H69Pv/6w==} - engines: {node: '>=10'} - peerDependencies: - graphql: '>=0.11 <=16 || 16' + 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 || 16 dependencies: - graphql: 15.4.0 - dev: true + graphql: 16.6.0 + tslib: 2.4.0 + dev: false /graphql-ws/5.11.2_graphql@16.6.0: resolution: {integrity: sha512-4EiZ3/UXYcjm+xFGP544/yW1+DVI8ZpKASFbzrV5EDTFWJp0ZvLl4Dy2fSZAzz9imKp5pZMIcjB0x/H69Pv/6w==} @@ -14318,47 +12176,12 @@ packages: graphql: '>=0.11 <=16 || 16' dependencies: graphql: 16.6.0 - - /graphql/15.4.0: - resolution: {integrity: sha512-EB3zgGchcabbsU9cFe1j+yxdzKQKAbGUWRb13DsrsMN1yyfmmIq+2+L5MqVWcDCE4V89R5AyUOi7sMOGxdsYtA==} - engines: {node: '>= 10.x'} - dev: true + dev: false /graphql/16.6.0: resolution: {integrity: sha512-KPIBPDlW7NxrbT/eh4qPXz5FiFdL5UbaA0XUNz2Rp3Z3hqBSkbj0GVjwFDztsWVauZUWsbKHgMg++sk8UX0bkw==} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} - /graphqurl/1.0.1_pldvz6pe3aqb7j6elrti4nlcrm: - resolution: {integrity: sha512-97Chda90OBIHCpH6iQHNYc9qTTADN0LOFbiMcRws3V5SottC/0yTDIQDgBzncZYVCkttyjAnT6YmVuNId7ymQA==} - engines: {node: '>=8.0.0'} - hasBin: true - dependencies: - '@oclif/command': 1.8.0 - '@oclif/config': 1.17.0 - '@oclif/errors': 1.3.4 - '@oclif/plugin-help': 3.2.1 - cli-ux: 4.9.3 - express: 4.16.3 - graphql: 15.4.0 - graphql-language-service-interface: 2.10.2_6edx573jnzbjjsfdxhfko4hxwq - graphql-language-service-utils: 2.5.1_6edx573jnzbjjsfdxhfko4hxwq - isomorphic-fetch: 3.0.0 - isomorphic-ws: 4.0.1_ws@7.4.2 - open: 7.3.1 - subscriptions-transport-ws: 0.9.18_graphql@15.4.0 - terminal-kit: 1.49.4 - ws: 7.4.2 - transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' - - '@types/node' - - bufferutil - - encoding - - supports-color - - typescript - - utf-8-validate - dev: true - /gray-matter/4.0.3: resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} engines: {node: '>=6.0'} @@ -14417,11 +12240,6 @@ packages: /has-bigints/1.0.2: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} - /has-flag/2.0.0: - resolution: {integrity: sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==} - engines: {node: '>=0.10.0'} - dev: true - /has-flag/3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} @@ -14646,13 +12464,6 @@ packages: hasBin: true dev: true - /header-case/2.0.4: - resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} - dependencies: - capital-case: 1.0.4 - tslib: 2.4.1 - dev: true - /headers-polyfill/3.1.2: resolution: {integrity: sha512-tWCK4biJ6hcLqTviLXVR9DTRfYGQMXEIUj3gwJ2rZ5wO/at3XtkI4g8mCvFdUF9l1KMBNCfmNAdnahm1cgavQA==} dev: true @@ -14847,16 +12658,6 @@ packages: resolution: {integrity: sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==} dev: false - /http-errors/1.6.2: - resolution: {integrity: sha512-STnYGcKMXL9CGdtpeTFnLmgMSHTTNQJSHxiC4DETHKf934Q160Ht5pljrNeH24S0O9xUN+9vsDJZdZtk5js6Ww==} - engines: {node: '>= 0.6'} - dependencies: - depd: 1.1.1 - inherits: 2.0.3 - setprototypeof: 1.0.3 - statuses: 1.4.0 - dev: true - /http-errors/1.6.3: resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==} engines: {node: '>= 0.6'} @@ -14865,6 +12666,7 @@ packages: inherits: 2.0.3 setprototypeof: 1.1.0 statuses: 1.4.0 + dev: false /http-errors/2.0.0: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} @@ -14887,24 +12689,6 @@ packages: - supports-color dev: true - /http-proxy-middleware/2.0.6: - resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} - engines: {node: '>=12.0.0'} - peerDependencies: - '@types/express': ^4.17.13 - peerDependenciesMeta: - '@types/express': - optional: true - dependencies: - '@types/http-proxy': 1.17.9 - http-proxy: 1.18.1 - is-glob: 4.0.3 - is-plain-obj: 3.0.0 - micromatch: 4.0.5 - transitivePeerDependencies: - - debug - dev: true - /http-proxy/1.18.1: resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} engines: {node: '>=8.0.0'} @@ -14914,6 +12698,7 @@ packages: requires-port: 1.0.0 transitivePeerDependencies: - debug + dev: false /http-signature/1.2.0: resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==} @@ -14985,21 +12770,11 @@ packages: hasBin: true dev: true - /hyperlinker/1.0.0: - resolution: {integrity: sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==} - engines: {node: '>=4'} - dev: true - /iconv-lite/0.2.11: resolution: {integrity: sha512-KhmFWgaQZY83Cbhi+ADInoUQ8Etn6BG5fikM9syeOjQltvR45h7cRKJ/9uvQEuD61I3Uju77yYce0/LhKVClQw==} engines: {node: '>=0.4.0'} dev: false - /iconv-lite/0.4.19: - resolution: {integrity: sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==} - engines: {node: '>=0.10.0'} - dev: true - /iconv-lite/0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} @@ -15059,11 +12834,6 @@ packages: queue: 6.0.2 dev: true - /immutable/3.7.6: - resolution: {integrity: sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw==} - engines: {node: '>=0.8.0'} - dev: true - /immutable/3.8.2: resolution: {integrity: sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==} engines: {node: '>=0.10.0'} @@ -15093,11 +12863,6 @@ packages: resolve-from: 5.0.0 dev: false - /import-from/4.0.0: - resolution: {integrity: sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==} - engines: {node: '>=12.2'} - dev: true - /import-lazy/2.1.0: resolution: {integrity: sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==} engines: {node: '>=4'} @@ -15126,6 +12891,7 @@ packages: /indent-string/3.2.0: resolution: {integrity: sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==} engines: {node: '>=4'} + dev: false /indent-string/4.0.0: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} @@ -15237,27 +13003,6 @@ packages: through: 2.3.8 wrap-ansi: 7.0.0 - /inquirer/8.2.5: - resolution: {integrity: sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==} - engines: {node: '>=12.0.0'} - dependencies: - ansi-escapes: 4.3.2 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-width: 3.0.0 - external-editor: 3.1.0 - figures: 3.2.0 - lodash: 4.17.21 - mute-stream: 0.0.8 - ora: 5.4.1 - run-async: 2.4.1 - rxjs: 7.5.7 - string-width: 4.2.3 - strip-ansi: 6.0.1 - through: 2.3.8 - wrap-ansi: 7.0.0 - dev: true - /internal-slot/1.0.3: resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} engines: {node: '>= 0.4'} @@ -15275,16 +13020,6 @@ packages: resolution: {integrity: sha512-7m1vEcPCxXYI8HqnL8CKI6siDyD+eIWSwgB3DZA+ZTogxk9I4CDnj4wilt9x/+/QbHI4YG5YZNmC6458/e9Ktg==} dev: true - /invariant/2.2.4: - resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} - dependencies: - loose-envify: 1.4.0 - dev: true - - /iota-array/1.0.0: - resolution: {integrity: sha512-pZ2xT+LOHckCatGQ3DcG/a+QuEqvoxqkiL7tvE8nn3uuu+f6i1TtpB5/FtWFbxUuVr5PZCx8KskuGatbJDXOWA==} - dev: true - /ip/2.0.0: resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==} dev: true @@ -15299,14 +13034,6 @@ packages: engines: {node: '>=8'} dev: true - /is-absolute/1.0.0: - resolution: {integrity: sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==} - engines: {node: '>=0.10.0'} - dependencies: - is-relative: 1.0.0 - is-windows: 1.0.2 - dev: true - /is-accessor-descriptor/0.1.6: resolution: {integrity: sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==} engines: {node: '>=0.10.0'} @@ -15491,6 +13218,7 @@ packages: /is-fullwidth-code-point/2.0.0: resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} engines: {node: '>=4'} + dev: false /is-fullwidth-code-point/3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} @@ -15557,12 +13285,6 @@ packages: resolution: {integrity: sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA==} dev: false - /is-lower-case/2.0.2: - resolution: {integrity: sha512-bVcMJy4X5Og6VZfdOZstSexlEy20Sr0k/p/b2IlQJlfdKAQuMpiv5w2Ccxb8sKdRUNAG1PnHVHjFSdRDVS6NlQ==} - dependencies: - tslib: 2.4.1 - dev: true - /is-map/2.0.2: resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} @@ -15635,11 +13357,6 @@ packages: resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} engines: {node: '>=8'} - /is-plain-obj/3.0.0: - resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} - engines: {node: '>=10'} - dev: true - /is-plain-obj/4.1.0: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} engines: {node: '>=12'} @@ -15672,13 +13389,6 @@ packages: call-bind: 1.0.2 has-tostringtag: 1.0.0 - /is-relative/1.0.0: - resolution: {integrity: sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==} - engines: {node: '>=0.10.0'} - dependencies: - is-unc-path: 1.0.0 - dev: true - /is-scoped/2.1.0: resolution: {integrity: sha512-Cv4OpPTHAK9kHYzkzCrof3VJh7H/PrG2MBUMvvJebaaUMbqhm0YAtXnvh0I3Hnj2tMZWwrRROWLSgfJrKqWmlQ==} engines: {node: '>=8'} @@ -15750,23 +13460,10 @@ packages: /is-typedarray/1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} - /is-unc-path/1.0.0: - resolution: {integrity: sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==} - engines: {node: '>=0.10.0'} - dependencies: - unc-path-regex: 0.1.2 - dev: true - /is-unicode-supported/0.1.0: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} - /is-upper-case/2.0.2: - resolution: {integrity: sha512-44pxmxAvnnAOwBg4tHPnkfvgjPwbc5QIsSstNU+YcJ1ovxVzCWpSGosPJOZh/a1tdl81fbgnLc9LLv+x2ywbPQ==} - dependencies: - tslib: 2.4.1 - dev: true - /is-url-superb/4.0.0: resolution: {integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==} engines: {node: '>=10'} @@ -15883,30 +13580,6 @@ packages: - encoding dev: true - /isomorphic-ws/4.0.1_ws@7.4.2: - resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==} - peerDependencies: - ws: '*' - dependencies: - ws: 7.4.2 - dev: true - - /isomorphic-ws/5.0.0_ws@8.11.0: - resolution: {integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==} - peerDependencies: - ws: '*' - dependencies: - ws: 8.11.0 - dev: true - - /isomorphic-ws/5.0.0_ws@8.8.1: - resolution: {integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==} - peerDependencies: - ws: '*' - dependencies: - ws: 8.8.1 - dev: true - /isstream/0.1.2: resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} dev: false @@ -15962,10 +13635,6 @@ packages: istanbul-lib-report: 3.0.0 dev: true - /iterall/1.3.0: - resolution: {integrity: sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==} - dev: true - /iterate-iterator/1.0.2: resolution: {integrity: sha512-t91HubM4ZDQ70M9wqp+pcNpu8OyJ9UAtXntT/Bcsvp5tZMnz9vRa+IunKXeI8AnfZMTv0jNuVEmGeLSMjVvfPw==} dev: true @@ -16533,10 +14202,6 @@ packages: /jose/4.11.1: resolution: {integrity: sha512-YRv4Tk/Wlug8qicwqFNFVEZSdbROCHRAC6qu/i0dyNKr5JQdoa2pIGoS04lLO/jXQX7Z9omoNewYIVIxqZBd9Q==} - /jpeg-js/0.4.4: - resolution: {integrity: sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==} - dev: true - /js-beautify/1.14.7: resolution: {integrity: sha512-5SOX1KXPFKx+5f6ZrPsIPEY7NwKeQz47n3jm2i+XeHx9MoRsfQenlOP13FQhWvg8JRS0+XLO6XYUQ2GX+q+T9A==} engines: {node: '>=10'} @@ -16662,24 +14327,10 @@ packages: /json-stable-stringify-without-jsonify/1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - /json-stable-stringify/1.0.2: - resolution: {integrity: sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g==} - dependencies: - jsonify: 0.0.1 - dev: true - /json-stringify-safe/5.0.1: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} dev: false - /json-to-pretty-yaml/1.2.2: - resolution: {integrity: sha512-rvm6hunfCcqegwYaG5T4yKJWxc9FXFgBVrcTZ4XfSVRwa5HA/Xs+vB/Eo9treYYHCeNM0nrSUr82V/M31Urc7A==} - engines: {node: '>= 0.2.0'} - dependencies: - remedial: 1.0.8 - remove-trailing-spaces: 1.0.8 - dev: true - /json5/1.0.1: resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==} hasBin: true @@ -16714,10 +14365,6 @@ packages: optionalDependencies: graceful-fs: 4.2.10 - /jsonify/0.0.1: - resolution: {integrity: sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==} - dev: true - /jsonwebtoken/8.5.1: resolution: {integrity: sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==} engines: {node: '>=4', npm: '>=1.4.28'} @@ -16732,6 +14379,7 @@ packages: lodash.once: 4.1.1 ms: 2.1.3 semver: 5.7.1 + dev: false /jsprim/1.4.2: resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} @@ -16786,6 +14434,7 @@ packages: buffer-equal-constant-time: 1.0.1 ecdsa-sig-formatter: 1.0.11 safe-buffer: 5.2.1 + dev: false /jwa/2.0.0: resolution: {integrity: sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==} @@ -16800,6 +14449,7 @@ packages: dependencies: jwa: 1.4.1 safe-buffer: 5.2.1 + dev: false /jws/4.0.0: resolution: {integrity: sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==} @@ -16891,11 +14541,6 @@ packages: dotenv-expand: 5.1.0 dev: true - /lazyness/1.2.0: - resolution: {integrity: sha512-KenL6EFbwxBwRxG93t0gcUyi0Nw0Ub31FJKN1laA4UscdkL1K1AxUd0gYZdcLU3v+x+wcFi4uQKS5hL+fk500g==} - engines: {node: '>=6.0.0'} - dev: true - /leven/3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} @@ -17039,25 +14684,6 @@ packages: wrap-ansi: 7.0.0 dev: false - /listr2/4.0.5: - resolution: {integrity: sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==} - engines: {node: '>=12'} - peerDependencies: - enquirer: '>= 2.3.0 < 3' - peerDependenciesMeta: - enquirer: - optional: true - dependencies: - cli-truncate: 2.1.0 - colorette: 2.0.19 - log-update: 4.0.0 - p-map: 4.0.0 - rfdc: 1.3.0 - rxjs: 7.5.5 - through: 2.3.8 - wrap-ansi: 7.0.0 - dev: true - /listr2/5.0.5: resolution: {integrity: sha512-DpBel6fczu7oQKTXMekeprc0o3XDgGMkD7JNYyX+X0xbwK+xgrx9dcyKoXKqpLSUvAWfmoePS7kavniOcq3r4w==} engines: {node: ^14.13.1 || >=16.0.0} @@ -17164,10 +14790,6 @@ packages: dependencies: p-locate: 5.0.0 - /lodash._reinterpolate/3.0.0: - resolution: {integrity: sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==} - dev: true - /lodash.castarray/4.4.0: resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} dev: false @@ -17184,16 +14806,13 @@ packages: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} dev: true - /lodash.deburr/4.1.0: - resolution: {integrity: sha512-m/M1U1f3ddMCs6Hq2tAsYThTBDaAKFDX3dwDo97GEYzamXi9SqUpjWi/Rrj/gf3X2n8ktwgZrlP1z6E3v/IExQ==} - dev: true - /lodash.get/4.4.2: resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} dev: false /lodash.includes/4.3.0: resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} + dev: false /lodash.intersection/4.4.0: resolution: {integrity: sha512-N+L0cCfnqMv6mxXtSPeKt+IavbOBBSiAEkKyLasZ8BVcP9YXQgxLO12oPR8OyURwKV8l5vJKiE1M8aS70heuMg==} @@ -17201,6 +14820,7 @@ packages: /lodash.isboolean/3.0.3: resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==} + dev: false /lodash.isequal/4.5.0: resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} @@ -17212,15 +14832,19 @@ packages: /lodash.isinteger/4.0.4: resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==} + dev: false /lodash.isnumber/3.0.3: resolution: {integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==} + dev: false /lodash.isplainobject/4.0.6: resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + dev: false /lodash.isstring/4.0.1: resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} + dev: false /lodash.merge/4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} @@ -17231,6 +14855,7 @@ packages: /lodash.once/4.1.1: resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} + dev: false /lodash.pull/4.1.0: resolution: {integrity: sha512-EM7CVTzXfkTyusQdN7mgGPh2ZfkKfQ5lA9U+X7NNDeEgKEaO65dB5Kh8+Ppap0X1wQOndPjKP/VVTis7hFvkzg==} @@ -17244,19 +14869,6 @@ packages: resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} dev: true - /lodash.template/4.5.0: - resolution: {integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==} - dependencies: - lodash._reinterpolate: 3.0.0 - lodash.templatesettings: 4.2.0 - dev: true - - /lodash.templatesettings/4.2.0: - resolution: {integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==} - dependencies: - lodash._reinterpolate: 3.0.0 - dev: true - /lodash.trim/4.5.1: resolution: {integrity: sha512-nJAlRl/K+eiOehWKDzoBVrSMhK0K3A3YQsUNXHQa5yIrKBAhsZgSu3KoAFoFT+mEgiyBHddZ0pRk1ITpIp90Wg==} dev: false @@ -17326,12 +14938,6 @@ packages: dev: true optional: true - /lower-case-first/2.0.2: - resolution: {integrity: sha512-EVm/rR94FJTZi3zefZ82fLWab+GX14LJN4HrWBcuo6Evmsl9hEfnqxgcHCKb9q+mNf6EVdsjx/qucYFIIB84pg==} - dependencies: - tslib: 2.4.1 - dev: true - /lower-case/2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: @@ -17391,6 +14997,7 @@ packages: /make-error/1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + dev: false /makeerror/1.0.12: resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} @@ -17423,6 +15030,7 @@ packages: /map-stream/0.1.0: resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==} + dev: false /map-visit/1.0.0: resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} @@ -17602,30 +15210,6 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - /meros/1.2.0_@types+node@16.11.45: - resolution: {integrity: sha512-3QRZIS707pZQnijHdhbttXRWwrHhZJ/gzolneoxKVz9N/xmsvY/7Ls8lpnI9gxbgxjcHsAVEW3mgwiZCo6kkJQ==} - engines: {node: '>=12'} - peerDependencies: - '@types/node': '>=12' - peerDependenciesMeta: - '@types/node': - optional: true - dependencies: - '@types/node': 16.11.45 - dev: true - - /meros/1.2.1_@types+node@16.11.45: - resolution: {integrity: sha512-R2f/jxYqCAGI19KhAvaxSOxALBMkaXWH2a7rOyqQw+ZmizX5bKkEYWLzdhC+U82ZVVPVp6MCXe3EkVligh+12g==} - engines: {node: '>=13'} - peerDependencies: - '@types/node': '>=13' - peerDependenciesMeta: - '@types/node': - optional: true - dependencies: - '@types/node': 16.11.45 - dev: true - /methods/1.1.2: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} @@ -17684,6 +15268,7 @@ packages: /mime/1.4.1: resolution: {integrity: sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==} hasBin: true + dev: false /mime/1.6.0: resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} @@ -17751,13 +15336,6 @@ packages: dependencies: brace-expansion: 1.1.11 - /minimatch/4.2.1: - resolution: {integrity: sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==} - engines: {node: '>=10'} - dependencies: - brace-expansion: 1.1.11 - dev: true - /minimatch/5.1.0: resolution: {integrity: sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==} engines: {node: '>=10'} @@ -17775,6 +15353,7 @@ packages: /minimist/1.2.6: resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} + dev: false /minimist/1.2.7: resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==} @@ -17984,20 +15563,6 @@ packages: /natural-compare/1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - /ndarray-pack/1.2.1: - resolution: {integrity: sha512-51cECUJMT0rUZNQa09EoKsnFeDL4x2dHRT0VR5U2H5ZgEcm95ZDWcMA5JShroXjHOejmAD/fg8+H+OvUnVXz2g==} - dependencies: - cwise-compiler: 1.1.3 - ndarray: 1.0.19 - dev: true - - /ndarray/1.0.19: - resolution: {integrity: sha512-B4JHA4vdyZU30ELBw3g7/p9bZupyew5a7tX1Y/gGeF2hafrPaQZhgrGQfsvgfYbgdFZjYwuEcnaobeM/WMW+HQ==} - dependencies: - iota-array: 1.0.0 - is-buffer: 1.1.6 - dev: true - /negotiator/0.6.3: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} @@ -18107,17 +15672,6 @@ packages: react-dom: 18.2.0_react@18.2.0 dev: false - /next-urql/4.0.0_react@18.2.0+urql@3.0.3: - resolution: {integrity: sha512-c/dLhNg9bP+ku7GJDAYlsNnKEazrjcDnRx8/mBsGnjMj4c0yM+p2PBGbirWXkYL7Z2ogOHnSqHTt8swB9sJvQg==} - peerDependencies: - react: '>=16.8.0 || 18' - urql: ^3.0.0 - dependencies: - react: 18.2.0 - react-ssr-prepass: 1.5.0_react@18.2.0 - urql: 3.0.3_onqnqwb3ubg5opvemcqf7c2qhy - dev: false - /next/13.0.5_biqbaboplfbrettd7655fr4n2y: resolution: {integrity: sha512-awpc3DkphyKydwCotcBnuKwh6hMqkT5xdiBK4OatJtOZurDPBYLP62jtM2be/4OunpmwIbsS0Eyv+ZGU97ciEg==} engines: {node: '>=14.6.0'} @@ -18205,11 +15759,6 @@ packages: - '@babel/core' - babel-plugin-macros - /nextgen-events/1.5.2: - resolution: {integrity: sha512-0ZEIRQywH5Oxt2IYYufRltQg/KjXhKM7f7MHve+ZIRaKnIR1PPYEXAl2WBmej5Sf0Qh2GgE/21sMRZVuOyxLzw==} - engines: {node: '>=6.0.0'} - dev: true - /nice-try/1.0.5: resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} dev: true @@ -18220,11 +15769,6 @@ packages: lower-case: 2.0.2 tslib: 2.4.1 - /node-bitmap/0.0.1: - resolution: {integrity: sha512-Jx5lPaaLdIaOsj2mVLWMWulXF6GQVdyLvNSxmiYCvZ8Ma2hfKX0POoR2kgKOqz+oFsRreq0yYZjQ2wjE9VNzCA==} - engines: {node: '>=v0.6.5'} - dev: true - /node-dir/0.1.17: resolution: {integrity: sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==} engines: {node: '>= 0.10.5'} @@ -18232,11 +15776,6 @@ packages: minimatch: 3.1.2 dev: true - /node-domexception/1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - dev: true - /node-fetch/2.6.7: resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} engines: {node: 4.x || >=6.0.0} @@ -18248,15 +15787,6 @@ packages: dependencies: whatwg-url: 5.0.0 - /node-fetch/3.2.8: - resolution: {integrity: sha512-KtpD1YhGszhntMpBDyp5lyagk8KIMopC1LEb7cQUAh7zcosaX5uK8HnbNb2i3NTQK3sIawCItS0uFC3QzcLHdg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - data-uri-to-buffer: 4.0.0 - fetch-blob: 3.2.0 - formdata-polyfill: 4.0.10 - dev: true - /node-int64/0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} dev: true @@ -18446,10 +15976,6 @@ packages: dependencies: boolbase: 1.0.0 - /nullthrows/1.1.1: - resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} - dev: true - /num2fraction/1.2.2: resolution: {integrity: sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==} dev: true @@ -18611,15 +16137,12 @@ packages: resolution: {integrity: sha512-EvoOtz6FIEBzE+9q253HsLCVRiK/0doEJ2HCvvqMQb3dHZrP3WlJKYtJ55CRTw4jmYomzH4wkPuCj/I3ZvpKxQ==} engines: {node: ^10.13.0 || >=12.0.0} - /omggif/1.0.10: - resolution: {integrity: sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==} - dev: true - /on-finished/2.3.0: resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} engines: {node: '>= 0.8'} dependencies: ee-first: 1.1.1 + dev: false /on-finished/2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} @@ -18658,14 +16181,6 @@ packages: mimic-fn: 4.0.0 dev: true - /open/7.3.1: - resolution: {integrity: sha512-f2wt9DCBKKjlFbjzGb8MOAW8LH8F0mrs1zc7KTjAJ9PZNQbfenzWbNP1VZJvw6ICMG9r14Ah6yfwPn7T7i646A==} - engines: {node: '>=8'} - dependencies: - is-docker: 2.2.1 - is-wsl: 2.2.0 - dev: true - /open/7.4.2: resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} engines: {node: '>=8'} @@ -18974,15 +16489,6 @@ packages: is-decimal: 1.0.4 is-hexadecimal: 1.0.4 - /parse-filepath/1.0.2: - resolution: {integrity: sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==} - engines: {node: '>=0.8'} - dependencies: - is-absolute: 1.0.0 - map-cache: 0.2.2 - path-root: 0.1.1 - dev: true - /parse-json/2.2.0: resolution: {integrity: sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==} engines: {node: '>=0.10.0'} @@ -19027,17 +16533,10 @@ packages: dependencies: no-case: 3.0.4 tslib: 2.4.1 - - /pascalcase/0.1.1: - resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} - engines: {node: '>=0.10.0'} - dev: true - - /password-prompt/1.1.2: - resolution: {integrity: sha512-bpuBhROdrhuN3E7G/koAju0WjVw9/uQOG5Co5mokNj0MiOSBVZS1JTwM4zl55hu0WFmIEFvO9cU9sJQiBIYeIA==} - dependencies: - ansi-escapes: 3.2.0 - cross-spawn: 6.0.5 + + /pascalcase/0.1.1: + resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} + engines: {node: '>=0.10.0'} dev: true /path-browserify/0.0.1: @@ -19048,13 +16547,6 @@ packages: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} dev: true - /path-case/3.0.4: - resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} - dependencies: - dot-case: 3.0.4 - tslib: 2.4.1 - dev: true - /path-dirname/1.0.2: resolution: {integrity: sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==} dev: true @@ -19097,18 +16589,6 @@ packages: /path-parse/1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - /path-root-regex/0.1.2: - resolution: {integrity: sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==} - engines: {node: '>=0.10.0'} - dev: true - - /path-root/0.1.1: - resolution: {integrity: sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==} - engines: {node: '>=0.10.0'} - dependencies: - path-root-regex: 0.1.2 - dev: true - /path-to-regexp/0.1.7: resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} dev: true @@ -19142,6 +16622,7 @@ packages: resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} dependencies: through: 2.3.8 + dev: false /pbkdf2/3.1.2: resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} @@ -19235,11 +16716,6 @@ packages: engines: {node: '>=4'} dev: false - /pngjs/6.0.0: - resolution: {integrity: sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==} - engines: {node: '>=12.13.0'} - dev: true - /pnp-webpack-plugin/1.6.4_typescript@4.9.3: resolution: {integrity: sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==} engines: {node: '>=6'} @@ -20237,12 +17713,6 @@ packages: es-abstract: 1.20.4 dev: true - /promise/7.3.1: - resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} - dependencies: - asap: 2.0.6 - dev: true - /prompts/2.4.2: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} @@ -20362,17 +17832,13 @@ packages: hasBin: true dependencies: event-stream: 3.3.4 + dev: false /pseudomap/1.0.2: resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} - /psl/1.8.0: - resolution: {integrity: sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==} - dev: false - /psl/1.9.0: resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} - dev: true /public-encrypt/4.0.3: resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} @@ -20425,17 +17891,6 @@ packages: escape-goat: 2.1.1 dev: false - /pvtsutils/1.3.2: - resolution: {integrity: sha512-+Ipe2iNUyrZz+8K/2IOo+kKikdtfhRKzNpQbruF2URmqPtoqAs8g3xS7TJvFF2GcPXjh7DkqMnpVveRFq4PgEQ==} - dependencies: - tslib: 2.4.1 - dev: true - - /pvutils/1.1.3: - resolution: {integrity: sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==} - engines: {node: '>=6.0.0'} - dev: true - /qs/6.11.0: resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} engines: {node: '>=0.6'} @@ -20448,11 +17903,6 @@ packages: engines: {node: '>=0.6'} dev: false - /qs/6.5.1: - resolution: {integrity: sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==} - engines: {node: '>=0.6'} - dev: true - /qs/6.5.3: resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} engines: {node: '>=0.6'} @@ -20513,10 +17963,6 @@ packages: resolution: {integrity: sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==} dev: true - /random-words/1.2.0: - resolution: {integrity: sha512-YP2bXrT19pxtBh22DK9CLcWsmBjUBAGzw3JWJycTNbXm1+0aS6PrKuAJ9aLT0GGaPlPp9LExfJIMVkzhrDZE6g==} - dev: true - /randombytes/2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: @@ -20563,16 +18009,6 @@ packages: '@babel/runtime': 7.20.1 dev: false - /raw-body/2.3.2: - resolution: {integrity: sha512-Ss0DsBxqLxCmQkfG5yazYhtbVVTJqS9jTsZG2lhrNwqzOk2SUC7O/NB/M//CkEBqsrtmlNgJCPccJGuYSFr6Vg==} - engines: {node: '>= 0.8'} - dependencies: - bytes: 3.0.0 - http-errors: 1.6.2 - iconv-lite: 0.4.19 - unpipe: 1.0.0 - dev: true - /raw-body/2.5.1: resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} engines: {node: '>= 0.8'} @@ -20842,12 +18278,6 @@ packages: indent-string: 4.0.0 strip-indent: 3.0.0 - /redeyed/2.1.1: - resolution: {integrity: sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==} - dependencies: - esprima: 4.0.1 - dev: true - /regenerate-unicode-properties/10.1.0: resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} engines: {node: '>=4'} @@ -21015,16 +18445,6 @@ packages: resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} engines: {node: '>= 0.10'} - /relay-runtime/12.0.0: - resolution: {integrity: sha512-QU6JKr1tMsry22DXNy9Whsq5rmvwr3LSZiiWV/9+DFpuTWvp+WFhobWMc8TC4OjKFfNhEZy7mOiqUAn5atQtug==} - dependencies: - '@babel/runtime': 7.20.1 - fbjs: 3.0.4 - invariant: 2.2.4 - transitivePeerDependencies: - - encoding - dev: true - /remark-external-links/8.0.0: resolution: {integrity: sha512-5vPSX0kHoSsqtdftSHhIYofVINC8qmp0nctkeU9YoJwV3YfiBRiI6cbFRJ0oI/1F9xS+bopXG0m2KS8VFscuKA==} dependencies: @@ -21085,18 +18505,10 @@ packages: dependencies: mdast-squeeze-paragraphs: 4.0.0 - /remedial/1.0.8: - resolution: {integrity: sha512-/62tYiOe6DzS5BqVsNpH/nkGlX45C/Sp6V+NtiN6JQNS1Viay7cWkazmRkrQrdFj2eshDe96SIQNIoMxqhzBOg==} - dev: true - /remove-trailing-separator/1.1.0: resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} dev: true - /remove-trailing-spaces/1.0.8: - resolution: {integrity: sha512-O3vsMYfWighyFbTd8hk8VaSj9UAGENxAtX+//ugIst2RMk5e03h6RoIS+0ylsFxY1gvmPuAY/PO4It+gPEeySA==} - dev: true - /renderkid/2.0.7: resolution: {integrity: sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==} dependencies: @@ -21540,10 +18952,6 @@ packages: engines: {node: '>=8'} dev: false - /scuid/1.1.0: - resolution: {integrity: sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg==} - dev: true - /section-matter/1.0.0: resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} engines: {node: '>=4'} @@ -21605,6 +19013,7 @@ packages: statuses: 1.4.0 transitivePeerDependencies: - supports-color + dev: false /send/0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} @@ -21627,14 +19036,6 @@ packages: - supports-color dev: true - /sentence-case/3.0.4: - resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} - dependencies: - no-case: 3.0.4 - tslib: 2.4.1 - upper-case-first: 2.0.2 - dev: true - /serialize-javascript/4.0.0: resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==} dependencies: @@ -21688,6 +19089,7 @@ packages: send: 0.16.2 transitivePeerDependencies: - supports-color + dev: false /serve-static/1.15.0: resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} @@ -21727,23 +19129,13 @@ packages: resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} dev: true - /setprototypeof/1.0.3: - resolution: {integrity: sha512-9jphSf3UbIgpOX/RKvX02iw/rN2TKdusnsPpGfO/rkcsrd+IRqgHZb4VGnmL0Cynps8Nj2hN45wsi30BzrHDIw==} - dev: true - /setprototypeof/1.1.0: resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} + dev: false /setprototypeof/1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - /seventh/0.7.40: - resolution: {integrity: sha512-7sxUydQx4iEh17uJUFjZDAwbffJirldZaNIJvVB/hk9mPEL3J4GpLGSL+mHFH2ydkye46DAsLGqzFJ+/Qj5foQ==} - engines: {node: '>=7.6.0'} - dependencies: - setimmediate: 1.0.5 - dev: true - /sha.js/2.4.11: resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} hasBin: true @@ -21820,10 +19212,6 @@ packages: /signal-exit/3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - /signedsource/1.0.0: - resolution: {integrity: sha512-6+eerH9fEnNmi/hyM1DXcRK3pWdoMQtlkQ+ns0ntzunjKqp5i3sKCc80ym8Fib3iaYhdJUOPdhlJWj1tvge2Ww==} - dev: true - /sirv/1.0.19: resolution: {integrity: sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==} engines: {node: '>= 10'} @@ -21849,6 +19237,7 @@ packages: /slash/4.0.0: resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} engines: {node: '>=12'} + dev: false /slice-ansi/0.0.4: resolution: {integrity: sha512-up04hB2hR92PgjpyU3y/eg91yIBILyjVY26NvvciY3EVVPjybkMszMpXQ9QAkcS3I5rtJBDLoTxxg+qvW8c7rw==} @@ -21883,11 +19272,6 @@ packages: resolution: {integrity: sha512-4qdtOGcBjral6YIBCWJ0ljFSKNLz9KkhbWtuGvUyRowl1kxfuE1x/Z/aJcaiilpb3do9bl5K7/1h9XC5wWpY/A==} dev: false - /slugify/1.6.5: - resolution: {integrity: sha512-8mo9bslnBO3tr5PEVFzMPIWwWnipGS0xVbYf65zxDqfNwmzYn1LpiKNrR6DlClusuvo+hDHd1zKpmfAe83NQSQ==} - engines: {node: '>=8.0.0'} - dev: true - /smartwrap/2.0.2: resolution: {integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==} engines: {node: '>=6'} @@ -21901,13 +19285,6 @@ packages: yargs: 15.4.1 dev: true - /snake-case/3.0.4: - resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} - dependencies: - dot-case: 3.0.4 - tslib: 2.4.1 - dev: true - /snapdragon-node/2.1.1: resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} engines: {node: '>=0.10.0'} @@ -22086,6 +19463,7 @@ packages: resolution: {integrity: sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==} dependencies: through: 2.3.8 + dev: false /split/1.0.1: resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==} @@ -22093,12 +19471,6 @@ packages: through: 2.3.8 dev: false - /sponge-case/1.0.1: - resolution: {integrity: sha512-dblb9Et4DAtiZ5YSUZHLl4XhH4uK80GhAZrVXdN4O2P4gQ40Wa5UIOPUHlA/nFd2PLblBZWUioLMMAVrgpoYcA==} - dependencies: - tslib: 2.4.1 - dev: true - /sprintf-js/1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} @@ -22196,31 +19568,12 @@ packages: /statuses/1.4.0: resolution: {integrity: sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==} engines: {node: '>= 0.6'} + dev: false /statuses/2.0.1: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} - /stellate/1.17.1: - resolution: {integrity: sha512-5O5V2KV5QDxhScjcIDLj5t0nTK2ZfBscnwqf+xBpQTTxOMRl/hp8Dq7Y5BXGkFVZ5Ds1UrzIqxQ4/tRPpb8PMg==} - hasBin: true - dependencies: - '@atomist/yaml-updater': 1.0.2 - '@sindresorhus/slugify': 1.1.2 - esbuild: 0.8.57 - execa: 5.1.1 - express: 4.18.2 - http-proxy-middleware: 2.0.6 - is-ci: 3.0.1 - random-words: 1.2.0 - slugify: 1.6.5 - zod: 3.19.1 - transitivePeerDependencies: - - '@types/express' - - debug - - supports-color - dev: true - /store2/2.14.2: resolution: {integrity: sha512-siT1RiqlfQnGqgT/YzXVUNsom9S0H1OX+dpdGN1xkyYATo4I6sep5NmsRD/40s3IIOvlCq6akxkqG82urIZW1w==} dev: true @@ -22269,6 +19622,7 @@ packages: resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==} dependencies: duplexer: 0.1.2 + dev: false /stream-each/1.2.3: resolution: {integrity: sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==} @@ -22306,11 +19660,6 @@ packages: mixme: 0.5.4 dev: true - /streamsearch/1.1.0: - resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} - engines: {node: '>=10.0.0'} - dev: true - /strict-event-emitter/0.2.8: resolution: {integrity: sha512-KDf/ujU8Zud3YaLtMCcTI4xkZlZVIYxTLr+XIULexP+77EEVWixeXroLUXQXiVtH4XH2W7jr/3PT1v3zBuvc3A==} dependencies: @@ -22339,10 +19688,6 @@ packages: '@babel/runtime': 7.20.1 dev: false - /string-env-interpolation/1.0.1: - resolution: {integrity: sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg==} - dev: true - /string-extract-class-names/6.1.0: resolution: {integrity: sha512-HgTdhGe1yeSd8vHaOggh+FRudbBYARSBC2WYW2tngpB4O0PIj4A/xq+DIDQlZUfKnVETEJIjOHYuIczPoMEm4Q==} dependencies: @@ -22350,11 +19695,6 @@ packages: string-left-right: 4.1.0 dev: false - /string-kit/0.11.10: - resolution: {integrity: sha512-ATVmIpMrqxPFNiNQTnmEeXzt3743O6DubJWh2MiAQV1ifKd4PcCjBcybCdb0ENnPO1T6asORK9nOpygn1BATag==} - engines: {node: '>=6.0.0'} - dev: true - /string-left-right/4.1.0: resolution: {integrity: sha512-ic/WvfNVUygWWsgg8akzSzp2NuttfhrdbH7QmSnda5b5RFmT9aCEDiS/M+gmTJwtFy7+b/2AXU4Z6vejcePQqQ==} dependencies: @@ -22436,6 +19776,7 @@ packages: dependencies: is-fullwidth-code-point: 2.0.0 strip-ansi: 4.0.0 + dev: false /string-width/4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} @@ -22540,12 +19881,14 @@ packages: engines: {node: '>=4'} dependencies: ansi-regex: 3.0.1 + dev: false /strip-ansi/5.2.0: resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} engines: {node: '>=6'} dependencies: ansi-regex: 4.1.1 + dev: false /strip-ansi/6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} @@ -22716,23 +20059,6 @@ packages: postcss-selector-parser: 6.0.10 dev: false - /subscriptions-transport-ws/0.9.18_graphql@15.4.0: - resolution: {integrity: sha512-tztzcBTNoEbuErsVQpTN2xUNN/efAZXyCyL5m3x4t6SKrEiTL2N8SaKWBFWM4u56pL79ULif3zjyeq+oV+nOaA==} - deprecated: The `subscriptions-transport-ws` package is no longer maintained. We recommend you use `graphql-ws` instead. For help migrating Apollo software to `graphql-ws`, see https://www.apollographql.com/docs/apollo-server/data/subscriptions/#switching-from-subscriptions-transport-ws For general help using `graphql-ws`, see https://github.com/enisdenjo/graphql-ws/blob/master/README.md - peerDependencies: - graphql: '>=0.10.0 || 16' - dependencies: - backo2: 1.0.2 - eventemitter3: 3.1.2 - graphql: 15.4.0 - iterall: 1.3.0 - symbol-observable: 1.2.0 - ws: 5.2.3 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - dev: true - /super-tiny-icons/0.4.0: resolution: {integrity: sha512-PEHlUQsSdEtQNeP4pNOBCDU9cJe6bsrMmG3yV62icvMDgjCC+srl9AfJ5RGwfKbyvGNbYRUtcmkka+k7yhZxOA==} requiresBuild: true @@ -22775,14 +20101,6 @@ packages: dependencies: has-flag: 4.0.0 - /supports-hyperlinks/1.0.1: - resolution: {integrity: sha512-HHi5kVSefKaJkGYXbDuKbUGRVxqnWGn3J2e39CYcNJEfWciGq2zYtOhXLTlvrOZW1QU7VX67w7fMmWafHX9Pfw==} - engines: {node: '>=4'} - dependencies: - has-flag: 2.0.0 - supports-color: 5.5.0 - dev: true - /supports-hyperlinks/2.3.0: resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} engines: {node: '>=8'} @@ -22795,12 +20113,6 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - /swap-case/2.0.2: - resolution: {integrity: sha512-kc6S2YS/2yXbtkSMunBtKdah4VFETZ8Oh6ONSmSd9bRxhqTrtARUCBUiWXH3xVPpvR7tz2CSnkuXVE42EcGnMw==} - dependencies: - tslib: 2.4.1 - dev: true - /symbol-observable/1.0.1: resolution: {integrity: sha512-Kb3PrPYz4HanVF1LVGuAdW6LoVgIwjUYJGzFe7NDrBLCN4lsV/5J0MFurV+ygS4bRVwrCEt2c7MQ1R2a72oJDw==} engines: {node: '>=0.10.0'} @@ -22809,6 +20121,7 @@ packages: /symbol-observable/1.2.0: resolution: {integrity: sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==} engines: {node: '>=0.10.0'} + dev: false /symbol-observable/3.0.0: resolution: {integrity: sha512-6tDOXSHiVjuCaasQSWTmHUWn4PuG7qa3+1WT031yTc/swT7+rLiw3GOrFxaH1E3lLP09dH3bVuVDf2gK5rxG3Q==} @@ -22938,20 +20251,6 @@ packages: engines: {node: '>=8'} dev: true - /terminal-kit/1.49.4: - resolution: {integrity: sha512-ehoNOk7xB/QBVX38P2kpoLip+s4Tlb6qYDBAoLg/rdRrrtRlDgs97a9MG0xU1IGq/Qpn47n1rwb5fWbM/Bprag==} - engines: {node: '>=10.0.0'} - dependencies: - '@cronvel/get-pixels': 3.4.1 - chroma-js: 2.4.2 - lazyness: 1.2.0 - ndarray: 1.0.19 - nextgen-events: 1.5.2 - seventh: 0.7.40 - string-kit: 0.11.10 - tree-kit: 0.7.4 - dev: true - /terminal-link/2.1.1: resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} engines: {node: '>=8'} @@ -23111,12 +20410,6 @@ packages: dependencies: '@popperjs/core': 2.11.6 - /title-case/3.0.3: - resolution: {integrity: sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA==} - dependencies: - tslib: 2.4.1 - dev: true - /tmp/0.0.33: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} @@ -23209,7 +20502,7 @@ packages: resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} engines: {node: '>=0.8'} dependencies: - psl: 1.8.0 + psl: 1.9.0 punycode: 2.1.1 dev: false @@ -23245,15 +20538,6 @@ packages: hasBin: true dev: true - /tree-kit/0.7.4: - resolution: {integrity: sha512-Of3tPmVs3b6BhzyUJ7t0olisf47kYr9qAm0XaUpURMjdBn6TwiVaaMuTFoKkkvPGojd9trKAHlrGGcGKcdR1DA==} - dev: true - - /treeify/1.1.0: - resolution: {integrity: sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A==} - engines: {node: '>=0.6'} - dev: true - /trim-newlines/1.0.0: resolution: {integrity: sha512-Nm4cF79FhSTzrLKGDMi3I4utBtFv8qKy4sq1enftf2gMdpqI8oVQTAfySkTz5r49giVzDj88SVZXP4CeYQwjaw==} engines: {node: '>=0.10.0'} @@ -23288,10 +20572,6 @@ packages: resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} engines: {node: '>=6.10'} - /ts-log/2.2.5: - resolution: {integrity: sha512-PGcnJoTBnVGy6yYNFxWVNkdcAuAMstvutN9MgDJIV6L0oG8fB+ZNNy1T+wJzah8RPGor1mZuPQkVfXNDpy9eHA==} - dev: true - /ts-node/10.9.1_pldvz6pe3aqb7j6elrti4nlcrm: resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true @@ -23321,6 +20601,7 @@ packages: typescript: 4.9.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 + dev: false /ts-pnp/1.2.0_typescript@4.9.3: resolution: {integrity: sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==} @@ -23566,10 +20847,6 @@ packages: engines: {node: '>=0.1.14'} dev: true - /ua-parser-js/0.7.32: - resolution: {integrity: sha512-f9BESNVhzlhEFf2CHMSj40NWOjYPl1YKYbrvIr/hFTDEmLq7SRbWvm7FcdcpCYT95zrOhC7gZSxjdnnTpBcwVw==} - dev: true - /ua-parser-js/1.0.2: resolution: {integrity: sha512-00y/AXhx0/SsnI51fTc0rLRmafiGOM4/O+ny10Ps7f+j/b8p/ZY11ytMgznXkOVo4GQ+KwQG5UQLkLGirsACRg==} dev: false @@ -23594,18 +20871,6 @@ packages: has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 - /unc-path-regex/0.1.2: - resolution: {integrity: sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==} - engines: {node: '>=0.10.0'} - dev: true - - /undici/5.12.0: - resolution: {integrity: sha512-zMLamCG62PGjd9HHMpo05bSLvvwWOZgGeiWlN/vlqu3+lRo3elxktVGEyLMX+IO7c2eflLjcW74AlkhEZm15mg==} - engines: {node: '>=12.18'} - dependencies: - busboy: 1.6.0 - dev: true - /unfetch/4.2.0: resolution: {integrity: sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==} dev: true @@ -23674,6 +20939,7 @@ packages: /uniq/1.0.1: resolution: {integrity: sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==} + dev: false /unique-filename/1.1.1: resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} @@ -23787,13 +21053,6 @@ packages: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} - /unixify/1.0.0: - resolution: {integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==} - engines: {node: '>=0.10.0'} - dependencies: - normalize-path: 2.1.1 - dev: true - /unpipe/1.0.0: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} @@ -23855,18 +21114,6 @@ packages: xdg-basedir: 4.0.0 dev: false - /upper-case-first/2.0.2: - resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} - dependencies: - tslib: 2.4.1 - dev: true - - /upper-case/2.0.2: - resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} - dependencies: - tslib: 2.4.1 - dev: true - /uri-js/4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: @@ -23919,17 +21166,6 @@ packages: resolution: {integrity: sha512-RtuPeMy7c1UrHwproMZN9gN6kiZ0SvJwRaEzwZY0j9MypEkFqyBaKv176jvlPtg58Zh36bOkS0NFABXMHvvGCA==} dev: false - /urql/3.0.3_onqnqwb3ubg5opvemcqf7c2qhy: - resolution: {integrity: sha512-aVUAMRLdc5AOk239DxgXt6ZxTl/fEmjr7oyU5OGo8uvpqu42FkeJErzd2qBzhAQ3DyusoZIbqbBLPlnKo/yy2A==} - peerDependencies: - graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || 16 - react: '>= 16.8.0 || 18' - dependencies: - '@urql/core': 3.0.3_graphql@16.6.0 - graphql: 16.6.0 - react: 18.2.0 - wonka: 6.0.0 - /use-sync-external-store/1.2.0_react@18.2.0: resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} peerDependencies: @@ -23998,6 +21234,7 @@ packages: /v8-compile-cache-lib/3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + dev: false /v8-to-istanbul/9.0.1: resolution: {integrity: sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==} @@ -24030,11 +21267,6 @@ packages: builtins: 1.0.3 dev: false - /value-or-promise/1.0.11: - resolution: {integrity: sha512-41BrgH+dIbCFXClcSapVs5M6GkENd3gQOJpEfPDNa71LsUGMXDL0jMWpI/Rh7WhX+Aalfz2TTS3Zt5pUsbnhLg==} - engines: {node: '>=12'} - dev: true - /vary/1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} @@ -24120,10 +21352,6 @@ packages: resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==} dev: true - /vscode-languageserver-types/3.17.2: - resolution: {integrity: sha512-zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA==} - dev: true - /vscode-oniguruma/1.6.2: resolution: {integrity: sha512-KH8+KKov5eS/9WhofZR8M8dMHWN2gTxjMsG4jd04YhpbPR91fUj7rYQ2/XjeHCJWbg7X++ApRIU9NUwM2vTvLA==} dev: false @@ -24226,31 +21454,6 @@ packages: - encoding dev: false - /web-streams-polyfill/3.2.1: - resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} - engines: {node: '>= 8'} - dev: true - - /web-streams-polyfill/4.0.0-beta.1: - resolution: {integrity: sha512-3ux37gEX670UUphBF9AMCq8XM6iQ8Ac6A+DSRRjDoRBm1ufCkaCDdNVbaqq60PsEkdNlLKrGtv/YBP4EJXqNtQ==} - engines: {node: '>= 12'} - dev: true - - /web-streams-polyfill/4.0.0-beta.3: - resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==} - engines: {node: '>= 14'} - dev: true - - /webcrypto-core/1.7.5: - resolution: {integrity: sha512-gaExY2/3EHQlRNNNVSrbG2Cg94Rutl7fAaKILS1w8ZDhGxdFOaw6EbCfHIxPy9vt/xwp5o0VQAx9aySPF6hU1A==} - dependencies: - '@peculiar/asn1-schema': 2.3.0 - '@peculiar/json-schema': 1.1.12 - asn1js: 3.0.5 - pvtsutils: 1.3.2 - tslib: 2.4.1 - dev: true - /webidl-conversions/3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} @@ -24563,11 +21766,9 @@ packages: dependencies: string-width: 4.2.3 - /wonka/6.0.0: - resolution: {integrity: sha512-TEiIOqkhQXbcmL1RrjxPCzTX15V5FSyJvZRSiTxvgTgrJMaOVKmzGTdRVh349CfaNo9dsIhWDyg1/GNq4NWrEg==} - /wonka/6.1.1: resolution: {integrity: sha512-shBtyZ0KFvUadtnDGlTRA4mF4pgcRoyZKikdputKhmShoXWcZDvlg6CUw6Jx9nTL7Ub8QUJoIarPpxdlosg9cw==} + dev: false /word-wrap/1.2.3: resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} @@ -24602,15 +21803,6 @@ packages: strip-ansi: 4.0.0 dev: false - /wrap-ansi/4.0.0: - resolution: {integrity: sha512-uMTsj9rDb0/7kk1PbcbCcwvHUxp60fGDB/NNXpVa0Q+ic/e7y5+BwTxKfQ33VYgDppSwi/FBzpetYzo8s6tfbg==} - engines: {node: '>=6'} - dependencies: - ansi-styles: 3.2.1 - string-width: 2.1.1 - strip-ansi: 4.0.0 - dev: true - /wrap-ansi/6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} engines: {node: '>=8'} @@ -24646,33 +21838,6 @@ packages: signal-exit: 3.0.7 dev: true - /ws/5.2.3: - resolution: {integrity: sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA==} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dependencies: - async-limiter: 1.0.1 - dev: true - - /ws/7.4.2: - resolution: {integrity: sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==} - engines: {node: '>=8.3.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: true - /ws/7.5.9: resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} engines: {node: '>=8.3.0'} @@ -24711,19 +21876,6 @@ packages: optional: true dev: false - /ws/8.8.1: - resolution: {integrity: sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: true - /x-default-browser/0.4.0: resolution: {integrity: sha512-7LKo7RtWfoFN/rHx1UELv/2zHGMx8MkZKDq1xENmOCTkfIqZJ0zZ26NEJX8czhnPXVcqS0ARjjfJB+eJ0/5Cvw==} hasBin: true @@ -24772,10 +21924,6 @@ packages: /yallist/4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - /yaml-ast-parser/0.0.43: - resolution: {integrity: sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==} - dev: true - /yaml/1.10.2: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} @@ -24877,6 +22025,7 @@ packages: /yn/3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} + dev: false /yocto-queue/0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} @@ -24884,6 +22033,7 @@ packages: /zod/3.19.1: resolution: {integrity: sha512-LYjZsEDhCdYET9ikFu6dVPGp2YH9DegXjdJToSzD9rO6fy4qiRYFoyEYwps88OseJlPyl2NOe2iJuhEhL7IpEA==} + dev: false /zwitch/1.0.5: resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==} @@ -24907,23 +22057,3 @@ packages: transitivePeerDependencies: - encoding dev: false - - /zx/7.0.8: - resolution: {integrity: sha512-sNjfDHzskqrSkWNj0TVhaowVK5AbpvuyuO1RBU4+LrFcgYI5u9CtyWWgUBRtRZl3bgGEF31zByszoBmwS47d1w==} - engines: {node: '>= 16.0.0'} - hasBin: true - dependencies: - '@types/fs-extra': 9.0.13 - '@types/minimist': 1.2.2 - '@types/node': 18.7.16 - '@types/ps-tree': 1.1.2 - '@types/which': 2.0.1 - chalk: 5.0.1 - fs-extra: 10.1.0 - globby: 13.1.2 - minimist: 1.2.6 - node-fetch: 3.2.8 - ps-tree: 1.2.0 - which: 2.0.2 - yaml: 2.1.3 - dev: true diff --git a/turbo.json b/turbo.json index cb420223c..8e3a687da 100644 --- a/turbo.json +++ b/turbo.json @@ -1,9 +1,8 @@ { "$schema": "https://turborepo.org/schema.json", - "baseBranch": "origin/main", "pipeline": { "build": { - "dependsOn": ["^build"] + "dependsOn": ["^build", "^db:generate"] }, "test": { "outputs": [] @@ -12,6 +11,7 @@ "outputs": [] }, "dev": { + "dependsOn": ["^db:generate"], "cache": false }, "@chirpy-dev/main-app#build": { @@ -36,8 +36,10 @@ "build:local": { "cache": false }, - "@chirpy-dev/graphql": { - "inputs": ["src/**/*.graphql"], + "db:generate": { + "cache": false + }, + "db:push": { "cache": false } }, From 88b4c87f528c372c807b79ea824462e7162356f5 Mon Sep 17 00:00:00 2001 From: Qing <7880675+devrsi0n@users.noreply.github.com> Date: Sun, 27 Nov 2022 16:11:47 +0800 Subject: [PATCH 19/34] refactor: revalidate api --- apps/main/src/middleware.ts | 3 +- apps/main/src/pages/api/revalidate/theme.ts | 7 ---- apps/main/src/pages/api/revalidate/widgets.ts | 7 ---- .../src/server/services/revalidate/theme.ts | 18 ----------- .../src/server/services/revalidate/widgets.ts | 32 ------------------- packages/trpc/src/router/index.ts | 2 ++ packages/trpc/src/router/revalidate.ts | 31 ++++++++++++++++++ .../src/blocks/theme-editor/theme-editor.tsx | 3 +- .../ui/src/blocks/theme-editor/utilities.ts | 21 +++++++----- 9 files changed, 49 insertions(+), 75 deletions(-) delete mode 100644 apps/main/src/pages/api/revalidate/theme.ts delete mode 100644 apps/main/src/pages/api/revalidate/widgets.ts delete mode 100644 apps/main/src/server/services/revalidate/theme.ts delete mode 100644 apps/main/src/server/services/revalidate/widgets.ts create mode 100644 packages/trpc/src/router/revalidate.ts diff --git a/apps/main/src/middleware.ts b/apps/main/src/middleware.ts index f7e19c69a..deeb4ebb8 100644 --- a/apps/main/src/middleware.ts +++ b/apps/main/src/middleware.ts @@ -18,7 +18,6 @@ export const config = { '/analytics/:path*', '/profile/:path*', '/theme/:path*', - '/api/mutation-event', - '/api/revalidate/widgets', + '/api/content-classifier/toxic-text', ], }; diff --git a/apps/main/src/pages/api/revalidate/theme.ts b/apps/main/src/pages/api/revalidate/theme.ts deleted file mode 100644 index cb273371b..000000000 --- a/apps/main/src/pages/api/revalidate/theme.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { getAPIHandler } from '$/server/common/api-handler'; -import { revalidateTheme } from '$/server/services/revalidate/theme'; - -const handler = getAPIHandler(); -handler.get(revalidateTheme); - -export default handler; diff --git a/apps/main/src/pages/api/revalidate/widgets.ts b/apps/main/src/pages/api/revalidate/widgets.ts deleted file mode 100644 index 48a639f86..000000000 --- a/apps/main/src/pages/api/revalidate/widgets.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { getAPIHandler } from '$/server/common/api-handler'; -import { revalidateWidgets } from '$/server/services/revalidate/widgets'; - -const handler = getAPIHandler(); -handler.get(revalidateWidgets); - -export default handler; diff --git a/apps/main/src/server/services/revalidate/theme.ts b/apps/main/src/server/services/revalidate/theme.ts deleted file mode 100644 index 76f333174..000000000 --- a/apps/main/src/server/services/revalidate/theme.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { NextApiRequest, NextApiResponse } from 'next'; - -import { badRequest } from '$/server/utilities/response'; - -export async function revalidateTheme( - req: NextApiRequest, - res: NextApiResponse, -) { - const domain = req.query.domain; - if (typeof domain !== 'string' || domain.length === 0) { - badRequest(res, 'Invalid domain'); - return; - } - res.revalidate(`/theme/${domain}`); - res.json({ - message: 'ok', - }); -} diff --git a/apps/main/src/server/services/revalidate/widgets.ts b/apps/main/src/server/services/revalidate/widgets.ts deleted file mode 100644 index f118533c9..000000000 --- a/apps/main/src/server/services/revalidate/widgets.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { prisma, revalidateCommentWidgets } from '@chirpy-dev/trpc'; -import { NextApiRequest, NextApiResponse } from 'next'; - -import { badRequest } from '$/server/utilities/response'; - -export async function revalidateWidgets( - req: NextApiRequest, - res: NextApiResponse, -) { - const projectId = req.query.projectId; - if (typeof projectId !== 'string' || projectId.length === 0) { - badRequest(res, 'Invalid projectId'); - return; - } - const project = await prisma.project.findUnique({ - where: { - id: projectId, - }, - select: { - pages: { - select: { - url: true, - }, - }, - }, - }); - const pageURLs = project?.pages.map((p) => p.url) || []; - await revalidateCommentWidgets(pageURLs, res); - res.json({ - message: 'ok', - }); -} diff --git a/packages/trpc/src/router/index.ts b/packages/trpc/src/router/index.ts index 3aae21857..9734e4a2d 100644 --- a/packages/trpc/src/router/index.ts +++ b/packages/trpc/src/router/index.ts @@ -3,6 +3,7 @@ import { commentRouter } from './comment'; import { likeRouter } from './like'; import { notificationRouter } from './notification'; import { projectRouter } from './project'; +import { revalidateRouter } from './revalidate'; import { userRouter } from './user'; export const appRouter = router({ @@ -11,6 +12,7 @@ export const appRouter = router({ project: projectRouter, comment: commentRouter, like: likeRouter, + revalidate: revalidateRouter, }); export type AppRouter = typeof appRouter; diff --git a/packages/trpc/src/router/revalidate.ts b/packages/trpc/src/router/revalidate.ts new file mode 100644 index 000000000..b6ecdde00 --- /dev/null +++ b/packages/trpc/src/router/revalidate.ts @@ -0,0 +1,31 @@ +import { z } from 'zod'; + +import { prisma } from '../common/db-client'; +import { revalidateCommentWidgets } from '../common/revalidate'; +import { router, protectedProcedure } from '../trpc-server'; + +export const revalidateRouter = router({ + widget: protectedProcedure + .input(z.object({ projectId: z.string() })) + .mutation(async ({ input, ctx }) => { + const project = await prisma.project.findUnique({ + where: { + id: input.projectId, + }, + select: { + pages: { + select: { + url: true, + }, + }, + }, + }); + const pageURLs = project?.pages.map((p) => p.url) || []; + await revalidateCommentWidgets(pageURLs, ctx.res); + }), + theme: protectedProcedure + .input(z.object({ domain: z.string() })) + .mutation(async ({ input, ctx }) => { + await ctx.res.revalidate(`/theme/${input.domain}`); + }), +}); diff --git a/packages/ui/src/blocks/theme-editor/theme-editor.tsx b/packages/ui/src/blocks/theme-editor/theme-editor.tsx index 53793f2f1..24dd5d294 100644 --- a/packages/ui/src/blocks/theme-editor/theme-editor.tsx +++ b/packages/ui/src/blocks/theme-editor/theme-editor.tsx @@ -20,7 +20,7 @@ import { } from '../comment-widget-preview'; import { ColorPicker, ColorSeriesPicker } from './color-picker'; import { COLOR_OPTIONS, useActiveColorMode, useColors } from './colors'; -import { hslToHex, revalidateProjectPages } from './utilities'; +import { hslToHex, useRevalidateProjectPages } from './utilities'; export const THEME_WIDGET_CLS = 'theme-widget'; @@ -34,6 +34,7 @@ export function ThemeEditor(props: ThemeEditorProps): JSX.Element { const { mutateAsync: updateTheme } = trpcClient.project.updateTheme.useMutation(); const { showToast } = useToast(); + const revalidateProjectPages = useRevalidateProjectPages(); const saveTheme = debounce( React.useCallback( async (newTheme: Theme) => { diff --git a/packages/ui/src/blocks/theme-editor/utilities.ts b/packages/ui/src/blocks/theme-editor/utilities.ts index e1649fdaa..3f93ae132 100644 --- a/packages/ui/src/blocks/theme-editor/utilities.ts +++ b/packages/ui/src/blocks/theme-editor/utilities.ts @@ -1,13 +1,18 @@ import { translateHslColor } from '../../contexts/theme-context/utilities'; +import { trpcClient } from '../../utilities/trpc-client'; -export async function revalidateProjectPages( - projectId: string, - domain: string, -) { - return await Promise.allSettled([ - fetch(`/api/revalidate/widgets?projectId=${projectId}`), - fetch(`/api/revalidate/theme?domain=${domain}`), - ]); +export function useRevalidateProjectPages() { + const { mutateAsync: revalidateWidget } = + trpcClient.revalidate.widget.useMutation(); + const { mutateAsync: revalidateTheme } = + trpcClient.revalidate.theme.useMutation(); + + return async (projectId: string, domain: string) => { + await Promise.all([ + revalidateWidget({ projectId }), + revalidateTheme({ domain }), + ]); + }; } export function hslToHex(hslColor: string) { From ac7fc6fa006ab39e9a2f6f64f1850e0a85bba56d Mon Sep 17 00:00:00 2001 From: Qing <7880675+devrsi0n@users.noreply.github.com> Date: Sun, 27 Nov 2022 16:49:19 +0800 Subject: [PATCH 20/34] refactor: remove hasura stuff --- .github/workflows/bundle-analysis.yml | 4 - .github/workflows/cypress.yml | 2 - .github/workflows/hasura-cdyml | 42 ---- .github/workflows/release.yml | 4 - .graphqlrc | 5 - .prettierignore | 3 - apps/e2e/cypress/plugins/index.ts | 4 - apps/e2e/cypress/support/commands.ts | 2 - apps/main/.env-tmpl | 5 - apps/main/.env.docker | 2 - apps/main/src/middleware.ts | 2 +- apps/main/src/pages/analytics/[domain].tsx | 5 +- .../main/src/server/utilities/create-token.ts | 45 ---- apps/main/tsconfig.json | 7 +- packages/trpc/src/auth/auth-options.ts | 11 +- packages/trpc/src/auth/auth-providers.ts | 1 - packages/trpc/src/auth/index.ts | 1 - packages/trpc/src/middlerware.ts | 1 + .../trpc/src/mutation-event/like-handler.ts | 2 +- packages/types/src/index.ts | 2 - packages/ui/.storybook/msw/gql-handlers.ts | 52 ----- packages/ui/.storybook/msw/rest-handlers.ts | 1 - .../fixtures/server/rest-handlers.ts | 1 - .../src/__tests__/mocks/mock-use-session.ts | 1 - .../src/blocks/comment-card/comment-card.tsx | 6 +- .../predefined-current-user.tsx | 4 +- .../comment-context/use-create-a-comment.ts | 3 +- .../comment-context/use-delete-a-comment.ts | 3 +- packages/ui/src/pages/analytics/domain.tsx | 4 +- packages/ui/src/pages/app.tsx | 8 +- packages/utils/src/constants.ts | 1 - services/hasura/Caddyfile.eta | 3 - services/hasura/config.eta | 7 - services/hasura/docker-compose.eta | 47 ---- services/hasura/metadata/actions.graphql | 0 services/hasura/metadata/actions.yaml | 6 - services/hasura/metadata/allow_list.yaml | 1 - services/hasura/metadata/api_limits.yaml | 1 - services/hasura/metadata/cron_triggers.yaml | 1 - .../hasura/metadata/databases/databases.yaml | 14 -- .../default/tables/public_Account.yaml | 41 ---- .../tables/public_AccountProvider.yaml | 24 --- .../default/tables/public_Comment.yaml | 93 -------- .../databases/default/tables/public_Like.yaml | 64 ------ .../default/tables/public_Member.yaml | 39 ---- .../tables/public_NotificationMessage.yaml | 57 ----- .../public_NotificationSubscription.yaml | 20 -- .../tables/public_NotificationType.yaml | 12 -- .../databases/default/tables/public_Page.yaml | 39 ---- .../default/tables/public_Project.yaml | 75 ------- .../databases/default/tables/public_Role.yaml | 25 --- .../default/tables/public_Session.yaml | 20 -- .../databases/default/tables/public_Team.yaml | 43 ---- .../databases/default/tables/public_User.yaml | 116 ---------- .../default/tables/public_UserType.yaml | 25 --- .../tables/public_VerificationToken.yaml | 16 -- .../databases/default/tables/tables.yaml | 15 -- .../graphql_schema_introspection.yaml | 1 - services/hasura/metadata/inherited_roles.yaml | 1 - services/hasura/metadata/network.yaml | 1 - .../hasura/metadata/query_collections.yaml | 1 - services/hasura/metadata/remote_schemas.yaml | 1 - services/hasura/metadata/rest_endpoints.yaml | 1 - services/hasura/metadata/version.yaml | 1 - .../default/1639883511656_init/up.sql | 203 ------------------ .../1645257244801_web-notification/down.sql | 17 -- .../1645257244801_web-notification/up.sql | 11 - .../down.sql | 4 - .../up.sql | 2 - .../down.sql | 1 - .../up.sql | 1 - .../down.sql | 2 - .../up.sql | 2 - .../down.sql | 1 - .../up.sql | 1 - .../default/1638093766928_table1_seed.sql | 3 - .../default/1638093796112_table1_seed.sql | 5 - .../seeds/default/1639909399233_user.sql | 3 - .../1644593326723_NotificationType.sql | 5 - turbo.json | 4 +- 80 files changed, 26 insertions(+), 1284 deletions(-) delete mode 100644 .github/workflows/hasura-cdyml delete mode 100644 .graphqlrc delete mode 100644 apps/main/src/server/utilities/create-token.ts create mode 100644 packages/trpc/src/middlerware.ts delete mode 100644 packages/ui/.storybook/msw/gql-handlers.ts delete mode 100644 services/hasura/Caddyfile.eta delete mode 100644 services/hasura/config.eta delete mode 100644 services/hasura/docker-compose.eta delete mode 100644 services/hasura/metadata/actions.graphql delete mode 100644 services/hasura/metadata/actions.yaml delete mode 100644 services/hasura/metadata/allow_list.yaml delete mode 100644 services/hasura/metadata/api_limits.yaml delete mode 100644 services/hasura/metadata/cron_triggers.yaml delete mode 100644 services/hasura/metadata/databases/databases.yaml delete mode 100644 services/hasura/metadata/databases/default/tables/public_Account.yaml delete mode 100644 services/hasura/metadata/databases/default/tables/public_AccountProvider.yaml delete mode 100644 services/hasura/metadata/databases/default/tables/public_Comment.yaml delete mode 100644 services/hasura/metadata/databases/default/tables/public_Like.yaml delete mode 100644 services/hasura/metadata/databases/default/tables/public_Member.yaml delete mode 100644 services/hasura/metadata/databases/default/tables/public_NotificationMessage.yaml delete mode 100644 services/hasura/metadata/databases/default/tables/public_NotificationSubscription.yaml delete mode 100644 services/hasura/metadata/databases/default/tables/public_NotificationType.yaml delete mode 100644 services/hasura/metadata/databases/default/tables/public_Page.yaml delete mode 100644 services/hasura/metadata/databases/default/tables/public_Project.yaml delete mode 100644 services/hasura/metadata/databases/default/tables/public_Role.yaml delete mode 100644 services/hasura/metadata/databases/default/tables/public_Session.yaml delete mode 100644 services/hasura/metadata/databases/default/tables/public_Team.yaml delete mode 100644 services/hasura/metadata/databases/default/tables/public_User.yaml delete mode 100644 services/hasura/metadata/databases/default/tables/public_UserType.yaml delete mode 100644 services/hasura/metadata/databases/default/tables/public_VerificationToken.yaml delete mode 100644 services/hasura/metadata/databases/default/tables/tables.yaml delete mode 100644 services/hasura/metadata/graphql_schema_introspection.yaml delete mode 100644 services/hasura/metadata/inherited_roles.yaml delete mode 100644 services/hasura/metadata/network.yaml delete mode 100644 services/hasura/metadata/query_collections.yaml delete mode 100644 services/hasura/metadata/remote_schemas.yaml delete mode 100644 services/hasura/metadata/rest_endpoints.yaml delete mode 100644 services/hasura/metadata/version.yaml delete mode 100644 services/hasura/migrations/default/1639883511656_init/up.sql delete mode 100644 services/hasura/migrations/default/1645257244801_web-notification/down.sql delete mode 100644 services/hasura/migrations/default/1645257244801_web-notification/up.sql delete mode 100644 services/hasura/migrations/default/1648560890435_alter_table_public_NotificationMessage_add_column_content/down.sql delete mode 100644 services/hasura/migrations/default/1648560890435_alter_table_public_NotificationMessage_add_column_content/up.sql delete mode 100644 services/hasura/migrations/default/1648562341133_alter_table_public_NotificationMessage_alter_column_content/down.sql delete mode 100644 services/hasura/migrations/default/1648562341133_alter_table_public_NotificationMessage_alter_column_content/up.sql delete mode 100644 services/hasura/migrations/default/1648956555236_alter_table_public_NotificationSubscription_add_unique_subscription_userId/down.sql delete mode 100644 services/hasura/migrations/default/1648956555236_alter_table_public_NotificationSubscription_add_unique_subscription_userId/up.sql delete mode 100644 services/hasura/migrations/default/1661586890401_alter_table_public_User_alter_column_image/down.sql delete mode 100644 services/hasura/migrations/default/1661586890401_alter_table_public_User_alter_column_image/up.sql delete mode 100644 services/hasura/seeds/default/1638093766928_table1_seed.sql delete mode 100644 services/hasura/seeds/default/1638093796112_table1_seed.sql delete mode 100644 services/hasura/seeds/default/1639909399233_user.sql delete mode 100644 services/hasura/seeds/default/1644593326723_NotificationType.sql diff --git a/.github/workflows/bundle-analysis.yml b/.github/workflows/bundle-analysis.yml index b56a4d2be..f08950592 100644 --- a/.github/workflows/bundle-analysis.yml +++ b/.github/workflows/bundle-analysis.yml @@ -48,11 +48,7 @@ jobs: ANALYZE: true RELATIVE_CI_KEY: ${{ secrets.RELATIVE_CI_KEY }} NEXTAUTH_SECRET: ${{ secrets.NEXTAUTH_SECRET }} - HASURA_EVENT_SECRET: ${{ secrets.HASURA_EVENT_SECRET }} HASH_ALGORITHM: ${{ secrets.HASH_ALGORITHM }} - HASURA_ADMIN_SECRET: ${{ secrets.HASURA_ADMIN_SECRET }} NEXTAUTH_URL: ${{ secrets.NEXTAUTH_URL }} NEXT_PUBLIC_ANALYTICS_DOMAIN: ${{ secrets.NEXT_PUBLIC_ANALYTICS_DOMAIN }} NEXT_PUBLIC_APP_URL: ${{ secrets.NEXT_PUBLIC_APP_URL }} - NEXT_PUBLIC_HASURA_HTTP_ORIGIN: ${{ secrets.NEXT_PUBLIC_HASURA_HTTP_ORIGIN }} - NEXT_PUBLIC_HASURA_WS_ORIGIN: ${{ secrets.NEXT_PUBLIC_HASURA_WS_ORIGIN }} diff --git a/.github/workflows/cypress.yml b/.github/workflows/cypress.yml index 2d82c0749..c7173bcb2 100644 --- a/.github/workflows/cypress.yml +++ b/.github/workflows/cypress.yml @@ -55,7 +55,5 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} NEXTAUTH_SECRET: ${{ secrets.NEXTAUTH_SECRET }} TEST_USER_ID: ${{ secrets.TEST_USER_ID }} - HASURA_EVENT_SECRET: ${{ secrets.HASURA_EVENT_SECRET }} - NEXT_PUBLIC_HASURA_HTTP_ORIGIN: ${{ secrets.NEXT_PUBLIC_HASURA_HTTP_ORIGIN }} # DEBUG: 'cypress:*' # DEBUG_DEPTH: 9 diff --git a/.github/workflows/hasura-cdyml b/.github/workflows/hasura-cdyml deleted file mode 100644 index 63ddd4c27..000000000 --- a/.github/workflows/hasura-cdyml +++ /dev/null @@ -1,42 +0,0 @@ -# Disabled for now -name: Hasura CI/CD - -on: - push: - branches: - - main - - prod - -jobs: - deploy: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - - name: Inject slug/short variables - uses: rlespinasse/github-slug-action@v4 - - - name: Staging - # Only run it when the PR target branch is 'main' - if: ${{ env.GITHUB_REF_SLUG == 'main' }} - uses: GavinRay97/hasura-ci-cd-action@master - with: - PATH_TO_HASURA_PROJECT_ROOT: ./services/hasura - HASURA_CLI_VERSION: v2.1.1 - HASURA_ENDPOINT: https://hasura-staging.chirpy.dev - HASURA_ADMIN_SECRET: ${{ secrets.HASURA_ADMIN_SECRET }} - # If you want to disable either migrations or regression tests, make sure to remove them completely - # The script only checks for their presence, not their value - HASURA_MIGRATIONS_ENABLED: true - HASURA_SEEDS_ENABLED: true - - - name: Prod - if: ${{ env.GITHUB_REF_SLUG == 'prod' }} - uses: GavinRay97/hasura-ci-cd-action@master - with: - PATH_TO_HASURA_PROJECT_ROOT: ./services/hasura - HASURA_CLI_VERSION: v2.1.1 - HASURA_ENDPOINT: https://hasura.chirpy.dev - HASURA_ADMIN_SECRET: ${{ secrets.HASURA_ADMIN_SECRET }} - HASURA_MIGRATIONS_ENABLED: true - HASURA_SEEDS_ENABLED: true diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2d4c6cd2a..3de751301 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -55,11 +55,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} NEXTAUTH_SECRET: ${{ secrets.NEXTAUTH_SECRET }} - HASURA_EVENT_SECRET: ${{ secrets.HASURA_EVENT_SECRET }} HASH_ALGORITHM: ${{ secrets.HASH_ALGORITHM }} - HASURA_ADMIN_SECRET: ${{ secrets.HASURA_ADMIN_SECRET }} NEXTAUTH_URL: ${{ secrets.NEXTAUTH_URL }} NEXT_PUBLIC_ANALYTICS_DOMAIN: ${{ secrets.NEXT_PUBLIC_ANALYTICS_DOMAIN }} NEXT_PUBLIC_APP_URL: ${{ secrets.NEXT_PUBLIC_APP_URL }} - NEXT_PUBLIC_HASURA_HTTP_ORIGIN: ${{ secrets.NEXT_PUBLIC_HASURA_HTTP_ORIGIN }} - NEXT_PUBLIC_HASURA_WS_ORIGIN: ${{ secrets.NEXT_PUBLIC_HASURA_WS_ORIGIN }} diff --git a/.graphqlrc b/.graphqlrc deleted file mode 100644 index 58a0c5118..000000000 --- a/.graphqlrc +++ /dev/null @@ -1,5 +0,0 @@ -schema: - - http://127.0.0.1:8080/v1/graphql: - headers: - x-hasura-admin-secret: myadminsecretkey -documents: 'apps/main/**/*.graphql' \ No newline at end of file diff --git a/.prettierignore b/.prettierignore index 354af7844..4cb0c0603 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,10 +1,7 @@ .github/ISSUE_TEMPLATE **/.next **/.cache -**/generated -services/hasura/metadata .github/PULL_REQUEST_TEMPLATE.md pnpm-lock.yaml -**/schema.graphql **/email/templates/*.html diff --git a/apps/e2e/cypress/plugins/index.ts b/apps/e2e/cypress/plugins/index.ts index a9848e12d..66206ada7 100644 --- a/apps/e2e/cypress/plugins/index.ts +++ b/apps/e2e/cypress/plugins/index.ts @@ -20,9 +20,5 @@ export default function Plugins( 0, 23, ); - config.env.HASURA_EVENT_SECRET = process.env.HASURA_EVENT_SECRET; - config.env.NEXT_PUBLIC_HASURA_HTTP_ORIGIN = - process.env.NEXT_PUBLIC_HASURA_HTTP_ORIGIN; - return config; } diff --git a/apps/e2e/cypress/support/commands.ts b/apps/e2e/cypress/support/commands.ts index 8cf47f83d..ebfee1472 100644 --- a/apps/e2e/cypress/support/commands.ts +++ b/apps/e2e/cypress/support/commands.ts @@ -28,8 +28,6 @@ import '@testing-library/cypress/add-commands'; import { waitGraphql } from '../fixtures/utils'; Cypress.Commands.add('login', () => { - cy.intercept(Cypress.env('NEXT_PUBLIC_HASURA_HTTP_ORIGIN')).as('graphql'); - cy.visit('/auth/sign-in?allowAnonymous=true'); cy.get('input[name=name]').type(Cypress.env('TEST_USER_ID')); cy.get('button[type=submit]').click(); diff --git a/apps/main/.env-tmpl b/apps/main/.env-tmpl index 483e340f6..ba6ee61af 100644 --- a/apps/main/.env-tmpl +++ b/apps/main/.env-tmpl @@ -1,12 +1,7 @@ # Default value for local development -NEXT_PUBLIC_HASURA_HTTP_ORIGIN="http://localhost:8080/v1/graphql" -NEXT_PUBLIC_HASURA_WS_ORIGIN="ws://localhost:8080/v1/graphql" NEXT_PUBLIC_APP_URL=http://localhost:3000 NEXT_PUBLIC_ANALYTICS_DOMAIN=http://localhost:8000 -HASURA_ADMIN_SECRET=myadminsecretkey -HASURA_EVENT_SECRET=myeventsecretkey - NEXTAUTH_URL=http://localhost:3000 # Copy the key of `HASURA_GRAPHQL_JWT_SECRET` from `services/hasura/docker-compose.local.yaml`, it used by next-auth and hasura NEXTAUTH_SECRET= diff --git a/apps/main/.env.docker b/apps/main/.env.docker index a4bcce72c..d4e2751f3 100644 --- a/apps/main/.env.docker +++ b/apps/main/.env.docker @@ -1,7 +1,5 @@ # Used by docker to generate runtime public env var -NEXT_PUBLIC_HASURA_HTTP_ORIGIN= -NEXT_PUBLIC_HASURA_WS_ORIGIN= NEXT_PUBLIC_APP_URL= NEXT_PUBLIC_ANALYTICS_DOMAIN= NEXT_PUBLIC_VAPID= diff --git a/apps/main/src/middleware.ts b/apps/main/src/middleware.ts index deeb4ebb8..3f16eb0c0 100644 --- a/apps/main/src/middleware.ts +++ b/apps/main/src/middleware.ts @@ -1,4 +1,4 @@ -import { withAuth } from '@chirpy-dev/trpc'; +import { withAuth } from '@chirpy-dev/trpc/src/middlerware'; export default withAuth({ callbacks: { diff --git a/apps/main/src/pages/analytics/[domain].tsx b/apps/main/src/pages/analytics/[domain].tsx index 000dc7b63..f9791061f 100644 --- a/apps/main/src/pages/analytics/[domain].tsx +++ b/apps/main/src/pages/analytics/[domain].tsx @@ -36,10 +36,7 @@ export const getStaticProps: GetStaticProps< return { props: { - project: { - ...project, - createdAt: project.createdAt.toISOString(), - }, + project, }, // Only need the createdAt data revalidate: 24 * 60 * 60, diff --git a/apps/main/src/server/utilities/create-token.ts b/apps/main/src/server/utilities/create-token.ts deleted file mode 100644 index 8486dad1c..000000000 --- a/apps/main/src/server/utilities/create-token.ts +++ /dev/null @@ -1,45 +0,0 @@ -import * as jwt from 'jsonwebtoken'; - -type Payload = { userId: string; name: string; email: string }; -type Options = { - maxAge: number | string; - allowedRoles: string[]; - defaultRole: string; - role: string; - hasuraClaims?: Record; -}; - -function createAuthToken(payload: Payload, options: Options): string { - const { maxAge, allowedRoles, defaultRole, role, hasuraClaims } = options; - const jwtClaims = { - sub: payload.userId, - name: payload.name, - email: payload.email, - 'https://hasura.io/jwt/claims': { - // https://hasura.io/docs/latest/graphql/core/auth/authentication/jwt.html#the-spec - 'x-hasura-allowed-roles': allowedRoles, - 'x-hasura-default-role': defaultRole, - 'x-hasura-role': role, - 'x-hasura-user-id': payload.userId, - ...hasuraClaims, - }, - }; - const encodedToken = createToken(jwtClaims, { - maxAge, - }); - return encodedToken; -} - -function createToken( - payload: string | object | Buffer, - { maxAge }: { maxAge: string | number }, -) { - const encodedToken = jwt.sign(payload, process.env.NEXTAUTH_SECRET, { - algorithm: process.env.HASH_ALGORITHM as jwt.Algorithm, - expiresIn: maxAge, - }); - // log.debug({ payload, key: process.env.NEXTAUTH_SECRET }); - return encodedToken; -} - -export { createAuthToken, createToken }; diff --git a/apps/main/tsconfig.json b/apps/main/tsconfig.json index b1a24c83d..3794caaa9 100644 --- a/apps/main/tsconfig.json +++ b/apps/main/tsconfig.json @@ -9,10 +9,5 @@ } }, "exclude": ["node_modules", ".next"], - "include": [ - "typings/**/*.d.ts", - "src/**/*.ts", - "src/**/*.tsx", - "../../packages/trpc/src/router/services/register.ts" - ] + "include": ["typings/**/*.d.ts", "src/**/*.ts", "src/**/*.tsx"] } diff --git a/packages/trpc/src/auth/auth-options.ts b/packages/trpc/src/auth/auth-options.ts index df3b15b4c..acc58329c 100644 --- a/packages/trpc/src/auth/auth-options.ts +++ b/packages/trpc/src/auth/auth-options.ts @@ -9,6 +9,9 @@ import { prisma } from '../common/db-client'; import { authProviders } from './auth-providers'; import { defaultCookies } from './default-cookies'; +// Fix build TS error +import '../../typings/next-auth.d'; + export const nextAuthOptions: NextAuthOptions = { providers: authProviders, session: { @@ -69,10 +72,10 @@ export const nextAuthOptions: NextAuthOptions = { const editableProjectIds = userData?.projects.map(({ id }) => id); // Extra properties should be added here, jwt only save a small set of data due to cookie size limitation session.user = { - name: session.user.name || userData.name || '', - username: session.user.username || userData.username || '', - email: session.user.email || userData.email || '', - image: session.user.image || userData.image || '', + name: session.user?.name || userData.name || '', + username: userData.username || '', + email: session.user?.email || userData.email || '', + image: session.user?.image || userData.image || '', id: userId, editableProjectIds, }; diff --git a/packages/trpc/src/auth/auth-providers.ts b/packages/trpc/src/auth/auth-providers.ts index b9a46129b..981717798 100644 --- a/packages/trpc/src/auth/auth-providers.ts +++ b/packages/trpc/src/auth/auth-providers.ts @@ -68,7 +68,6 @@ export const authProviders: Provider[] = [ credentials?.name === process.env.TEST_USER_ID?.replace(/-/g, '').slice(0, 23) ) { - // Sync with `services/hasura/seeds/default/1639909399233_user.sql` const user = await prisma.user.findUnique({ where: { id: process.env.TEST_USER_ID, diff --git a/packages/trpc/src/auth/index.ts b/packages/trpc/src/auth/index.ts index 6b5a5b48b..24ffcdc22 100644 --- a/packages/trpc/src/auth/index.ts +++ b/packages/trpc/src/auth/index.ts @@ -2,4 +2,3 @@ export { default as NextAuth } from 'next-auth'; export { nextAuthOptions } from './auth-options'; export type { Profile as AuthProfile } from 'next-auth'; -export { withAuth } from 'next-auth/middleware'; diff --git a/packages/trpc/src/middlerware.ts b/packages/trpc/src/middlerware.ts new file mode 100644 index 000000000..dec05ec74 --- /dev/null +++ b/packages/trpc/src/middlerware.ts @@ -0,0 +1 @@ +export { withAuth } from 'next-auth/middleware'; diff --git a/packages/trpc/src/mutation-event/like-handler.ts b/packages/trpc/src/mutation-event/like-handler.ts index 0b1429dfd..bde520d24 100644 --- a/packages/trpc/src/mutation-event/like-handler.ts +++ b/packages/trpc/src/mutation-event/like-handler.ts @@ -10,7 +10,7 @@ export type EventPayload = { }; /** - * Handle hasura like event, trigger revalidation of the comment page. + * Handle like INSERT & DELETE event, trigger revalidation of the comment page. * Only create a passive notification message (it's a low priority message), * we may send a web push only if user enables it manually. */ diff --git a/packages/types/src/index.ts b/packages/types/src/index.ts index c8abaf231..3c4a6db0f 100644 --- a/packages/types/src/index.ts +++ b/packages/types/src/index.ts @@ -1,9 +1,7 @@ export * from './authentication'; export * from './page'; -export * from './request'; export * from './theme'; export * from './utilities'; -export * from './widget'; export * from './toxic-text'; export * from './file'; export * from './rte'; diff --git a/packages/ui/.storybook/msw/gql-handlers.ts b/packages/ui/.storybook/msw/gql-handlers.ts deleted file mode 100644 index e3f9ee81f..000000000 --- a/packages/ui/.storybook/msw/gql-handlers.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { graphql } from 'msw'; - -export const sbGqlHandlers = [ - graphql.query('currentUser', (req, res, ctx) => { - const { id } = req.variables; - return res( - ctx.data({ - userByPk: { - __typename: 'User', - id, - email: 'email@test.com', - username: 'testusername', - name: 'Test user', - image: 'https://avater.test', - bio: 'This is a bio for testing', - website: 'https://test.com', - twitterUserName: 'twittertest', - }, - }), - ); - }), - graphql.query('currentNotificationMessages', (req, res, ctx) => { - return res( - ctx.data({ - notificationMessages: [ - { - id: '4b1e5733-09d1-4a30-94ad-3a759a071b89', - recipient: { - id: 'ffd9d667-9b90-4a88-adde-a6dbf80111d0', - name: 'Qing', - username: 'qing', - email: 'qing@chirpy.dev', - image: 'https://avatars.githubusercontent.com/u/7880675?v=4', - }, - type: 'ReceivedAComment', - url: 'http://localhost:3000/play', - triggeredBy: { - id: 'ff157d69-2f7d-45c7-a577-1ee073564e60', - name: 'xia', - username: 'xia', - email: 'xia@gmail.com', - image: 'https://avatars.githubusercontent.com/u/02628451?v=4', - }, - content: 'testing', - read: false, - createdAt: '2022-04-20T12:39:18.284708+00:00', - }, - ], - }), - ); - }), -]; diff --git a/packages/ui/.storybook/msw/rest-handlers.ts b/packages/ui/.storybook/msw/rest-handlers.ts index a301ed814..50c2303b9 100644 --- a/packages/ui/.storybook/msw/rest-handlers.ts +++ b/packages/ui/.storybook/msw/rest-handlers.ts @@ -13,7 +13,6 @@ export const sbRestHandlers = [ editableProjectIds: ['2'], }, expires: '2099-05-30T13:00:21.586Z', - hasuraToken: 'a-token', }), ); }), diff --git a/packages/ui/src/__tests__/fixtures/server/rest-handlers.ts b/packages/ui/src/__tests__/fixtures/server/rest-handlers.ts index a770e6d03..a783ac901 100644 --- a/packages/ui/src/__tests__/fixtures/server/rest-handlers.ts +++ b/packages/ui/src/__tests__/fixtures/server/rest-handlers.ts @@ -77,7 +77,6 @@ export const restHandlers = [ ctx.status(200), ctx.json({ expires: '2099-12-31T23:59:59.999Z', - hasuraToken: 'radom-token-skjadfhnkj', user: { id: 'user-id', name: 'session user name', diff --git a/packages/ui/src/__tests__/mocks/mock-use-session.ts b/packages/ui/src/__tests__/mocks/mock-use-session.ts index 5215d8d57..03bad6e3c 100644 --- a/packages/ui/src/__tests__/mocks/mock-use-session.ts +++ b/packages/ui/src/__tests__/mocks/mock-use-session.ts @@ -6,7 +6,6 @@ const mockUseSession = jest.spyOn(authModule, 'useSession'); mockUseSession.mockReturnValue({ data: { - hasuraToken: 'random-string-for-testing', user: { id: 1, email: '', diff --git a/packages/ui/src/blocks/comment-card/comment-card.tsx b/packages/ui/src/blocks/comment-card/comment-card.tsx index 39862e72c..b4fce5445 100644 --- a/packages/ui/src/blocks/comment-card/comment-card.tsx +++ b/packages/ui/src/blocks/comment-card/comment-card.tsx @@ -33,8 +33,8 @@ export type CommentCardProps = { commentId: string; author: Author; content: RTEValue; - createdAt: string | Date; - deletedAt?: string | Date | null; + createdAt: Date; + deletedAt?: Date | null; likes: Like[]; depth: number; /** @@ -134,7 +134,7 @@ export function CommentCard({ as="time" title={createdAtDate.format('YYYY-MM-DD HH:mm:ss')} className="cursor-default !leading-none" - dateTime={createdAt} + dateTime={createdAtDate.toISOString()} > {createdAtDate.fromNow()} diff --git a/packages/ui/src/blocks/comment-widget-preview/predefined-current-user.tsx b/packages/ui/src/blocks/comment-widget-preview/predefined-current-user.tsx index 9eaba541d..38e06f04b 100644 --- a/packages/ui/src/blocks/comment-widget-preview/predefined-current-user.tsx +++ b/packages/ui/src/blocks/comment-widget-preview/predefined-current-user.tsx @@ -1,4 +1,4 @@ -import { noop } from '@chirpy-dev/utils'; +import { asyncNoop } from '@chirpy-dev/utils'; import * as React from 'react'; import { CurrentUserContext, CurrentUserContextType } from '../../contexts'; @@ -28,7 +28,7 @@ export function PredefinedCurrentUser( name: 'Michael', image: '/images/avatars/male-2.jpeg', }, - refetchUser: noop, + refetchUser: asyncNoop as any, }), ); React.useEffect(() => { diff --git a/packages/ui/src/contexts/comment-context/use-create-a-comment.ts b/packages/ui/src/contexts/comment-context/use-create-a-comment.ts index 67349f827..b17f675e0 100644 --- a/packages/ui/src/contexts/comment-context/use-create-a-comment.ts +++ b/packages/ui/src/contexts/comment-context/use-create-a-comment.ts @@ -1,4 +1,5 @@ import { RTEValue } from '@chirpy-dev/types'; +import { JSONContent } from '@chirpy-dev/utils'; import { JsonArray } from 'type-fest'; import { useToast } from '../../components/toast'; @@ -40,7 +41,7 @@ export function useCreateAComment({ id: data.id, userId: data.userId, parentId: data.parentId, - content: data.content as string, + content: data.content as JSONContent, }, }); await refetchComments(); diff --git a/packages/ui/src/contexts/comment-context/use-delete-a-comment.ts b/packages/ui/src/contexts/comment-context/use-delete-a-comment.ts index 34232021e..dec747643 100644 --- a/packages/ui/src/contexts/comment-context/use-delete-a-comment.ts +++ b/packages/ui/src/contexts/comment-context/use-delete-a-comment.ts @@ -1,3 +1,4 @@ +import { JSONContent } from '@tiptap/react'; import * as React from 'react'; import { useToast } from '../../components/toast'; @@ -22,7 +23,7 @@ export function useDeleteAComment(refetch: RefetchComment['refetchComment']) { id: data.id, userId: data.userId, parentId: data.parentId, - content: data.content as string, + content: data.content as JSONContent, }, }); await refetch(); diff --git a/packages/ui/src/pages/analytics/domain.tsx b/packages/ui/src/pages/analytics/domain.tsx index 88163e5cc..d3b3f0770 100644 --- a/packages/ui/src/pages/analytics/domain.tsx +++ b/packages/ui/src/pages/analytics/domain.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; -import { RouterOutputs } from 'src/utilities/trpc-client'; import { AnalyticsBlock, SiteLayout, PageTitle } from '../../blocks'; +import { RouterOutputs } from '../../utilities/trpc-client'; export type AnalyticsByDomainPageProps = { project: NonNullable; @@ -19,7 +19,7 @@ export function AnalyticsByDomainPage({ domain: project.domain, offset: '0', hasGoals: false, - insertedAt: String(project.createdAt), + insertedAt: project.createdAt.toISOString(), embedded: true, background: '', selfhosted: true, diff --git a/packages/ui/src/pages/app.tsx b/packages/ui/src/pages/app.tsx index cf9a5eb15..b43226d3b 100644 --- a/packages/ui/src/pages/app.tsx +++ b/packages/ui/src/pages/app.tsx @@ -1,5 +1,5 @@ import { CommonWidgetProps, PageProps } from '@chirpy-dev/types'; -import { ANALYTICS_DOMAIN, HASURA_TOKEN_MAX_AGE } from '@chirpy-dev/utils'; +import { ANALYTICS_DOMAIN } from '@chirpy-dev/utils'; import { LazyMotion } from 'framer-motion'; import { SessionProvider } from 'next-auth/react'; import PlausibleProvider from 'next-plausible'; @@ -17,11 +17,7 @@ export const App = trpcClient.withTRPC(function App({ }: AppProps): JSX.Element { return ( - + { - reverse_proxy graphql-engine:8080 -} \ No newline at end of file diff --git a/services/hasura/config.eta b/services/hasura/config.eta deleted file mode 100644 index 7dd955bd7..000000000 --- a/services/hasura/config.eta +++ /dev/null @@ -1,7 +0,0 @@ -version: 3 -endpoint: <%~ it.endpoint %> -admin_secret: <%~ it.admin_secret %> -metadata_directory: metadata -actions: - kind: synchronous - handler_webhook_baseurl: http://localhost:3000 diff --git a/services/hasura/docker-compose.eta b/services/hasura/docker-compose.eta deleted file mode 100644 index 12490bf61..000000000 --- a/services/hasura/docker-compose.eta +++ /dev/null @@ -1,47 +0,0 @@ -version: '3.6' -services: - postgres: - image: postgres:13 - ports: - - '5432:5432' - restart: always - volumes: - - db_data:/var/lib/postgresql/data - environment: - POSTGRES_PASSWORD: postgrespassword - graphql-engine: - image: hasura/graphql-engine:v2.5.1 - ports: - - '8080:8080' - depends_on: - - 'postgres' - restart: always - environment: - ## postgres database to store Hasura metadata - HASURA_GRAPHQL_METADATA_DATABASE_URL: postgres://postgres:postgrespassword@postgres:5432/postgres - ## this env var can be used to add the above postgres database to Hasura as a data source. this can be removed/updated based on your needs - HASURA_GRAPHQL_DATABASE_URL: postgres://postgres:postgrespassword@postgres:5432/postgres - ## enable the console served by server - HASURA_GRAPHQL_ENABLE_CONSOLE: 'false' - ## enable debugging mode. It is recommended to disable this in production - HASURA_GRAPHQL_DEV_MODE: 'false' - HASURA_GRAPHQL_ENABLED_LOG_TYPES: startup, http-log, webhook-log, websocket-log, query-log - HASURA_GRAPHQL_ADMIN_SECRET: <%~ it.HASURA_GRAPHQL_ADMIN_SECRET %> - HASURA_GRAPHQL_JWT_SECRET: '{"type":"HS512","key":"<%~ it.HASURA_GRAPHQL_JWT_SECRET %>"}' - HASURA_GRAPHQL_EVENT_URL: <%~ it.HASURA_GRAPHQL_EVENT_URL %>/api/mutation-event - # Custom env - HASURA_EVENT_SECRET: <%~ it.HASURA_EVENT_SECRET %> - caddy: - image: caddy/caddy - depends_on: - - 'graphql-engine' - restart: always - ports: - - '80:80' - - '443:443' - volumes: - - ./Caddyfile:/etc/caddy/Caddyfile - - caddy_certs:/root/.caddy -volumes: - db_data: - caddy_certs: diff --git a/services/hasura/metadata/actions.graphql b/services/hasura/metadata/actions.graphql deleted file mode 100644 index e69de29bb..000000000 diff --git a/services/hasura/metadata/actions.yaml b/services/hasura/metadata/actions.yaml deleted file mode 100644 index 1edb4c2ff..000000000 --- a/services/hasura/metadata/actions.yaml +++ /dev/null @@ -1,6 +0,0 @@ -actions: [] -custom_types: - enums: [] - input_objects: [] - objects: [] - scalars: [] diff --git a/services/hasura/metadata/allow_list.yaml b/services/hasura/metadata/allow_list.yaml deleted file mode 100644 index fe51488c7..000000000 --- a/services/hasura/metadata/allow_list.yaml +++ /dev/null @@ -1 +0,0 @@ -[] diff --git a/services/hasura/metadata/api_limits.yaml b/services/hasura/metadata/api_limits.yaml deleted file mode 100644 index 0967ef424..000000000 --- a/services/hasura/metadata/api_limits.yaml +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/services/hasura/metadata/cron_triggers.yaml b/services/hasura/metadata/cron_triggers.yaml deleted file mode 100644 index fe51488c7..000000000 --- a/services/hasura/metadata/cron_triggers.yaml +++ /dev/null @@ -1 +0,0 @@ -[] diff --git a/services/hasura/metadata/databases/databases.yaml b/services/hasura/metadata/databases/databases.yaml deleted file mode 100644 index 7243d6c18..000000000 --- a/services/hasura/metadata/databases/databases.yaml +++ /dev/null @@ -1,14 +0,0 @@ -- name: default - kind: postgres - configuration: - connection_info: - use_prepared_statements: true - database_url: - from_env: HASURA_GRAPHQL_DATABASE_URL - isolation_level: read-committed - pool_settings: - connection_lifetime: 600 - retries: 1 - idle_timeout: 180 - max_connections: 22 - tables: "!include default/tables/tables.yaml" diff --git a/services/hasura/metadata/databases/default/tables/public_Account.yaml b/services/hasura/metadata/databases/default/tables/public_Account.yaml deleted file mode 100644 index c8a6e5f89..000000000 --- a/services/hasura/metadata/databases/default/tables/public_Account.yaml +++ /dev/null @@ -1,41 +0,0 @@ -table: - schema: public - name: Account -configuration: - custom_root_fields: - insert: insertAccounts - select_aggregate: accountAggregate - insert_one: insertOneAccount - select_by_pk: accountByPk - select: accounts - delete: deleteAccounts - update: updateAccounts - delete_by_pk: deleteAccountByPk - update_by_pk: updateAccountByPk - column_config: {} - custom_column_names: {} -object_relationships: - - name: user - using: - foreign_key_constraint_on: userId -select_permissions: - - role: user - permission: - columns: - - accessToken - - expiresAt - - id - - idToken - - oauthTokenSecret - - oauthToken - - provider - - providerAccountId - - refreshToken - - scope - - sessionState - - tokenType - - type - - userId - filter: - userId: - _eq: X-Hasura-User-Id diff --git a/services/hasura/metadata/databases/default/tables/public_AccountProvider.yaml b/services/hasura/metadata/databases/default/tables/public_AccountProvider.yaml deleted file mode 100644 index ca4b083cc..000000000 --- a/services/hasura/metadata/databases/default/tables/public_AccountProvider.yaml +++ /dev/null @@ -1,24 +0,0 @@ -table: - name: AccountProvider - schema: public -is_enum: true -configuration: - custom_column_names: {} - custom_root_fields: - delete: deleteAccountProviders - delete_by_pk: deleteAccountProviderByPk - insert: insertAccountProviders - insert_one: insertOneAccountProvider - select: accountProviders - select_aggregate: accountProviderAggregate - select_by_pk: accountProviderByPk - update: updateAccountProviders - update_by_pk: updateAccountProviderByPk -array_relationships: - - name: Accounts - using: - foreign_key_constraint_on: - column: provider - table: - name: Account - schema: public diff --git a/services/hasura/metadata/databases/default/tables/public_Comment.yaml b/services/hasura/metadata/databases/default/tables/public_Comment.yaml deleted file mode 100644 index f08289edb..000000000 --- a/services/hasura/metadata/databases/default/tables/public_Comment.yaml +++ /dev/null @@ -1,93 +0,0 @@ -table: - schema: public - name: Comment -configuration: - custom_root_fields: - insert: insertComments - select_aggregate: commentAggregate - insert_one: insertOneComment - select_by_pk: commentByPk - select: comments - delete: deleteComments - update: updateComments - delete_by_pk: deleteCommentByPk - update_by_pk: updateCommentByPk - column_config: {} - custom_column_names: {} -object_relationships: - - name: page - using: - foreign_key_constraint_on: pageId - - name: parent - using: - foreign_key_constraint_on: parentId - - name: user - using: - foreign_key_constraint_on: userId -array_relationships: - - name: likes - using: - foreign_key_constraint_on: - column: commentId - table: - schema: public - name: Like - - name: replies - using: - foreign_key_constraint_on: - column: parentId - table: - schema: public - name: Comment -insert_permissions: - - role: user - permission: - check: - userId: - _eq: X-Hasura-User-Id - set: - userId: x-hasura-User-Id - columns: - - content - - pageId - - parentId - backend_only: false -select_permissions: - - role: user - permission: - columns: - - content - - createdAt - - deletedAt - - id - - pageId - - parentId - - userId - filter: {} -update_permissions: - - role: user - permission: - columns: - - deletedAt - filter: - page: - project: - userId: - _eq: X-Hasura-User-Id - check: null -event_triggers: - - name: Comment - definition: - enable_manual: false - insert: - columns: '*' - update: - columns: '*' - retry_conf: - num_retries: 3 - interval_sec: 10 - timeout_sec: 60 - webhook_from_env: HASURA_GRAPHQL_EVENT_URL - headers: - - name: HASURA_EVENT_SECRET - value_from_env: HASURA_EVENT_SECRET diff --git a/services/hasura/metadata/databases/default/tables/public_Like.yaml b/services/hasura/metadata/databases/default/tables/public_Like.yaml deleted file mode 100644 index b83a9e0aa..000000000 --- a/services/hasura/metadata/databases/default/tables/public_Like.yaml +++ /dev/null @@ -1,64 +0,0 @@ -table: - schema: public - name: Like -configuration: - custom_root_fields: - insert: insertLikes - select_aggregate: likeAggregate - insert_one: insertOneLike - select_by_pk: likeByPk - select: likes - delete: deleteLikes - update: updateLikes - delete_by_pk: deleteLikeByPk - update_by_pk: updateLikeByPk - column_config: {} - custom_column_names: {} -object_relationships: - - name: comment - using: - foreign_key_constraint_on: commentId - - name: user - using: - foreign_key_constraint_on: userId -insert_permissions: - - role: user - permission: - check: - userId: - _eq: X-Hasura-User-Id - set: - userId: x-hasura-User-Id - columns: - - commentId - backend_only: false -select_permissions: - - role: user - permission: - columns: - - commentId - - id - - userId - filter: {} -delete_permissions: - - role: user - permission: - filter: - userId: - _eq: X-Hasura-User-Id -event_triggers: - - name: Like - definition: - enable_manual: false - insert: - columns: '*' - delete: - columns: '*' - retry_conf: - num_retries: 0 - interval_sec: 10 - timeout_sec: 60 - webhook_from_env: HASURA_GRAPHQL_EVENT_URL - headers: - - name: HASURA_EVENT_SECRET - value_from_env: HASURA_EVENT_SECRET diff --git a/services/hasura/metadata/databases/default/tables/public_Member.yaml b/services/hasura/metadata/databases/default/tables/public_Member.yaml deleted file mode 100644 index fa4d6abf8..000000000 --- a/services/hasura/metadata/databases/default/tables/public_Member.yaml +++ /dev/null @@ -1,39 +0,0 @@ -table: - schema: public - name: Member -configuration: - custom_root_fields: - insert: insertMembers - select_aggregate: memberAggregate - insert_one: insertOneMember - select_by_pk: memberByPk - select: members - delete: deleteMembers - update: updateMembers - delete_by_pk: deleteMemberByPk - update_by_pk: updateMemberByPk - column_config: {} - custom_column_names: {} -object_relationships: - - name: Role - using: - foreign_key_constraint_on: role - - name: team - using: - foreign_key_constraint_on: teamId - - name: user - using: - foreign_key_constraint_on: userId -select_permissions: - - role: user - permission: - columns: - - id - - createdAt - - updatedAt - - teamId - - role - - userId - filter: - userId: - _eq: X-Hasura-User-Id diff --git a/services/hasura/metadata/databases/default/tables/public_NotificationMessage.yaml b/services/hasura/metadata/databases/default/tables/public_NotificationMessage.yaml deleted file mode 100644 index f083422be..000000000 --- a/services/hasura/metadata/databases/default/tables/public_NotificationMessage.yaml +++ /dev/null @@ -1,57 +0,0 @@ -table: - schema: public - name: NotificationMessage -configuration: - custom_root_fields: - insert: insertNotificationMessages - select_aggregate: notificationMessagesAggregate - insert_one: insertOneNotificationMessage - select_by_pk: notificationMessagesByPk - select: notificationMessages - delete: deleteNotificationMessages - update: updateNotificationMessages - delete_by_pk: deleteNotificationMessageByPk - update_by_pk: updateNotificationMessageByPk - column_config: {} - custom_column_names: {} -object_relationships: - - name: notificationType - using: - foreign_key_constraint_on: type - - name: recipient - using: - foreign_key_constraint_on: recipientId - - name: triggeredBy - using: - foreign_key_constraint_on: triggeredById -select_permissions: - - role: user - permission: - columns: - - content - - contextId - - createdAt - - id - - read - - recipientId - - triggeredById - - type - - url - filter: - recipientId: - _eq: X-Hasura-User-Id -update_permissions: - - role: user - permission: - columns: - - read - filter: - recipientId: - _eq: X-Hasura-User-Id - check: null -delete_permissions: - - role: user - permission: - filter: - recipientId: - _eq: X-Hasura-User-Id diff --git a/services/hasura/metadata/databases/default/tables/public_NotificationSubscription.yaml b/services/hasura/metadata/databases/default/tables/public_NotificationSubscription.yaml deleted file mode 100644 index 84802e5df..000000000 --- a/services/hasura/metadata/databases/default/tables/public_NotificationSubscription.yaml +++ /dev/null @@ -1,20 +0,0 @@ -table: - schema: public - name: NotificationSubscription -configuration: - custom_root_fields: - insert: insertNotificationSubscriptions - select_aggregate: notificationSubscriptionAggregate - insert_one: insertOneNotificationSubscription - select_by_pk: notificationSubscriptionByPk - select: notificationSubscriptions - delete: deleteNotificationSubscriptions - update: updateNotificationSubscriptions - delete_by_pk: deleteNotificationSubscriptionByPk - update_by_pk: updateNotificationSubscriptionByPk - column_config: {} - custom_column_names: {} -object_relationships: - - name: user - using: - foreign_key_constraint_on: userId diff --git a/services/hasura/metadata/databases/default/tables/public_NotificationType.yaml b/services/hasura/metadata/databases/default/tables/public_NotificationType.yaml deleted file mode 100644 index 7a3a62380..000000000 --- a/services/hasura/metadata/databases/default/tables/public_NotificationType.yaml +++ /dev/null @@ -1,12 +0,0 @@ -table: - schema: public - name: NotificationType -is_enum: true -array_relationships: - - name: notificationMessages - using: - foreign_key_constraint_on: - column: type - table: - schema: public - name: NotificationMessage diff --git a/services/hasura/metadata/databases/default/tables/public_Page.yaml b/services/hasura/metadata/databases/default/tables/public_Page.yaml deleted file mode 100644 index f01b4938c..000000000 --- a/services/hasura/metadata/databases/default/tables/public_Page.yaml +++ /dev/null @@ -1,39 +0,0 @@ -table: - schema: public - name: Page -configuration: - custom_root_fields: - insert: insertPages - select_aggregate: pageAggregate - insert_one: insertOnePage - select_by_pk: pageByPk - select: pages - delete: deletePages - update: updatePages - delete_by_pk: deletePageByPk - update_by_pk: updatePageByPk - column_config: {} - custom_column_names: {} -object_relationships: - - name: project - using: - foreign_key_constraint_on: projectId -array_relationships: - - name: comments - using: - foreign_key_constraint_on: - column: pageId - table: - schema: public - name: Comment -select_permissions: - - role: user - permission: - columns: - - id - - createdAt - - updatedAt - - url - - title - - projectId - filter: {} diff --git a/services/hasura/metadata/databases/default/tables/public_Project.yaml b/services/hasura/metadata/databases/default/tables/public_Project.yaml deleted file mode 100644 index 88e638ea3..000000000 --- a/services/hasura/metadata/databases/default/tables/public_Project.yaml +++ /dev/null @@ -1,75 +0,0 @@ -table: - schema: public - name: Project -configuration: - custom_root_fields: - insert: insertProjects - select_aggregate: projectAggregate - insert_one: insertOneProject - select_by_pk: projectByPk - select: projects - delete: deleteProjects - update: updateProjects - delete_by_pk: deleteProjectByPk - update_by_pk: updateProjectByPk - column_config: {} - custom_column_names: {} -object_relationships: - - name: team - using: - foreign_key_constraint_on: teamId - - name: user - using: - foreign_key_constraint_on: userId -array_relationships: - - name: pages - using: - foreign_key_constraint_on: - column: projectId - table: - schema: public - name: Page -insert_permissions: - - role: user - permission: - check: - userId: - _eq: X-Hasura-User-Id - set: - userId: x-hasura-User-Id - columns: - - domain - - name - - teamId - - theme - backend_only: false -select_permissions: - - role: user - permission: - columns: - - id - - createdAt - - updatedAt - - name - - teamId - - theme - - domain - - userId - filter: - userId: - _eq: X-Hasura-User-Id -update_permissions: - - role: user - permission: - columns: - - theme - filter: - userId: - _eq: X-Hasura-User-Id - check: null -delete_permissions: - - role: user - permission: - filter: - userId: - _eq: X-Hasura-User-Id diff --git a/services/hasura/metadata/databases/default/tables/public_Role.yaml b/services/hasura/metadata/databases/default/tables/public_Role.yaml deleted file mode 100644 index 5a8a5863d..000000000 --- a/services/hasura/metadata/databases/default/tables/public_Role.yaml +++ /dev/null @@ -1,25 +0,0 @@ -table: - schema: public - name: Role -is_enum: true -configuration: - custom_root_fields: - insert: insertRoles - select_aggregate: roleAggregate - insert_one: insertOneRole - select_by_pk: roleByPk - select: roles - delete: deleteRoles - update: updateRoles - delete_by_pk: deleteRoleByPk - update_by_pk: updateRoleByPk - column_config: {} - custom_column_names: {} -array_relationships: - - name: members - using: - foreign_key_constraint_on: - column: role - table: - schema: public - name: Member diff --git a/services/hasura/metadata/databases/default/tables/public_Session.yaml b/services/hasura/metadata/databases/default/tables/public_Session.yaml deleted file mode 100644 index d2617faca..000000000 --- a/services/hasura/metadata/databases/default/tables/public_Session.yaml +++ /dev/null @@ -1,20 +0,0 @@ -table: - schema: public - name: Session -configuration: - custom_root_fields: - insert: insertSessions - select_aggregate: sessionAggregate - insert_one: insertOneSession - select_by_pk: sessionByPk - select: sessions - delete: deleteSessions - update: updateSessions - delete_by_pk: deleteSessionByPk - update_by_pk: updateSessionByPk - column_config: {} - custom_column_names: {} -object_relationships: - - name: user - using: - foreign_key_constraint_on: userId diff --git a/services/hasura/metadata/databases/default/tables/public_Team.yaml b/services/hasura/metadata/databases/default/tables/public_Team.yaml deleted file mode 100644 index 56d401e4b..000000000 --- a/services/hasura/metadata/databases/default/tables/public_Team.yaml +++ /dev/null @@ -1,43 +0,0 @@ -table: - schema: public - name: Team -configuration: - custom_root_fields: - insert: insertTeams - select_aggregate: teamAggregate - insert_one: insertOneTeam - select_by_pk: teamByPk - select: teams - delete: deleteTeams - update: updateTeams - delete_by_pk: deleteTeamByPk - update_by_pk: updateTeamByPk - column_config: {} - custom_column_names: {} -array_relationships: - - name: members - using: - foreign_key_constraint_on: - column: teamId - table: - schema: public - name: Member - - name: projects - using: - foreign_key_constraint_on: - column: teamId - table: - schema: public - name: Project -select_permissions: - - role: user - permission: - columns: - - createdAt - - id - - name - - uid - filter: - members: - userId: - _eq: X-Hasura-User-Id diff --git a/services/hasura/metadata/databases/default/tables/public_User.yaml b/services/hasura/metadata/databases/default/tables/public_User.yaml deleted file mode 100644 index 36b422c33..000000000 --- a/services/hasura/metadata/databases/default/tables/public_User.yaml +++ /dev/null @@ -1,116 +0,0 @@ -table: - schema: public - name: User -configuration: - custom_root_fields: - insert: insertUsers - select_aggregate: userAggregate - insert_one: insertOneUser - select_by_pk: userByPk - select: users - delete: deleteUsers - update: updateUsers - delete_by_pk: deleteUserByPk - update_by_pk: updateUserByPk - column_config: {} - custom_column_names: {} -object_relationships: - - name: userType - using: - foreign_key_constraint_on: type -array_relationships: - - name: accounts - using: - foreign_key_constraint_on: - column: userId - table: - schema: public - name: Account - - name: comments - using: - foreign_key_constraint_on: - column: userId - table: - schema: public - name: Comment - - name: likes - using: - foreign_key_constraint_on: - column: userId - table: - schema: public - name: Like - - name: members - using: - foreign_key_constraint_on: - column: userId - table: - schema: public - name: Member - - name: notificationSubscriptions - using: - foreign_key_constraint_on: - column: userId - table: - schema: public - name: NotificationSubscription - - name: projects - using: - foreign_key_constraint_on: - column: userId - table: - schema: public - name: Project - - name: recipientNotificationMessages - using: - foreign_key_constraint_on: - column: recipientId - table: - schema: public - name: NotificationMessage - - name: sessions - using: - foreign_key_constraint_on: - column: userId - table: - schema: public - name: Session - - name: triggeredNotificationMessages - using: - foreign_key_constraint_on: - column: triggeredById - table: - schema: public - name: NotificationMessage -select_permissions: - - role: user - permission: - columns: - - bio - - email - - image - - name - - twitterUserName - - type - - username - - website - - emailVerified - - createdAt - - updatedAt - - id - filter: {} -update_permissions: - - role: user - permission: - columns: - - bio - - email - - image - - name - - twitterUserName - - username - - website - filter: - id: - _eq: X-Hasura-User-Id - check: null diff --git a/services/hasura/metadata/databases/default/tables/public_UserType.yaml b/services/hasura/metadata/databases/default/tables/public_UserType.yaml deleted file mode 100644 index 485d3da99..000000000 --- a/services/hasura/metadata/databases/default/tables/public_UserType.yaml +++ /dev/null @@ -1,25 +0,0 @@ -table: - schema: public - name: UserType -is_enum: true -configuration: - custom_root_fields: - insert: insertUserTypes - select_aggregate: userTypeAggregate - insert_one: insertOneUserType - select_by_pk: userTypeByPk - select: userTypes - delete: deleteUserTypes - update: updateUserTypes - delete_by_pk: deleteUserTypeByPk - update_by_pk: updateUserTypeByPk - column_config: {} - custom_column_names: {} -array_relationships: - - name: users - using: - foreign_key_constraint_on: - column: type - table: - schema: public - name: User diff --git a/services/hasura/metadata/databases/default/tables/public_VerificationToken.yaml b/services/hasura/metadata/databases/default/tables/public_VerificationToken.yaml deleted file mode 100644 index 3efb19c27..000000000 --- a/services/hasura/metadata/databases/default/tables/public_VerificationToken.yaml +++ /dev/null @@ -1,16 +0,0 @@ -table: - schema: public - name: VerificationToken -configuration: - custom_root_fields: - insert: insertVerificationTokens - select_aggregate: verificationTokenAggregate - insert_one: insertOneVerificationToken - select_by_pk: verificationTokenByPk - select: verificationTokens - delete: deleteVerificationTokens - update: updateVerificationTokens - delete_by_pk: deleteVerificationTokenByPk - update_by_pk: updateVerificationTokenByPk - column_config: {} - custom_column_names: {} diff --git a/services/hasura/metadata/databases/default/tables/tables.yaml b/services/hasura/metadata/databases/default/tables/tables.yaml deleted file mode 100644 index aeb344ca8..000000000 --- a/services/hasura/metadata/databases/default/tables/tables.yaml +++ /dev/null @@ -1,15 +0,0 @@ -- "!include public_Account.yaml" -- "!include public_Comment.yaml" -- "!include public_Like.yaml" -- "!include public_Member.yaml" -- "!include public_NotificationMessage.yaml" -- "!include public_NotificationSubscription.yaml" -- "!include public_NotificationType.yaml" -- "!include public_Page.yaml" -- "!include public_Project.yaml" -- "!include public_Role.yaml" -- "!include public_Session.yaml" -- "!include public_Team.yaml" -- "!include public_User.yaml" -- "!include public_UserType.yaml" -- "!include public_VerificationToken.yaml" diff --git a/services/hasura/metadata/graphql_schema_introspection.yaml b/services/hasura/metadata/graphql_schema_introspection.yaml deleted file mode 100644 index 61a4dcac2..000000000 --- a/services/hasura/metadata/graphql_schema_introspection.yaml +++ /dev/null @@ -1 +0,0 @@ -disabled_for_roles: [] diff --git a/services/hasura/metadata/inherited_roles.yaml b/services/hasura/metadata/inherited_roles.yaml deleted file mode 100644 index fe51488c7..000000000 --- a/services/hasura/metadata/inherited_roles.yaml +++ /dev/null @@ -1 +0,0 @@ -[] diff --git a/services/hasura/metadata/network.yaml b/services/hasura/metadata/network.yaml deleted file mode 100644 index 0967ef424..000000000 --- a/services/hasura/metadata/network.yaml +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/services/hasura/metadata/query_collections.yaml b/services/hasura/metadata/query_collections.yaml deleted file mode 100644 index fe51488c7..000000000 --- a/services/hasura/metadata/query_collections.yaml +++ /dev/null @@ -1 +0,0 @@ -[] diff --git a/services/hasura/metadata/remote_schemas.yaml b/services/hasura/metadata/remote_schemas.yaml deleted file mode 100644 index fe51488c7..000000000 --- a/services/hasura/metadata/remote_schemas.yaml +++ /dev/null @@ -1 +0,0 @@ -[] diff --git a/services/hasura/metadata/rest_endpoints.yaml b/services/hasura/metadata/rest_endpoints.yaml deleted file mode 100644 index fe51488c7..000000000 --- a/services/hasura/metadata/rest_endpoints.yaml +++ /dev/null @@ -1 +0,0 @@ -[] diff --git a/services/hasura/metadata/version.yaml b/services/hasura/metadata/version.yaml deleted file mode 100644 index 0a70affa4..000000000 --- a/services/hasura/metadata/version.yaml +++ /dev/null @@ -1 +0,0 @@ -version: 3 diff --git a/services/hasura/migrations/default/1639883511656_init/up.sql b/services/hasura/migrations/default/1639883511656_init/up.sql deleted file mode 100644 index 92ef14fd8..000000000 --- a/services/hasura/migrations/default/1639883511656_init/up.sql +++ /dev/null @@ -1,203 +0,0 @@ -SET check_function_bodies = false; -CREATE FUNCTION public."set_current_timestamp_updatedAt"() RETURNS trigger - LANGUAGE plpgsql - AS $$ -DECLARE - _new record; -BEGIN - _new := NEW; - _new."updatedAt" = NOW(); - RETURN _new; -END; -$$; -CREATE TABLE public."Account" ( - id uuid DEFAULT gen_random_uuid() NOT NULL, - "userId" uuid NOT NULL, - type text NOT NULL, - provider text NOT NULL, - "providerAccountId" text NOT NULL, - "refreshToken" text, - "accessToken" text, - "expiresAt" timestamp with time zone, - "tokenType" text, - scope text, - "idToken" text, - "sessionState" text, - "oauthTokenSecret" text, - "oauthToken" text -); -CREATE TABLE public."Comment" ( - id uuid DEFAULT gen_random_uuid() NOT NULL, - "createdAt" timestamp with time zone DEFAULT now() NOT NULL, - "updatedAt" timestamp with time zone DEFAULT now() NOT NULL, - "pageId" uuid NOT NULL, - "parentId" uuid, - "userId" uuid NOT NULL, - content jsonb NOT NULL, - "deletedAt" timestamp with time zone -); -CREATE TABLE public."Like" ( - id uuid DEFAULT gen_random_uuid() NOT NULL, - "createdAt" timestamp with time zone DEFAULT now() NOT NULL, - "updatedAt" timestamp with time zone DEFAULT now() NOT NULL, - "commentId" uuid NOT NULL, - "userId" uuid NOT NULL -); -CREATE TABLE public."Member" ( - id uuid DEFAULT gen_random_uuid() NOT NULL, - "createdAt" timestamp with time zone DEFAULT now() NOT NULL, - "updatedAt" timestamp with time zone DEFAULT now() NOT NULL, - "teamId" uuid NOT NULL, - "userId" uuid NOT NULL, - role text NOT NULL -); -CREATE TABLE public."Page" ( - id uuid DEFAULT gen_random_uuid() NOT NULL, - "createdAt" timestamp with time zone DEFAULT now() NOT NULL, - "updatedAt" timestamp with time zone DEFAULT now() NOT NULL, - url text NOT NULL, - title text, - "projectId" uuid NOT NULL -); -CREATE TABLE public."Project" ( - id uuid DEFAULT gen_random_uuid() NOT NULL, - "createdAt" timestamp with time zone DEFAULT now() NOT NULL, - "updatedAt" timestamp with time zone DEFAULT now() NOT NULL, - name text NOT NULL, - "teamId" uuid, - "userId" uuid, - theme jsonb, - domain text NOT NULL -); -CREATE TABLE public."Role" ( - value text NOT NULL, - comment text -); -COMMENT ON TABLE public."Role" IS 'User''s role in teams'; -CREATE TABLE public."Session" ( - id uuid DEFAULT gen_random_uuid() NOT NULL, - "createdAt" timestamp with time zone DEFAULT now() NOT NULL, - "updatedAt" timestamp with time zone DEFAULT now() NOT NULL, - "sessionToken" text NOT NULL, - "userId" uuid NOT NULL, - expires timestamp with time zone NOT NULL -); -CREATE TABLE public."Team" ( - id uuid DEFAULT gen_random_uuid() NOT NULL, - "createdAt" timestamp with time zone DEFAULT now() NOT NULL, - "updatedAt" timestamp with time zone DEFAULT now() NOT NULL, - name text NOT NULL, - uid text -); -CREATE TABLE public."User" ( - id uuid DEFAULT gen_random_uuid() NOT NULL, - "createdAt" timestamp with time zone DEFAULT now() NOT NULL, - "updatedAt" timestamp with time zone DEFAULT now() NOT NULL, - name text, - email text, - "emailVerified" timestamp with time zone, - image text, - username text, - type text, - bio text, - website text, - "twitterUserName" text -); -CREATE TABLE public."UserType" ( - value text NOT NULL, - comment text NOT NULL -); -CREATE TABLE public."VerificationToken" ( - identifier text NOT NULL, - token text NOT NULL, - expires timestamp with time zone NOT NULL, - id uuid DEFAULT gen_random_uuid() NOT NULL -); -ALTER TABLE ONLY public."Account" - ADD CONSTRAINT "Account_pkey" PRIMARY KEY (id); -ALTER TABLE ONLY public."Account" - ADD CONSTRAINT "Account_providerAccountId_provider_key" UNIQUE ("providerAccountId", provider); -ALTER TABLE ONLY public."Comment" - ADD CONSTRAINT "Comment_pkey" PRIMARY KEY (id); -ALTER TABLE ONLY public."Like" - ADD CONSTRAINT "Like_commentId_userId_key" UNIQUE ("commentId", "userId"); -ALTER TABLE ONLY public."Like" - ADD CONSTRAINT "Like_pkey" PRIMARY KEY (id); -ALTER TABLE ONLY public."Member" - ADD CONSTRAINT "Member_pkey" PRIMARY KEY (id); -ALTER TABLE ONLY public."Member" - ADD CONSTRAINT "Member_teamId_userId_key" UNIQUE ("teamId", "userId"); -ALTER TABLE ONLY public."Page" - ADD CONSTRAINT "Page_pkey" PRIMARY KEY (id); -ALTER TABLE ONLY public."Page" - ADD CONSTRAINT "Page_url_key" UNIQUE (url); -ALTER TABLE ONLY public."Project" - ADD CONSTRAINT "Project_domain_key" UNIQUE (domain); -ALTER TABLE ONLY public."Project" - ADD CONSTRAINT "Project_pkey" PRIMARY KEY (id); -ALTER TABLE ONLY public."Role" - ADD CONSTRAINT "Role_pkey" PRIMARY KEY (value); -ALTER TABLE ONLY public."Session" - ADD CONSTRAINT "Session_pkey" PRIMARY KEY (id); -ALTER TABLE ONLY public."Session" - ADD CONSTRAINT "Session_sessionToken_key" UNIQUE ("sessionToken"); -ALTER TABLE ONLY public."Team" - ADD CONSTRAINT "Team_pkey" PRIMARY KEY (id); -ALTER TABLE ONLY public."Team" - ADD CONSTRAINT "Team_uid_key" UNIQUE (uid); -ALTER TABLE ONLY public."UserType" - ADD CONSTRAINT "UserType_pkey" PRIMARY KEY (value); -ALTER TABLE ONLY public."User" - ADD CONSTRAINT "User_email_key" UNIQUE (email); -ALTER TABLE ONLY public."User" - ADD CONSTRAINT "User_pkey" PRIMARY KEY (id); -ALTER TABLE ONLY public."User" - ADD CONSTRAINT "User_username_key" UNIQUE (username); -ALTER TABLE ONLY public."VerificationToken" - ADD CONSTRAINT "VerificationToken_identifier_token_key" UNIQUE (identifier, token); -ALTER TABLE ONLY public."VerificationToken" - ADD CONSTRAINT "VerificationToken_pkey" PRIMARY KEY (id); -CREATE TRIGGER "set_public_Comment_updatedAt" BEFORE UPDATE ON public."Comment" FOR EACH ROW EXECUTE FUNCTION public."set_current_timestamp_updatedAt"(); -COMMENT ON TRIGGER "set_public_Comment_updatedAt" ON public."Comment" IS 'trigger to set value of column "updatedAt" to current timestamp on row update'; -CREATE TRIGGER "set_public_Like_updatedAt" BEFORE UPDATE ON public."Like" FOR EACH ROW EXECUTE FUNCTION public."set_current_timestamp_updatedAt"(); -COMMENT ON TRIGGER "set_public_Like_updatedAt" ON public."Like" IS 'trigger to set value of column "updatedAt" to current timestamp on row update'; -CREATE TRIGGER "set_public_Member_updatedAt" BEFORE UPDATE ON public."Member" FOR EACH ROW EXECUTE FUNCTION public."set_current_timestamp_updatedAt"(); -COMMENT ON TRIGGER "set_public_Member_updatedAt" ON public."Member" IS 'trigger to set value of column "updatedAt" to current timestamp on row update'; -CREATE TRIGGER "set_public_Page_updatedAt" BEFORE UPDATE ON public."Page" FOR EACH ROW EXECUTE FUNCTION public."set_current_timestamp_updatedAt"(); -COMMENT ON TRIGGER "set_public_Page_updatedAt" ON public."Page" IS 'trigger to set value of column "updatedAt" to current timestamp on row update'; -CREATE TRIGGER "set_public_Project_updatedAt" BEFORE UPDATE ON public."Project" FOR EACH ROW EXECUTE FUNCTION public."set_current_timestamp_updatedAt"(); -COMMENT ON TRIGGER "set_public_Project_updatedAt" ON public."Project" IS 'trigger to set value of column "updatedAt" to current timestamp on row update'; -CREATE TRIGGER "set_public_Session_updatedAt" BEFORE UPDATE ON public."Session" FOR EACH ROW EXECUTE FUNCTION public."set_current_timestamp_updatedAt"(); -COMMENT ON TRIGGER "set_public_Session_updatedAt" ON public."Session" IS 'trigger to set value of column "updatedAt" to current timestamp on row update'; -CREATE TRIGGER "set_public_Team_updatedAt" BEFORE UPDATE ON public."Team" FOR EACH ROW EXECUTE FUNCTION public."set_current_timestamp_updatedAt"(); -COMMENT ON TRIGGER "set_public_Team_updatedAt" ON public."Team" IS 'trigger to set value of column "updatedAt" to current timestamp on row update'; -CREATE TRIGGER "set_public_User_updatedAt" BEFORE UPDATE ON public."User" FOR EACH ROW EXECUTE FUNCTION public."set_current_timestamp_updatedAt"(); -COMMENT ON TRIGGER "set_public_User_updatedAt" ON public."User" IS 'trigger to set value of column "updatedAt" to current timestamp on row update'; -ALTER TABLE ONLY public."Account" - ADD CONSTRAINT "Account_userId_fkey" FOREIGN KEY ("userId") REFERENCES public."User"(id) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY public."Comment" - ADD CONSTRAINT "Comment_pageId_fkey" FOREIGN KEY ("pageId") REFERENCES public."Page"(id) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY public."Comment" - ADD CONSTRAINT "Comment_parentId_fkey" FOREIGN KEY ("parentId") REFERENCES public."Comment"(id) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY public."Comment" - ADD CONSTRAINT "Comment_userId_fkey" FOREIGN KEY ("userId") REFERENCES public."User"(id) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY public."Like" - ADD CONSTRAINT "Like_commentId_fkey" FOREIGN KEY ("commentId") REFERENCES public."Comment"(id) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY public."Like" - ADD CONSTRAINT "Like_userId_fkey" FOREIGN KEY ("userId") REFERENCES public."User"(id) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY public."Member" - ADD CONSTRAINT "Member_role_fkey" FOREIGN KEY (role) REFERENCES public."Role"(value) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY public."Member" - ADD CONSTRAINT "Member_teamId_fkey" FOREIGN KEY ("teamId") REFERENCES public."Team"(id) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY public."Member" - ADD CONSTRAINT "Member_userId_fkey" FOREIGN KEY ("userId") REFERENCES public."User"(id) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY public."Page" - ADD CONSTRAINT "Page_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES public."Project"(id) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY public."Project" - ADD CONSTRAINT "Project_teamId_fkey" FOREIGN KEY ("teamId") REFERENCES public."Team"(id) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY public."Project" - ADD CONSTRAINT "Project_userId_fkey" FOREIGN KEY ("userId") REFERENCES public."User"(id) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY public."Session" - ADD CONSTRAINT "Session_userId_fkey" FOREIGN KEY ("userId") REFERENCES public."User"(id) ON UPDATE CASCADE ON DELETE CASCADE; -ALTER TABLE ONLY public."User" - ADD CONSTRAINT "User_type_fkey" FOREIGN KEY (type) REFERENCES public."UserType"(value) ON UPDATE CASCADE ON DELETE CASCADE; diff --git a/services/hasura/migrations/default/1645257244801_web-notification/down.sql b/services/hasura/migrations/default/1645257244801_web-notification/down.sql deleted file mode 100644 index 3c3acda5b..000000000 --- a/services/hasura/migrations/default/1645257244801_web-notification/down.sql +++ /dev/null @@ -1,17 +0,0 @@ - -comment on column "public"."NotificationMessage"."contextId" is NULL; - - --- Could not auto-generate a down migration. --- Please write an appropriate down migration for the SQL below: --- alter table "public"."NotificationSubscription" add column "createdAt" timestamptz --- null default now(); - -alter table "public"."NotificationSubscription" alter column "createdAt" drop not null; -alter table "public"."NotificationSubscription" add column "createdAt" timestamptz; - -DROP TABLE "public"."NotificationSubscription"; - -DROP TABLE "public"."NotificationMessage"; - -DROP TABLE "public"."NotificationType"; diff --git a/services/hasura/migrations/default/1645257244801_web-notification/up.sql b/services/hasura/migrations/default/1645257244801_web-notification/up.sql deleted file mode 100644 index dd9494187..000000000 --- a/services/hasura/migrations/default/1645257244801_web-notification/up.sql +++ /dev/null @@ -1,11 +0,0 @@ - - -CREATE TABLE "public"."NotificationType" ("value" text NOT NULL, "comment" text NOT NULL, PRIMARY KEY ("value") ); - -CREATE TABLE "public"."NotificationMessage" ("id" uuid NOT NULL DEFAULT gen_random_uuid(), "createdAt" timestamptz NOT NULL DEFAULT now(), "type" text NOT NULL, "recipientId" uuid NOT NULL, "url" text NOT NULL, "read" boolean NOT NULL, "deletedAt" timestamptz, "triggeredById" uuid NOT NULL, "contextId" uuid NOT NULL, PRIMARY KEY ("id") , FOREIGN KEY ("recipientId") REFERENCES "public"."User"("id") ON UPDATE cascade ON DELETE cascade, FOREIGN KEY ("type") REFERENCES "public"."NotificationType"("value") ON UPDATE cascade ON DELETE cascade, FOREIGN KEY ("triggeredById") REFERENCES "public"."User"("id") ON UPDATE cascade ON DELETE cascade, UNIQUE ("type", "triggeredById", "contextId", "recipientId")); -CREATE EXTENSION IF NOT EXISTS pgcrypto; - -CREATE TABLE "public"."NotificationSubscription" ("id" uuid NOT NULL DEFAULT gen_random_uuid(), "createdAt" timestamptz NOT NULL DEFAULT now(), "userId" uuid NOT NULL, "subscription" jsonb NOT NULL, PRIMARY KEY ("id") , FOREIGN KEY ("userId") REFERENCES "public"."User"("id") ON UPDATE cascade ON DELETE cascade, UNIQUE ("subscription")); -CREATE EXTENSION IF NOT EXISTS pgcrypto; - -comment on column "public"."NotificationMessage"."contextId" is E'Triggered entity\'s id, e.g. CommentId or LikeId'; diff --git a/services/hasura/migrations/default/1648560890435_alter_table_public_NotificationMessage_add_column_content/down.sql b/services/hasura/migrations/default/1648560890435_alter_table_public_NotificationMessage_add_column_content/down.sql deleted file mode 100644 index e9acb8c12..000000000 --- a/services/hasura/migrations/default/1648560890435_alter_table_public_NotificationMessage_add_column_content/down.sql +++ /dev/null @@ -1,4 +0,0 @@ --- Could not auto-generate a down migration. --- Please write an appropriate down migration for the SQL below: --- alter table "public"."NotificationMessage" add column "content" text --- null; diff --git a/services/hasura/migrations/default/1648560890435_alter_table_public_NotificationMessage_add_column_content/up.sql b/services/hasura/migrations/default/1648560890435_alter_table_public_NotificationMessage_add_column_content/up.sql deleted file mode 100644 index b65002be8..000000000 --- a/services/hasura/migrations/default/1648560890435_alter_table_public_NotificationMessage_add_column_content/up.sql +++ /dev/null @@ -1,2 +0,0 @@ -alter table "public"."NotificationMessage" add column "content" text - null; diff --git a/services/hasura/migrations/default/1648562341133_alter_table_public_NotificationMessage_alter_column_content/down.sql b/services/hasura/migrations/default/1648562341133_alter_table_public_NotificationMessage_alter_column_content/down.sql deleted file mode 100644 index 6f0c7ef02..000000000 --- a/services/hasura/migrations/default/1648562341133_alter_table_public_NotificationMessage_alter_column_content/down.sql +++ /dev/null @@ -1 +0,0 @@ -comment on column "public"."NotificationMessage"."content" is NULL; diff --git a/services/hasura/migrations/default/1648562341133_alter_table_public_NotificationMessage_alter_column_content/up.sql b/services/hasura/migrations/default/1648562341133_alter_table_public_NotificationMessage_alter_column_content/up.sql deleted file mode 100644 index cf15bcca0..000000000 --- a/services/hasura/migrations/default/1648562341133_alter_table_public_NotificationMessage_alter_column_content/up.sql +++ /dev/null @@ -1 +0,0 @@ -comment on column "public"."NotificationMessage"."content" is E'Content of message, e.g. comment content'; diff --git a/services/hasura/migrations/default/1648956555236_alter_table_public_NotificationSubscription_add_unique_subscription_userId/down.sql b/services/hasura/migrations/default/1648956555236_alter_table_public_NotificationSubscription_add_unique_subscription_userId/down.sql deleted file mode 100644 index d99ca97fb..000000000 --- a/services/hasura/migrations/default/1648956555236_alter_table_public_NotificationSubscription_add_unique_subscription_userId/down.sql +++ /dev/null @@ -1,2 +0,0 @@ -alter table "public"."NotificationSubscription" drop constraint "NotificationSubscription_subscription_userId_key"; -alter table "public"."NotificationSubscription" add constraint "NotificationSubscription_subscription_key" unique ("subscription"); diff --git a/services/hasura/migrations/default/1648956555236_alter_table_public_NotificationSubscription_add_unique_subscription_userId/up.sql b/services/hasura/migrations/default/1648956555236_alter_table_public_NotificationSubscription_add_unique_subscription_userId/up.sql deleted file mode 100644 index 534f68857..000000000 --- a/services/hasura/migrations/default/1648956555236_alter_table_public_NotificationSubscription_add_unique_subscription_userId/up.sql +++ /dev/null @@ -1,2 +0,0 @@ -alter table "public"."NotificationSubscription" drop constraint "NotificationSubscription_subscription_key"; -alter table "public"."NotificationSubscription" add constraint "NotificationSubscription_subscription_userId_key" unique ("subscription", "userId"); diff --git a/services/hasura/migrations/default/1661586890401_alter_table_public_User_alter_column_image/down.sql b/services/hasura/migrations/default/1661586890401_alter_table_public_User_alter_column_image/down.sql deleted file mode 100644 index 0d71a99f7..000000000 --- a/services/hasura/migrations/default/1661586890401_alter_table_public_User_alter_column_image/down.sql +++ /dev/null @@ -1 +0,0 @@ -comment on column "public"."User"."image" is NULL; diff --git a/services/hasura/migrations/default/1661586890401_alter_table_public_User_alter_column_image/up.sql b/services/hasura/migrations/default/1661586890401_alter_table_public_User_alter_column_image/up.sql deleted file mode 100644 index eae869b42..000000000 --- a/services/hasura/migrations/default/1661586890401_alter_table_public_User_alter_column_image/up.sql +++ /dev/null @@ -1 +0,0 @@ -comment on column "public"."User"."image" is E'User profile avatar'; diff --git a/services/hasura/seeds/default/1638093766928_table1_seed.sql b/services/hasura/seeds/default/1638093766928_table1_seed.sql deleted file mode 100644 index 60990f0f8..000000000 --- a/services/hasura/seeds/default/1638093766928_table1_seed.sql +++ /dev/null @@ -1,3 +0,0 @@ -SET check_function_bodies = false; -INSERT INTO public."Role" (value, comment) VALUES ('user', 'Normal user'); -INSERT INTO public."Role" (value, comment) VALUES ('manager', 'Manager of a team'); diff --git a/services/hasura/seeds/default/1638093796112_table1_seed.sql b/services/hasura/seeds/default/1638093796112_table1_seed.sql deleted file mode 100644 index d5e6a1483..000000000 --- a/services/hasura/seeds/default/1638093796112_table1_seed.sql +++ /dev/null @@ -1,5 +0,0 @@ -SET check_function_bodies = false; -INSERT INTO public."UserType" (value, comment) VALUES ('free', 'Free user'); -INSERT INTO public."UserType" (value, comment) VALUES ('pro', 'Paid user'); -INSERT INTO public."UserType" (value, comment) VALUES ('admin', 'Site administrator'); -INSERT INTO public."UserType" (value, comment) VALUES ('anonymous', 'Anonymous widget vsisitor'); diff --git a/services/hasura/seeds/default/1639909399233_user.sql b/services/hasura/seeds/default/1639909399233_user.sql deleted file mode 100644 index 58a43f245..000000000 --- a/services/hasura/seeds/default/1639909399233_user.sql +++ /dev/null @@ -1,3 +0,0 @@ -SET check_function_bodies = false; - -INSERT INTO public."User" (id, "createdAt", "updatedAt", name, email, "emailVerified", image, username, type, bio, website, "twitterUserName") VALUES ('6c0a23ae-885a-4630-946f-e694dff6f446', '2021-12-19 10:21:50.955096+00', '2021-12-19 10:21:50.955096+00', 'CypressTest', 'cypress.test@localhost', NULL, 'https://www.cypress.io/icons/icon-72x72.png', 'cypresstest', 'free', 'test', 'test.com', 'cypress'); diff --git a/services/hasura/seeds/default/1644593326723_NotificationType.sql b/services/hasura/seeds/default/1644593326723_NotificationType.sql deleted file mode 100644 index dc7ddb137..000000000 --- a/services/hasura/seeds/default/1644593326723_NotificationType.sql +++ /dev/null @@ -1,5 +0,0 @@ -SET check_function_bodies = false; -INSERT INTO public."NotificationType" (value, comment) VALUES ('ReceivedAComment', 'Received a comment'); -INSERT INTO public."NotificationType" (value, comment) VALUES ('ReceivedAReply', 'Received a reply'); -INSERT INTO public."NotificationType" (value, comment) VALUES ('ReceivedALike', 'Received a like'); -INSERT INTO public."NotificationType" (value, comment) VALUES ('CommentDeleted', 'Comment deleted by moderator'); diff --git a/turbo.json b/turbo.json index 8e3a687da..f02971389 100644 --- a/turbo.json +++ b/turbo.json @@ -18,11 +18,9 @@ "dependsOn": [ "^build", "$NEXT_PUBLIC_APP_URL", - "$NEXT_PUBLIC_HASURA_HTTP_ORIGIN", + "$DATABASE_URL", "$NEXTAUTH_SECRET", "$EMAIL_API_KEY", - "$HASURA_ADMIN_SECRET", - "$HASURA_EVENT_SECRET", "$NEXT_PUBLIC_VAPID" ], "outputs": [".next/**"] From 095940c148e408022bab93c5f3485e464c1ad6c9 Mon Sep 17 00:00:00 2001 From: Qing <7880675+devrsi0n@users.noreply.github.com> Date: Sun, 27 Nov 2022 17:05:45 +0800 Subject: [PATCH 21/34] refactor: fix ts errors --- .../trpc/src/router/{page.ts => page.ts_} | 0 .../ui/src/blocks/side-menu/side-menu.tsx | 2 +- .../blocks/sign-in-button/sign-in-button.tsx | 2 +- .../src/blocks/theme-editor/theme-editor.tsx | 1 + .../ui/src/blocks/theme-editor/utilities.ts | 17 ++++++++----- packages/ui/src/components/dialog/dialog.tsx | 2 +- .../src/components/popover/popover-panel.tsx | 24 ++++++++++++------- .../ui/src/components/toast/toast-item.tsx | 2 +- packages/ui/src/components/toggle/toggle.tsx | 10 ++++---- .../comment-context-provider.tsx | 1 - .../comment-context/use-delete-a-comment.ts | 2 +- .../notification-context/utilities.ts | 2 -- packages/ui/src/hooks/use-script.ts | 8 +++---- .../ui/src/pages/auth/delete-confirmation.tsx | 2 +- packages/ui/src/pages/auth/welcome.tsx | 6 ++--- 15 files changed, 46 insertions(+), 35 deletions(-) rename packages/trpc/src/router/{page.ts => page.ts_} (100%) diff --git a/packages/trpc/src/router/page.ts b/packages/trpc/src/router/page.ts_ similarity index 100% rename from packages/trpc/src/router/page.ts rename to packages/trpc/src/router/page.ts_ diff --git a/packages/ui/src/blocks/side-menu/side-menu.tsx b/packages/ui/src/blocks/side-menu/side-menu.tsx index 14f57d4c9..3fac6a163 100644 --- a/packages/ui/src/blocks/side-menu/side-menu.tsx +++ b/packages/ui/src/blocks/side-menu/side-menu.tsx @@ -80,7 +80,7 @@ export function SideMenu({ initial={false} variants={navVariants} animate={isOpen ? 'open' : 'closed'} - custom={!isSSRMode ? document.body.clientHeight : undefined} + custom={isSSRMode ? undefined : document.body.clientHeight} className={clsx( 'top-0 bottom-0 isolate h-[100vh] w-[250px]', containerStyles, diff --git a/packages/ui/src/blocks/sign-in-button/sign-in-button.tsx b/packages/ui/src/blocks/sign-in-button/sign-in-button.tsx index ee8d7dae2..63e52689e 100644 --- a/packages/ui/src/blocks/sign-in-button/sign-in-button.tsx +++ b/packages/ui/src/blocks/sign-in-button/sign-in-button.tsx @@ -26,7 +26,7 @@ export function SignInButton({
    - ) : status === 'loading' || userLoading ? ( + ) : isFetching || userIsLoading ? ( ) : (
    diff --git a/packages/ui/src/pages/profile/index.tsx b/packages/ui/src/pages/profile/index.tsx index bdc106f32..a652e88ae 100644 --- a/packages/ui/src/pages/profile/index.tsx +++ b/packages/ui/src/pages/profile/index.tsx @@ -35,7 +35,7 @@ export function Profile(): JSX.Element { const { isSignIn, refetchUser } = useCurrentUser(); const { data, - status, + isFetching, refetch: refetchProfile, } = trpcClient.user.myProfile.useQuery(); const { @@ -49,7 +49,6 @@ export function Profile(): JSX.Element { emailVerified, type, } = data || {}; - const fetching = status === 'loading'; const [isEditMode, setIsEditMode] = React.useState(false); const { mutateAsync: updateProfile } = trpcClient.user.updateProfile.useMutation(); @@ -105,7 +104,7 @@ export function Profile(): JSX.Element { setIsEditMode(false); }; - if (!isSignIn && fetching) { + if (!isSignIn && isFetching) { return ( diff --git a/packages/ui/src/pages/widget/page-url.tsx b/packages/ui/src/pages/widget/page-url.tsx index 2074a7517..b06c1665c 100644 --- a/packages/ui/src/pages/widget/page-url.tsx +++ b/packages/ui/src/pages/widget/page-url.tsx @@ -5,7 +5,7 @@ import { CommentForest, WidgetLayout, PoweredBy } from '../../blocks'; import { Text } from '../../components'; import { CommentContextProvider } from '../../contexts'; import { trpcClient } from '../../utilities/trpc-client'; -import { useIntervalRefrsh } from './use-interval-refrsh'; +import { useRefetchInterval } from './use-refetch-interval'; export type PageCommentProps = CommonWidgetProps & { pageURL: string; @@ -17,10 +17,15 @@ export type PageCommentProps = CommonWidgetProps & { * @param props */ export function CommentWidgetPage(props: PageCommentProps): JSX.Element { - const { data: comments, refetch } = trpcClient.comment.forest.useQuery({ - url: props.pageURL, - }); - useIntervalRefrsh(refetch); + const refetchInterval = useRefetchInterval(); + const { data: comments, refetch } = trpcClient.comment.forest.useQuery( + { + url: props.pageURL, + }, + { + refetchInterval, + }, + ); if (isStaticError(props) || !comments) { return ( diff --git a/packages/ui/src/pages/widget/timeline.tsx b/packages/ui/src/pages/widget/timeline.tsx index 42ab0a78a..4ef26dc76 100644 --- a/packages/ui/src/pages/widget/timeline.tsx +++ b/packages/ui/src/pages/widget/timeline.tsx @@ -1,4 +1,5 @@ import { CommonWidgetProps } from '@chirpy-dev/types'; +import * as React from 'react'; import { CommentTimeline, @@ -9,7 +10,7 @@ import { import { IconButton, Heading, IconArrowLeft, Link } from '../../components'; import { CommentContextProvider } from '../../contexts'; import { trpcClient } from '../../utilities/trpc-client'; -import { useIntervalRefrsh } from './use-interval-refrsh'; +import { useRefetchInterval } from './use-refetch-interval'; export type CommentTimelineWidgetProps = CommonWidgetProps & { commentId: string; @@ -20,10 +21,15 @@ export type CommentTimelineWidgetProps = CommonWidgetProps & { export function CommentTimelineWidget( props: CommentTimelineWidgetProps, ): JSX.Element { - const { data: comment, refetch } = trpcClient.comment.timeline.useQuery({ - id: props.commentId, - }); - useIntervalRefrsh(refetch); + const refetchInterval = useRefetchInterval(); + const { data: comment, refetch } = trpcClient.comment.timeline.useQuery( + { + id: props.commentId, + }, + { + refetchInterval, + }, + ); return ( diff --git a/packages/ui/src/pages/widget/use-interval-refrsh.ts b/packages/ui/src/pages/widget/use-interval-refrsh.ts deleted file mode 100644 index dbc055506..000000000 --- a/packages/ui/src/pages/widget/use-interval-refrsh.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Noop } from '@chirpy-dev/utils'; -import * as React from 'react'; - -import { useInterval } from '../../hooks'; - -export function useIntervalRefrsh(refetch: Noop) { - const intervalTime = React.useRef(5000); - useInterval(() => { - refetch(); - intervalTime.current += 500; - }, intervalTime.current); -} diff --git a/packages/ui/src/pages/widget/use-refetch-interval.ts b/packages/ui/src/pages/widget/use-refetch-interval.ts new file mode 100644 index 000000000..a01afa5e6 --- /dev/null +++ b/packages/ui/src/pages/widget/use-refetch-interval.ts @@ -0,0 +1,9 @@ +import * as React from 'react'; + +export function useRefetchInterval() { + const intervalCount = React.useRef(0); + return function refetchInterval() { + intervalCount.current += 1; + return Math.min(500 * intervalCount.current + 5000, 30 * 1000); + }; +} From 1ffbeada810cf9e750cf385ac87925514624af35 Mon Sep 17 00:00:00 2001 From: Qing <7880675+devrsi0n@users.noreply.github.com> Date: Mon, 28 Nov 2022 22:34:13 +0800 Subject: [PATCH 30/34] fix: db schema error --- packages/trpc/prisma/schema.prisma | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/trpc/prisma/schema.prisma b/packages/trpc/prisma/schema.prisma index cedbb13e3..0aa8d49f9 100644 --- a/packages/trpc/prisma/schema.prisma +++ b/packages/trpc/prisma/schema.prisma @@ -12,21 +12,21 @@ datasource db { // String -> varchar(191) model Account { - id String @id @default(cuid()) + id String @id @default(cuid()) userId String type String provider String providerAccountId String - refresh_token String? @db.Text - access_token String? @db.Text - expiresAt DateTime? - tokenType String? + refresh_token String? @db.Text + access_token String? @db.Text + expires_at Int? + token_type String? scope String? - idToken String? @db.Text + id_token String? @db.Text session_state String? oauthTokenSecret String? oauthToken String? - user User @relation(fields: [userId], references: [id], onDelete: Cascade) + user User @relation(fields: [userId], references: [id], onDelete: Cascade) @@unique([provider, providerAccountId]) } From 1b99167787d2624a298cb761a4206b91033aad42 Mon Sep 17 00:00:00 2001 From: Qing <7880675+devrsi0n@users.noreply.github.com> Date: Tue, 29 Nov 2022 15:51:11 +0800 Subject: [PATCH 31/34] fix: notification message not work and sort message orders --- packages/trpc/src/auth/auth-options.ts | 1 + .../trpc/src/mutation-event/like-handler.ts | 56 ++++++++++--------- packages/trpc/src/mutation-event/utilities.ts | 4 +- ...ia-email.ts => send-email-notification.ts} | 2 +- packages/trpc/src/notification/send.ts | 9 +-- packages/trpc/src/router/notification.ts | 10 +++- packages/trpc/src/trpc-server.ts | 17 +++++- .../comment-context/use-create-a-comment.ts | 6 +- .../comment-context/use-delete-a-comment.ts | 8 +-- .../use-toggle-a-like-action.ts | 13 ++++- 10 files changed, 77 insertions(+), 49 deletions(-) rename packages/trpc/src/notification/{send-notification-via-email.ts => send-email-notification.ts} (92%) diff --git a/packages/trpc/src/auth/auth-options.ts b/packages/trpc/src/auth/auth-options.ts index acc58329c..65bb71921 100644 --- a/packages/trpc/src/auth/auth-options.ts +++ b/packages/trpc/src/auth/auth-options.ts @@ -81,6 +81,7 @@ export const nextAuthOptions: NextAuthOptions = { }; return session; }, + // Link multiple accounts https://github.com/nextauthjs/next-auth/issues/296 async signIn({ account, profile }) { // Restrict access to people with verified accounts if ( diff --git a/packages/trpc/src/mutation-event/like-handler.ts b/packages/trpc/src/mutation-event/like-handler.ts index bde520d24..b3ae7cf47 100644 --- a/packages/trpc/src/mutation-event/like-handler.ts +++ b/packages/trpc/src/mutation-event/like-handler.ts @@ -21,39 +21,41 @@ export async function handleLikeEvent( ): Promise { const promises = []; if (event.op === 'INSERT') { - const like = event.like; + const { like } = event; const recipientData = await getRecipientByLikeId(like.id); - if (recipientData) { - const recipient = recipientData.comment.user; - const triggerById = like.userId; - const { url } = recipientData.comment.page; - promises.push( - prisma.notificationMessage.create({ - data: { - recipientId: recipient.id, - type: 'ReceivedALike', - triggeredById: triggerById, - url, - contextId: like.id, - }, - }), - revalidateCommentWidget(url, res), - ); + if (!recipientData) { + throw new Error(`Can't find recipient for like ${like.id}`); } + const recipient = recipientData.comment.user; + const triggerById = like.userId; + const { url } = recipientData.comment.page; + promises.push( + prisma.notificationMessage.create({ + data: { + recipientId: recipient.id, + type: 'ReceivedALike', + triggeredById: triggerById, + url, + contextId: like.id, + }, + }), + revalidateCommentWidget(url, res), + ); } else if (event.op === 'DELETE') { const likeId = event.like.id; const authorData = await getAuthorByCommentId(event.like.commentId); - if (authorData) { - promises.push( - deleteNotificationMessage({ - recipientId: authorData.user.id, - triggeredById: authUserId, - type: 'ReceivedALike', - contextId: likeId, - }), - revalidateCommentWidget(authorData.page.url, res), - ); + if (!authorData) { + throw new Error(`Can't find author for comment ${event.like.commentId}`); } + promises.push( + deleteNotificationMessage({ + recipientId: authorData.user.id, + triggeredById: authUserId, + type: 'ReceivedALike', + contextId: likeId, + }), + revalidateCommentWidget(authorData.page.url, res), + ); } await Promise.allSettled(promises); return; diff --git a/packages/trpc/src/mutation-event/utilities.ts b/packages/trpc/src/mutation-event/utilities.ts index 2a2bdfa1c..b3b4749de 100644 --- a/packages/trpc/src/mutation-event/utilities.ts +++ b/packages/trpc/src/mutation-event/utilities.ts @@ -26,13 +26,13 @@ export async function getAuthorByCommentId(commentId: string) { }); } -export type CreateotificationMessageVairables = Pick< +export type CreateNotificationMessageVairables = Pick< NotificationMessage, 'recipientId' | 'triggeredById' | 'type' | 'contextId' | 'url' | 'content' >; export async function createOneNotificationMessage( - variables: CreateotificationMessageVairables, + variables: CreateNotificationMessageVairables, ) { return await prisma.notificationMessage.create({ data: variables, diff --git a/packages/trpc/src/notification/send-notification-via-email.ts b/packages/trpc/src/notification/send-email-notification.ts similarity index 92% rename from packages/trpc/src/notification/send-notification-via-email.ts rename to packages/trpc/src/notification/send-email-notification.ts index 31979b93e..fbae17c75 100644 --- a/packages/trpc/src/notification/send-notification-via-email.ts +++ b/packages/trpc/src/notification/send-email-notification.ts @@ -4,7 +4,7 @@ import { log } from 'next-axiom'; import { NotificationPayload } from './types'; -export async function sendNotificationViaEmail(payload: NotificationPayload) { +export async function sendEmailNotification(payload: NotificationPayload) { if (!payload.recipient.email) { log.warn(`No recipient email`, payload); return; diff --git a/packages/trpc/src/notification/send.ts b/packages/trpc/src/notification/send.ts index 022779368..1ec904ac9 100644 --- a/packages/trpc/src/notification/send.ts +++ b/packages/trpc/src/notification/send.ts @@ -2,7 +2,7 @@ import { log } from 'next-axiom'; import { prisma } from '../common/db-client'; import { pushWebNotification } from './push-web-notification'; -import { sendNotificationViaEmail } from './send-notification-via-email'; +import { sendEmailNotification } from './send-email-notification'; import { NotificationPayload } from './types'; export async function sendNotification(payload: NotificationPayload) { @@ -17,15 +17,12 @@ export async function sendNotification(payload: NotificationPayload) { }, }); - if ( - !Array.isArray(notificationSubscriptions) || - notificationSubscriptions.length === 0 - ) { + if (notificationSubscriptions.length === 0) { log.error('No subscriptions found'); return; } await Promise.allSettled([ ...notificationSubscriptions.map(pushWebNotification(payload)), - sendNotificationViaEmail(payload), + sendEmailNotification(payload), ]); } diff --git a/packages/trpc/src/router/notification.ts b/packages/trpc/src/router/notification.ts index 51859a0ae..806db1ea3 100644 --- a/packages/trpc/src/router/notification.ts +++ b/packages/trpc/src/router/notification.ts @@ -12,6 +12,14 @@ export const notificationRouter = router({ where: { recipientId: ctx.session.user.id, }, + orderBy: [ + { + read: 'asc', + }, + { + createdAt: 'desc', + }, + ], select: { id: true, type: true, @@ -90,7 +98,7 @@ export const notificationRouter = router({ select: {}, }); }), - create: protectedProcedure + mutate: protectedProcedure .input( z.object({ op: z.enum(['INSERT', 'DELETE']), diff --git a/packages/trpc/src/trpc-server.ts b/packages/trpc/src/trpc-server.ts index 355744f00..eccd9f4d9 100644 --- a/packages/trpc/src/trpc-server.ts +++ b/packages/trpc/src/trpc-server.ts @@ -1,4 +1,5 @@ import { initTRPC, TRPCError } from '@trpc/server'; +import { log } from 'next-axiom'; import superjson from 'superjson'; import { type Context } from './context'; @@ -12,7 +13,19 @@ const t = initTRPC.context().create({ export const router = t.router; -export const publicProcedure = t.procedure; +const logger = t.middleware(async ({ path, type, next }) => { + const start = Date.now(); + const result = await next(); + const durationMs = Date.now() - start; + result.ok + ? log.info('[tRPC Server] request ok:', { path, type, durationMs }) + : log.error('[tRPC Server] request failed', { path, type, durationMs }); + return result; +}); + +const loggedProcedure = t.procedure.use(logger); + +export const publicProcedure = loggedProcedure; /** * Reusable middleware to ensure @@ -30,4 +43,4 @@ const isAuthed = t.middleware(({ ctx, next }) => { }); }); -export const protectedProcedure = t.procedure.use(isAuthed); +export const protectedProcedure = loggedProcedure.use(isAuthed); diff --git a/packages/ui/src/contexts/comment-context/use-create-a-comment.ts b/packages/ui/src/contexts/comment-context/use-create-a-comment.ts index b17f675e0..9f3edbbf8 100644 --- a/packages/ui/src/contexts/comment-context/use-create-a-comment.ts +++ b/packages/ui/src/contexts/comment-context/use-create-a-comment.ts @@ -22,8 +22,8 @@ export function useCreateAComment({ const { mutateAsync: insertOneComment } = trpcClient.comment.create.useMutation(); const { showToast } = useToast(); - const { mutate: createANotification } = - trpcClient.notification.create.useMutation(); + const { mutate: mutateANotification } = + trpcClient.notification.mutate.useMutation(); const createAComment = async (reply: RTEValue, commentId?: string) => { if (!isSignIn) { logger.error('Navigate to sign-in page'); @@ -35,7 +35,7 @@ export function useCreateAComment({ pageId, }); // Move it to server background process once we have a new arch - createANotification({ + mutateANotification({ op: 'INSERT', comment: { id: data.id, diff --git a/packages/ui/src/contexts/comment-context/use-delete-a-comment.ts b/packages/ui/src/contexts/comment-context/use-delete-a-comment.ts index 05e321263..ee6b16bc9 100644 --- a/packages/ui/src/contexts/comment-context/use-delete-a-comment.ts +++ b/packages/ui/src/contexts/comment-context/use-delete-a-comment.ts @@ -11,13 +11,13 @@ export function useDeleteAComment(refetch: RefetchComment['refetchComment']) { const { mutateAsync: deleteOneComment } = trpcClient.comment.delete.useMutation(); const { showToast } = useToast(); - const { mutate: createANotification } = - trpcClient.notification.create.useMutation(); + const { mutate: mutateANotification } = + trpcClient.notification.mutate.useMutation(); const deleteAComment = React.useCallback( async (commentId: string) => { try { const data = await deleteOneComment(commentId); - createANotification({ + mutateANotification({ op: 'DELETE', comment: { id: data.id, @@ -39,7 +39,7 @@ export function useDeleteAComment(refetch: RefetchComment['refetchComment']) { }); } }, - [showToast, deleteOneComment, createANotification], + [showToast, deleteOneComment, mutateANotification], ); return deleteAComment; } diff --git a/packages/ui/src/contexts/comment-context/use-toggle-a-like-action.ts b/packages/ui/src/contexts/comment-context/use-toggle-a-like-action.ts index 27f29fe03..f5668040c 100644 --- a/packages/ui/src/contexts/comment-context/use-toggle-a-like-action.ts +++ b/packages/ui/src/contexts/comment-context/use-toggle-a-like-action.ts @@ -18,8 +18,8 @@ export function useToggleALikeAction( const { showToast } = useToast(); const handleSignIn = useSignInWindow(); - const { mutate: createANotification } = - trpcClient.notification.create.useMutation(); + const { mutate: mutateANotification } = + trpcClient.notification.mutate.useMutation(); const toggleALikeAction = async ( isLiked: boolean, likeId: string, @@ -34,7 +34,7 @@ export function useToggleALikeAction( if (!data?.count) { return logger.error(`Can't delete the like, id ${likeId}`); } - createANotification({ + mutateANotification({ op: 'DELETE', like: { id: likeId, @@ -55,6 +55,13 @@ export function useToggleALikeAction( }); logger.error(`Can't create a like action`); } + mutateANotification({ + op: 'INSERT', + like: { + id: data.id, + commentId: commentId, + }, + }); await refetch(); } catch (error) { showToast({ From 854a309443d6091c511864fabdb13648780870df Mon Sep 17 00:00:00 2001 From: Qing <7880675+devrsi0n@users.noreply.github.com> Date: Tue, 29 Nov 2022 16:33:33 +0800 Subject: [PATCH 32/34] fix: unexpected stripped subscription object --- packages/trpc/src/router/notification.ts | 15 ++++--- packages/trpc/src/router/utils/validator.ts | 39 ++++++++++++------- .../use-register-device.ts | 13 ++++--- 3 files changed, 41 insertions(+), 26 deletions(-) diff --git a/packages/trpc/src/router/notification.ts b/packages/trpc/src/router/notification.ts index 806db1ea3..3fd3db279 100644 --- a/packages/trpc/src/router/notification.ts +++ b/packages/trpc/src/router/notification.ts @@ -1,10 +1,14 @@ +import { log } from 'next-axiom'; import { z } from 'zod'; import { prisma } from '../common/db-client'; import { handleCommentEvent } from '../mutation-event/comment-handler'; import { handleLikeEvent } from '../mutation-event/like-handler'; import { router, protectedProcedure } from '../trpc-server'; -import { rteContentValidator } from './utils/validator'; +import { + notificationSubscriptionValidator, + rteContentValidator, +} from './utils/validator'; export const notificationRouter = router({ messages: protectedProcedure.query(async ({ ctx }) => { @@ -72,9 +76,7 @@ export const notificationRouter = router({ register: protectedProcedure .input( z.object({ - subscription: z.object({ - endpoint: z.string().url(), - }), + subscription: notificationSubscriptionValidator, }), ) .mutation(async ({ input, ctx }) => { @@ -88,6 +90,7 @@ export const notificationRouter = router({ }); if (result?.id) { // Ignore duplicated subscription + log.debug('Duplicated subscription'); return; } await prisma.notificationSubscription.create({ @@ -95,7 +98,9 @@ export const notificationRouter = router({ subscription: input.subscription, userId: ctx.session.user.id, }, - select: {}, + select: { + id: true, + }, }); }), mutate: protectedProcedure diff --git a/packages/trpc/src/router/utils/validator.ts b/packages/trpc/src/router/utils/validator.ts index fd5ea5918..68ffae202 100644 --- a/packages/trpc/src/router/utils/validator.ts +++ b/packages/trpc/src/router/utils/validator.ts @@ -18,19 +18,28 @@ import { z } from 'zod'; * }; * ``` */ -export const rteContentValidator: z.ZodType = z.lazy(() => - z.object({ - type: z.string().optional(), - attrs: z.record(z.any()).optional(), - content: z.array(rteContentValidator).optional(), - marks: z - .array( - z.object({ - type: z.string(), - attrs: z.record(z.any()).optional(), - }), - ) - .optional(), - text: z.string().optional(), - }), +export const rteContentValidator: z.ZodType = z.lazy( + () => + z + .object({ + type: z.string().optional(), + attrs: z.record(z.any()).optional(), + content: z.array(rteContentValidator).optional(), + marks: z + .array( + z.object({ + type: z.string(), + attrs: z.record(z.any()).optional(), + }), + ) + .optional(), + text: z.string().optional(), + }) + .passthrough(), // Only check a sub set of fields, don't strip unknown fields ); + +export const notificationSubscriptionValidator = z + .object({ + endpoint: z.string().url(), + }) + .passthrough(); diff --git a/packages/ui/src/contexts/notification-context/use-register-device.ts b/packages/ui/src/contexts/notification-context/use-register-device.ts index 10348e8d3..c1551c081 100644 --- a/packages/ui/src/contexts/notification-context/use-register-device.ts +++ b/packages/ui/src/contexts/notification-context/use-register-device.ts @@ -9,7 +9,8 @@ import { } from './utilities'; export type RegisterNotificationSubscription = () => Promise; - +const NOTIFICATION_DID_REGISTER_KEY = + 'chirpy.notification-subscription.did-register'; export function useRegisterNotificationSubscription(): RegisterNotificationSubscription { const { mutateAsync: registerDevice } = trpcClient.notification.register.useMutation(); @@ -25,15 +26,13 @@ export function useRegisterNotificationSubscription(): RegisterNotificationSubsc // Not supported return; } - let subscription = await registration.pushManager.getSubscription(); - if (subscription) { - // Already registered + if (sessionStorage.getItem(NOTIFICATION_DID_REGISTER_KEY) === 'true') { return; } const vapidKey = urlBase64ToUint8Array( getPublicEnvVar('NEXT_PUBLIC_VAPID', process.env.NEXT_PUBLIC_VAPID), ); - subscription = await registration.pushManager.subscribe({ + const subscription = await registration.pushManager.subscribe({ // This means all push events will result in a notification userVisibleOnly: true, applicationServerKey: vapidKey, @@ -42,9 +41,11 @@ export function useRegisterNotificationSubscription(): RegisterNotificationSubsc try { // Save the subscription details to server await registerDevice({ - subscription: subscription, + subscription, }); + sessionStorage.setItem(NOTIFICATION_DID_REGISTER_KEY, 'true'); } catch (error) { + sessionStorage.removeItem(NOTIFICATION_DID_REGISTER_KEY); logger.warn('Register notification subscription failed', error); } } catch (error) { From 9b272ed837662ff7fbc59bb79b69f9cdb8b60cd0 Mon Sep 17 00:00:00 2001 From: Qing <7880675+devrsi0n@users.noreply.github.com> Date: Thu, 1 Dec 2022 21:33:41 +0800 Subject: [PATCH 33/34] fix: ut errors --- .../ui/src/__tests__/fixtures/page-render.tsx | 26 ++++-- .../fixtures/server/rest-handlers.ts | 71 +++++++++++++++ .../src/__tests__/mocks/mock-project-data.ts | 4 +- .../__tests__/comment-card.test.tsx | 2 +- .../comment-card/__tests__/mock-data.ts | 2 +- .../comment-timeline/__tests__/mock-data.ts | 2 +- .../__tests__/notification-hub.test.tsx | 29 +++--- .../notification-hub/stories/mock-data.ts | 89 ++++++++++--------- .../src/pages/auth/__tests__/welcome.test.tsx | 31 ------- .../dashboard/__tests__/dashboard.test.tsx | 31 +++---- packages/ui/src/utilities/index.ts | 1 + packages/ui/src/utilities/trpc-client.ts | 4 +- 12 files changed, 162 insertions(+), 130 deletions(-) diff --git a/packages/ui/src/__tests__/fixtures/page-render.tsx b/packages/ui/src/__tests__/fixtures/page-render.tsx index c68e7a686..f86593ad9 100644 --- a/packages/ui/src/__tests__/fixtures/page-render.tsx +++ b/packages/ui/src/__tests__/fixtures/page-render.tsx @@ -3,6 +3,7 @@ import { render as reactRender } from '@testing-library/react'; import { ToastProvider } from '../../components'; // import '../mocks/next-router'; import { CurrentUserContext, UserData } from '../../contexts'; +import { trpcClient } from '../../utilities'; import { mockUserData } from '../mocks/data/user'; export const mockRefetchUser = jest.fn(); @@ -27,13 +28,22 @@ export function setMockedUser(newData: UserData) { export function pageRender(ui: React.ReactElement) { return reactRender(ui, { - wrapper: function TestingWrapper({ children }) { - const mockedUser = getMockedUser(); - return ( - - {children} - - ); - }, + wrapper: Wrapper, }); } + +function Wrapper({ children }: { children: React.ReactElement }): JSX.Element { + // @ts-ignore + return children} pageProps={{}} />; +} + +const TrpcWrapper = trpcClient.withTRPC(function TestingWrapper({ Component }) { + const mockedUser = getMockedUser(); + return ( + + + + + + ); +}); diff --git a/packages/ui/src/__tests__/fixtures/server/rest-handlers.ts b/packages/ui/src/__tests__/fixtures/server/rest-handlers.ts index a783ac901..e02e7487a 100644 --- a/packages/ui/src/__tests__/fixtures/server/rest-handlers.ts +++ b/packages/ui/src/__tests__/fixtures/server/rest-handlers.ts @@ -1,10 +1,16 @@ import { rest } from 'msw'; +import { mockNotificationMessages } from '../../../blocks/notification-hub/stories/mock-data'; +import { mockProject } from '../../mocks/mock-project-data'; + export const MOCK_CACHE = 'mock cache'; export const MOCK_PAGE_ID = 'mock-page-id'; export const mockLogout = jest.fn(); +export const mockDeleteNotification = jest.fn().mockReturnValue({}); +export const mockReadNotification = jest.fn().mockReturnValue({}); + afterEach(() => { mockLogout.mockReset(); }); @@ -18,6 +24,71 @@ export const restHandlers = [ }), ); }), + rest.get('*/api/trpc/notification.messages', (req, res, ctx) => { + return res( + ctx.status(200), + ctx.json({ + input: {}, + result: { + data: { + json: mockNotificationMessages, + }, + }, + }), + ); + }), + rest.post('*/api/trpc/notification.delete', (req, res, ctx) => { + return res( + ctx.status(200), + ctx.json({ + input: {}, + result: { + data: { + json: mockDeleteNotification(), + }, + }, + }), + ); + }), + rest.post('*/api/trpc/notification.read', (req, res, ctx) => { + return res( + ctx.status(200), + ctx.json({ + input: {}, + result: { + data: { + json: mockReadNotification(), + }, + }, + }), + ); + }), + rest.post('*/api/trpc/user.updateProfile', (req, res, ctx) => { + return res( + ctx.status(200), + ctx.json({ + input: {}, + result: { + data: { + json: {}, + }, + }, + }), + ); + }), + rest.get('*/api/trpc/project.all', (req, res, ctx) => { + return res( + ctx.status(200), + ctx.json({ + input: {}, + result: { + data: { + json: [mockProject], + }, + }, + }), + ); + }), rest.get('*/api/auth/logout', (req, res, ctx) => { const result = mockLogout(); if (result) { diff --git a/packages/ui/src/__tests__/mocks/mock-project-data.ts b/packages/ui/src/__tests__/mocks/mock-project-data.ts index a5b9f8fdf..9aaff06e5 100644 --- a/packages/ui/src/__tests__/mocks/mock-project-data.ts +++ b/packages/ui/src/__tests__/mocks/mock-project-data.ts @@ -1,10 +1,10 @@ import { ProjectCardProps } from '../../blocks/project-card/project-card'; -export const project: ProjectCardProps['project'] = { +export const mockProject: ProjectCardProps['project'] = { id: '123', name: 'Test Project', domain: 'test.page', - createdAt: '2021-01-01T00:00:00.000Z', + createdAt: new Date('2021-01-01T00:00:00.000Z'), pages: [ { id: '1', diff --git a/packages/ui/src/blocks/comment-card/__tests__/comment-card.test.tsx b/packages/ui/src/blocks/comment-card/__tests__/comment-card.test.tsx index 594e1edf3..d84d50d4f 100644 --- a/packages/ui/src/blocks/comment-card/__tests__/comment-card.test.tsx +++ b/packages/ui/src/blocks/comment-card/__tests__/comment-card.test.tsx @@ -49,7 +49,7 @@ describe('CommentCard', () => { ).toBeInTheDocument(); expect((document.querySelector('time') as HTMLTimeElement).dateTime).toBe( - staticProps.createdAt, + staticProps.createdAt.toISOString(), ); }); diff --git a/packages/ui/src/blocks/comment-card/__tests__/mock-data.ts b/packages/ui/src/blocks/comment-card/__tests__/mock-data.ts index c3ad34e15..c54bd7cf0 100644 --- a/packages/ui/src/blocks/comment-card/__tests__/mock-data.ts +++ b/packages/ui/src/blocks/comment-card/__tests__/mock-data.ts @@ -20,7 +20,7 @@ export function generateCommentCard(fill: number) { }, ], }, - createdAt: `2021-06-21T14:12:13.813625+00:00`, + createdAt: new Date(`2021-06-21T14:12:13.813625+00:00`), likes: [ { id: `like-id-${fill}`, diff --git a/packages/ui/src/blocks/comment-timeline/__tests__/mock-data.ts b/packages/ui/src/blocks/comment-timeline/__tests__/mock-data.ts index bd5964e2d..f04455e24 100644 --- a/packages/ui/src/blocks/comment-timeline/__tests__/mock-data.ts +++ b/packages/ui/src/blocks/comment-timeline/__tests__/mock-data.ts @@ -30,7 +30,7 @@ export function generateCommentFragment(fill: string) { }, ], }, - createdAt: `2021-06-21T14:12:13.813625+00:00`, + createdAt: new Date(`2021-06-21T14:12:13.813625+00:00`), likes: [ { id: `like-id-${fill}`, diff --git a/packages/ui/src/blocks/notification-hub/__tests__/notification-hub.test.tsx b/packages/ui/src/blocks/notification-hub/__tests__/notification-hub.test.tsx index 9996dd6e5..8745485d2 100644 --- a/packages/ui/src/blocks/notification-hub/__tests__/notification-hub.test.tsx +++ b/packages/ui/src/blocks/notification-hub/__tests__/notification-hub.test.tsx @@ -1,16 +1,12 @@ -import { screen } from '@testing-library/react'; +import { screen, waitFor } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import { pageRender } from '../../../__tests__/fixtures/page-render'; -import { trpcClient } from '../../../utilities/trpc-client'; +import { + mockDeleteNotification, + mockReadNotification, +} from '../../../__tests__/fixtures/server/rest-handlers'; import { NotificationHub } from '../notification-hub'; -import { messages } from '../stories/mock-data'; - -jest.spyOn(trpcClient.notification.messages, 'useQuery').mockReturnValue({ - data: messages, - status: 'success', - refetch: jest.fn(), -} as any); // Run storybook to see the UI visually describe('NotificationHub', () => { @@ -24,25 +20,17 @@ describe('NotificationHub', () => { }); it('Should mark the clicked message as read', async () => { - const haveReadANotification = jest.fn(); - jest.spyOn(trpcClient.notification.read, 'useMutation').mockReturnValue({ - mutateAsync: haveReadANotification, - } as any); await renderDefaultNotificationHub(); await userEvent.click(screen.getAllByAltText(/avatar/)[0]); - expect(haveReadANotification).toHaveBeenCalledTimes(1); + expect(mockReadNotification).toHaveBeenCalledTimes(1); }); it('Should delete the message after click the delete button', async () => { - const deleteNotificationMessage = jest.fn(); - jest.spyOn(trpcClient.notification.delete, 'useMutation').mockReturnValue({ - mutateAsync: deleteNotificationMessage, - } as any); await renderDefaultNotificationHub(); await userEvent.click(screen.getAllByLabelText('Delete the message')[0]); - expect(deleteNotificationMessage).toHaveBeenCalledTimes(1); + expect(mockDeleteNotification).toHaveBeenCalledTimes(1); }); }); @@ -50,4 +38,7 @@ async function renderDefaultNotificationHub() { pageRender(); const notificationButton = screen.getByLabelText('click to open the menu'); await userEvent.click(notificationButton); + await waitFor(() => { + expect(screen.getAllByLabelText('Delete the message')[0]).toBeDefined(); + }); } diff --git a/packages/ui/src/blocks/notification-hub/stories/mock-data.ts b/packages/ui/src/blocks/notification-hub/stories/mock-data.ts index df9f5a217..c03898caf 100644 --- a/packages/ui/src/blocks/notification-hub/stories/mock-data.ts +++ b/packages/ui/src/blocks/notification-hub/stories/mock-data.ts @@ -1,49 +1,50 @@ import { RouterOutputs } from '../../../utilities/trpc-client'; -export const messages: RouterOutputs['notification']['messages'] = [ - { - id: '1', - type: 'ReceivedALike', - url: 'http://localhost:3000/playground', - triggeredBy: { - id: 'ff157d69-2f7d-45c7-a577-1ee073564e60', - name: 'Dan', - username: 'dan', - email: 'dan@test.com', - image: 'https://avatars.githubusercontent.com/u/32698452?v=4', +export const mockNotificationMessages: RouterOutputs['notification']['messages'] = + [ + { + id: '1', + type: 'ReceivedALike', + url: 'http://localhost:3000/playground', + triggeredBy: { + id: 'ff157d69-2f7d-45c7-a577-1ee073564e60', + name: 'Dan', + username: 'dan', + email: 'dan@test.com', + image: 'https://avatars.githubusercontent.com/u/32698452?v=4', + }, + content: null, + read: false, + createdAt: new Date('2022-04-17T02:27:34.830834+00:00'), }, - content: null, - read: false, - createdAt: new Date('2022-04-17T02:27:34.830834+00:00'), - }, - { - id: '2', - type: 'ReceivedAComment', - url: 'http://localhost:3000/playground', - triggeredBy: { - id: 'ff157d69-2f7d-45c7-a577-1ee073564e60', - name: 'Dan', - username: 'dan', - email: 'dan@test.com', - image: 'https://avatars.githubusercontent.com/u/32698452?v=4', + { + id: '2', + type: 'ReceivedAComment', + url: 'http://localhost:3000/playground', + triggeredBy: { + id: 'ff157d69-2f7d-45c7-a577-1ee073564e60', + name: 'Dan', + username: 'dan', + email: 'dan@test.com', + image: 'https://avatars.githubusercontent.com/u/32698452?v=4', + }, + content: 'React 18 is now available on npm!', + read: false, + createdAt: new Date('2022-04-17T02:04:13.776034+00:00'), }, - content: 'React 18 is now available on npm!', - read: false, - createdAt: new Date('2022-04-17T02:04:13.776034+00:00'), - }, - { - id: '3', - type: 'ReceivedAComment', - url: 'http://localhost:3000/playground', - triggeredBy: { - id: 'ff157d69-2f7d-45c7-a577-1ee073564e60', - name: 'Dan', - username: 'dan', - email: 'dan@test.com', - image: 'https://avatars.githubusercontent.com/u/32698452?v=4', + { + id: '3', + type: 'ReceivedAComment', + url: 'http://localhost:3000/playground', + triggeredBy: { + id: 'ff157d69-2f7d-45c7-a577-1ee073564e60', + name: 'Dan', + username: 'dan', + email: 'dan@test.com', + image: 'https://avatars.githubusercontent.com/u/32698452?v=4', + }, + content: 'This message has been read', + read: true, + createdAt: new Date('2022-04-10T02:04:13.776034+00:00'), }, - content: 'This message has been read', - read: true, - createdAt: new Date('2022-04-10T02:04:13.776034+00:00'), - }, -]; + ]; diff --git a/packages/ui/src/pages/auth/__tests__/welcome.test.tsx b/packages/ui/src/pages/auth/__tests__/welcome.test.tsx index 4139e919c..936f103fb 100644 --- a/packages/ui/src/pages/auth/__tests__/welcome.test.tsx +++ b/packages/ui/src/pages/auth/__tests__/welcome.test.tsx @@ -5,25 +5,6 @@ import { pageRender } from '../../../__tests__/fixtures/page-render'; import { setMockedUser } from '../../../__tests__/fixtures/page-render'; import { mockNextRouter } from '../../../__tests__/mocks/next-router'; import { Welcome } from '../../../pages/auth/welcome'; -import { trpcClient } from '../../../utilities/trpc-client'; - -const mockUpdateUser = jest.fn().mockImplementation(() => { - return Promise.resolve(); -}); -jest - .spyOn(trpcClient.user.updateProfile, 'useMutation') - .mockImplementation(() => { - return { - data: { - updateUserByPk: { - __typename: 'User', - id: '1', - }, - }, - status: 'success', - mutateAsync: mockUpdateUser, - } as any; - }); setMockedUser({ email: '', @@ -65,18 +46,6 @@ describe('Welcome', () => { name: /save/i, }); await userEvent.click(saveButton); - await waitFor( - () => - expect(mockUpdateUser).toHaveBeenCalledWith({ - id: 'user-id-1', - email, - name: displayName, - username: userName, - }), - { - timeout: 1000, - }, - ); await waitFor( () => expect(mockNextRouter.push).toHaveBeenCalledWith('/dashboard'), diff --git a/packages/ui/src/pages/dashboard/__tests__/dashboard.test.tsx b/packages/ui/src/pages/dashboard/__tests__/dashboard.test.tsx index 714f1607e..c62e93680 100644 --- a/packages/ui/src/pages/dashboard/__tests__/dashboard.test.tsx +++ b/packages/ui/src/pages/dashboard/__tests__/dashboard.test.tsx @@ -3,24 +3,7 @@ import userEvent from '@testing-library/user-event'; import { Dashboard } from '..'; import { pageRender } from '../../../__tests__/fixtures/page-render'; -import { project } from '../../../__tests__/mocks/mock-project-data'; -import { trpcClient } from '../../../utilities/trpc-client'; - -const mockFetchUserProject = jest.fn(); -jest.spyOn(trpcClient.project.all, 'useQuery').mockReturnValue({ - data: [project], - refetch: mockFetchUserProject, - status: 'success', -} as any); - -const mockInsertProject = jest.fn(); -jest.spyOn(trpcClient.project.create, 'useMutation').mockReturnValue({ - mutateAsync: mockInsertProject, -} as any); -const mockDeleteProject = jest.fn(); -jest.spyOn(trpcClient.project.delete, 'useMutation').mockReturnValue({ - mutateAsync: mockDeleteProject, -} as any); +import { mockProject } from '../../../__tests__/mocks/mock-project-data'; describe('dashboard', () => { beforeEach(() => { @@ -37,8 +20,10 @@ describe('dashboard', () => { name: 'Dashboard', }), ).toBeTruthy(); - expect(screen.getByText(project.name)).toBeTruthy(); - expect(screen.getByText(project.pages[0].title!)).toBeTruthy(); + await waitFor(() => { + expect(screen.getByText(mockProject.name)).toBeTruthy(); + }); + expect(screen.getByText(mockProject.pages[0].title!)).toBeTruthy(); expect(screen.getByText(/^Created \w+/)).toBeTruthy(); await waitFor(() => expect(screen.getByLabelText('Page views').textContent).toBe('212'), @@ -46,6 +31,11 @@ describe('dashboard', () => { }); it('should delete the project', async () => { + await waitFor(() => { + screen.getByRole('button', { + name: /show more project options/i, + }); + }); const menu = screen.getByRole('button', { name: /show more project options/i, }); @@ -60,7 +50,6 @@ describe('dashboard', () => { }); expect(deleteButton).toBeTruthy(); await userEvent.click(deleteButton); - expect(mockDeleteProject).toHaveBeenCalled(); await waitFor(() => expect(screen.queryByText(/Delete the project/)).toBeFalsy(), ); diff --git a/packages/ui/src/utilities/index.ts b/packages/ui/src/utilities/index.ts index 76ae6b644..78c2cce2d 100644 --- a/packages/ui/src/utilities/index.ts +++ b/packages/ui/src/utilities/index.ts @@ -5,3 +5,4 @@ export * from './user'; export * from './image'; export * from './framer-motion-features'; export * from './dom'; +export * from './trpc-client'; diff --git a/packages/ui/src/utilities/trpc-client.ts b/packages/ui/src/utilities/trpc-client.ts index e17242240..f5107bdc8 100644 --- a/packages/ui/src/utilities/trpc-client.ts +++ b/packages/ui/src/utilities/trpc-client.ts @@ -1,6 +1,6 @@ import { type AppRouter } from '@chirpy-dev/trpc/src/router'; import { getBaseUrl } from '@chirpy-dev/utils'; -import { httpBatchLink, loggerLink } from '@trpc/client'; +import { httpLink, loggerLink } from '@trpc/client'; import { createTRPCNext } from '@trpc/next'; import { type inferRouterInputs, type inferRouterOutputs } from '@trpc/server'; import superjson from 'superjson'; @@ -15,7 +15,7 @@ export const trpcClient = createTRPCNext({ process.env.NODE_ENV === 'development' || (opts.direction === 'down' && opts.result instanceof Error), }), - httpBatchLink({ + httpLink({ url: `${getBaseUrl()}/api/trpc`, }), ], From 755a681674c14ce009936c4c71daf2217fbe7de5 Mon Sep 17 00:00:00 2001 From: Qing <7880675+devrsi0n@users.noreply.github.com> Date: Thu, 1 Dec 2022 21:51:48 +0800 Subject: [PATCH 34/34] fix: e2e errors --- apps/e2e/cypress/e2e/dashboard/project.spec.ts | 4 ++-- apps/e2e/cypress/fixtures/utils.ts | 4 ++-- apps/e2e/cypress/support/commands.ts | 5 +++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/apps/e2e/cypress/e2e/dashboard/project.spec.ts b/apps/e2e/cypress/e2e/dashboard/project.spec.ts index 4173c7089..feda6c802 100644 --- a/apps/e2e/cypress/e2e/dashboard/project.spec.ts +++ b/apps/e2e/cypress/e2e/dashboard/project.spec.ts @@ -1,4 +1,4 @@ -import { waitGraphql } from '../../fixtures/utils'; +import { waitTrpc } from '../../fixtures/utils'; describe('Project', () => { before(() => { @@ -24,7 +24,7 @@ describe('Project', () => { cy.findByRole('dialog') .findByRole('button', { name: /delete/i }) .click(); - waitGraphql(); + waitTrpc(); } }); diff --git a/apps/e2e/cypress/fixtures/utils.ts b/apps/e2e/cypress/fixtures/utils.ts index e58cb85ed..b06392cf7 100644 --- a/apps/e2e/cypress/fixtures/utils.ts +++ b/apps/e2e/cypress/fixtures/utils.ts @@ -1,4 +1,4 @@ -export const waitGraphql = () => - cy.wait('@graphql', { +export const waitTrpc = () => + cy.wait('@trpc', { timeout: 20_000, }); diff --git a/apps/e2e/cypress/support/commands.ts b/apps/e2e/cypress/support/commands.ts index ebfee1472..a25af46d5 100644 --- a/apps/e2e/cypress/support/commands.ts +++ b/apps/e2e/cypress/support/commands.ts @@ -25,12 +25,13 @@ // Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) import '@testing-library/cypress/add-commands'; -import { waitGraphql } from '../fixtures/utils'; +import { waitTrpc } from '../fixtures/utils'; Cypress.Commands.add('login', () => { + cy.intercept('/api/trpc/**').as('trpc'); cy.visit('/auth/sign-in?allowAnonymous=true'); cy.get('input[name=name]').type(Cypress.env('TEST_USER_ID')); cy.get('button[type=submit]').click(); cy.wait(1000); - waitGraphql(); + waitTrpc(); });