From 79d13274b5b420a34030c6fabfb5852c67a342b2 Mon Sep 17 00:00:00 2001 From: Meier Lukas Date: Sat, 29 Jul 2023 15:21:00 +0200 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20Move=20authentication=20pa?= =?UTF-8?q?ges=20to=20/auth?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../invite/[inviteId].tsx} | 19 ++++++++++++------- src/pages/{ => auth}/login.tsx | 2 +- src/server/auth.ts | 4 ++-- 3 files changed, 15 insertions(+), 10 deletions(-) rename src/pages/{register.tsx => auth/invite/[inviteId].tsx} (88%) rename src/pages/{ => auth}/login.tsx (97%) 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: [