diff options
| author | cashmere <cashmere@autistici.org> | 2026-07-27 01:21:02 +0200 |
|---|---|---|
| committer | cashmere <cashmere@autistici.org> | 2026-07-27 01:21:02 +0200 |
| commit | 2a372fdec256b8be890e181c221c2a012ead9efa (patch) | |
| tree | 98fe5c495245cb3d87097f558b4e74e193d8ad87 /apps/web/src/app/api/feedback | |
| parent | 2bbada7d2c5c00c5f844b6916c08bc4a9ea8cb25 (diff) | |
| download | opencut-2a372fdec256b8be890e181c221c2a012ead9efa.tar.gz | |
refactor: strip landing page and upstream branding
/ redirects to /projects; marketing landing components, the feedback
popover + API route, and all Discord links removed (editor header,
footer, onboarding copy).
Diffstat (limited to 'apps/web/src/app/api/feedback')
| -rw-r--r-- | apps/web/src/app/api/feedback/route.ts | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/apps/web/src/app/api/feedback/route.ts b/apps/web/src/app/api/feedback/route.ts deleted file mode 100644 index cd853eea..00000000 --- a/apps/web/src/app/api/feedback/route.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { type NextRequest, NextResponse } from "next/server"; -import { z } from "zod"; -import { checkRateLimit } from "@/auth/rate-limit"; -import { submitFeedback, MAX_MESSAGE_LENGTH } from "@/feedback"; - -const submitSchema = z.object({ - message: z - .string() - .min(1, "Message is required") - .max(MAX_MESSAGE_LENGTH, "Message too long"), -}); - -export async function POST(request: NextRequest) { - const { limited } = await checkRateLimit({ request }); - if (limited) { - return NextResponse.json({ error: "Too many requests" }, { status: 429 }); - } - - const body = await request.json(); - const result = submitSchema.safeParse(body); - - if (!result.success) { - return NextResponse.json( - { error: "Invalid input", details: result.error.flatten().fieldErrors }, - { status: 400 }, - ); - } - - const entry = await submitFeedback(result.data); - return NextResponse.json({ entry }, { status: 201 }); -} |
