diff --git a/src/pages/register.tsx b/src/pages/auth/invite/[inviteId].tsx similarity index 88% rename from src/pages/register.tsx rename to src/pages/auth/invite/[inviteId].tsx index 88152ba77..f3c96753d 100644 --- a/src/pages/register.tsx +++ b/src/pages/auth/invite/[inviteId].tsx @@ -8,13 +8,12 @@ import { serverSideTranslations } from 'next-i18next/serverSideTranslations'; import { useRouter } from 'next/router'; import { z } from 'zod'; import { prisma } from '~/server/db'; +import { registerNamespaces } from '~/tools/server/translation-namespaces'; import { api } from '~/utils/api'; import { useI18nZodResolver } from '~/utils/i18n-zod-resolver'; import { signUpFormSchema } from '~/validations/user'; -import { registerNamespaces } from '../tools/server/translation-namespaces'; - -export default function LoginPage() { +export default function AuthInvitePage() { const { t } = useTranslation('authentication/register'); const { i18nZodResolver } = useI18nZodResolver(); const router = useRouter(); @@ -111,10 +110,15 @@ export default function LoginPage() { const queryParamsSchema = z.object({ token: z.string(), }); +const routeParamsSchema = z.object({ + inviteId: z.string(), +}); -export const getServerSideProps: GetServerSideProps = async ({ locale, query }) => { - const result = queryParamsSchema.safeParse(query); - if (!result.success) { +export const getServerSideProps: GetServerSideProps = async ({ locale, query, params }) => { + const queryParams = queryParamsSchema.safeParse(query); + const routeParams = routeParamsSchema.safeParse(params); + console.log(queryParams, routeParams); + if (!queryParams.success || !routeParams.success) { return { notFound: true, }; @@ -122,7 +126,8 @@ export const getServerSideProps: GetServerSideProps = async ({ locale, query }) const token = await prisma.registrationToken.findUnique({ where: { - token: result.data.token, + id: routeParams.data.inviteId, + token: queryParams.data.token, }, }); diff --git a/src/pages/login.tsx b/src/pages/auth/login.tsx similarity index 97% rename from src/pages/login.tsx rename to src/pages/auth/login.tsx index c885c29c2..e32006f76 100644 --- a/src/pages/login.tsx +++ b/src/pages/auth/login.tsx @@ -21,7 +21,7 @@ import { useRouter } from 'next/router'; import { z } from 'zod'; import { signInSchema } from '~/validations/user'; -import { loginNamespaces } from '../tools/server/translation-namespaces'; +import { loginNamespaces } from '../../tools/server/translation-namespaces'; export default function LoginPage() { const { t } = useTranslation(['authentication/login']); diff --git a/src/server/auth.ts b/src/server/auth.ts index b60e83905..486dfc936 100644 --- a/src/server/auth.ts +++ b/src/server/auth.ts @@ -115,8 +115,8 @@ export const constructAuthOptions = ( maxAge: sessionMaxAgeInSeconds, }, pages: { - signIn: '/login', - error: '/login', + signIn: '/auth/login', + error: '/auth/login', }, adapter: PrismaAdapter(prisma), providers: [