1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
import { withErrors, ok, parseJson } from "@/lib/api";
import { requireUser } from "@/lib/auth";
import { CreateTodo } from "@/lib/schemas/todo";
import { listTodos, createTodo } from "@/lib/store";
// GET /api/todos
export const GET = withErrors(async (req) => {
await requireUser(req);
return ok({ todos: listTodos() });
});
// POST /api/todos
export const POST = withErrors(async (req) => {
await requireUser(req);
const input = await parseJson(req, CreateTodo);
const todo = createTodo({ title: input.title, due: input.due ?? null });
return ok({ todo }, { status: 201 });
});
|