38 lines
1014 B
TypeScript
Executable File
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");
|
|
});
|
|
}
|