Web app ready
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
import { NextResponse } from 'next/server';
|
||||
import db from '@/lib/db';
|
||||
|
||||
export const dynamic = 'force-dynamic';
|
||||
|
||||
export async function GET() {
|
||||
const groups = db.prepare('SELECT * FROM groups ORDER BY order_index ASC, id ASC').all();
|
||||
return NextResponse.json(groups);
|
||||
}
|
||||
|
||||
export async function POST(request: Request) {
|
||||
const { name } = await request.json();
|
||||
if (!name?.trim()) {
|
||||
return NextResponse.json({ error: 'Name is required' }, { status: 400 });
|
||||
}
|
||||
const maxOrder = (db.prepare(
|
||||
'SELECT COALESCE(MAX(order_index), -1) AS m FROM groups'
|
||||
).get() as { m: number }).m;
|
||||
const result = db.prepare(
|
||||
'INSERT INTO groups (name, order_index) VALUES (?, ?)'
|
||||
).run(name.trim(), maxOrder + 1);
|
||||
const group = db.prepare('SELECT * FROM groups WHERE id = ?').get(result.lastInsertRowid);
|
||||
return NextResponse.json(group, { status: 201 });
|
||||
}
|
||||
Reference in New Issue
Block a user