💵 Add ability to accept payments (#722)

This commit is contained in:
Luke Vella 2023-07-05 14:46:30 +01:00 committed by GitHub
parent 1c7c8c7678
commit 2ccf705a2c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
44 changed files with 2021 additions and 604 deletions

View file

@ -5,14 +5,16 @@ import { NextRequest, NextResponse } from "next/server";
const supportedLocales = Object.keys(languages);
// these paths are always public
const publicPaths = ["/login", "/register", "/invite", "/auth"];
// these paths always require authentication
const protectedPaths = ["/settings/billing", "/settings/profile"];
export async function middleware(req: NextRequest) {
const { headers, cookies, nextUrl } = req;
const newUrl = nextUrl.clone();
const res = NextResponse.next();
const session = await getSession(req, res);
if (
process.env.AUTH_REQUIRED &&
session.user?.isGuest !== false &&
@ -24,6 +26,16 @@ export async function middleware(req: NextRequest) {
return NextResponse.redirect(newUrl);
}
if (
session.user?.isGuest !== false &&
protectedPaths.some((protectedPath) =>
req.nextUrl.pathname.includes(protectedPath),
)
) {
newUrl.pathname = "/login";
return NextResponse.redirect(newUrl);
}
// Check if locale is specified in cookie
const localeCookie = cookies.get("NEXT_LOCALE");
const preferredLocale = localeCookie && localeCookie.value;