diff --git a/pages/index.tsx b/pages/index.tsx index ebc64639..2f07c6f8 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -11,20 +11,18 @@ import { ForwardBox } from '../src/views/home/reports/forwardReport'; import { LiquidReport } from '../src/views/home/reports/liquidReport/LiquidReport'; import { ConnectCard } from '../src/views/home/connect/Connect'; -const HomeView = () => { - return ( - <> - - - - - - - - - - ); -}; +const HomeView = () => ( + <> + + + + + + + + + +); const Wrapped = () => ( diff --git a/server/schema/auth/resolvers.ts b/server/schema/auth/resolvers.ts index 8772774d..e0df9cc7 100644 --- a/server/schema/auth/resolvers.ts +++ b/server/schema/auth/resolvers.ts @@ -15,7 +15,7 @@ const { serverRuntimeConfig } = getConfig() || {}; const { cookiePath, nodeEnv } = serverRuntimeConfig || {}; export const authResolvers = { - Query: { + Mutation: { getAuthToken: async ( _: undefined, { cookie }: { cookie: string }, @@ -142,8 +142,6 @@ export const authResolvers = { ); return info?.version || ''; }, - }, - Mutation: { logout: async ( _: undefined, __: any, diff --git a/server/schema/types.ts b/server/schema/types.ts index e112f65b..2e71aa67 100644 --- a/server/schema/types.ts +++ b/server/schema/types.ts @@ -85,8 +85,6 @@ export const queryTypes = gql` initialize: Boolean lastMessage: String ): getMessagesType - getAuthToken(cookie: String): Boolean! - getSessionToken(id: String, password: String): String! getServerAccounts: [serverAccountType] getAccount: serverAccountType getLatestVersion: String @@ -95,6 +93,8 @@ export const queryTypes = gql` export const mutationTypes = gql` type Mutation { + getAuthToken(cookie: String): Boolean! + getSessionToken(id: String, password: String): String! claimBoltzTransaction( redeem: String! transaction: String! diff --git a/src/components/accounts/ServerAccounts.tsx b/src/components/accounts/ServerAccounts.tsx index ee69c9d8..12b63dbd 100644 --- a/src/components/accounts/ServerAccounts.tsx +++ b/src/components/accounts/ServerAccounts.tsx @@ -2,17 +2,18 @@ import * as React from 'react'; import { useRouter } from 'next/router'; import { appendBasePath } from 'src/utils/basePath'; import { getUrlParam } from 'src/utils/url'; -import { useGetAuthTokenLazyQuery } from 'src/graphql/queries/__generated__/getAuthToken.generated'; import { toast } from 'react-toastify'; import { getErrorContent } from 'src/utils/error'; +import { useGetAuthTokenMutation } from 'src/graphql/mutations/__generated__/getAuthToken.generated'; export const ServerAccounts: React.FC = () => { const { push, query } = useRouter(); const cookieParam = getUrlParam(query?.token); - const [getToken, { data }] = useGetAuthTokenLazyQuery({ + const [getToken, { data }] = useGetAuthTokenMutation({ variables: { cookie: cookieParam }, + refetchQueries: ['GetNodeInfo'], onError: error => { toast.error(getErrorContent(error)); push(appendBasePath('/login')); diff --git a/src/graphql/mutations/__generated__/getAuthToken.generated.tsx b/src/graphql/mutations/__generated__/getAuthToken.generated.tsx new file mode 100644 index 00000000..2a6cd125 --- /dev/null +++ b/src/graphql/mutations/__generated__/getAuthToken.generated.tsx @@ -0,0 +1,46 @@ +/* eslint-disable */ +import * as Types from '../../types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +export type GetAuthTokenMutationVariables = Types.Exact<{ + cookie?: Types.Maybe; +}>; + + +export type GetAuthTokenMutation = ( + { __typename?: 'Mutation' } + & Pick +); + + +export const GetAuthTokenDocument = gql` + mutation GetAuthToken($cookie: String) { + getAuthToken(cookie: $cookie) +} + `; +export type GetAuthTokenMutationFn = Apollo.MutationFunction; + +/** + * __useGetAuthTokenMutation__ + * + * To run a mutation, you first call `useGetAuthTokenMutation` within a React component and pass it any options that fit your needs. + * When your component renders, `useGetAuthTokenMutation` returns a tuple that includes: + * - A mutate function that you can call at any time to execute the mutation + * - An object with fields that represent the current status of the mutation's execution + * + * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2; + * + * @example + * const [getAuthTokenMutation, { data, loading, error }] = useGetAuthTokenMutation({ + * variables: { + * cookie: // value for 'cookie' + * }, + * }); + */ +export function useGetAuthTokenMutation(baseOptions?: Apollo.MutationHookOptions) { + return Apollo.useMutation(GetAuthTokenDocument, baseOptions); + } +export type GetAuthTokenMutationHookResult = ReturnType; +export type GetAuthTokenMutationResult = Apollo.MutationResult; +export type GetAuthTokenMutationOptions = Apollo.BaseMutationOptions; \ No newline at end of file diff --git a/src/graphql/mutations/__generated__/getSessionToken.generated.tsx b/src/graphql/mutations/__generated__/getSessionToken.generated.tsx new file mode 100644 index 00000000..b3270545 --- /dev/null +++ b/src/graphql/mutations/__generated__/getSessionToken.generated.tsx @@ -0,0 +1,48 @@ +/* eslint-disable */ +import * as Types from '../../types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +export type GetSessionTokenMutationVariables = Types.Exact<{ + id: Types.Scalars['String']; + password: Types.Scalars['String']; +}>; + + +export type GetSessionTokenMutation = ( + { __typename?: 'Mutation' } + & Pick +); + + +export const GetSessionTokenDocument = gql` + mutation GetSessionToken($id: String!, $password: String!) { + getSessionToken(id: $id, password: $password) +} + `; +export type GetSessionTokenMutationFn = Apollo.MutationFunction; + +/** + * __useGetSessionTokenMutation__ + * + * To run a mutation, you first call `useGetSessionTokenMutation` within a React component and pass it any options that fit your needs. + * When your component renders, `useGetSessionTokenMutation` returns a tuple that includes: + * - A mutate function that you can call at any time to execute the mutation + * - An object with fields that represent the current status of the mutation's execution + * + * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2; + * + * @example + * const [getSessionTokenMutation, { data, loading, error }] = useGetSessionTokenMutation({ + * variables: { + * id: // value for 'id' + * password: // value for 'password' + * }, + * }); + */ +export function useGetSessionTokenMutation(baseOptions?: Apollo.MutationHookOptions) { + return Apollo.useMutation(GetSessionTokenDocument, baseOptions); + } +export type GetSessionTokenMutationHookResult = ReturnType; +export type GetSessionTokenMutationResult = Apollo.MutationResult; +export type GetSessionTokenMutationOptions = Apollo.BaseMutationOptions; \ No newline at end of file diff --git a/src/graphql/queries/getAuthToken.ts b/src/graphql/mutations/getAuthToken.ts similarity index 72% rename from src/graphql/queries/getAuthToken.ts rename to src/graphql/mutations/getAuthToken.ts index 9a907869..77dd01c0 100644 --- a/src/graphql/queries/getAuthToken.ts +++ b/src/graphql/mutations/getAuthToken.ts @@ -1,7 +1,7 @@ import { gql } from '@apollo/client'; export const GET_AUTH_TOKEN = gql` - query GetAuthToken($cookie: String) { + mutation GetAuthToken($cookie: String) { getAuthToken(cookie: $cookie) } `; diff --git a/src/graphql/queries/getSessionToken.ts b/src/graphql/mutations/getSessionToken.ts similarity index 68% rename from src/graphql/queries/getSessionToken.ts rename to src/graphql/mutations/getSessionToken.ts index 11af6b8f..cc85f16c 100644 --- a/src/graphql/queries/getSessionToken.ts +++ b/src/graphql/mutations/getSessionToken.ts @@ -1,7 +1,7 @@ import { gql } from '@apollo/client'; export const GET_SESSION_TOKEN = gql` - query GetSessionToken($id: String!, $password: String!) { + mutation GetSessionToken($id: String!, $password: String!) { getSessionToken(id: $id, password: $password) } `; diff --git a/src/graphql/queries/__generated__/getAuthToken.generated.tsx b/src/graphql/queries/__generated__/getAuthToken.generated.tsx deleted file mode 100644 index 4c27f243..00000000 --- a/src/graphql/queries/__generated__/getAuthToken.generated.tsx +++ /dev/null @@ -1,47 +0,0 @@ -/* eslint-disable */ -import * as Types from '../../types'; - -import { gql } from '@apollo/client'; -import * as Apollo from '@apollo/client'; -export type GetAuthTokenQueryVariables = Types.Exact<{ - cookie?: Types.Maybe; -}>; - - -export type GetAuthTokenQuery = ( - { __typename?: 'Query' } - & Pick -); - - -export const GetAuthTokenDocument = gql` - query GetAuthToken($cookie: String) { - getAuthToken(cookie: $cookie) -} - `; - -/** - * __useGetAuthTokenQuery__ - * - * To run a query within a React component, call `useGetAuthTokenQuery` and pass it any options that fit your needs. - * When your component renders, `useGetAuthTokenQuery` returns an object from Apollo Client that contains loading, error, and data properties - * you can use to render your UI. - * - * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; - * - * @example - * const { data, loading, error } = useGetAuthTokenQuery({ - * variables: { - * cookie: // value for 'cookie' - * }, - * }); - */ -export function useGetAuthTokenQuery(baseOptions?: Apollo.QueryHookOptions) { - return Apollo.useQuery(GetAuthTokenDocument, baseOptions); - } -export function useGetAuthTokenLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { - return Apollo.useLazyQuery(GetAuthTokenDocument, baseOptions); - } -export type GetAuthTokenQueryHookResult = ReturnType; -export type GetAuthTokenLazyQueryHookResult = ReturnType; -export type GetAuthTokenQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/src/graphql/queries/__generated__/getSessionToken.generated.tsx b/src/graphql/queries/__generated__/getSessionToken.generated.tsx deleted file mode 100644 index 53b941b4..00000000 --- a/src/graphql/queries/__generated__/getSessionToken.generated.tsx +++ /dev/null @@ -1,49 +0,0 @@ -/* eslint-disable */ -import * as Types from '../../types'; - -import { gql } from '@apollo/client'; -import * as Apollo from '@apollo/client'; -export type GetSessionTokenQueryVariables = Types.Exact<{ - id: Types.Scalars['String']; - password: Types.Scalars['String']; -}>; - - -export type GetSessionTokenQuery = ( - { __typename?: 'Query' } - & Pick -); - - -export const GetSessionTokenDocument = gql` - query GetSessionToken($id: String!, $password: String!) { - getSessionToken(id: $id, password: $password) -} - `; - -/** - * __useGetSessionTokenQuery__ - * - * To run a query within a React component, call `useGetSessionTokenQuery` and pass it any options that fit your needs. - * When your component renders, `useGetSessionTokenQuery` returns an object from Apollo Client that contains loading, error, and data properties - * you can use to render your UI. - * - * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; - * - * @example - * const { data, loading, error } = useGetSessionTokenQuery({ - * variables: { - * id: // value for 'id' - * password: // value for 'password' - * }, - * }); - */ -export function useGetSessionTokenQuery(baseOptions: Apollo.QueryHookOptions) { - return Apollo.useQuery(GetSessionTokenDocument, baseOptions); - } -export function useGetSessionTokenLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { - return Apollo.useLazyQuery(GetSessionTokenDocument, baseOptions); - } -export type GetSessionTokenQueryHookResult = ReturnType; -export type GetSessionTokenLazyQueryHookResult = ReturnType; -export type GetSessionTokenQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/src/graphql/types.ts b/src/graphql/types.ts index c85ba330..a6754be7 100644 --- a/src/graphql/types.ts +++ b/src/graphql/types.ts @@ -83,8 +83,6 @@ export type Query = { getChainTransactions?: Maybe>>; getUtxos?: Maybe>>; getMessages?: Maybe; - getAuthToken: Scalars['Boolean']; - getSessionToken: Scalars['String']; getServerAccounts?: Maybe>>; getAccount?: Maybe; getLatestVersion?: Maybe; @@ -199,19 +197,10 @@ export type QueryGetMessagesArgs = { lastMessage?: Maybe; }; - -export type QueryGetAuthTokenArgs = { - cookie?: Maybe; -}; - - -export type QueryGetSessionTokenArgs = { - id?: Maybe; - password?: Maybe; -}; - export type Mutation = { __typename?: 'Mutation'; + getAuthToken: Scalars['Boolean']; + getSessionToken: Scalars['String']; claimBoltzTransaction: Scalars['String']; createBoltzReverseSwap: CreateBoltzReverseSwapType; lnMarketsDeposit: Scalars['Boolean']; @@ -244,6 +233,17 @@ export type Mutation = { }; +export type MutationGetAuthTokenArgs = { + cookie?: Maybe; +}; + + +export type MutationGetSessionTokenArgs = { + id?: Maybe; + password?: Maybe; +}; + + export type MutationClaimBoltzTransactionArgs = { redeem: Scalars['String']; transaction: Scalars['String']; diff --git a/src/utils/ssr.ts b/src/utils/ssr.ts index 41ff357c..0856e7df 100644 --- a/src/utils/ssr.ts +++ b/src/utils/ssr.ts @@ -3,7 +3,7 @@ import { initializeApollo } from 'config/client'; import { parseCookies } from 'src/utils/cookies'; import { DocumentNode } from 'graphql'; import { appConstants } from 'server/utils/appConstants'; -import { GET_AUTH_TOKEN } from 'src/graphql/queries/getAuthToken'; +import { GET_AUTH_TOKEN } from 'src/graphql/mutations/getAuthToken'; const cookieProps = ( context: NextPageContext, diff --git a/src/views/homepage/Login.tsx b/src/views/homepage/Login.tsx index 775ccb98..c17f1a0d 100644 --- a/src/views/homepage/Login.tsx +++ b/src/views/homepage/Login.tsx @@ -3,11 +3,11 @@ import { toast } from 'react-toastify'; import styled from 'styled-components'; import { useRouter } from 'next/router'; import { appendBasePath } from 'src/utils/basePath'; -import { useGetSessionTokenLazyQuery } from 'src/graphql/queries/__generated__/getSessionToken.generated'; import { getErrorContent } from 'src/utils/error'; import { Lock } from 'react-feather'; import { ServerAccountType } from 'src/graphql/types'; import { getVersion } from 'src/utils/version'; +import { useGetSessionTokenMutation } from 'src/graphql/mutations/__generated__/getSessionToken.generated'; import { SingleLine, Sub4Title, Card } from '../../components/generic/Styled'; import { ColorButton } from '../../components/buttons/colorButton/ColorButton'; import { Input } from '../../components/input'; @@ -41,8 +41,8 @@ export const Login = ({ account }: LoginProps) => { const [pass, setPass] = useState(''); - const [getSessionToken, { data, loading }] = useGetSessionTokenLazyQuery({ - fetchPolicy: 'network-only', + const [getSessionToken, { data, loading }] = useGetSessionTokenMutation({ + refetchQueries: ['GetNodeInfo'], onError: err => { toast.error(getErrorContent(err)); },