diff --git a/src/apis/update-account.ts b/src/apis/update-account.ts index 956c224..efb5d2a 100644 --- a/src/apis/update-account.ts +++ b/src/apis/update-account.ts @@ -10,7 +10,7 @@ export interface UpdateAccountData { } export default async function updateAccount(updateData: UpdateAccountData): Promise { - const {data} = await client.patch( + const {data: user} = await client.patch( `${import.meta.env.VITE_SERVER_BASE_URL}/v1/account`, updateData, { @@ -18,5 +18,5 @@ export default async function updateAccount(updateData: UpdateAccountData): Prom }, ) - return parseUser(data.user) + return parseUser(user) } diff --git a/src/apis/verify-email.ts b/src/apis/verify-email.ts index e8b350a..65e84a0 100644 --- a/src/apis/verify-email.ts +++ b/src/apis/verify-email.ts @@ -8,7 +8,7 @@ export interface VerifyEmailData { } export default async function verifyEmail({email, token}: VerifyEmailData): Promise { - const {data} = await client.post( + const {data: user} = await client.post( `${import.meta.env.VITE_SERVER_BASE_URL}/v1/auth/verify-email`, { email: email, @@ -19,5 +19,5 @@ export default async function verifyEmail({email, token}: VerifyEmailData): Prom }, ) - return parseUser(data.user) + return parseUser(user) } diff --git a/src/apis/verify-login-with-email.ts b/src/apis/verify-login-with-email.ts index 8388144..9ae6004 100644 --- a/src/apis/verify-login-with-email.ts +++ b/src/apis/verify-login-with-email.ts @@ -13,7 +13,7 @@ export default async function verifyLoginWithEmail({ token, sameRequestToken, }: VerifyLoginWithEmailData): Promise { - const {data} = await client.post( + const {data: user} = await client.post( `${import.meta.env.VITE_SERVER_BASE_URL}/v1/auth/login/email-token/verify`, { email, @@ -25,5 +25,5 @@ export default async function verifyLoginWithEmail({ }, ) - return parseUser(data.user) + return parseUser(user) } diff --git a/src/components/AuthContext/use-user.ts b/src/components/AuthContext/use-user.ts index b9e44c4..988cc82 100644 --- a/src/components/AuthContext/use-user.ts +++ b/src/components/AuthContext/use-user.ts @@ -3,8 +3,8 @@ import {AxiosError} from "axios" import {useMutation, useQuery} from "@tanstack/react-query" -import {REFRESH_TOKEN_URL, RefreshTokenResult, getMe, refreshToken} from "~/apis" -import {AuthenticationDetails, ServerUser, User} from "~/server-types" +import {REFRESH_TOKEN_URL, getMe, refreshToken} from "~/apis" +import {ServerUser, User} from "~/server-types" import {client} from "~/constants/axios-client" export interface UseAuthData { @@ -22,11 +22,11 @@ export default function useUser({ user, updateUser, }: UseAuthData) { - const {mutateAsync: refresh} = useMutation(refreshToken, { - onError: () => logout(), + const {mutateAsync: refresh} = useMutation(refreshToken, { + onError: logout, }) - useQuery(["get_me"], getMe, { + useQuery(["get_me"], getMe, { refetchOnWindowFocus: "always", refetchOnReconnect: "always", retry: 2, diff --git a/src/route-widgets/CompleteAccountRoute/PasswordForm.tsx b/src/route-widgets/CompleteAccountRoute/PasswordForm.tsx index e8dcf11..6c90a8a 100644 --- a/src/route-widgets/CompleteAccountRoute/PasswordForm.tsx +++ b/src/route-widgets/CompleteAccountRoute/PasswordForm.tsx @@ -13,7 +13,7 @@ import {useMutation} from "@tanstack/react-query" import {AuthContext, PasswordField, SimpleForm} from "~/components" import {setupEncryptionForUser} from "~/utils" import {useExtensionHandler, useNavigateToNext, useSystemPreferredTheme, useUser} from "~/hooks" -import {AuthenticationDetails, ServerSettings} from "~/server-types" +import {ServerSettings, ServerUser} from "~/server-types" import {UpdateAccountData, updateAccount} from "~/apis" export interface PasswordFormProps { @@ -51,9 +51,7 @@ export default function PasswordForm({onDone}: PasswordFormProps): ReactElement const {_setEncryptionPassword, login} = useContext(AuthContext) - const {mutateAsync} = useMutation( - updateAccount, - ) + const {mutateAsync} = useMutation(updateAccount) const formik = useFormik
({ validationSchema: schema, initialValues: { @@ -83,7 +81,7 @@ export default function PasswordForm({onDone}: PasswordFormProps): ReactElement encryptedNotes, }, { - onSuccess: ({user: newUser}) => { + onSuccess: newUser => { login(newUser) _setEncryptionPassword(encryptionPassword) navigateToNext() diff --git a/src/route-widgets/LoginRoute/ConfirmCodeForm/ConfirmCodeForm.tsx b/src/route-widgets/LoginRoute/ConfirmCodeForm/ConfirmCodeForm.tsx index 35aec05..cc89a1e 100644 --- a/src/route-widgets/LoginRoute/ConfirmCodeForm/ConfirmCodeForm.tsx +++ b/src/route-widgets/LoginRoute/ConfirmCodeForm/ConfirmCodeForm.tsx @@ -24,12 +24,7 @@ import { } from "@mui/material" import {LoadingButton} from "@mui/lab" -import { - AuthenticationDetails, - ServerSettings, - ServerUser, - SimpleDetailResponse, -} from "~/server-types" +import {ServerSettings, ServerUser, SimpleDetailResponse} from "~/server-types" import {VerifyLoginWithEmailData, verifyLoginWithEmail} from "~/apis" import {MultiStepFormElement} from "~/components" import {parseFastAPIError} from "~/utils" @@ -84,10 +79,10 @@ export default function ConfirmCodeForm({ .label(t("routes.LoginRoute.forms.confirmCode.form.code.label")), }) - const {mutateAsync} = useMutation( + const {mutateAsync} = useMutation( verifyLoginWithEmail, { - onSuccess: ({user}) => onConfirm(user), + onSuccess: onConfirm, }, ) const formik = useFormik({ diff --git a/src/route-widgets/LoginRoute/ConfirmFromDifferentDevice.tsx b/src/route-widgets/LoginRoute/ConfirmFromDifferentDevice.tsx index 905171f..5f0181e 100644 --- a/src/route-widgets/LoginRoute/ConfirmFromDifferentDevice.tsx +++ b/src/route-widgets/LoginRoute/ConfirmFromDifferentDevice.tsx @@ -6,7 +6,7 @@ import {useTranslation} from "react-i18next" import {useMutation} from "@tanstack/react-query" import {Box, Grid, Paper, Typography} from "@mui/material" -import {AuthenticationDetails, ServerUser} from "~/server-types" +import {ServerUser} from "~/server-types" import {verifyLoginWithEmail} from "~/apis" import {LoadingData} from "~/components" @@ -23,14 +23,14 @@ export default function ConfirmFromDifferentDevice({ onConfirm, }: ConfirmFromDifferentDeviceProps): ReactElement { const {t} = useTranslation() - const {mutate, isLoading, isError} = useMutation( + const {mutate, isLoading, isError} = useMutation( () => verifyLoginWithEmail({ email, token, }), { - onSuccess: ({user}) => onConfirm(user), + onSuccess: onConfirm, }, ) diff --git a/src/routes/VerifyEmailRoute.tsx b/src/routes/VerifyEmailRoute.tsx index b5a8786..5641ecc 100644 --- a/src/routes/VerifyEmailRoute.tsx +++ b/src/routes/VerifyEmailRoute.tsx @@ -9,7 +9,7 @@ import React, {ReactElement, useContext} from "react" import {Grid, Paper, Typography, useTheme} from "@mui/material" import {useMutation} from "@tanstack/react-query" -import {AuthenticationDetails, ServerSettings} from "~/server-types" +import {ServerSettings, ServerUser} from "~/server-types" import {VerifyEmailData, verifyEmail} from "~/apis" import {useQueryParams} from "~/hooks" import {AuthContext} from "~/components" @@ -41,15 +41,12 @@ export default function VerifyEmailRoute(): ReactElement { return token.split("").every(char => chars.includes(char)) }) - const {mutateAsync} = useMutation( - verifyEmail, - { - onSuccess: ({user}) => { - login(user) - navigate("/auth/complete-account") - }, + const {mutateAsync} = useMutation(verifyEmail, { + onSuccess: user => { + login(user) + navigate("/auth/complete-account") }, - ) + }) const {loading} = useAsync(async () => { await emailSchema.validate(email) await tokenSchema.validate(token)