fix(server): redirect to setup page if not initialized (#7875)

This commit is contained in:
liuyi
2024-08-14 21:02:16 +08:00
committed by GitHub
parent 89537e6892
commit 57449c1530
20 changed files with 328 additions and 84 deletions
@@ -6,13 +6,11 @@ import {
CarouselItem,
} from '@affine/admin/components/ui/carousel';
import { validateEmailAndPassword } from '@affine/admin/utils';
import { useMutateQueryResource } from '@affine/core/hooks/use-mutation';
import { serverConfigQuery } from '@affine/graphql';
import { useCallback, useEffect, useState } from 'react';
import { useNavigate } from 'react-router-dom';
import { toast } from 'sonner';
import { useServerConfig } from '../common';
import { useRevalidateServerConfig, useServerConfig } from '../common';
import { CreateAdmin } from './create-admin';
export enum CarouselSteps {
@@ -73,6 +71,7 @@ export const Form = () => {
const [invalidPassword, setInvalidPassword] = useState(false);
const serverConfig = useServerConfig();
const refreshServerConfig = useRevalidateServerConfig();
const passwordLimits = serverConfig.credentialsRequirement.password;
const isCreateAdminStep = current - 1 === CarouselSteps.CreateAdmin;
@@ -80,8 +79,6 @@ export const Form = () => {
const disableContinue =
(!nameValue || !emailValue || !passwordValue) && isCreateAdminStep;
const revalidate = useMutateQueryResource();
useEffect(() => {
if (!api) {
return;
@@ -114,14 +111,14 @@ export const Form = () => {
}
await createResponse.json();
await revalidate(serverConfigQuery);
await refreshServerConfig();
toast.success('Admin account created successfully.');
} catch (err) {
toast.error((err as Error).message);
console.error(err);
throw err;
}
}, [emailValue, passwordValue, revalidate]);
}, [emailValue, passwordValue, refreshServerConfig]);
const onNext = useCallback(async () => {
if (isCreateAdminStep) {