Files
adventure/apps/web/src/app/api/reviews/[weekStart]/route.ts
Zaine 3b37368e7d
Some checks failed
CI / test (push) Has been cancelled
initial 2
2026-06-26 09:26:50 +01:00

38 lines
1014 B
TypeScript
Executable File

import { handleApi } from "@/lib/api";
import {
getWeeklyReview,
generateWeeklyReview,
setReviewIntention,
} from "@/lib/services/explorations";
import { requireUser } from "@/lib/services/user";
export async function GET(
_request: Request,
{ params }: { params: Promise<{ weekStart: string }> }
) {
const { weekStart } = await params;
return handleApi(async () => {
const { user } = await requireUser();
return getWeeklyReview(user.id, weekStart);
});
}
export async function POST(
request: Request,
{ params }: { params: Promise<{ weekStart: string }> }
) {
const { weekStart } = await params;
const body = await request.json();
return handleApi(async () => {
const { user } = await requireUser();
if (body.action === "generate") {
return generateWeeklyReview(user.id, weekStart);
}
if (body.intention) {
await setReviewIntention(user.id, weekStart, body.intention);
return { ok: true };
}
throw new Error("Unknown action");
});
}