Web app ready
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
import { NextResponse } from 'next/server';
|
||||
import db from '@/lib/db';
|
||||
|
||||
export const dynamic = 'force-dynamic';
|
||||
|
||||
type Params = { params: Promise<{ id: string }> };
|
||||
|
||||
export async function PUT(request: Request, { params }: Params) {
|
||||
const { id } = await params;
|
||||
const { name } = await request.json();
|
||||
const existing = db.prepare('SELECT * FROM groups WHERE id = ?').get(Number(id));
|
||||
if (!existing) return NextResponse.json({ error: 'Not found' }, { status: 404 });
|
||||
if (!name?.trim()) return NextResponse.json({ error: 'Name is required' }, { status: 400 });
|
||||
db.prepare('UPDATE groups SET name = ? WHERE id = ?').run(name.trim(), Number(id));
|
||||
const updated = db.prepare('SELECT * FROM groups WHERE id = ?').get(Number(id));
|
||||
return NextResponse.json(updated);
|
||||
}
|
||||
|
||||
export async function DELETE(_req: Request, { params }: Params) {
|
||||
const { id } = await params;
|
||||
const existing = db.prepare('SELECT * FROM groups WHERE id = ?').get(Number(id));
|
||||
if (!existing) return NextResponse.json({ error: 'Not found' }, { status: 404 });
|
||||
db.transaction(() => {
|
||||
db.prepare('UPDATE counters SET group_id = NULL WHERE group_id = ?').run(Number(id));
|
||||
db.prepare('DELETE FROM groups WHERE id = ?').run(Number(id));
|
||||
})();
|
||||
return new NextResponse(null, { status: 204 });
|
||||
}
|
||||
Reference in New Issue
Block a user