diff --git a/src/app/(drift)/(auth)/signup/page.tsx b/src/app/(drift)/(auth)/signup/page.tsx index 9ba57ef6..75efdafa 100644 --- a/src/app/(drift)/(auth)/signup/page.tsx +++ b/src/app/(drift)/(auth)/signup/page.tsx @@ -1,10 +1,10 @@ import Auth from "../components" -import { getRequiresPasscode } from "src/pages/api/auth/requires-passcode" import { getMetadata } from "src/app/lib/metadata" import { getAuthProviders, isCredentialEnabled } from "@lib/server/auth-props" +import { getRequiresPasscode } from "src/app/api/auth/requires-passcode/route" async function getPasscode() { - return await getRequiresPasscode() + return getRequiresPasscode() } export default async function SignUpPage() { diff --git a/src/app/api/auth/requires-passcode/route.ts b/src/app/api/auth/requires-passcode/route.ts new file mode 100644 index 00000000..e533e08d --- /dev/null +++ b/src/app/api/auth/requires-passcode/route.ts @@ -0,0 +1,41 @@ +import config from "@lib/config" +import { NextRequest } from "next/server" + +export const getRequiresPasscode = async () => { + const requiresPasscode = Boolean(config.registration_password) + return requiresPasscode +} + +export default async function GET(req: NextRequest) { + const searchParams = new URL(req.nextUrl).searchParams + const slug = searchParams.get("slug") + + if (!slug || Array.isArray(slug)) { + return new Response(null, { + status: 400, + statusText: "Bad request" + }) + } + + if (slug === "requires-passcode") { + // return res.json({ requiresPasscode: await getRequiresPasscode() }) + return new Response( + JSON.stringify({ requiresPasscode: await getRequiresPasscode() }), + { + status: 200, + statusText: "OK", + headers: { + "Content-Type": "application/json" + } + } + ) + } + + return new Response(JSON.stringify({ error: "Not found" }), { + status: 404, + statusText: "Not found", + headers: { + "Content-Type": "application/json" + } + }) +}