Files
buzz-sheet/app/api/admin/media/route.ts
T
gunshiz dc5c667b4e
CI / Verify (push) Successful in 1m0s
CI / Build immutable images and deploy (push) Failing after 2m38s
feat(guides): add structured image-first editor
2026-08-29 13:30:52 +00:00

22 lines
771 B
TypeScript

import { NextResponse } from "next/server";
import { requireAdmin } from "@/lib/auth/server";
import { uploadPublicMedia } from "@/lib/media/repository";
export async function POST(request: Request) {
const admin = await requireAdmin();
const form = await request.formData();
const file = form.get("file");
if (!(file instanceof File)) {
return NextResponse.json({ error: "กรุณาเลือกไฟล์รูปภาพ" }, { status: 400 });
}
try {
return NextResponse.json(await uploadPublicMedia(file, admin.user.id), { status: 201 });
} catch (cause) {
return NextResponse.json(
{ error: cause instanceof Error ? cause.message : "อัปโหลดไม่สำเร็จ" },
{ status: 400 },
);
}
}