import { NextResponse } from 'next/server'; import { getEntry, saveEntry } from '@/lib/db'; import type { SleepEntry } from '@/lib/sleep'; export const runtime = 'nodejs'; function isDate(value: string): boolean { return /^\d{4}-\d{2}-\d{2}$/.test(value); } export async function GET(_: Request, { params }: { params: Promise<{ date: string }> }) { const { date } = await params; if (!isDate(date)) return NextResponse.json({ error: 'Некорректная дата' }, { status: 400 }); return NextResponse.json({ entry: getEntry(date) }); } export async function PUT(request: Request, { params }: { params: Promise<{ date: string }> }) { const { date } = await params; if (!isDate(date)) return NextResponse.json({ error: 'Некорректная дата' }, { status: 400 }); const entry = await request.json() as SleepEntry; if (entry.date !== date || entry.rating < 1 || entry.rating > 5 || entry.awakenings < 0) { return NextResponse.json({ error: 'Проверьте заполненные значения' }, { status: 400 }); } return NextResponse.json({ entry: saveEntry(entry) }); }