Home
- Dumb
+ My Account
{children}
diff --git a/frontend/src/components/UserEmail.tsx b/frontend/src/components/UserEmail.tsx
new file mode 100644
index 00000000..1af040f1
--- /dev/null
+++ b/frontend/src/components/UserEmail.tsx
@@ -0,0 +1,53 @@
+// Copyright 2023 The Matrix.org Foundation C.I.C.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+import { FragmentType, graphql, useFragment } from "../gql";
+import React from "react";
+import Block from "./Block";
+import Typography, { Bold } from "./Typography";
+import DateTime from "./DateTime";
+
+const FRAGMENT = graphql(/* GraphQL */ `
+ fragment UserEmail_email on UserEmail {
+ id
+ email
+ createdAt
+ confirmedAt
+ }
+`);
+
+const UserEmail: React.FC<{ email: FragmentType
}> = ({
+ email,
+}) => {
+ const data = useFragment(FRAGMENT, email);
+ return (
+
+
+ {data.email}
+ {data.confirmedAt ? "" : " (not verified)"}
+
+ {data.confirmedAt ? (
+
+ Verified
+
+ ) : (
+
+ Added
+
+ )}
+
+ );
+};
+
+export default UserEmail;
diff --git a/frontend/src/components/UserEmailList.tsx b/frontend/src/components/UserEmailList.tsx
new file mode 100644
index 00000000..f9fccfb5
--- /dev/null
+++ b/frontend/src/components/UserEmailList.tsx
@@ -0,0 +1,108 @@
+// Copyright 2023 The Matrix.org Foundation C.I.C.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+import { atom, useAtomValue, useSetAtom } from "jotai";
+import { atomWithQuery } from "jotai-urql";
+import { atomFamily } from "jotai/utils";
+import deepEqual from "fast-deep-equal";
+
+import { graphql } from "../gql";
+import { useTransition } from "react";
+import Button from "./Button";
+import UserEmail from "./UserEmail";
+import BlockList from "./BlockList";
+
+const QUERY = graphql(/* GraphQL */ `
+ query UserEmailListQuery($userId: ID!, $first: Int!, $after: String) {
+ user(id: $userId) {
+ id
+ emails(first: $first, after: $after) {
+ edges {
+ cursor
+ node {
+ id
+ ...UserEmail_email
+ }
+ }
+ pageInfo {
+ hasNextPage
+ endCursor
+ }
+ }
+ }
+ }
+`);
+
+const emailPageResultFamily = atomFamily(
+ ({ userId, after }: { userId: string; after: string | null }) =>
+ atomWithQuery({
+ query: QUERY,
+ getVariables: () => ({ userId, first: 5, after }),
+ }),
+ deepEqual
+);
+
+const emailPageListFamily = atomFamily((_userId: string) =>
+ atom([null as string | null])
+);
+
+const emailNextPageFamily = atomFamily((userId: string) =>
+ atom(null, (get, set, after: string) => {
+ const currentList = get(emailPageListFamily(userId));
+ set(emailPageListFamily(userId), [...currentList, after]);
+ })
+);
+
+const emailPageFamily = atomFamily((userId: string) =>
+ atom(async (get) => {
+ const list = get(emailPageListFamily(userId));
+ return await Promise.all(
+ list.map((after) => get(emailPageResultFamily({ userId, after })))
+ );
+ })
+);
+
+const UserEmailList: React.FC<{ userId: string }> = ({ userId }) => {
+ const [pending, startTransition] = useTransition();
+ const result = useAtomValue(emailPageFamily(userId));
+ const setLoadNextPage = useSetAtom(emailNextPageFamily(userId));
+ const endPageInfo = result[result.length - 1]?.data?.user?.emails?.pageInfo;
+
+ const loadNextPage = () => {
+ if (endPageInfo?.hasNextPage && endPageInfo.endCursor) {
+ const cursor = endPageInfo.endCursor;
+ startTransition(() => {
+ setLoadNextPage(cursor);
+ });
+ }
+ };
+
+ return (
+
+ {result.flatMap(
+ (page) =>
+ page.data?.user?.emails?.edges?.map((edge) => (
+
+ )) || []
+ )}
+ {endPageInfo?.hasNextPage && (
+
+ )}
+
+ );
+};
+
+export default UserEmailList;
diff --git a/frontend/src/gql/gql.ts b/frontend/src/gql/gql.ts
index 62d41626..8c008a7e 100644
--- a/frontend/src/gql/gql.ts
+++ b/frontend/src/gql/gql.ts
@@ -1,6 +1,6 @@
/* eslint-disable */
-import * as types from './graphql';
-import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';
+import * as types from "./graphql";
+import { TypedDocumentNode as DocumentNode } from "@graphql-typed-document-node/core";
/**
* Map of all GraphQL operations in the project.
@@ -13,15 +13,34 @@ import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/
* Therefore it is highly recommended to use the babel or swc plugin for production.
*/
const documents = {
- "\n fragment BrowserSession_session on BrowserSession {\n id\n createdAt\n lastAuthentication {\n id\n createdAt\n }\n }\n": types.BrowserSession_SessionFragmentDoc,
- "\n fragment BrowserSessionList_user on User {\n browserSessions(first: $count, after: $cursor) {\n edges {\n cursor\n node {\n id\n ...BrowserSession_session\n }\n }\n }\n }\n": types.BrowserSessionList_UserFragmentDoc,
- "\n fragment CompatSsoLogin_login on CompatSsoLogin {\n id\n redirectUri\n createdAt\n session {\n id\n createdAt\n deviceId\n finishedAt\n }\n }\n": types.CompatSsoLogin_LoginFragmentDoc,
- "\n fragment CompatSsoLoginList_user on User {\n compatSsoLogins(first: $count, after: $cursor) {\n edges {\n node {\n id\n ...CompatSsoLogin_login\n }\n }\n }\n }\n": types.CompatSsoLoginList_UserFragmentDoc,
- "\n fragment OAuth2Session_session on Oauth2Session {\n id\n scope\n client {\n id\n clientId\n clientName\n clientUri\n }\n }\n": types.OAuth2Session_SessionFragmentDoc,
- "\n fragment OAuth2SessionList_user on User {\n oauth2Sessions(first: $count, after: $cursor) {\n edges {\n cursor\n node {\n id\n ...OAuth2Session_session\n }\n }\n }\n }\n": types.OAuth2SessionList_UserFragmentDoc,
- "\n query BrowserSessionQuery($id: ID!) {\n browserSession(id: $id) {\n id\n createdAt\n lastAuthentication {\n id\n createdAt\n }\n user {\n id\n username\n }\n }\n }\n": types.BrowserSessionQueryDocument,
- "\n query HomeQuery($count: Int!, $cursor: String) {\n # eslint-disable-next-line @graphql-eslint/no-deprecated\n currentBrowserSession {\n id\n user {\n id\n username\n\n ...CompatSsoLoginList_user\n ...BrowserSessionList_user\n ...OAuth2SessionList_user\n }\n }\n }\n": types.HomeQueryDocument,
- "\n query OAuth2ClientQuery($id: ID!) {\n oauth2Client(id: $id) {\n id\n clientId\n clientName\n clientUri\n tosUri\n policyUri\n redirectUris\n }\n }\n": types.OAuth2ClientQueryDocument,
+ "\n mutation AddEmail($userId: ID!, $email: String!) {\n addEmail(input: { userId: $userId, email: $email }) {\n status\n email {\n id\n ...UserEmail_email\n }\n }\n }\n":
+ types.AddEmailDocument,
+ "\n fragment BrowserSession_session on BrowserSession {\n id\n createdAt\n lastAuthentication {\n id\n createdAt\n }\n }\n":
+ types.BrowserSession_SessionFragmentDoc,
+ "\n fragment BrowserSessionList_user on User {\n browserSessions(first: $count, after: $cursor) {\n edges {\n cursor\n node {\n id\n ...BrowserSession_session\n }\n }\n }\n }\n":
+ types.BrowserSessionList_UserFragmentDoc,
+ "\n fragment CompatSsoLogin_login on CompatSsoLogin {\n id\n redirectUri\n createdAt\n session {\n id\n createdAt\n deviceId\n finishedAt\n }\n }\n":
+ types.CompatSsoLogin_LoginFragmentDoc,
+ "\n fragment CompatSsoLoginList_user on User {\n compatSsoLogins(first: $count, after: $cursor) {\n edges {\n node {\n id\n ...CompatSsoLogin_login\n }\n }\n }\n }\n":
+ types.CompatSsoLoginList_UserFragmentDoc,
+ "\n fragment OAuth2Session_session on Oauth2Session {\n id\n scope\n client {\n id\n clientId\n clientName\n clientUri\n }\n }\n":
+ types.OAuth2Session_SessionFragmentDoc,
+ "\n fragment OAuth2SessionList_user on User {\n oauth2Sessions(first: $count, after: $cursor) {\n edges {\n cursor\n node {\n id\n ...OAuth2Session_session\n }\n }\n }\n }\n":
+ types.OAuth2SessionList_UserFragmentDoc,
+ "\n fragment UserEmail_email on UserEmail {\n id\n email\n createdAt\n confirmedAt\n }\n":
+ types.UserEmail_EmailFragmentDoc,
+ "\n query UserEmailListQuery($userId: ID!, $first: Int!, $after: String) {\n user(id: $userId) {\n id\n emails(first: $first, after: $after) {\n edges {\n cursor\n node {\n id\n ...UserEmail_email\n }\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n }\n }\n":
+ types.UserEmailListQueryDocument,
+ "\n query CurrentUserQuery {\n viewer {\n ... on User {\n __typename\n id\n }\n }\n }\n":
+ types.CurrentUserQueryDocument,
+ "\n query AccountQuery($id: ID!) {\n user(id: $id) {\n id\n username\n }\n }\n":
+ types.AccountQueryDocument,
+ "\n query BrowserSessionQuery($id: ID!) {\n browserSession(id: $id) {\n id\n createdAt\n lastAuthentication {\n id\n createdAt\n }\n user {\n id\n username\n }\n }\n }\n":
+ types.BrowserSessionQueryDocument,
+ "\n query HomeQuery($count: Int!, $cursor: String) {\n # eslint-disable-next-line @graphql-eslint/no-deprecated\n currentBrowserSession {\n id\n user {\n id\n username\n\n ...CompatSsoLoginList_user\n ...BrowserSessionList_user\n ...OAuth2SessionList_user\n }\n }\n }\n":
+ types.HomeQueryDocument,
+ "\n query OAuth2ClientQuery($id: ID!) {\n oauth2Client(id: $id) {\n id\n clientId\n clientName\n clientUri\n tosUri\n policyUri\n redirectUris\n }\n }\n":
+ types.OAuth2ClientQueryDocument,
};
/**
@@ -41,42 +60,91 @@ export function graphql(source: string): unknown;
/**
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
*/
-export function graphql(source: "\n fragment BrowserSession_session on BrowserSession {\n id\n createdAt\n lastAuthentication {\n id\n createdAt\n }\n }\n"): (typeof documents)["\n fragment BrowserSession_session on BrowserSession {\n id\n createdAt\n lastAuthentication {\n id\n createdAt\n }\n }\n"];
+export function graphql(
+ source: "\n mutation AddEmail($userId: ID!, $email: String!) {\n addEmail(input: { userId: $userId, email: $email }) {\n status\n email {\n id\n ...UserEmail_email\n }\n }\n }\n"
+): (typeof documents)["\n mutation AddEmail($userId: ID!, $email: String!) {\n addEmail(input: { userId: $userId, email: $email }) {\n status\n email {\n id\n ...UserEmail_email\n }\n }\n }\n"];
/**
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
*/
-export function graphql(source: "\n fragment BrowserSessionList_user on User {\n browserSessions(first: $count, after: $cursor) {\n edges {\n cursor\n node {\n id\n ...BrowserSession_session\n }\n }\n }\n }\n"): (typeof documents)["\n fragment BrowserSessionList_user on User {\n browserSessions(first: $count, after: $cursor) {\n edges {\n cursor\n node {\n id\n ...BrowserSession_session\n }\n }\n }\n }\n"];
+export function graphql(
+ source: "\n fragment BrowserSession_session on BrowserSession {\n id\n createdAt\n lastAuthentication {\n id\n createdAt\n }\n }\n"
+): (typeof documents)["\n fragment BrowserSession_session on BrowserSession {\n id\n createdAt\n lastAuthentication {\n id\n createdAt\n }\n }\n"];
/**
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
*/
-export function graphql(source: "\n fragment CompatSsoLogin_login on CompatSsoLogin {\n id\n redirectUri\n createdAt\n session {\n id\n createdAt\n deviceId\n finishedAt\n }\n }\n"): (typeof documents)["\n fragment CompatSsoLogin_login on CompatSsoLogin {\n id\n redirectUri\n createdAt\n session {\n id\n createdAt\n deviceId\n finishedAt\n }\n }\n"];
+export function graphql(
+ source: "\n fragment BrowserSessionList_user on User {\n browserSessions(first: $count, after: $cursor) {\n edges {\n cursor\n node {\n id\n ...BrowserSession_session\n }\n }\n }\n }\n"
+): (typeof documents)["\n fragment BrowserSessionList_user on User {\n browserSessions(first: $count, after: $cursor) {\n edges {\n cursor\n node {\n id\n ...BrowserSession_session\n }\n }\n }\n }\n"];
/**
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
*/
-export function graphql(source: "\n fragment CompatSsoLoginList_user on User {\n compatSsoLogins(first: $count, after: $cursor) {\n edges {\n node {\n id\n ...CompatSsoLogin_login\n }\n }\n }\n }\n"): (typeof documents)["\n fragment CompatSsoLoginList_user on User {\n compatSsoLogins(first: $count, after: $cursor) {\n edges {\n node {\n id\n ...CompatSsoLogin_login\n }\n }\n }\n }\n"];
+export function graphql(
+ source: "\n fragment CompatSsoLogin_login on CompatSsoLogin {\n id\n redirectUri\n createdAt\n session {\n id\n createdAt\n deviceId\n finishedAt\n }\n }\n"
+): (typeof documents)["\n fragment CompatSsoLogin_login on CompatSsoLogin {\n id\n redirectUri\n createdAt\n session {\n id\n createdAt\n deviceId\n finishedAt\n }\n }\n"];
/**
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
*/
-export function graphql(source: "\n fragment OAuth2Session_session on Oauth2Session {\n id\n scope\n client {\n id\n clientId\n clientName\n clientUri\n }\n }\n"): (typeof documents)["\n fragment OAuth2Session_session on Oauth2Session {\n id\n scope\n client {\n id\n clientId\n clientName\n clientUri\n }\n }\n"];
+export function graphql(
+ source: "\n fragment CompatSsoLoginList_user on User {\n compatSsoLogins(first: $count, after: $cursor) {\n edges {\n node {\n id\n ...CompatSsoLogin_login\n }\n }\n }\n }\n"
+): (typeof documents)["\n fragment CompatSsoLoginList_user on User {\n compatSsoLogins(first: $count, after: $cursor) {\n edges {\n node {\n id\n ...CompatSsoLogin_login\n }\n }\n }\n }\n"];
/**
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
*/
-export function graphql(source: "\n fragment OAuth2SessionList_user on User {\n oauth2Sessions(first: $count, after: $cursor) {\n edges {\n cursor\n node {\n id\n ...OAuth2Session_session\n }\n }\n }\n }\n"): (typeof documents)["\n fragment OAuth2SessionList_user on User {\n oauth2Sessions(first: $count, after: $cursor) {\n edges {\n cursor\n node {\n id\n ...OAuth2Session_session\n }\n }\n }\n }\n"];
+export function graphql(
+ source: "\n fragment OAuth2Session_session on Oauth2Session {\n id\n scope\n client {\n id\n clientId\n clientName\n clientUri\n }\n }\n"
+): (typeof documents)["\n fragment OAuth2Session_session on Oauth2Session {\n id\n scope\n client {\n id\n clientId\n clientName\n clientUri\n }\n }\n"];
/**
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
*/
-export function graphql(source: "\n query BrowserSessionQuery($id: ID!) {\n browserSession(id: $id) {\n id\n createdAt\n lastAuthentication {\n id\n createdAt\n }\n user {\n id\n username\n }\n }\n }\n"): (typeof documents)["\n query BrowserSessionQuery($id: ID!) {\n browserSession(id: $id) {\n id\n createdAt\n lastAuthentication {\n id\n createdAt\n }\n user {\n id\n username\n }\n }\n }\n"];
+export function graphql(
+ source: "\n fragment OAuth2SessionList_user on User {\n oauth2Sessions(first: $count, after: $cursor) {\n edges {\n cursor\n node {\n id\n ...OAuth2Session_session\n }\n }\n }\n }\n"
+): (typeof documents)["\n fragment OAuth2SessionList_user on User {\n oauth2Sessions(first: $count, after: $cursor) {\n edges {\n cursor\n node {\n id\n ...OAuth2Session_session\n }\n }\n }\n }\n"];
/**
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
*/
-export function graphql(source: "\n query HomeQuery($count: Int!, $cursor: String) {\n # eslint-disable-next-line @graphql-eslint/no-deprecated\n currentBrowserSession {\n id\n user {\n id\n username\n\n ...CompatSsoLoginList_user\n ...BrowserSessionList_user\n ...OAuth2SessionList_user\n }\n }\n }\n"): (typeof documents)["\n query HomeQuery($count: Int!, $cursor: String) {\n # eslint-disable-next-line @graphql-eslint/no-deprecated\n currentBrowserSession {\n id\n user {\n id\n username\n\n ...CompatSsoLoginList_user\n ...BrowserSessionList_user\n ...OAuth2SessionList_user\n }\n }\n }\n"];
+export function graphql(
+ source: "\n fragment UserEmail_email on UserEmail {\n id\n email\n createdAt\n confirmedAt\n }\n"
+): (typeof documents)["\n fragment UserEmail_email on UserEmail {\n id\n email\n createdAt\n confirmedAt\n }\n"];
/**
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
*/
-export function graphql(source: "\n query OAuth2ClientQuery($id: ID!) {\n oauth2Client(id: $id) {\n id\n clientId\n clientName\n clientUri\n tosUri\n policyUri\n redirectUris\n }\n }\n"): (typeof documents)["\n query OAuth2ClientQuery($id: ID!) {\n oauth2Client(id: $id) {\n id\n clientId\n clientName\n clientUri\n tosUri\n policyUri\n redirectUris\n }\n }\n"];
+export function graphql(
+ source: "\n query UserEmailListQuery($userId: ID!, $first: Int!, $after: String) {\n user(id: $userId) {\n id\n emails(first: $first, after: $after) {\n edges {\n cursor\n node {\n id\n ...UserEmail_email\n }\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n }\n }\n"
+): (typeof documents)["\n query UserEmailListQuery($userId: ID!, $first: Int!, $after: String) {\n user(id: $userId) {\n id\n emails(first: $first, after: $after) {\n edges {\n cursor\n node {\n id\n ...UserEmail_email\n }\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n }\n }\n"];
+/**
+ * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
+ */
+export function graphql(
+ source: "\n query CurrentUserQuery {\n viewer {\n ... on User {\n __typename\n id\n }\n }\n }\n"
+): (typeof documents)["\n query CurrentUserQuery {\n viewer {\n ... on User {\n __typename\n id\n }\n }\n }\n"];
+/**
+ * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
+ */
+export function graphql(
+ source: "\n query AccountQuery($id: ID!) {\n user(id: $id) {\n id\n username\n }\n }\n"
+): (typeof documents)["\n query AccountQuery($id: ID!) {\n user(id: $id) {\n id\n username\n }\n }\n"];
+/**
+ * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
+ */
+export function graphql(
+ source: "\n query BrowserSessionQuery($id: ID!) {\n browserSession(id: $id) {\n id\n createdAt\n lastAuthentication {\n id\n createdAt\n }\n user {\n id\n username\n }\n }\n }\n"
+): (typeof documents)["\n query BrowserSessionQuery($id: ID!) {\n browserSession(id: $id) {\n id\n createdAt\n lastAuthentication {\n id\n createdAt\n }\n user {\n id\n username\n }\n }\n }\n"];
+/**
+ * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
+ */
+export function graphql(
+ source: "\n query HomeQuery($count: Int!, $cursor: String) {\n # eslint-disable-next-line @graphql-eslint/no-deprecated\n currentBrowserSession {\n id\n user {\n id\n username\n\n ...CompatSsoLoginList_user\n ...BrowserSessionList_user\n ...OAuth2SessionList_user\n }\n }\n }\n"
+): (typeof documents)["\n query HomeQuery($count: Int!, $cursor: String) {\n # eslint-disable-next-line @graphql-eslint/no-deprecated\n currentBrowserSession {\n id\n user {\n id\n username\n\n ...CompatSsoLoginList_user\n ...BrowserSessionList_user\n ...OAuth2SessionList_user\n }\n }\n }\n"];
+/**
+ * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
+ */
+export function graphql(
+ source: "\n query OAuth2ClientQuery($id: ID!) {\n oauth2Client(id: $id) {\n id\n clientId\n clientName\n clientUri\n tosUri\n policyUri\n redirectUris\n }\n }\n"
+): (typeof documents)["\n query OAuth2ClientQuery($id: ID!) {\n oauth2Client(id: $id) {\n id\n clientId\n clientName\n clientUri\n tosUri\n policyUri\n redirectUris\n }\n }\n"];
export function graphql(source: string) {
return (documents as any)[source] ?? {};
}
-export type DocumentType> = TDocumentNode extends DocumentNode< infer TType, any> ? TType : never;
\ No newline at end of file
+export type DocumentType> =
+ TDocumentNode extends DocumentNode ? TType : never;
diff --git a/frontend/src/gql/graphql.ts b/frontend/src/gql/graphql.ts
index 7cec3f71..d9ae854b 100644
--- a/frontend/src/gql/graphql.ts
+++ b/frontend/src/gql/graphql.ts
@@ -1,10 +1,16 @@
/* eslint-disable */
-import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';
+import { TypedDocumentNode as DocumentNode } from "@graphql-typed-document-node/core";
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 };
+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;
@@ -25,14 +31,14 @@ export type Scalars = {
/** The input for the `addEmail` mutation */
export type AddEmailInput = {
/** The email address to add */
- email: Scalars['String'];
+ email: Scalars["String"];
/** The ID of the user to add the email address to */
- userId: Scalars['ID'];
+ userId: Scalars["ID"];
};
/** The payload of the `addEmail` mutation */
export type AddEmailPayload = {
- __typename?: 'AddEmailPayload';
+ __typename?: "AddEmailPayload";
/** The email address that was added */
email: UserEmail;
/** Status of the operation */
@@ -44,43 +50,45 @@ export type AddEmailPayload = {
/** The status of the `addEmail` mutation */
export enum AddEmailStatus {
/** The email address was added */
- Added = 'ADDED',
+ Added = "ADDED",
/** The email address already exists */
- Exists = 'EXISTS'
+ Exists = "EXISTS",
}
export type Anonymous = Node & {
- __typename?: 'Anonymous';
- id: Scalars['ID'];
+ __typename?: "Anonymous";
+ id: Scalars["ID"];
};
/**
* An authentication records when a user enter their credential in a browser
* session.
*/
-export type Authentication = CreationEvent & Node & {
- __typename?: 'Authentication';
- /** When the object was created. */
- createdAt: Scalars['DateTime'];
- /** ID of the object. */
- id: Scalars['ID'];
-};
+export type Authentication = CreationEvent &
+ Node & {
+ __typename?: "Authentication";
+ /** When the object was created. */
+ createdAt: Scalars["DateTime"];
+ /** ID of the object. */
+ id: Scalars["ID"];
+ };
/** A browser session represents a logged in user in a browser. */
-export type BrowserSession = CreationEvent & Node & {
- __typename?: 'BrowserSession';
- /** When the object was created. */
- createdAt: Scalars['DateTime'];
- /** ID of the object. */
- id: Scalars['ID'];
- /** The most recent authentication of this session. */
- lastAuthentication?: Maybe;
- /** The user logged in this session. */
- user: User;
-};
+export type BrowserSession = CreationEvent &
+ Node & {
+ __typename?: "BrowserSession";
+ /** When the object was created. */
+ createdAt: Scalars["DateTime"];
+ /** ID of the object. */
+ id: Scalars["ID"];
+ /** The most recent authentication of this session. */
+ lastAuthentication?: Maybe;
+ /** The user logged in this session. */
+ user: User;
+ };
export type BrowserSessionConnection = {
- __typename?: 'BrowserSessionConnection';
+ __typename?: "BrowserSessionConnection";
/** A list of edges. */
edges: Array;
/** A list of nodes. */
@@ -91,9 +99,9 @@ export type BrowserSessionConnection = {
/** An edge in a connection. */
export type BrowserSessionEdge = {
- __typename?: 'BrowserSessionEdge';
+ __typename?: "BrowserSessionEdge";
/** A cursor for use in pagination */
- cursor: Scalars['String'];
+ cursor: Scalars["String"];
/** The item at the end of the edge */
node: BrowserSession;
};
@@ -102,45 +110,46 @@ export type BrowserSessionEdge = {
* A compat session represents a client session which used the legacy Matrix
* login API.
*/
-export type CompatSession = CreationEvent & Node & {
- __typename?: 'CompatSession';
- /** When the object was created. */
- createdAt: Scalars['DateTime'];
- /** The Matrix Device ID of this session. */
- deviceId: Scalars['String'];
- /** When the session ended. */
- finishedAt?: Maybe;
- /** ID of the object. */
- id: Scalars['ID'];
- /** The user authorized for this session. */
- user: User;
-};
+export type CompatSession = CreationEvent &
+ Node & {
+ __typename?: "CompatSession";
+ /** When the object was created. */
+ createdAt: Scalars["DateTime"];
+ /** The Matrix Device ID of this session. */
+ deviceId: Scalars["String"];
+ /** When the session ended. */
+ finishedAt?: Maybe;
+ /** ID of the object. */
+ id: Scalars["ID"];
+ /** The user authorized for this session. */
+ user: User;
+ };
/**
* A compat SSO login represents a login done through the legacy Matrix login
* API, via the `m.login.sso` login method.
*/
export type CompatSsoLogin = Node & {
- __typename?: 'CompatSsoLogin';
+ __typename?: "CompatSsoLogin";
/** When the object was created. */
- createdAt: Scalars['DateTime'];
+ createdAt: Scalars["DateTime"];
/** When the client exchanged the login token sent during the redirection. */
- exchangedAt?: Maybe;
+ exchangedAt?: Maybe;
/**
* When the login was fulfilled, and the user was redirected back to the
* client.
*/
- fulfilledAt?: Maybe;
+ fulfilledAt?: Maybe;
/** ID of the object. */
- id: Scalars['ID'];
+ id: Scalars["ID"];
/** The redirect URI used during the login. */
- redirectUri: Scalars['Url'];
+ redirectUri: Scalars["Url"];
/** The compat session which was started by this login. */
session?: Maybe;
};
export type CompatSsoLoginConnection = {
- __typename?: 'CompatSsoLoginConnection';
+ __typename?: "CompatSsoLoginConnection";
/** A list of edges. */
edges: Array;
/** A list of nodes. */
@@ -151,9 +160,9 @@ export type CompatSsoLoginConnection = {
/** An edge in a connection. */
export type CompatSsoLoginEdge = {
- __typename?: 'CompatSsoLoginEdge';
+ __typename?: "CompatSsoLoginEdge";
/** A cursor for use in pagination */
- cursor: Scalars['String'];
+ cursor: Scalars["String"];
/** The item at the end of the edge */
node: CompatSsoLogin;
};
@@ -161,12 +170,12 @@ export type CompatSsoLoginEdge = {
/** An object with a creation date. */
export type CreationEvent = {
/** When the object was created. */
- createdAt: Scalars['DateTime'];
+ createdAt: Scalars["DateTime"];
};
/** The mutations root of the GraphQL interface. */
export type Mutation = {
- __typename?: 'Mutation';
+ __typename?: "Mutation";
/** Add an email address to the specified user */
addEmail: AddEmailPayload;
/** Send a verification code for an email address */
@@ -175,19 +184,16 @@ export type Mutation = {
verifyEmail: VerifyEmailPayload;
};
-
/** The mutations root of the GraphQL interface. */
export type MutationAddEmailArgs = {
input: AddEmailInput;
};
-
/** The mutations root of the GraphQL interface. */
export type MutationSendVerificationEmailArgs = {
input: SendVerificationEmailInput;
};
-
/** The mutations root of the GraphQL interface. */
export type MutationVerifyEmailArgs = {
input: VerifyEmailInput;
@@ -196,26 +202,26 @@ export type MutationVerifyEmailArgs = {
/** An object with an ID. */
export type Node = {
/** ID of the object. */
- id: Scalars['ID'];
+ id: Scalars["ID"];
};
/** An OAuth 2.0 client */
export type Oauth2Client = Node & {
- __typename?: 'Oauth2Client';
+ __typename?: "Oauth2Client";
/** OAuth 2.0 client ID */
- clientId: Scalars['String'];
+ clientId: Scalars["String"];
/** Client name advertised by the client. */
- clientName?: Maybe;
+ clientName?: Maybe;
/** Client URI advertised by the client. */
- clientUri?: Maybe;
+ clientUri?: Maybe;
/** ID of the object. */
- id: Scalars['ID'];
+ id: Scalars["ID"];
/** Privacy policy URI advertised by the client. */
- policyUri?: Maybe;
+ policyUri?: Maybe;
/** List of redirect URIs used for authorization grants by the client. */
- redirectUris: Array;
+ redirectUris: Array;
/** Terms of services URI advertised by the client. */
- tosUri?: Maybe;
+ tosUri?: Maybe;
};
/**
@@ -223,21 +229,21 @@ export type Oauth2Client = Node & {
* to login.
*/
export type Oauth2Session = Node & {
- __typename?: 'Oauth2Session';
+ __typename?: "Oauth2Session";
/** The browser session which started this OAuth 2.0 session. */
browserSession: BrowserSession;
/** OAuth 2.0 client used by this session. */
client: Oauth2Client;
/** ID of the object. */
- id: Scalars['ID'];
+ id: Scalars["ID"];
/** Scope granted for this session. */
- scope: Scalars['String'];
+ scope: Scalars["String"];
/** User authorized for this session. */
user: User;
};
export type Oauth2SessionConnection = {
- __typename?: 'Oauth2SessionConnection';
+ __typename?: "Oauth2SessionConnection";
/** A list of edges. */
edges: Array;
/** A list of nodes. */
@@ -248,29 +254,29 @@ export type Oauth2SessionConnection = {
/** An edge in a connection. */
export type Oauth2SessionEdge = {
- __typename?: 'Oauth2SessionEdge';
+ __typename?: "Oauth2SessionEdge";
/** A cursor for use in pagination */
- cursor: Scalars['String'];
+ cursor: Scalars["String"];
/** The item at the end of the edge */
node: Oauth2Session;
};
/** Information about pagination in a connection */
export type PageInfo = {
- __typename?: 'PageInfo';
+ __typename?: "PageInfo";
/** When paginating forwards, the cursor to continue. */
- endCursor?: Maybe;
+ endCursor?: Maybe;
/** When paginating forwards, are there more items? */
- hasNextPage: Scalars['Boolean'];
+ hasNextPage: Scalars["Boolean"];
/** When paginating backwards, are there more items? */
- hasPreviousPage: Scalars['Boolean'];
+ hasPreviousPage: Scalars["Boolean"];
/** When paginating backwards, the cursor to continue. */
- startCursor?: Maybe;
+ startCursor?: Maybe;
};
/** The query root of the GraphQL interface. */
export type Query = {
- __typename?: 'Query';
+ __typename?: "Query";
/** Fetch a browser session by its ID. */
browserSession?: Maybe;
/**
@@ -303,66 +309,58 @@ export type Query = {
viewerSession: ViewerSession;
};
-
/** The query root of the GraphQL interface. */
export type QueryBrowserSessionArgs = {
- id: Scalars['ID'];
+ id: Scalars["ID"];
};
-
/** The query root of the GraphQL interface. */
export type QueryNodeArgs = {
- id: Scalars['ID'];
+ id: Scalars["ID"];
};
-
/** The query root of the GraphQL interface. */
export type QueryOauth2ClientArgs = {
- id: Scalars['ID'];
+ id: Scalars["ID"];
};
-
/** The query root of the GraphQL interface. */
export type QueryUpstreamOauth2LinkArgs = {
- id: Scalars['ID'];
+ id: Scalars["ID"];
};
-
/** The query root of the GraphQL interface. */
export type QueryUpstreamOauth2ProviderArgs = {
- id: Scalars['ID'];
+ id: Scalars["ID"];
};
-
/** The query root of the GraphQL interface. */
export type QueryUpstreamOauth2ProvidersArgs = {
- after?: InputMaybe;
- before?: InputMaybe;
- first?: InputMaybe;
- last?: InputMaybe;
+ after?: InputMaybe;
+ before?: InputMaybe;
+ first?: InputMaybe;
+ last?: InputMaybe;
};
-
/** The query root of the GraphQL interface. */
export type QueryUserArgs = {
- id: Scalars['ID'];
+ id: Scalars["ID"];
};
-
/** The query root of the GraphQL interface. */
export type QueryUserEmailArgs = {
- id: Scalars['ID'];
+ id: Scalars["ID"];
};
/** The input for the `sendVerificationEmail` mutation */
export type SendVerificationEmailInput = {
/** The ID of the email address to verify */
- userEmailId: Scalars['ID'];
+ userEmailId: Scalars["ID"];
};
/** The payload of the `sendVerificationEmail` mutation */
export type SendVerificationEmailPayload = {
- __typename?: 'SendVerificationEmailPayload';
+ __typename?: "SendVerificationEmailPayload";
/** The email address to which the verification email was sent */
email: UserEmail;
/** Status of the operation */
@@ -374,27 +372,28 @@ export type SendVerificationEmailPayload = {
/** The status of the `sendVerificationEmail` mutation */
export enum SendVerificationEmailStatus {
/** The email address is already verified */
- AlreadyVerified = 'ALREADY_VERIFIED',
+ AlreadyVerified = "ALREADY_VERIFIED",
/** The verification email was sent */
- Sent = 'SENT'
+ Sent = "SENT",
}
-export type UpstreamOAuth2Link = CreationEvent & Node & {
- __typename?: 'UpstreamOAuth2Link';
- /** When the object was created. */
- createdAt: Scalars['DateTime'];
- /** ID of the object. */
- id: Scalars['ID'];
- /** The provider for which this link is. */
- provider: UpstreamOAuth2Provider;
- /** Subject used for linking */
- subject: Scalars['String'];
- /** The user to which this link is associated. */
- user?: Maybe;
-};
+export type UpstreamOAuth2Link = CreationEvent &
+ Node & {
+ __typename?: "UpstreamOAuth2Link";
+ /** When the object was created. */
+ createdAt: Scalars["DateTime"];
+ /** ID of the object. */
+ id: Scalars["ID"];
+ /** The provider for which this link is. */
+ provider: UpstreamOAuth2Provider;
+ /** Subject used for linking */
+ subject: Scalars["String"];
+ /** The user to which this link is associated. */
+ user?: Maybe;
+ };
export type UpstreamOAuth2LinkConnection = {
- __typename?: 'UpstreamOAuth2LinkConnection';
+ __typename?: "UpstreamOAuth2LinkConnection";
/** A list of edges. */
edges: Array;
/** A list of nodes. */
@@ -405,27 +404,28 @@ export type UpstreamOAuth2LinkConnection = {
/** An edge in a connection. */
export type UpstreamOAuth2LinkEdge = {
- __typename?: 'UpstreamOAuth2LinkEdge';
+ __typename?: "UpstreamOAuth2LinkEdge";
/** A cursor for use in pagination */
- cursor: Scalars['String'];
+ cursor: Scalars["String"];
/** The item at the end of the edge */
node: UpstreamOAuth2Link;
};
-export type UpstreamOAuth2Provider = CreationEvent & Node & {
- __typename?: 'UpstreamOAuth2Provider';
- /** Client ID used for this provider. */
- clientId: Scalars['String'];
- /** When the object was created. */
- createdAt: Scalars['DateTime'];
- /** ID of the object. */
- id: Scalars['ID'];
- /** OpenID Connect issuer URL. */
- issuer: Scalars['String'];
-};
+export type UpstreamOAuth2Provider = CreationEvent &
+ Node & {
+ __typename?: "UpstreamOAuth2Provider";
+ /** Client ID used for this provider. */
+ clientId: Scalars["String"];
+ /** When the object was created. */
+ createdAt: Scalars["DateTime"];
+ /** ID of the object. */
+ id: Scalars["ID"];
+ /** OpenID Connect issuer URL. */
+ issuer: Scalars["String"];
+ };
export type UpstreamOAuth2ProviderConnection = {
- __typename?: 'UpstreamOAuth2ProviderConnection';
+ __typename?: "UpstreamOAuth2ProviderConnection";
/** A list of edges. */
edges: Array;
/** A list of nodes. */
@@ -436,16 +436,16 @@ export type UpstreamOAuth2ProviderConnection = {
/** An edge in a connection. */
export type UpstreamOAuth2ProviderEdge = {
- __typename?: 'UpstreamOAuth2ProviderEdge';
+ __typename?: "UpstreamOAuth2ProviderEdge";
/** A cursor for use in pagination */
- cursor: Scalars['String'];
+ cursor: Scalars["String"];
/** The item at the end of the edge */
node: UpstreamOAuth2Provider;
};
/** A user is an individual's account. */
export type User = Node & {
- __typename?: 'User';
+ __typename?: "User";
/** Get the list of active browser sessions, chronologically sorted */
browserSessions: BrowserSessionConnection;
/** Get the list of compatibility SSO logins, chronologically sorted */
@@ -453,7 +453,7 @@ export type User = Node & {
/** Get the list of emails, chronologically sorted */
emails: UserEmailConnection;
/** ID of the object. */
- id: Scalars['ID'];
+ id: Scalars["ID"];
/** Get the list of OAuth 2.0 sessions, chronologically sorted */
oauth2Sessions: Oauth2SessionConnection;
/** Primary email address of the user. */
@@ -461,72 +461,68 @@ export type User = Node & {
/** Get the list of upstream OAuth 2.0 links */
upstreamOauth2Links: UpstreamOAuth2LinkConnection;
/** Username chosen by the user. */
- username: Scalars['String'];
+ username: Scalars["String"];
};
-
/** A user is an individual's account. */
export type UserBrowserSessionsArgs = {
- after?: InputMaybe;
- before?: InputMaybe;
- first?: InputMaybe;
- last?: InputMaybe;
+ after?: InputMaybe;
+ before?: InputMaybe;
+ first?: InputMaybe;
+ last?: InputMaybe;
};
-
/** A user is an individual's account. */
export type UserCompatSsoLoginsArgs = {
- after?: InputMaybe;
- before?: InputMaybe;
- first?: InputMaybe;
- last?: InputMaybe;
+ after?: InputMaybe;
+ before?: InputMaybe;
+ first?: InputMaybe;
+ last?: InputMaybe;
};
-
/** A user is an individual's account. */
export type UserEmailsArgs = {
- after?: InputMaybe;
- before?: InputMaybe;
- first?: InputMaybe;
- last?: InputMaybe;
+ after?: InputMaybe;
+ before?: InputMaybe;
+ first?: InputMaybe;
+ last?: InputMaybe;
};
-
/** A user is an individual's account. */
export type UserOauth2SessionsArgs = {
- after?: InputMaybe;
- before?: InputMaybe;
- first?: InputMaybe;
- last?: InputMaybe;
+ after?: InputMaybe;
+ before?: InputMaybe;
+ first?: InputMaybe;
+ last?: InputMaybe;
};
-
/** A user is an individual's account. */
export type UserUpstreamOauth2LinksArgs = {
- after?: InputMaybe;
- before?: InputMaybe;
- first?: InputMaybe;
- last?: InputMaybe;
+ after?: InputMaybe;
+ before?: InputMaybe;
+ first?: InputMaybe;
+ last?: InputMaybe;
};
/** A user email address */
-export type UserEmail = CreationEvent & Node & {
- __typename?: 'UserEmail';
- /**
- * When the email address was confirmed. Is `null` if the email was never
- * verified by the user.
- */
- confirmedAt?: Maybe;
- /** When the object was created. */
- createdAt: Scalars['DateTime'];
- /** Email address */
- email: Scalars['String'];
- /** ID of the object. */
- id: Scalars['ID'];
-};
+export type UserEmail = CreationEvent &
+ Node & {
+ __typename?: "UserEmail";
+ /**
+ * When the email address was confirmed. Is `null` if the email was never
+ * verified by the user.
+ */
+ confirmedAt?: Maybe;
+ /** When the object was created. */
+ createdAt: Scalars["DateTime"];
+ /** Email address */
+ email: Scalars["String"];
+ /** ID of the object. */
+ id: Scalars["ID"];
+ };
export type UserEmailConnection = {
- __typename?: 'UserEmailConnection';
+ __typename?: "UserEmailConnection";
/** A list of edges. */
edges: Array;
/** A list of nodes. */
@@ -534,14 +530,14 @@ export type UserEmailConnection = {
/** Information to aid in pagination. */
pageInfo: PageInfo;
/** Identifies the total count of items in the connection. */
- totalCount: Scalars['Int'];
+ totalCount: Scalars["Int"];
};
/** An edge in a connection. */
export type UserEmailEdge = {
- __typename?: 'UserEmailEdge';
+ __typename?: "UserEmailEdge";
/** A cursor for use in pagination */
- cursor: Scalars['String'];
+ cursor: Scalars["String"];
/** The item at the end of the edge */
node: UserEmail;
};
@@ -549,14 +545,14 @@ export type UserEmailEdge = {
/** The input for the `verifyEmail` mutation */
export type VerifyEmailInput = {
/** The verification code */
- code: Scalars['String'];
+ code: Scalars["String"];
/** The ID of the email address to verify */
- userEmailId: Scalars['ID'];
+ userEmailId: Scalars["ID"];
};
/** The payload of the `verifyEmail` mutation */
export type VerifyEmailPayload = {
- __typename?: 'VerifyEmailPayload';
+ __typename?: "VerifyEmailPayload";
/** The email address that was verified */
email?: Maybe;
/** Status of the operation */
@@ -568,11 +564,11 @@ export type VerifyEmailPayload = {
/** The status of the `verifyEmail` mutation */
export enum VerifyEmailStatus {
/** The email address was already verified before */
- AlreadyVerified = 'ALREADY_VERIFIED',
+ AlreadyVerified = "ALREADY_VERIFIED",
/** The verification code is invalid */
- InvalidCode = 'INVALID_CODE',
+ InvalidCode = "INVALID_CODE",
/** The email address was just verified */
- Verified = 'VERIFIED'
+ Verified = "VERIFIED",
}
/** Represents the current viewer */
@@ -581,58 +577,1523 @@ export type Viewer = Anonymous | User;
/** Represents the current viewer's session */
export type ViewerSession = Anonymous | BrowserSession;
-export type BrowserSession_SessionFragment = { __typename?: 'BrowserSession', id: string, createdAt: any, lastAuthentication?: { __typename?: 'Authentication', id: string, createdAt: any } | null } & { ' $fragmentName'?: 'BrowserSession_SessionFragment' };
+export type AddEmailMutationVariables = Exact<{
+ userId: Scalars["ID"];
+ email: Scalars["String"];
+}>;
-export type BrowserSessionList_UserFragment = { __typename?: 'User', browserSessions: { __typename?: 'BrowserSessionConnection', edges: Array<{ __typename?: 'BrowserSessionEdge', cursor: string, node: (
- { __typename?: 'BrowserSession', id: string }
- & { ' $fragmentRefs'?: { 'BrowserSession_SessionFragment': BrowserSession_SessionFragment } }
- ) }> } } & { ' $fragmentName'?: 'BrowserSessionList_UserFragment' };
+export type AddEmailMutation = {
+ __typename?: "Mutation";
+ addEmail: {
+ __typename?: "AddEmailPayload";
+ status: AddEmailStatus;
+ email: { __typename?: "UserEmail"; id: string } & {
+ " $fragmentRefs"?: { UserEmail_EmailFragment: UserEmail_EmailFragment };
+ };
+ };
+};
-export type CompatSsoLogin_LoginFragment = { __typename?: 'CompatSsoLogin', id: string, redirectUri: any, createdAt: any, session?: { __typename?: 'CompatSession', id: string, createdAt: any, deviceId: string, finishedAt?: any | null } | null } & { ' $fragmentName'?: 'CompatSsoLogin_LoginFragment' };
+export type BrowserSession_SessionFragment = {
+ __typename?: "BrowserSession";
+ id: string;
+ createdAt: any;
+ lastAuthentication?: {
+ __typename?: "Authentication";
+ id: string;
+ createdAt: any;
+ } | null;
+} & { " $fragmentName"?: "BrowserSession_SessionFragment" };
-export type CompatSsoLoginList_UserFragment = { __typename?: 'User', compatSsoLogins: { __typename?: 'CompatSsoLoginConnection', edges: Array<{ __typename?: 'CompatSsoLoginEdge', node: (
- { __typename?: 'CompatSsoLogin', id: string }
- & { ' $fragmentRefs'?: { 'CompatSsoLogin_LoginFragment': CompatSsoLogin_LoginFragment } }
- ) }> } } & { ' $fragmentName'?: 'CompatSsoLoginList_UserFragment' };
+export type BrowserSessionList_UserFragment = {
+ __typename?: "User";
+ browserSessions: {
+ __typename?: "BrowserSessionConnection";
+ edges: Array<{
+ __typename?: "BrowserSessionEdge";
+ cursor: string;
+ node: { __typename?: "BrowserSession"; id: string } & {
+ " $fragmentRefs"?: {
+ BrowserSession_SessionFragment: BrowserSession_SessionFragment;
+ };
+ };
+ }>;
+ };
+} & { " $fragmentName"?: "BrowserSessionList_UserFragment" };
-export type OAuth2Session_SessionFragment = { __typename?: 'Oauth2Session', id: string, scope: string, client: { __typename?: 'Oauth2Client', id: string, clientId: string, clientName?: string | null, clientUri?: any | null } } & { ' $fragmentName'?: 'OAuth2Session_SessionFragment' };
+export type CompatSsoLogin_LoginFragment = {
+ __typename?: "CompatSsoLogin";
+ id: string;
+ redirectUri: any;
+ createdAt: any;
+ session?: {
+ __typename?: "CompatSession";
+ id: string;
+ createdAt: any;
+ deviceId: string;
+ finishedAt?: any | null;
+ } | null;
+} & { " $fragmentName"?: "CompatSsoLogin_LoginFragment" };
-export type OAuth2SessionList_UserFragment = { __typename?: 'User', oauth2Sessions: { __typename?: 'Oauth2SessionConnection', edges: Array<{ __typename?: 'Oauth2SessionEdge', cursor: string, node: (
- { __typename?: 'Oauth2Session', id: string }
- & { ' $fragmentRefs'?: { 'OAuth2Session_SessionFragment': OAuth2Session_SessionFragment } }
- ) }> } } & { ' $fragmentName'?: 'OAuth2SessionList_UserFragment' };
+export type CompatSsoLoginList_UserFragment = {
+ __typename?: "User";
+ compatSsoLogins: {
+ __typename?: "CompatSsoLoginConnection";
+ edges: Array<{
+ __typename?: "CompatSsoLoginEdge";
+ node: { __typename?: "CompatSsoLogin"; id: string } & {
+ " $fragmentRefs"?: {
+ CompatSsoLogin_LoginFragment: CompatSsoLogin_LoginFragment;
+ };
+ };
+ }>;
+ };
+} & { " $fragmentName"?: "CompatSsoLoginList_UserFragment" };
+
+export type OAuth2Session_SessionFragment = {
+ __typename?: "Oauth2Session";
+ id: string;
+ scope: string;
+ client: {
+ __typename?: "Oauth2Client";
+ id: string;
+ clientId: string;
+ clientName?: string | null;
+ clientUri?: any | null;
+ };
+} & { " $fragmentName"?: "OAuth2Session_SessionFragment" };
+
+export type OAuth2SessionList_UserFragment = {
+ __typename?: "User";
+ oauth2Sessions: {
+ __typename?: "Oauth2SessionConnection";
+ edges: Array<{
+ __typename?: "Oauth2SessionEdge";
+ cursor: string;
+ node: { __typename?: "Oauth2Session"; id: string } & {
+ " $fragmentRefs"?: {
+ OAuth2Session_SessionFragment: OAuth2Session_SessionFragment;
+ };
+ };
+ }>;
+ };
+} & { " $fragmentName"?: "OAuth2SessionList_UserFragment" };
+
+export type UserEmail_EmailFragment = {
+ __typename?: "UserEmail";
+ id: string;
+ email: string;
+ createdAt: any;
+ confirmedAt?: any | null;
+} & { " $fragmentName"?: "UserEmail_EmailFragment" };
+
+export type UserEmailListQueryQueryVariables = Exact<{
+ userId: Scalars["ID"];
+ first: Scalars["Int"];
+ after?: InputMaybe;
+}>;
+
+export type UserEmailListQueryQuery = {
+ __typename?: "Query";
+ user?: {
+ __typename?: "User";
+ id: string;
+ emails: {
+ __typename?: "UserEmailConnection";
+ edges: Array<{
+ __typename?: "UserEmailEdge";
+ cursor: string;
+ node: { __typename?: "UserEmail"; id: string } & {
+ " $fragmentRefs"?: {
+ UserEmail_EmailFragment: UserEmail_EmailFragment;
+ };
+ };
+ }>;
+ pageInfo: {
+ __typename?: "PageInfo";
+ hasNextPage: boolean;
+ endCursor?: string | null;
+ };
+ };
+ } | null;
+};
+
+export type CurrentUserQueryQueryVariables = Exact<{ [key: string]: never }>;
+
+export type CurrentUserQueryQuery = {
+ __typename?: "Query";
+ viewer: { __typename?: "Anonymous" } | { __typename: "User"; id: string };
+};
+
+export type AccountQueryQueryVariables = Exact<{
+ id: Scalars["ID"];
+}>;
+
+export type AccountQueryQuery = {
+ __typename?: "Query";
+ user?: { __typename?: "User"; id: string; username: string } | null;
+};
export type BrowserSessionQueryQueryVariables = Exact<{
- id: Scalars['ID'];
+ id: Scalars["ID"];
}>;
-
-export type BrowserSessionQueryQuery = { __typename?: 'Query', browserSession?: { __typename?: 'BrowserSession', id: string, createdAt: any, lastAuthentication?: { __typename?: 'Authentication', id: string, createdAt: any } | null, user: { __typename?: 'User', id: string, username: string } } | null };
+export type BrowserSessionQueryQuery = {
+ __typename?: "Query";
+ browserSession?: {
+ __typename?: "BrowserSession";
+ id: string;
+ createdAt: any;
+ lastAuthentication?: {
+ __typename?: "Authentication";
+ id: string;
+ createdAt: any;
+ } | null;
+ user: { __typename?: "User"; id: string; username: string };
+ } | null;
+};
export type HomeQueryQueryVariables = Exact<{
- count: Scalars['Int'];
- cursor?: InputMaybe;
+ count: Scalars["Int"];
+ cursor?: InputMaybe;
}>;
-
-export type HomeQueryQuery = { __typename?: 'Query', currentBrowserSession?: { __typename?: 'BrowserSession', id: string, user: (
- { __typename?: 'User', id: string, username: string }
- & { ' $fragmentRefs'?: { 'CompatSsoLoginList_UserFragment': CompatSsoLoginList_UserFragment;'BrowserSessionList_UserFragment': BrowserSessionList_UserFragment;'OAuth2SessionList_UserFragment': OAuth2SessionList_UserFragment } }
- ) } | null };
+export type HomeQueryQuery = {
+ __typename?: "Query";
+ currentBrowserSession?: {
+ __typename?: "BrowserSession";
+ id: string;
+ user: { __typename?: "User"; id: string; username: string } & {
+ " $fragmentRefs"?: {
+ CompatSsoLoginList_UserFragment: CompatSsoLoginList_UserFragment;
+ BrowserSessionList_UserFragment: BrowserSessionList_UserFragment;
+ OAuth2SessionList_UserFragment: OAuth2SessionList_UserFragment;
+ };
+ };
+ } | null;
+};
export type OAuth2ClientQueryQueryVariables = Exact<{
- id: Scalars['ID'];
+ id: Scalars["ID"];
}>;
+export type OAuth2ClientQueryQuery = {
+ __typename?: "Query";
+ oauth2Client?: {
+ __typename?: "Oauth2Client";
+ id: string;
+ clientId: string;
+ clientName?: string | null;
+ clientUri?: any | null;
+ tosUri?: any | null;
+ policyUri?: any | null;
+ redirectUris: Array;
+ } | null;
+};
-export type OAuth2ClientQueryQuery = { __typename?: 'Query', oauth2Client?: { __typename?: 'Oauth2Client', id: string, clientId: string, clientName?: string | null, clientUri?: any | null, tosUri?: any | null, policyUri?: any | null, redirectUris: Array } | null };
-
-export const BrowserSession_SessionFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"BrowserSession_session"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"BrowserSession"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"lastAuthentication"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}}]}}]}}]} as unknown as DocumentNode;
-export const BrowserSessionList_UserFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"BrowserSessionList_user"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"User"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"browserSessions"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"first"},"value":{"kind":"Variable","name":{"kind":"Name","value":"count"}}},{"kind":"Argument","name":{"kind":"Name","value":"after"},"value":{"kind":"Variable","name":{"kind":"Name","value":"cursor"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"edges"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"cursor"}},{"kind":"Field","name":{"kind":"Name","value":"node"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"BrowserSession_session"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"BrowserSession_session"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"BrowserSession"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"lastAuthentication"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}}]}}]}}]} as unknown as DocumentNode;
-export const CompatSsoLogin_LoginFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CompatSsoLogin_login"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CompatSsoLogin"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"redirectUri"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"session"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"deviceId"}},{"kind":"Field","name":{"kind":"Name","value":"finishedAt"}}]}}]}}]} as unknown as DocumentNode;
-export const CompatSsoLoginList_UserFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CompatSsoLoginList_user"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"User"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"compatSsoLogins"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"first"},"value":{"kind":"Variable","name":{"kind":"Name","value":"count"}}},{"kind":"Argument","name":{"kind":"Name","value":"after"},"value":{"kind":"Variable","name":{"kind":"Name","value":"cursor"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"edges"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"node"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"CompatSsoLogin_login"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CompatSsoLogin_login"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CompatSsoLogin"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"redirectUri"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"session"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"deviceId"}},{"kind":"Field","name":{"kind":"Name","value":"finishedAt"}}]}}]}}]} as unknown as DocumentNode;
-export const OAuth2Session_SessionFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"OAuth2Session_session"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Oauth2Session"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"scope"}},{"kind":"Field","name":{"kind":"Name","value":"client"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"clientId"}},{"kind":"Field","name":{"kind":"Name","value":"clientName"}},{"kind":"Field","name":{"kind":"Name","value":"clientUri"}}]}}]}}]} as unknown as DocumentNode;
-export const OAuth2SessionList_UserFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"OAuth2SessionList_user"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"User"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"oauth2Sessions"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"first"},"value":{"kind":"Variable","name":{"kind":"Name","value":"count"}}},{"kind":"Argument","name":{"kind":"Name","value":"after"},"value":{"kind":"Variable","name":{"kind":"Name","value":"cursor"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"edges"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"cursor"}},{"kind":"Field","name":{"kind":"Name","value":"node"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"OAuth2Session_session"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"OAuth2Session_session"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Oauth2Session"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"scope"}},{"kind":"Field","name":{"kind":"Name","value":"client"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"clientId"}},{"kind":"Field","name":{"kind":"Name","value":"clientName"}},{"kind":"Field","name":{"kind":"Name","value":"clientUri"}}]}}]}}]} as unknown as DocumentNode;
-export const BrowserSessionQueryDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"BrowserSessionQuery"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"browserSession"},"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":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"lastAuthentication"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}}]}},{"kind":"Field","name":{"kind":"Name","value":"user"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"username"}}]}}]}}]}}]} as unknown as DocumentNode;
-export const HomeQueryDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"HomeQuery"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"count"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"cursor"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"currentBrowserSession"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"user"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"username"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"CompatSsoLoginList_user"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"BrowserSessionList_user"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"OAuth2SessionList_user"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CompatSsoLogin_login"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CompatSsoLogin"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"redirectUri"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"session"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"deviceId"}},{"kind":"Field","name":{"kind":"Name","value":"finishedAt"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"BrowserSession_session"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"BrowserSession"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"lastAuthentication"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"OAuth2Session_session"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Oauth2Session"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"scope"}},{"kind":"Field","name":{"kind":"Name","value":"client"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"clientId"}},{"kind":"Field","name":{"kind":"Name","value":"clientName"}},{"kind":"Field","name":{"kind":"Name","value":"clientUri"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CompatSsoLoginList_user"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"User"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"compatSsoLogins"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"first"},"value":{"kind":"Variable","name":{"kind":"Name","value":"count"}}},{"kind":"Argument","name":{"kind":"Name","value":"after"},"value":{"kind":"Variable","name":{"kind":"Name","value":"cursor"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"edges"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"node"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"CompatSsoLogin_login"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"BrowserSessionList_user"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"User"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"browserSessions"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"first"},"value":{"kind":"Variable","name":{"kind":"Name","value":"count"}}},{"kind":"Argument","name":{"kind":"Name","value":"after"},"value":{"kind":"Variable","name":{"kind":"Name","value":"cursor"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"edges"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"cursor"}},{"kind":"Field","name":{"kind":"Name","value":"node"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"BrowserSession_session"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"OAuth2SessionList_user"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"User"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"oauth2Sessions"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"first"},"value":{"kind":"Variable","name":{"kind":"Name","value":"count"}}},{"kind":"Argument","name":{"kind":"Name","value":"after"},"value":{"kind":"Variable","name":{"kind":"Name","value":"cursor"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"edges"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"cursor"}},{"kind":"Field","name":{"kind":"Name","value":"node"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"OAuth2Session_session"}}]}}]}}]}}]}}]} as unknown as DocumentNode;
-export const OAuth2ClientQueryDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"OAuth2ClientQuery"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"oauth2Client"},"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":"clientId"}},{"kind":"Field","name":{"kind":"Name","value":"clientName"}},{"kind":"Field","name":{"kind":"Name","value":"clientUri"}},{"kind":"Field","name":{"kind":"Name","value":"tosUri"}},{"kind":"Field","name":{"kind":"Name","value":"policyUri"}},{"kind":"Field","name":{"kind":"Name","value":"redirectUris"}}]}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
+export const BrowserSession_SessionFragmentDoc = {
+ kind: "Document",
+ definitions: [
+ {
+ kind: "FragmentDefinition",
+ name: { kind: "Name", value: "BrowserSession_session" },
+ typeCondition: {
+ kind: "NamedType",
+ name: { kind: "Name", value: "BrowserSession" },
+ },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ { kind: "Field", name: { kind: "Name", value: "id" } },
+ { kind: "Field", name: { kind: "Name", value: "createdAt" } },
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "lastAuthentication" },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ { kind: "Field", name: { kind: "Name", value: "id" } },
+ { kind: "Field", name: { kind: "Name", value: "createdAt" } },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ ],
+} as unknown as DocumentNode;
+export const BrowserSessionList_UserFragmentDoc = {
+ kind: "Document",
+ definitions: [
+ {
+ kind: "FragmentDefinition",
+ name: { kind: "Name", value: "BrowserSessionList_user" },
+ typeCondition: {
+ kind: "NamedType",
+ name: { kind: "Name", value: "User" },
+ },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "browserSessions" },
+ arguments: [
+ {
+ kind: "Argument",
+ name: { kind: "Name", value: "first" },
+ value: {
+ kind: "Variable",
+ name: { kind: "Name", value: "count" },
+ },
+ },
+ {
+ kind: "Argument",
+ name: { kind: "Name", value: "after" },
+ value: {
+ kind: "Variable",
+ name: { kind: "Name", value: "cursor" },
+ },
+ },
+ ],
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "edges" },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "cursor" },
+ },
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "node" },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "id" },
+ },
+ {
+ kind: "FragmentSpread",
+ name: {
+ kind: "Name",
+ value: "BrowserSession_session",
+ },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ {
+ kind: "FragmentDefinition",
+ name: { kind: "Name", value: "BrowserSession_session" },
+ typeCondition: {
+ kind: "NamedType",
+ name: { kind: "Name", value: "BrowserSession" },
+ },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ { kind: "Field", name: { kind: "Name", value: "id" } },
+ { kind: "Field", name: { kind: "Name", value: "createdAt" } },
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "lastAuthentication" },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ { kind: "Field", name: { kind: "Name", value: "id" } },
+ { kind: "Field", name: { kind: "Name", value: "createdAt" } },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ ],
+} as unknown as DocumentNode;
+export const CompatSsoLogin_LoginFragmentDoc = {
+ kind: "Document",
+ definitions: [
+ {
+ kind: "FragmentDefinition",
+ name: { kind: "Name", value: "CompatSsoLogin_login" },
+ typeCondition: {
+ kind: "NamedType",
+ name: { kind: "Name", value: "CompatSsoLogin" },
+ },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ { kind: "Field", name: { kind: "Name", value: "id" } },
+ { kind: "Field", name: { kind: "Name", value: "redirectUri" } },
+ { kind: "Field", name: { kind: "Name", value: "createdAt" } },
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "session" },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ { kind: "Field", name: { kind: "Name", value: "id" } },
+ { kind: "Field", name: { kind: "Name", value: "createdAt" } },
+ { kind: "Field", name: { kind: "Name", value: "deviceId" } },
+ { kind: "Field", name: { kind: "Name", value: "finishedAt" } },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ ],
+} as unknown as DocumentNode;
+export const CompatSsoLoginList_UserFragmentDoc = {
+ kind: "Document",
+ definitions: [
+ {
+ kind: "FragmentDefinition",
+ name: { kind: "Name", value: "CompatSsoLoginList_user" },
+ typeCondition: {
+ kind: "NamedType",
+ name: { kind: "Name", value: "User" },
+ },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "compatSsoLogins" },
+ arguments: [
+ {
+ kind: "Argument",
+ name: { kind: "Name", value: "first" },
+ value: {
+ kind: "Variable",
+ name: { kind: "Name", value: "count" },
+ },
+ },
+ {
+ kind: "Argument",
+ name: { kind: "Name", value: "after" },
+ value: {
+ kind: "Variable",
+ name: { kind: "Name", value: "cursor" },
+ },
+ },
+ ],
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "edges" },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "node" },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "id" },
+ },
+ {
+ kind: "FragmentSpread",
+ name: {
+ kind: "Name",
+ value: "CompatSsoLogin_login",
+ },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ {
+ kind: "FragmentDefinition",
+ name: { kind: "Name", value: "CompatSsoLogin_login" },
+ typeCondition: {
+ kind: "NamedType",
+ name: { kind: "Name", value: "CompatSsoLogin" },
+ },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ { kind: "Field", name: { kind: "Name", value: "id" } },
+ { kind: "Field", name: { kind: "Name", value: "redirectUri" } },
+ { kind: "Field", name: { kind: "Name", value: "createdAt" } },
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "session" },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ { kind: "Field", name: { kind: "Name", value: "id" } },
+ { kind: "Field", name: { kind: "Name", value: "createdAt" } },
+ { kind: "Field", name: { kind: "Name", value: "deviceId" } },
+ { kind: "Field", name: { kind: "Name", value: "finishedAt" } },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ ],
+} as unknown as DocumentNode;
+export const OAuth2Session_SessionFragmentDoc = {
+ kind: "Document",
+ definitions: [
+ {
+ kind: "FragmentDefinition",
+ name: { kind: "Name", value: "OAuth2Session_session" },
+ typeCondition: {
+ kind: "NamedType",
+ name: { kind: "Name", value: "Oauth2Session" },
+ },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ { kind: "Field", name: { kind: "Name", value: "id" } },
+ { kind: "Field", name: { kind: "Name", value: "scope" } },
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "client" },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ { kind: "Field", name: { kind: "Name", value: "id" } },
+ { kind: "Field", name: { kind: "Name", value: "clientId" } },
+ { kind: "Field", name: { kind: "Name", value: "clientName" } },
+ { kind: "Field", name: { kind: "Name", value: "clientUri" } },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ ],
+} as unknown as DocumentNode;
+export const OAuth2SessionList_UserFragmentDoc = {
+ kind: "Document",
+ definitions: [
+ {
+ kind: "FragmentDefinition",
+ name: { kind: "Name", value: "OAuth2SessionList_user" },
+ typeCondition: {
+ kind: "NamedType",
+ name: { kind: "Name", value: "User" },
+ },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "oauth2Sessions" },
+ arguments: [
+ {
+ kind: "Argument",
+ name: { kind: "Name", value: "first" },
+ value: {
+ kind: "Variable",
+ name: { kind: "Name", value: "count" },
+ },
+ },
+ {
+ kind: "Argument",
+ name: { kind: "Name", value: "after" },
+ value: {
+ kind: "Variable",
+ name: { kind: "Name", value: "cursor" },
+ },
+ },
+ ],
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "edges" },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "cursor" },
+ },
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "node" },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "id" },
+ },
+ {
+ kind: "FragmentSpread",
+ name: {
+ kind: "Name",
+ value: "OAuth2Session_session",
+ },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ {
+ kind: "FragmentDefinition",
+ name: { kind: "Name", value: "OAuth2Session_session" },
+ typeCondition: {
+ kind: "NamedType",
+ name: { kind: "Name", value: "Oauth2Session" },
+ },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ { kind: "Field", name: { kind: "Name", value: "id" } },
+ { kind: "Field", name: { kind: "Name", value: "scope" } },
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "client" },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ { kind: "Field", name: { kind: "Name", value: "id" } },
+ { kind: "Field", name: { kind: "Name", value: "clientId" } },
+ { kind: "Field", name: { kind: "Name", value: "clientName" } },
+ { kind: "Field", name: { kind: "Name", value: "clientUri" } },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ ],
+} as unknown as DocumentNode;
+export const UserEmail_EmailFragmentDoc = {
+ kind: "Document",
+ definitions: [
+ {
+ kind: "FragmentDefinition",
+ name: { kind: "Name", value: "UserEmail_email" },
+ typeCondition: {
+ kind: "NamedType",
+ name: { kind: "Name", value: "UserEmail" },
+ },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ { kind: "Field", name: { kind: "Name", value: "id" } },
+ { kind: "Field", name: { kind: "Name", value: "email" } },
+ { kind: "Field", name: { kind: "Name", value: "createdAt" } },
+ { kind: "Field", name: { kind: "Name", value: "confirmedAt" } },
+ ],
+ },
+ },
+ ],
+} as unknown as DocumentNode;
+export const AddEmailDocument = {
+ kind: "Document",
+ definitions: [
+ {
+ kind: "OperationDefinition",
+ operation: "mutation",
+ name: { kind: "Name", value: "AddEmail" },
+ variableDefinitions: [
+ {
+ kind: "VariableDefinition",
+ variable: {
+ kind: "Variable",
+ name: { kind: "Name", value: "userId" },
+ },
+ type: {
+ kind: "NonNullType",
+ type: { kind: "NamedType", name: { kind: "Name", value: "ID" } },
+ },
+ },
+ {
+ 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: "addEmail" },
+ arguments: [
+ {
+ kind: "Argument",
+ name: { kind: "Name", value: "input" },
+ 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: "email" },
+ value: {
+ kind: "Variable",
+ name: { kind: "Name", value: "email" },
+ },
+ },
+ ],
+ },
+ },
+ ],
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ { kind: "Field", name: { kind: "Name", value: "status" } },
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "email" },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ { kind: "Field", name: { kind: "Name", value: "id" } },
+ {
+ kind: "FragmentSpread",
+ name: { kind: "Name", value: "UserEmail_email" },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ {
+ kind: "FragmentDefinition",
+ name: { kind: "Name", value: "UserEmail_email" },
+ typeCondition: {
+ kind: "NamedType",
+ name: { kind: "Name", value: "UserEmail" },
+ },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ { kind: "Field", name: { kind: "Name", value: "id" } },
+ { kind: "Field", name: { kind: "Name", value: "email" } },
+ { kind: "Field", name: { kind: "Name", value: "createdAt" } },
+ { kind: "Field", name: { kind: "Name", value: "confirmedAt" } },
+ ],
+ },
+ },
+ ],
+} as unknown as DocumentNode;
+export const UserEmailListQueryDocument = {
+ kind: "Document",
+ definitions: [
+ {
+ kind: "OperationDefinition",
+ operation: "query",
+ name: { kind: "Name", value: "UserEmailListQuery" },
+ variableDefinitions: [
+ {
+ kind: "VariableDefinition",
+ variable: {
+ kind: "Variable",
+ name: { kind: "Name", value: "userId" },
+ },
+ type: {
+ kind: "NonNullType",
+ type: { kind: "NamedType", name: { kind: "Name", value: "ID" } },
+ },
+ },
+ {
+ kind: "VariableDefinition",
+ variable: {
+ kind: "Variable",
+ name: { kind: "Name", value: "first" },
+ },
+ type: {
+ kind: "NonNullType",
+ type: { kind: "NamedType", name: { kind: "Name", value: "Int" } },
+ },
+ },
+ {
+ kind: "VariableDefinition",
+ variable: {
+ kind: "Variable",
+ name: { kind: "Name", value: "after" },
+ },
+ type: { kind: "NamedType", name: { kind: "Name", value: "String" } },
+ },
+ ],
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "user" },
+ 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: "emails" },
+ arguments: [
+ {
+ kind: "Argument",
+ name: { kind: "Name", value: "first" },
+ value: {
+ kind: "Variable",
+ name: { kind: "Name", value: "first" },
+ },
+ },
+ {
+ kind: "Argument",
+ name: { kind: "Name", value: "after" },
+ value: {
+ kind: "Variable",
+ name: { kind: "Name", value: "after" },
+ },
+ },
+ ],
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "edges" },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "cursor" },
+ },
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "node" },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "id" },
+ },
+ {
+ kind: "FragmentSpread",
+ name: {
+ kind: "Name",
+ value: "UserEmail_email",
+ },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "pageInfo" },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "hasNextPage" },
+ },
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "endCursor" },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ {
+ kind: "FragmentDefinition",
+ name: { kind: "Name", value: "UserEmail_email" },
+ typeCondition: {
+ kind: "NamedType",
+ name: { kind: "Name", value: "UserEmail" },
+ },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ { kind: "Field", name: { kind: "Name", value: "id" } },
+ { kind: "Field", name: { kind: "Name", value: "email" } },
+ { kind: "Field", name: { kind: "Name", value: "createdAt" } },
+ { kind: "Field", name: { kind: "Name", value: "confirmedAt" } },
+ ],
+ },
+ },
+ ],
+} as unknown as DocumentNode<
+ UserEmailListQueryQuery,
+ UserEmailListQueryQueryVariables
+>;
+export const CurrentUserQueryDocument = {
+ kind: "Document",
+ definitions: [
+ {
+ kind: "OperationDefinition",
+ operation: "query",
+ name: { kind: "Name", value: "CurrentUserQuery" },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "viewer" },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "InlineFragment",
+ typeCondition: {
+ kind: "NamedType",
+ name: { kind: "Name", value: "User" },
+ },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "__typename" },
+ },
+ { kind: "Field", name: { kind: "Name", value: "id" } },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ ],
+} as unknown as DocumentNode<
+ CurrentUserQueryQuery,
+ CurrentUserQueryQueryVariables
+>;
+export const AccountQueryDocument = {
+ kind: "Document",
+ definitions: [
+ {
+ kind: "OperationDefinition",
+ operation: "query",
+ name: { kind: "Name", value: "AccountQuery" },
+ variableDefinitions: [
+ {
+ kind: "VariableDefinition",
+ variable: { kind: "Variable", name: { kind: "Name", value: "id" } },
+ type: {
+ kind: "NonNullType",
+ type: { kind: "NamedType", name: { kind: "Name", value: "ID" } },
+ },
+ },
+ ],
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "user" },
+ 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: "username" } },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ ],
+} as unknown as DocumentNode;
+export const BrowserSessionQueryDocument = {
+ kind: "Document",
+ definitions: [
+ {
+ kind: "OperationDefinition",
+ operation: "query",
+ name: { kind: "Name", value: "BrowserSessionQuery" },
+ variableDefinitions: [
+ {
+ kind: "VariableDefinition",
+ variable: { kind: "Variable", name: { kind: "Name", value: "id" } },
+ type: {
+ kind: "NonNullType",
+ type: { kind: "NamedType", name: { kind: "Name", value: "ID" } },
+ },
+ },
+ ],
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "browserSession" },
+ 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: "createdAt" } },
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "lastAuthentication" },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ { kind: "Field", name: { kind: "Name", value: "id" } },
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "createdAt" },
+ },
+ ],
+ },
+ },
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "user" },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ { kind: "Field", name: { kind: "Name", value: "id" } },
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "username" },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ ],
+} as unknown as DocumentNode<
+ BrowserSessionQueryQuery,
+ BrowserSessionQueryQueryVariables
+>;
+export const HomeQueryDocument = {
+ kind: "Document",
+ definitions: [
+ {
+ kind: "OperationDefinition",
+ operation: "query",
+ name: { kind: "Name", value: "HomeQuery" },
+ variableDefinitions: [
+ {
+ kind: "VariableDefinition",
+ variable: {
+ kind: "Variable",
+ name: { kind: "Name", value: "count" },
+ },
+ type: {
+ kind: "NonNullType",
+ type: { kind: "NamedType", name: { kind: "Name", value: "Int" } },
+ },
+ },
+ {
+ kind: "VariableDefinition",
+ variable: {
+ kind: "Variable",
+ name: { kind: "Name", value: "cursor" },
+ },
+ type: { kind: "NamedType", name: { kind: "Name", value: "String" } },
+ },
+ ],
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "currentBrowserSession" },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ { kind: "Field", name: { kind: "Name", value: "id" } },
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "user" },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ { kind: "Field", name: { kind: "Name", value: "id" } },
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "username" },
+ },
+ {
+ kind: "FragmentSpread",
+ name: {
+ kind: "Name",
+ value: "CompatSsoLoginList_user",
+ },
+ },
+ {
+ kind: "FragmentSpread",
+ name: {
+ kind: "Name",
+ value: "BrowserSessionList_user",
+ },
+ },
+ {
+ kind: "FragmentSpread",
+ name: { kind: "Name", value: "OAuth2SessionList_user" },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ {
+ kind: "FragmentDefinition",
+ name: { kind: "Name", value: "CompatSsoLogin_login" },
+ typeCondition: {
+ kind: "NamedType",
+ name: { kind: "Name", value: "CompatSsoLogin" },
+ },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ { kind: "Field", name: { kind: "Name", value: "id" } },
+ { kind: "Field", name: { kind: "Name", value: "redirectUri" } },
+ { kind: "Field", name: { kind: "Name", value: "createdAt" } },
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "session" },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ { kind: "Field", name: { kind: "Name", value: "id" } },
+ { kind: "Field", name: { kind: "Name", value: "createdAt" } },
+ { kind: "Field", name: { kind: "Name", value: "deviceId" } },
+ { kind: "Field", name: { kind: "Name", value: "finishedAt" } },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ {
+ kind: "FragmentDefinition",
+ name: { kind: "Name", value: "BrowserSession_session" },
+ typeCondition: {
+ kind: "NamedType",
+ name: { kind: "Name", value: "BrowserSession" },
+ },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ { kind: "Field", name: { kind: "Name", value: "id" } },
+ { kind: "Field", name: { kind: "Name", value: "createdAt" } },
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "lastAuthentication" },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ { kind: "Field", name: { kind: "Name", value: "id" } },
+ { kind: "Field", name: { kind: "Name", value: "createdAt" } },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ {
+ kind: "FragmentDefinition",
+ name: { kind: "Name", value: "OAuth2Session_session" },
+ typeCondition: {
+ kind: "NamedType",
+ name: { kind: "Name", value: "Oauth2Session" },
+ },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ { kind: "Field", name: { kind: "Name", value: "id" } },
+ { kind: "Field", name: { kind: "Name", value: "scope" } },
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "client" },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ { kind: "Field", name: { kind: "Name", value: "id" } },
+ { kind: "Field", name: { kind: "Name", value: "clientId" } },
+ { kind: "Field", name: { kind: "Name", value: "clientName" } },
+ { kind: "Field", name: { kind: "Name", value: "clientUri" } },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ {
+ kind: "FragmentDefinition",
+ name: { kind: "Name", value: "CompatSsoLoginList_user" },
+ typeCondition: {
+ kind: "NamedType",
+ name: { kind: "Name", value: "User" },
+ },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "compatSsoLogins" },
+ arguments: [
+ {
+ kind: "Argument",
+ name: { kind: "Name", value: "first" },
+ value: {
+ kind: "Variable",
+ name: { kind: "Name", value: "count" },
+ },
+ },
+ {
+ kind: "Argument",
+ name: { kind: "Name", value: "after" },
+ value: {
+ kind: "Variable",
+ name: { kind: "Name", value: "cursor" },
+ },
+ },
+ ],
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "edges" },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "node" },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "id" },
+ },
+ {
+ kind: "FragmentSpread",
+ name: {
+ kind: "Name",
+ value: "CompatSsoLogin_login",
+ },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ {
+ kind: "FragmentDefinition",
+ name: { kind: "Name", value: "BrowserSessionList_user" },
+ typeCondition: {
+ kind: "NamedType",
+ name: { kind: "Name", value: "User" },
+ },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "browserSessions" },
+ arguments: [
+ {
+ kind: "Argument",
+ name: { kind: "Name", value: "first" },
+ value: {
+ kind: "Variable",
+ name: { kind: "Name", value: "count" },
+ },
+ },
+ {
+ kind: "Argument",
+ name: { kind: "Name", value: "after" },
+ value: {
+ kind: "Variable",
+ name: { kind: "Name", value: "cursor" },
+ },
+ },
+ ],
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "edges" },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "cursor" },
+ },
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "node" },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "id" },
+ },
+ {
+ kind: "FragmentSpread",
+ name: {
+ kind: "Name",
+ value: "BrowserSession_session",
+ },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ {
+ kind: "FragmentDefinition",
+ name: { kind: "Name", value: "OAuth2SessionList_user" },
+ typeCondition: {
+ kind: "NamedType",
+ name: { kind: "Name", value: "User" },
+ },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "oauth2Sessions" },
+ arguments: [
+ {
+ kind: "Argument",
+ name: { kind: "Name", value: "first" },
+ value: {
+ kind: "Variable",
+ name: { kind: "Name", value: "count" },
+ },
+ },
+ {
+ kind: "Argument",
+ name: { kind: "Name", value: "after" },
+ value: {
+ kind: "Variable",
+ name: { kind: "Name", value: "cursor" },
+ },
+ },
+ ],
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "edges" },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "cursor" },
+ },
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "node" },
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "id" },
+ },
+ {
+ kind: "FragmentSpread",
+ name: {
+ kind: "Name",
+ value: "OAuth2Session_session",
+ },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ ],
+} as unknown as DocumentNode;
+export const OAuth2ClientQueryDocument = {
+ kind: "Document",
+ definitions: [
+ {
+ kind: "OperationDefinition",
+ operation: "query",
+ name: { kind: "Name", value: "OAuth2ClientQuery" },
+ variableDefinitions: [
+ {
+ kind: "VariableDefinition",
+ variable: { kind: "Variable", name: { kind: "Name", value: "id" } },
+ type: {
+ kind: "NonNullType",
+ type: { kind: "NamedType", name: { kind: "Name", value: "ID" } },
+ },
+ },
+ ],
+ selectionSet: {
+ kind: "SelectionSet",
+ selections: [
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "oauth2Client" },
+ 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: "clientId" } },
+ { kind: "Field", name: { kind: "Name", value: "clientName" } },
+ { kind: "Field", name: { kind: "Name", value: "clientUri" } },
+ { kind: "Field", name: { kind: "Name", value: "tosUri" } },
+ { kind: "Field", name: { kind: "Name", value: "policyUri" } },
+ {
+ kind: "Field",
+ name: { kind: "Name", value: "redirectUris" },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ },
+ ],
+} as unknown as DocumentNode<
+ OAuth2ClientQueryQuery,
+ OAuth2ClientQueryQueryVariables
+>;
diff --git a/frontend/src/gql/schema.ts b/frontend/src/gql/schema.ts
index 35009770..fca30436 100644
--- a/frontend/src/gql/schema.ts
+++ b/frontend/src/gql/schema.ts
@@ -1,1994 +1,1995 @@
-import { IntrospectionQuery } from "graphql";
+/* eslint-disable */
+import { IntrospectionQuery } from 'graphql';
export default {
- __schema: {
- queryType: {
- name: "Query",
+ "__schema": {
+ "queryType": {
+ "name": "Query"
},
- mutationType: {
- name: "Mutation",
+ "mutationType": {
+ "name": "Mutation"
},
- subscriptionType: null,
- types: [
+ "subscriptionType": null,
+ "types": [
{
- kind: "OBJECT",
- name: "AddEmailPayload",
- fields: [
+ "kind": "OBJECT",
+ "name": "AddEmailPayload",
+ "fields": [
{
- name: "email",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "UserEmail",
- ofType: null,
- },
+ "name": "email",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UserEmail",
+ "ofType": null
+ }
},
- args: [],
+ "args": []
},
{
- name: "status",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "status",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
+ "args": []
},
{
- name: "user",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "User",
- ofType: null,
- },
+ "name": "user",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "User",
+ "ofType": null
+ }
},
- args: [],
- },
+ "args": []
+ }
],
- interfaces: [],
+ "interfaces": []
},
{
- kind: "OBJECT",
- name: "Anonymous",
- fields: [
+ "kind": "OBJECT",
+ "name": "Anonymous",
+ "fields": [
{
- name: "id",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "id",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
- },
+ "args": []
+ }
],
- interfaces: [
+ "interfaces": [
{
- kind: "INTERFACE",
- name: "Node",
- },
- ],
+ "kind": "INTERFACE",
+ "name": "Node"
+ }
+ ]
},
{
- kind: "OBJECT",
- name: "Authentication",
- fields: [
+ "kind": "OBJECT",
+ "name": "Authentication",
+ "fields": [
{
- name: "createdAt",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "createdAt",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
+ "args": []
},
{
- name: "id",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "id",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
- },
+ "args": []
+ }
],
- interfaces: [
+ "interfaces": [
{
- kind: "INTERFACE",
- name: "CreationEvent",
+ "kind": "INTERFACE",
+ "name": "CreationEvent"
},
{
- kind: "INTERFACE",
- name: "Node",
- },
- ],
+ "kind": "INTERFACE",
+ "name": "Node"
+ }
+ ]
},
{
- kind: "OBJECT",
- name: "BrowserSession",
- fields: [
+ "kind": "OBJECT",
+ "name": "BrowserSession",
+ "fields": [
{
- name: "createdAt",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "createdAt",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
+ "args": []
},
{
- name: "id",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "id",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
+ "args": []
},
{
- name: "lastAuthentication",
- type: {
- kind: "OBJECT",
- name: "Authentication",
- ofType: null,
+ "name": "lastAuthentication",
+ "type": {
+ "kind": "OBJECT",
+ "name": "Authentication",
+ "ofType": null
},
- args: [],
+ "args": []
},
{
- name: "user",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "User",
- ofType: null,
- },
+ "name": "user",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "User",
+ "ofType": null
+ }
},
- args: [],
- },
+ "args": []
+ }
],
- interfaces: [
+ "interfaces": [
{
- kind: "INTERFACE",
- name: "CreationEvent",
+ "kind": "INTERFACE",
+ "name": "CreationEvent"
},
{
- kind: "INTERFACE",
- name: "Node",
- },
- ],
+ "kind": "INTERFACE",
+ "name": "Node"
+ }
+ ]
},
{
- kind: "OBJECT",
- name: "BrowserSessionConnection",
- fields: [
+ "kind": "OBJECT",
+ "name": "BrowserSessionConnection",
+ "fields": [
{
- name: "edges",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "LIST",
- ofType: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "BrowserSessionEdge",
- ofType: null,
- },
- },
- },
+ "name": "edges",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "LIST",
+ "ofType": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "BrowserSessionEdge",
+ "ofType": null
+ }
+ }
+ }
},
- args: [],
+ "args": []
},
{
- name: "nodes",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "LIST",
- ofType: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "BrowserSession",
- ofType: null,
- },
- },
- },
+ "name": "nodes",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "LIST",
+ "ofType": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "BrowserSession",
+ "ofType": null
+ }
+ }
+ }
},
- args: [],
+ "args": []
},
{
- name: "pageInfo",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "PageInfo",
- ofType: null,
- },
+ "name": "pageInfo",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "PageInfo",
+ "ofType": null
+ }
},
- args: [],
- },
+ "args": []
+ }
],
- interfaces: [],
+ "interfaces": []
},
{
- kind: "OBJECT",
- name: "BrowserSessionEdge",
- fields: [
+ "kind": "OBJECT",
+ "name": "BrowserSessionEdge",
+ "fields": [
{
- name: "cursor",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "cursor",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
+ "args": []
},
{
- name: "node",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "BrowserSession",
- ofType: null,
- },
+ "name": "node",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "BrowserSession",
+ "ofType": null
+ }
},
- args: [],
- },
+ "args": []
+ }
],
- interfaces: [],
+ "interfaces": []
},
{
- kind: "OBJECT",
- name: "CompatSession",
- fields: [
+ "kind": "OBJECT",
+ "name": "CompatSession",
+ "fields": [
{
- name: "createdAt",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "createdAt",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
+ "args": []
},
{
- name: "deviceId",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "deviceId",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
+ "args": []
},
{
- name: "finishedAt",
- type: {
- kind: "SCALAR",
- name: "Any",
+ "name": "finishedAt",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Any"
},
- args: [],
+ "args": []
},
{
- name: "id",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "id",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
+ "args": []
},
{
- name: "user",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "User",
- ofType: null,
- },
+ "name": "user",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "User",
+ "ofType": null
+ }
},
- args: [],
- },
+ "args": []
+ }
],
- interfaces: [
+ "interfaces": [
{
- kind: "INTERFACE",
- name: "CreationEvent",
+ "kind": "INTERFACE",
+ "name": "CreationEvent"
},
{
- kind: "INTERFACE",
- name: "Node",
- },
- ],
+ "kind": "INTERFACE",
+ "name": "Node"
+ }
+ ]
},
{
- kind: "OBJECT",
- name: "CompatSsoLogin",
- fields: [
+ "kind": "OBJECT",
+ "name": "CompatSsoLogin",
+ "fields": [
{
- name: "createdAt",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "createdAt",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
+ "args": []
},
{
- name: "exchangedAt",
- type: {
- kind: "SCALAR",
- name: "Any",
+ "name": "exchangedAt",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Any"
},
- args: [],
+ "args": []
},
{
- name: "fulfilledAt",
- type: {
- kind: "SCALAR",
- name: "Any",
+ "name": "fulfilledAt",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Any"
},
- args: [],
+ "args": []
},
{
- name: "id",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "id",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
+ "args": []
},
{
- name: "redirectUri",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "redirectUri",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
+ "args": []
},
{
- name: "session",
- type: {
- kind: "OBJECT",
- name: "CompatSession",
- ofType: null,
+ "name": "session",
+ "type": {
+ "kind": "OBJECT",
+ "name": "CompatSession",
+ "ofType": null
},
- args: [],
- },
+ "args": []
+ }
],
- interfaces: [
+ "interfaces": [
{
- kind: "INTERFACE",
- name: "Node",
- },
- ],
+ "kind": "INTERFACE",
+ "name": "Node"
+ }
+ ]
},
{
- kind: "OBJECT",
- name: "CompatSsoLoginConnection",
- fields: [
+ "kind": "OBJECT",
+ "name": "CompatSsoLoginConnection",
+ "fields": [
{
- name: "edges",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "LIST",
- ofType: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "CompatSsoLoginEdge",
- ofType: null,
- },
- },
- },
+ "name": "edges",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "LIST",
+ "ofType": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "CompatSsoLoginEdge",
+ "ofType": null
+ }
+ }
+ }
},
- args: [],
+ "args": []
},
{
- name: "nodes",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "LIST",
- ofType: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "CompatSsoLogin",
- ofType: null,
- },
- },
- },
+ "name": "nodes",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "LIST",
+ "ofType": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "CompatSsoLogin",
+ "ofType": null
+ }
+ }
+ }
},
- args: [],
+ "args": []
},
{
- name: "pageInfo",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "PageInfo",
- ofType: null,
- },
+ "name": "pageInfo",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "PageInfo",
+ "ofType": null
+ }
},
- args: [],
- },
+ "args": []
+ }
],
- interfaces: [],
+ "interfaces": []
},
{
- kind: "OBJECT",
- name: "CompatSsoLoginEdge",
- fields: [
+ "kind": "OBJECT",
+ "name": "CompatSsoLoginEdge",
+ "fields": [
{
- name: "cursor",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "cursor",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
+ "args": []
},
{
- name: "node",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "CompatSsoLogin",
- ofType: null,
- },
+ "name": "node",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "CompatSsoLogin",
+ "ofType": null
+ }
},
- args: [],
- },
+ "args": []
+ }
],
- interfaces: [],
+ "interfaces": []
},
{
- kind: "INTERFACE",
- name: "CreationEvent",
- fields: [
+ "kind": "INTERFACE",
+ "name": "CreationEvent",
+ "fields": [
{
- name: "createdAt",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "createdAt",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
- },
+ "args": []
+ }
],
- interfaces: [],
- possibleTypes: [
+ "interfaces": [],
+ "possibleTypes": [
{
- kind: "OBJECT",
- name: "Authentication",
+ "kind": "OBJECT",
+ "name": "Authentication"
},
{
- kind: "OBJECT",
- name: "BrowserSession",
+ "kind": "OBJECT",
+ "name": "BrowserSession"
},
{
- kind: "OBJECT",
- name: "CompatSession",
+ "kind": "OBJECT",
+ "name": "CompatSession"
},
{
- kind: "OBJECT",
- name: "UpstreamOAuth2Link",
+ "kind": "OBJECT",
+ "name": "UpstreamOAuth2Link"
},
{
- kind: "OBJECT",
- name: "UpstreamOAuth2Provider",
+ "kind": "OBJECT",
+ "name": "UpstreamOAuth2Provider"
},
{
- kind: "OBJECT",
- name: "UserEmail",
- },
- ],
+ "kind": "OBJECT",
+ "name": "UserEmail"
+ }
+ ]
},
{
- kind: "OBJECT",
- name: "Mutation",
- fields: [
+ "kind": "OBJECT",
+ "name": "Mutation",
+ "fields": [
{
- name: "addEmail",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "AddEmailPayload",
- ofType: null,
- },
+ "name": "addEmail",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "AddEmailPayload",
+ "ofType": null
+ }
},
- args: [
+ "args": [
{
- name: "input",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
- },
- },
- ],
+ "name": "input",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
+ }
+ }
+ ]
},
{
- name: "sendVerificationEmail",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "SendVerificationEmailPayload",
- ofType: null,
- },
+ "name": "sendVerificationEmail",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "SendVerificationEmailPayload",
+ "ofType": null
+ }
},
- args: [
+ "args": [
{
- name: "input",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
- },
- },
- ],
+ "name": "input",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
+ }
+ }
+ ]
},
{
- name: "verifyEmail",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "VerifyEmailPayload",
- ofType: null,
- },
+ "name": "verifyEmail",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "VerifyEmailPayload",
+ "ofType": null
+ }
},
- args: [
+ "args": [
{
- name: "input",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
- },
- },
- ],
- },
+ "name": "input",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
+ }
+ }
+ ]
+ }
],
- interfaces: [],
+ "interfaces": []
},
{
- kind: "INTERFACE",
- name: "Node",
- fields: [
+ "kind": "INTERFACE",
+ "name": "Node",
+ "fields": [
{
- name: "id",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "id",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
- },
+ "args": []
+ }
],
- interfaces: [],
- possibleTypes: [
+ "interfaces": [],
+ "possibleTypes": [
{
- kind: "OBJECT",
- name: "Anonymous",
+ "kind": "OBJECT",
+ "name": "Anonymous"
},
{
- kind: "OBJECT",
- name: "Authentication",
+ "kind": "OBJECT",
+ "name": "Authentication"
},
{
- kind: "OBJECT",
- name: "BrowserSession",
+ "kind": "OBJECT",
+ "name": "BrowserSession"
},
{
- kind: "OBJECT",
- name: "CompatSession",
+ "kind": "OBJECT",
+ "name": "CompatSession"
},
{
- kind: "OBJECT",
- name: "CompatSsoLogin",
+ "kind": "OBJECT",
+ "name": "CompatSsoLogin"
},
{
- kind: "OBJECT",
- name: "Oauth2Client",
+ "kind": "OBJECT",
+ "name": "Oauth2Client"
},
{
- kind: "OBJECT",
- name: "Oauth2Session",
+ "kind": "OBJECT",
+ "name": "Oauth2Session"
},
{
- kind: "OBJECT",
- name: "UpstreamOAuth2Link",
+ "kind": "OBJECT",
+ "name": "UpstreamOAuth2Link"
},
{
- kind: "OBJECT",
- name: "UpstreamOAuth2Provider",
+ "kind": "OBJECT",
+ "name": "UpstreamOAuth2Provider"
},
{
- kind: "OBJECT",
- name: "User",
+ "kind": "OBJECT",
+ "name": "User"
},
{
- kind: "OBJECT",
- name: "UserEmail",
- },
- ],
+ "kind": "OBJECT",
+ "name": "UserEmail"
+ }
+ ]
},
{
- kind: "OBJECT",
- name: "Oauth2Client",
- fields: [
+ "kind": "OBJECT",
+ "name": "Oauth2Client",
+ "fields": [
{
- name: "clientId",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "clientId",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
+ "args": []
},
{
- name: "clientName",
- type: {
- kind: "SCALAR",
- name: "Any",
+ "name": "clientName",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Any"
},
- args: [],
+ "args": []
},
{
- name: "clientUri",
- type: {
- kind: "SCALAR",
- name: "Any",
+ "name": "clientUri",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Any"
},
- args: [],
+ "args": []
},
{
- name: "id",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "id",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
+ "args": []
},
{
- name: "policyUri",
- type: {
- kind: "SCALAR",
- name: "Any",
+ "name": "policyUri",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Any"
},
- args: [],
+ "args": []
},
{
- name: "redirectUris",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "LIST",
- ofType: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
- },
- },
+ "name": "redirectUris",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "LIST",
+ "ofType": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
+ }
+ }
},
- args: [],
+ "args": []
},
{
- name: "tosUri",
- type: {
- kind: "SCALAR",
- name: "Any",
+ "name": "tosUri",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Any"
},
- args: [],
- },
+ "args": []
+ }
],
- interfaces: [
+ "interfaces": [
{
- kind: "INTERFACE",
- name: "Node",
- },
- ],
+ "kind": "INTERFACE",
+ "name": "Node"
+ }
+ ]
},
{
- kind: "OBJECT",
- name: "Oauth2Session",
- fields: [
+ "kind": "OBJECT",
+ "name": "Oauth2Session",
+ "fields": [
{
- name: "browserSession",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "BrowserSession",
- ofType: null,
- },
+ "name": "browserSession",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "BrowserSession",
+ "ofType": null
+ }
},
- args: [],
+ "args": []
},
{
- name: "client",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "Oauth2Client",
- ofType: null,
- },
+ "name": "client",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "Oauth2Client",
+ "ofType": null
+ }
},
- args: [],
+ "args": []
},
{
- name: "id",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "id",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
+ "args": []
},
{
- name: "scope",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "scope",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
+ "args": []
},
{
- name: "user",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "User",
- ofType: null,
- },
+ "name": "user",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "User",
+ "ofType": null
+ }
},
- args: [],
- },
+ "args": []
+ }
],
- interfaces: [
+ "interfaces": [
{
- kind: "INTERFACE",
- name: "Node",
- },
- ],
+ "kind": "INTERFACE",
+ "name": "Node"
+ }
+ ]
},
{
- kind: "OBJECT",
- name: "Oauth2SessionConnection",
- fields: [
+ "kind": "OBJECT",
+ "name": "Oauth2SessionConnection",
+ "fields": [
{
- name: "edges",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "LIST",
- ofType: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "Oauth2SessionEdge",
- ofType: null,
- },
- },
- },
+ "name": "edges",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "LIST",
+ "ofType": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "Oauth2SessionEdge",
+ "ofType": null
+ }
+ }
+ }
},
- args: [],
+ "args": []
},
{
- name: "nodes",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "LIST",
- ofType: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "Oauth2Session",
- ofType: null,
- },
- },
- },
+ "name": "nodes",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "LIST",
+ "ofType": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "Oauth2Session",
+ "ofType": null
+ }
+ }
+ }
},
- args: [],
+ "args": []
},
{
- name: "pageInfo",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "PageInfo",
- ofType: null,
- },
+ "name": "pageInfo",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "PageInfo",
+ "ofType": null
+ }
},
- args: [],
- },
+ "args": []
+ }
],
- interfaces: [],
+ "interfaces": []
},
{
- kind: "OBJECT",
- name: "Oauth2SessionEdge",
- fields: [
+ "kind": "OBJECT",
+ "name": "Oauth2SessionEdge",
+ "fields": [
{
- name: "cursor",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "cursor",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
+ "args": []
},
{
- name: "node",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "Oauth2Session",
- ofType: null,
- },
+ "name": "node",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "Oauth2Session",
+ "ofType": null
+ }
},
- args: [],
- },
+ "args": []
+ }
],
- interfaces: [],
+ "interfaces": []
},
{
- kind: "OBJECT",
- name: "PageInfo",
- fields: [
+ "kind": "OBJECT",
+ "name": "PageInfo",
+ "fields": [
{
- name: "endCursor",
- type: {
- kind: "SCALAR",
- name: "Any",
+ "name": "endCursor",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Any"
},
- args: [],
+ "args": []
},
{
- name: "hasNextPage",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "hasNextPage",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
+ "args": []
},
{
- name: "hasPreviousPage",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "hasPreviousPage",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
+ "args": []
},
{
- name: "startCursor",
- type: {
- kind: "SCALAR",
- name: "Any",
+ "name": "startCursor",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Any"
},
- args: [],
- },
+ "args": []
+ }
],
- interfaces: [],
+ "interfaces": []
},
{
- kind: "OBJECT",
- name: "Query",
- fields: [
+ "kind": "OBJECT",
+ "name": "Query",
+ "fields": [
{
- name: "browserSession",
- type: {
- kind: "OBJECT",
- name: "BrowserSession",
- ofType: null,
+ "name": "browserSession",
+ "type": {
+ "kind": "OBJECT",
+ "name": "BrowserSession",
+ "ofType": null
},
- args: [
+ "args": [
{
- name: "id",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
- },
- },
- ],
+ "name": "id",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
+ }
+ }
+ ]
},
{
- name: "currentBrowserSession",
- type: {
- kind: "OBJECT",
- name: "BrowserSession",
- ofType: null,
+ "name": "currentBrowserSession",
+ "type": {
+ "kind": "OBJECT",
+ "name": "BrowserSession",
+ "ofType": null
},
- args: [],
+ "args": []
},
{
- name: "currentUser",
- type: {
- kind: "OBJECT",
- name: "User",
- ofType: null,
+ "name": "currentUser",
+ "type": {
+ "kind": "OBJECT",
+ "name": "User",
+ "ofType": null
},
- args: [],
+ "args": []
},
{
- name: "node",
- type: {
- kind: "INTERFACE",
- name: "Node",
- ofType: null,
+ "name": "node",
+ "type": {
+ "kind": "INTERFACE",
+ "name": "Node",
+ "ofType": null
},
- args: [
+ "args": [
{
- name: "id",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
- },
- },
- ],
+ "name": "id",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
+ }
+ }
+ ]
},
{
- name: "oauth2Client",
- type: {
- kind: "OBJECT",
- name: "Oauth2Client",
- ofType: null,
+ "name": "oauth2Client",
+ "type": {
+ "kind": "OBJECT",
+ "name": "Oauth2Client",
+ "ofType": null
},
- args: [
+ "args": [
{
- name: "id",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
- },
- },
- ],
+ "name": "id",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
+ }
+ }
+ ]
},
{
- name: "upstreamOauth2Link",
- type: {
- kind: "OBJECT",
- name: "UpstreamOAuth2Link",
- ofType: null,
+ "name": "upstreamOauth2Link",
+ "type": {
+ "kind": "OBJECT",
+ "name": "UpstreamOAuth2Link",
+ "ofType": null
},
- args: [
+ "args": [
{
- name: "id",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
- },
- },
- ],
+ "name": "id",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
+ }
+ }
+ ]
},
{
- name: "upstreamOauth2Provider",
- type: {
- kind: "OBJECT",
- name: "UpstreamOAuth2Provider",
- ofType: null,
+ "name": "upstreamOauth2Provider",
+ "type": {
+ "kind": "OBJECT",
+ "name": "UpstreamOAuth2Provider",
+ "ofType": null
},
- args: [
+ "args": [
{
- name: "id",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
- },
- },
- ],
+ "name": "id",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
+ }
+ }
+ ]
},
{
- name: "upstreamOauth2Providers",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "UpstreamOAuth2ProviderConnection",
- ofType: null,
- },
+ "name": "upstreamOauth2Providers",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UpstreamOAuth2ProviderConnection",
+ "ofType": null
+ }
},
- args: [
+ "args": [
{
- name: "after",
- type: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "after",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
{
- name: "before",
- type: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "before",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
{
- name: "first",
- type: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "first",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
{
- name: "last",
- type: {
- kind: "SCALAR",
- name: "Any",
- },
- },
- ],
+ "name": "last",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
+ }
+ ]
},
{
- name: "user",
- type: {
- kind: "OBJECT",
- name: "User",
- ofType: null,
+ "name": "user",
+ "type": {
+ "kind": "OBJECT",
+ "name": "User",
+ "ofType": null
},
- args: [
+ "args": [
{
- name: "id",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
- },
- },
- ],
+ "name": "id",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
+ }
+ }
+ ]
},
{
- name: "userEmail",
- type: {
- kind: "OBJECT",
- name: "UserEmail",
- ofType: null,
+ "name": "userEmail",
+ "type": {
+ "kind": "OBJECT",
+ "name": "UserEmail",
+ "ofType": null
},
- args: [
+ "args": [
{
- name: "id",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
- },
- },
- ],
+ "name": "id",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
+ }
+ }
+ ]
},
{
- name: "viewer",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "UNION",
- name: "Viewer",
- ofType: null,
- },
+ "name": "viewer",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "UNION",
+ "name": "Viewer",
+ "ofType": null
+ }
},
- args: [],
+ "args": []
},
{
- name: "viewerSession",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "UNION",
- name: "ViewerSession",
- ofType: null,
- },
+ "name": "viewerSession",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "UNION",
+ "name": "ViewerSession",
+ "ofType": null
+ }
},
- args: [],
- },
+ "args": []
+ }
],
- interfaces: [],
+ "interfaces": []
},
{
- kind: "OBJECT",
- name: "SendVerificationEmailPayload",
- fields: [
+ "kind": "OBJECT",
+ "name": "SendVerificationEmailPayload",
+ "fields": [
{
- name: "email",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "UserEmail",
- ofType: null,
- },
+ "name": "email",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UserEmail",
+ "ofType": null
+ }
},
- args: [],
+ "args": []
},
{
- name: "status",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "status",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
+ "args": []
},
{
- name: "user",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "User",
- ofType: null,
- },
+ "name": "user",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "User",
+ "ofType": null
+ }
},
- args: [],
- },
+ "args": []
+ }
],
- interfaces: [],
+ "interfaces": []
},
{
- kind: "OBJECT",
- name: "UpstreamOAuth2Link",
- fields: [
+ "kind": "OBJECT",
+ "name": "UpstreamOAuth2Link",
+ "fields": [
{
- name: "createdAt",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "createdAt",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
+ "args": []
},
{
- name: "id",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "id",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
+ "args": []
},
{
- name: "provider",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "UpstreamOAuth2Provider",
- ofType: null,
- },
+ "name": "provider",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UpstreamOAuth2Provider",
+ "ofType": null
+ }
},
- args: [],
+ "args": []
},
{
- name: "subject",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "subject",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
+ "args": []
},
{
- name: "user",
- type: {
- kind: "OBJECT",
- name: "User",
- ofType: null,
+ "name": "user",
+ "type": {
+ "kind": "OBJECT",
+ "name": "User",
+ "ofType": null
},
- args: [],
- },
+ "args": []
+ }
],
- interfaces: [
+ "interfaces": [
{
- kind: "INTERFACE",
- name: "CreationEvent",
+ "kind": "INTERFACE",
+ "name": "CreationEvent"
},
{
- kind: "INTERFACE",
- name: "Node",
- },
- ],
+ "kind": "INTERFACE",
+ "name": "Node"
+ }
+ ]
},
{
- kind: "OBJECT",
- name: "UpstreamOAuth2LinkConnection",
- fields: [
+ "kind": "OBJECT",
+ "name": "UpstreamOAuth2LinkConnection",
+ "fields": [
{
- name: "edges",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "LIST",
- ofType: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "UpstreamOAuth2LinkEdge",
- ofType: null,
- },
- },
- },
+ "name": "edges",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "LIST",
+ "ofType": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UpstreamOAuth2LinkEdge",
+ "ofType": null
+ }
+ }
+ }
},
- args: [],
+ "args": []
},
{
- name: "nodes",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "LIST",
- ofType: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "UpstreamOAuth2Link",
- ofType: null,
- },
- },
- },
+ "name": "nodes",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "LIST",
+ "ofType": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UpstreamOAuth2Link",
+ "ofType": null
+ }
+ }
+ }
},
- args: [],
+ "args": []
},
{
- name: "pageInfo",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "PageInfo",
- ofType: null,
- },
+ "name": "pageInfo",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "PageInfo",
+ "ofType": null
+ }
},
- args: [],
- },
+ "args": []
+ }
],
- interfaces: [],
+ "interfaces": []
},
{
- kind: "OBJECT",
- name: "UpstreamOAuth2LinkEdge",
- fields: [
+ "kind": "OBJECT",
+ "name": "UpstreamOAuth2LinkEdge",
+ "fields": [
{
- name: "cursor",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "cursor",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
+ "args": []
},
{
- name: "node",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "UpstreamOAuth2Link",
- ofType: null,
- },
+ "name": "node",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UpstreamOAuth2Link",
+ "ofType": null
+ }
},
- args: [],
- },
+ "args": []
+ }
],
- interfaces: [],
+ "interfaces": []
},
{
- kind: "OBJECT",
- name: "UpstreamOAuth2Provider",
- fields: [
+ "kind": "OBJECT",
+ "name": "UpstreamOAuth2Provider",
+ "fields": [
{
- name: "clientId",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "clientId",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
+ "args": []
},
{
- name: "createdAt",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "createdAt",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
+ "args": []
},
{
- name: "id",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "id",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
+ "args": []
},
{
- name: "issuer",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "issuer",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
- },
+ "args": []
+ }
],
- interfaces: [
+ "interfaces": [
{
- kind: "INTERFACE",
- name: "CreationEvent",
+ "kind": "INTERFACE",
+ "name": "CreationEvent"
},
{
- kind: "INTERFACE",
- name: "Node",
- },
- ],
+ "kind": "INTERFACE",
+ "name": "Node"
+ }
+ ]
},
{
- kind: "OBJECT",
- name: "UpstreamOAuth2ProviderConnection",
- fields: [
+ "kind": "OBJECT",
+ "name": "UpstreamOAuth2ProviderConnection",
+ "fields": [
{
- name: "edges",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "LIST",
- ofType: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "UpstreamOAuth2ProviderEdge",
- ofType: null,
- },
- },
- },
+ "name": "edges",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "LIST",
+ "ofType": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UpstreamOAuth2ProviderEdge",
+ "ofType": null
+ }
+ }
+ }
},
- args: [],
+ "args": []
},
{
- name: "nodes",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "LIST",
- ofType: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "UpstreamOAuth2Provider",
- ofType: null,
- },
- },
- },
+ "name": "nodes",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "LIST",
+ "ofType": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UpstreamOAuth2Provider",
+ "ofType": null
+ }
+ }
+ }
},
- args: [],
+ "args": []
},
{
- name: "pageInfo",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "PageInfo",
- ofType: null,
- },
+ "name": "pageInfo",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "PageInfo",
+ "ofType": null
+ }
},
- args: [],
- },
+ "args": []
+ }
],
- interfaces: [],
+ "interfaces": []
},
{
- kind: "OBJECT",
- name: "UpstreamOAuth2ProviderEdge",
- fields: [
+ "kind": "OBJECT",
+ "name": "UpstreamOAuth2ProviderEdge",
+ "fields": [
{
- name: "cursor",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "cursor",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
+ "args": []
},
{
- name: "node",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "UpstreamOAuth2Provider",
- ofType: null,
- },
+ "name": "node",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UpstreamOAuth2Provider",
+ "ofType": null
+ }
},
- args: [],
- },
+ "args": []
+ }
],
- interfaces: [],
+ "interfaces": []
},
{
- kind: "OBJECT",
- name: "User",
- fields: [
+ "kind": "OBJECT",
+ "name": "User",
+ "fields": [
{
- name: "browserSessions",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "BrowserSessionConnection",
- ofType: null,
- },
+ "name": "browserSessions",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "BrowserSessionConnection",
+ "ofType": null
+ }
},
- args: [
+ "args": [
{
- name: "after",
- type: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "after",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
{
- name: "before",
- type: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "before",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
{
- name: "first",
- type: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "first",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
{
- name: "last",
- type: {
- kind: "SCALAR",
- name: "Any",
- },
- },
- ],
+ "name": "last",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
+ }
+ ]
},
{
- name: "compatSsoLogins",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "CompatSsoLoginConnection",
- ofType: null,
- },
+ "name": "compatSsoLogins",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "CompatSsoLoginConnection",
+ "ofType": null
+ }
},
- args: [
+ "args": [
{
- name: "after",
- type: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "after",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
{
- name: "before",
- type: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "before",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
{
- name: "first",
- type: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "first",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
{
- name: "last",
- type: {
- kind: "SCALAR",
- name: "Any",
- },
- },
- ],
+ "name": "last",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
+ }
+ ]
},
{
- name: "emails",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "UserEmailConnection",
- ofType: null,
- },
+ "name": "emails",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UserEmailConnection",
+ "ofType": null
+ }
},
- args: [
+ "args": [
{
- name: "after",
- type: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "after",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
{
- name: "before",
- type: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "before",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
{
- name: "first",
- type: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "first",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
{
- name: "last",
- type: {
- kind: "SCALAR",
- name: "Any",
- },
- },
- ],
+ "name": "last",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
+ }
+ ]
},
{
- name: "id",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "id",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
+ "args": []
},
{
- name: "oauth2Sessions",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "Oauth2SessionConnection",
- ofType: null,
- },
+ "name": "oauth2Sessions",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "Oauth2SessionConnection",
+ "ofType": null
+ }
},
- args: [
+ "args": [
{
- name: "after",
- type: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "after",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
{
- name: "before",
- type: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "before",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
{
- name: "first",
- type: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "first",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
{
- name: "last",
- type: {
- kind: "SCALAR",
- name: "Any",
- },
- },
- ],
+ "name": "last",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
+ }
+ ]
},
{
- name: "primaryEmail",
- type: {
- kind: "OBJECT",
- name: "UserEmail",
- ofType: null,
+ "name": "primaryEmail",
+ "type": {
+ "kind": "OBJECT",
+ "name": "UserEmail",
+ "ofType": null
},
- args: [],
+ "args": []
},
{
- name: "upstreamOauth2Links",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "UpstreamOAuth2LinkConnection",
- ofType: null,
- },
+ "name": "upstreamOauth2Links",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UpstreamOAuth2LinkConnection",
+ "ofType": null
+ }
},
- args: [
+ "args": [
{
- name: "after",
- type: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "after",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
{
- name: "before",
- type: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "before",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
{
- name: "first",
- type: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "first",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
{
- name: "last",
- type: {
- kind: "SCALAR",
- name: "Any",
- },
- },
- ],
+ "name": "last",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
+ }
+ ]
},
{
- name: "username",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "username",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
- },
+ "args": []
+ }
],
- interfaces: [
+ "interfaces": [
{
- kind: "INTERFACE",
- name: "Node",
- },
- ],
+ "kind": "INTERFACE",
+ "name": "Node"
+ }
+ ]
},
{
- kind: "OBJECT",
- name: "UserEmail",
- fields: [
+ "kind": "OBJECT",
+ "name": "UserEmail",
+ "fields": [
{
- name: "confirmedAt",
- type: {
- kind: "SCALAR",
- name: "Any",
+ "name": "confirmedAt",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Any"
},
- args: [],
+ "args": []
},
{
- name: "createdAt",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "createdAt",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
+ "args": []
},
{
- name: "email",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "email",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
+ "args": []
},
{
- name: "id",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "id",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
- },
+ "args": []
+ }
],
- interfaces: [
+ "interfaces": [
{
- kind: "INTERFACE",
- name: "CreationEvent",
+ "kind": "INTERFACE",
+ "name": "CreationEvent"
},
{
- kind: "INTERFACE",
- name: "Node",
- },
- ],
+ "kind": "INTERFACE",
+ "name": "Node"
+ }
+ ]
},
{
- kind: "OBJECT",
- name: "UserEmailConnection",
- fields: [
+ "kind": "OBJECT",
+ "name": "UserEmailConnection",
+ "fields": [
{
- name: "edges",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "LIST",
- ofType: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "UserEmailEdge",
- ofType: null,
- },
- },
- },
+ "name": "edges",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "LIST",
+ "ofType": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UserEmailEdge",
+ "ofType": null
+ }
+ }
+ }
},
- args: [],
+ "args": []
},
{
- name: "nodes",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "LIST",
- ofType: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "UserEmail",
- ofType: null,
- },
- },
- },
+ "name": "nodes",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "LIST",
+ "ofType": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UserEmail",
+ "ofType": null
+ }
+ }
+ }
},
- args: [],
+ "args": []
},
{
- name: "pageInfo",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "PageInfo",
- ofType: null,
- },
+ "name": "pageInfo",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "PageInfo",
+ "ofType": null
+ }
},
- args: [],
+ "args": []
},
{
- name: "totalCount",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "totalCount",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
- },
+ "args": []
+ }
],
- interfaces: [],
+ "interfaces": []
},
{
- kind: "OBJECT",
- name: "UserEmailEdge",
- fields: [
+ "kind": "OBJECT",
+ "name": "UserEmailEdge",
+ "fields": [
{
- name: "cursor",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "cursor",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
+ "args": []
},
{
- name: "node",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "OBJECT",
- name: "UserEmail",
- ofType: null,
- },
+ "name": "node",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "UserEmail",
+ "ofType": null
+ }
},
- args: [],
- },
+ "args": []
+ }
],
- interfaces: [],
+ "interfaces": []
},
{
- kind: "OBJECT",
- name: "VerifyEmailPayload",
- fields: [
+ "kind": "OBJECT",
+ "name": "VerifyEmailPayload",
+ "fields": [
{
- name: "email",
- type: {
- kind: "OBJECT",
- name: "UserEmail",
- ofType: null,
+ "name": "email",
+ "type": {
+ "kind": "OBJECT",
+ "name": "UserEmail",
+ "ofType": null
},
- args: [],
+ "args": []
},
{
- name: "status",
- type: {
- kind: "NON_NULL",
- ofType: {
- kind: "SCALAR",
- name: "Any",
- },
+ "name": "status",
+ "type": {
+ "kind": "NON_NULL",
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Any"
+ }
},
- args: [],
+ "args": []
},
{
- name: "user",
- type: {
- kind: "OBJECT",
- name: "User",
- ofType: null,
+ "name": "user",
+ "type": {
+ "kind": "OBJECT",
+ "name": "User",
+ "ofType": null
},
- args: [],
- },
+ "args": []
+ }
],
- interfaces: [],
+ "interfaces": []
},
{
- kind: "UNION",
- name: "Viewer",
- possibleTypes: [
+ "kind": "UNION",
+ "name": "Viewer",
+ "possibleTypes": [
{
- kind: "OBJECT",
- name: "Anonymous",
+ "kind": "OBJECT",
+ "name": "Anonymous"
},
{
- kind: "OBJECT",
- name: "User",
- },
- ],
+ "kind": "OBJECT",
+ "name": "User"
+ }
+ ]
},
{
- kind: "UNION",
- name: "ViewerSession",
- possibleTypes: [
+ "kind": "UNION",
+ "name": "ViewerSession",
+ "possibleTypes": [
{
- kind: "OBJECT",
- name: "Anonymous",
+ "kind": "OBJECT",
+ "name": "Anonymous"
},
{
- kind: "OBJECT",
- name: "BrowserSession",
- },
- ],
+ "kind": "OBJECT",
+ "name": "BrowserSession"
+ }
+ ]
},
{
- kind: "SCALAR",
- name: "Any",
- },
+ "kind": "SCALAR",
+ "name": "Any"
+ }
],
- directives: [],
- },
-} as unknown as IntrospectionQuery;
+ "directives": []
+ }
+} as unknown as IntrospectionQuery;
\ No newline at end of file
diff --git a/frontend/src/main.tsx b/frontend/src/main.tsx
index d1445a97..0fc771d3 100644
--- a/frontend/src/main.tsx
+++ b/frontend/src/main.tsx
@@ -15,6 +15,7 @@
import React from "react";
import ReactDOM from "react-dom/client";
import { Provider } from "jotai";
+import { DevTools } from "jotai-devtools";
import LoadingScreen from "./components/LoadingScreen";
import Router from "./Router";
@@ -23,6 +24,7 @@ import { HydrateAtoms } from "./atoms";
ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render(
+
}>
diff --git a/frontend/src/pages/Account.tsx b/frontend/src/pages/Account.tsx
new file mode 100644
index 00000000..04d7acab
--- /dev/null
+++ b/frontend/src/pages/Account.tsx
@@ -0,0 +1,76 @@
+// Copyright 2023 The Matrix.org Foundation C.I.C.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+import React from "react";
+import { useAtomValue } from "jotai";
+import { atomFamily } from "jotai/utils";
+import { atomWithQuery } from "jotai-urql";
+
+import { graphql } from "../gql";
+import UserEmailList from "../components/UserEmailList";
+import { Title } from "../components/Typography";
+import AddEmailForm from "../components/AddEmailForm";
+
+const CURRENT_USER_QUERY = graphql(/* GraphQL */ `
+ query CurrentUserQuery {
+ viewer {
+ ... on User {
+ __typename
+ id
+ }
+ }
+ }
+`);
+
+const currentUserAtom = atomWithQuery({ query: CURRENT_USER_QUERY });
+
+const QUERY = graphql(/* GraphQL */ `
+ query AccountQuery($id: ID!) {
+ user(id: $id) {
+ id
+ username
+ }
+ }
+`);
+
+const accountAtomFamily = atomFamily((id: string) =>
+ atomWithQuery({ query: QUERY, getVariables: () => ({ id }) })
+);
+
+const UserAccount: React.FC<{ id: string }> = ({ id }) => {
+ const result = useAtomValue(accountAtomFamily(id));
+
+ return (
+
+
Hello {result.data?.user?.username}
+
+
+
+ );
+};
+
+const CurrentUserAccount: React.FC = () => {
+ const result = useAtomValue(currentUserAtom);
+ if (result.data?.viewer?.__typename === "User") {
+ return (
+
+
+
+ );
+ }
+
+ return Not logged in.
;
+};
+
+export default CurrentUserAccount;
diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts
index ffc003bb..2652a483 100644
--- a/frontend/vite.config.ts
+++ b/frontend/vite.config.ts
@@ -27,10 +27,18 @@ export default defineConfig({
},
plugins: [
codegen(),
- react(),
+ react({
+ babel: {
+ plugins: [
+ "jotai/babel/plugin-react-refresh",
+ "jotai/babel/plugin-debug-label",
+ ],
+ },
+ }),
eslint({
// Explicitly set the config file, else storybook gets confused
overrideConfigFile: "./.eslintrc.cjs",
+ exclude: ["./src/gql/*"],
}),
],
server: {