Mr. Drew's Assignment Creator — Docker share build
Self-contained Dockerized build for end users. Run via docker compose; see README.md for setup. Source-only, no sample data or build artifacts. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
import { NextResponse } from "next/server";
|
||||
import { getAssignment, updateAssignment, deleteAssignment } from "@/lib/store";
|
||||
|
||||
export const dynamic = "force-dynamic";
|
||||
|
||||
export async function GET(request, { params }) {
|
||||
const a = getAssignment(params.id);
|
||||
if (!a) return NextResponse.json({ error: "Assignment not found." }, { status: 404 });
|
||||
return NextResponse.json(a);
|
||||
}
|
||||
|
||||
export async function PUT(request, { params }) {
|
||||
try {
|
||||
const body = await request.json();
|
||||
const updated = updateAssignment(params.id, body);
|
||||
if (!updated) return NextResponse.json({ error: "Assignment not found." }, { status: 404 });
|
||||
return NextResponse.json(updated);
|
||||
} catch (e) {
|
||||
return NextResponse.json({ error: String(e.message || e) }, { status: 400 });
|
||||
}
|
||||
}
|
||||
|
||||
export async function DELETE(request, { params }) {
|
||||
const ok = deleteAssignment(params.id);
|
||||
if (!ok) return NextResponse.json({ error: "Assignment not found." }, { status: 404 });
|
||||
return NextResponse.json({ ok: true });
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
import { NextResponse } from "next/server";
|
||||
import { listAssignments, createAssignment } from "@/lib/store";
|
||||
|
||||
export const dynamic = "force-dynamic";
|
||||
|
||||
export async function GET() {
|
||||
return NextResponse.json({ assignments: listAssignments() });
|
||||
}
|
||||
|
||||
export async function POST(request) {
|
||||
try {
|
||||
const body = await request.json();
|
||||
if (!body || typeof body !== "object") throw new Error("Missing assignment body.");
|
||||
const record = createAssignment(body);
|
||||
return NextResponse.json(record, { status: 201 });
|
||||
} catch (e) {
|
||||
return NextResponse.json({ error: String(e.message || e) }, { status: 400 });
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user