summaryrefslogtreecommitdiff
path: root/apps/web/src/middleware.ts
diff options
context:
space:
mode:
authorMaze Winther <mazewinther@gmail.com>2025-07-17 19:51:31 +0200
committerMaze Winther <mazewinther@gmail.com>2025-07-17 19:51:31 +0200
commitf1b216848dd9e366aa43144466ed9234bf637832 (patch)
treed6489a9d9a4e8377de582d9a265ac690b5947fe1 /apps/web/src/middleware.ts
parent4e5e9756c81cb8c8885be652a1dbb56b179c2e04 (diff)
parentb564f7c23933963411bb06a03a777af7647aad93 (diff)
downloadopencut-f1b216848dd9e366aa43144466ed9234bf637832.tar.gz
Merge branch 'staging'
Diffstat (limited to 'apps/web/src/middleware.ts')
-rw-r--r--apps/web/src/middleware.ts15
1 files changed, 14 insertions, 1 deletions
diff --git a/apps/web/src/middleware.ts b/apps/web/src/middleware.ts
index aabc302a..b571061c 100644
--- a/apps/web/src/middleware.ts
+++ b/apps/web/src/middleware.ts
@@ -1,9 +1,22 @@
import { NextResponse } from "next/server";
import type { NextRequest } from "next/server";
import { env } from "./env";
+import { getSessionCookie } from "better-auth/cookies";
export async function middleware(request: NextRequest) {
const protectedPaths = ["/editor", "/projects"];
+ const sessionCookie = getSessionCookie(request);
+
+ const canAccessProtectedPaths = (request: NextRequest) => {
+ if (env.NODE_ENV === "development") {
+ return true;
+ }
+
+ if (sessionCookie) {
+ return true;
+ }
+ return false;
+ };
// Handle fuckcapcut.com domain redirect
if (request.headers.get("host") === "fuckcapcut.com") {
@@ -12,7 +25,7 @@ export async function middleware(request: NextRequest) {
const path = request.nextUrl.pathname;
- if (protectedPaths.includes(path) && env.NODE_ENV === "production") {
+ if (protectedPaths.includes(path) && !canAccessProtectedPaths(request)) {
const homeUrl = new URL("/", request.url);
homeUrl.searchParams.set("redirect", request.url);
return NextResponse.redirect(homeUrl);