Skip to content

Commit 6ed7d18

Browse files
committed
feat(briefings): add PUT and DELETE endpoints for managing briefing items
1 parent 82ae890 commit 6ed7d18

1 file changed

Lines changed: 23 additions & 0 deletions

File tree

  • src/pages/api/admin/briefings/[id]/items/[itemId]
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import type { APIRoute } from 'astro'
2+
import { db } from '../../../../../../../db'
3+
import { briefingItems } from '../../../../../../../db/schema'
4+
import { eq } from 'drizzle-orm'
5+
6+
export const PUT: APIRoute = async ({ params, request }) => {
7+
const itemId = Number(params.itemId)
8+
const body = await request.json()
9+
const { content, done } = body
10+
11+
await db.update(briefingItems).set({
12+
...(content !== undefined && { content: String(content).trim() }),
13+
...(done !== undefined && { done: !!done }),
14+
}).where(eq(briefingItems.id, itemId))
15+
16+
return new Response(JSON.stringify({ ok: true }), { status: 200 })
17+
}
18+
19+
export const DELETE: APIRoute = async ({ params }) => {
20+
const itemId = Number(params.itemId)
21+
await db.delete(briefingItems).where(eq(briefingItems.id, itemId))
22+
return new Response(JSON.stringify({ ok: true }), { status: 200 })
23+
}

0 commit comments

Comments
 (0)