feat: delete implementation

This commit is contained in:
redglow
2026-06-21 14:48:33 +02:00
parent 3d91bf0a63
commit 961cc6e5ae
6 changed files with 74 additions and 19 deletions
+14 -1
View File
@@ -21,11 +21,15 @@ const AddInput = z.object({
}),
});
const DeleteInput = z.object({
announcementId: z.coerce.number().positive(),
});
app.get("/hello", (_, res) => {
res.send("Hello Vite + React + TypeScript!");
});
app.post("/api/announcements/add", upload.single("image"), async (req, res) => {
app.post("/api/announcements", upload.single("image"), async (req, res) => {
const addInput = AddInput.parse(req);
await db
.insertInto("announcements")
@@ -49,6 +53,15 @@ app.get("/api/announcements", async (_, res) => {
res.json(announcements);
});
app.delete("/api/announcements/:announcementId", async (req, res) => {
const { announcementId } = DeleteInput.parse(req.params);
await db
.deleteFrom("announcements")
.where("id", "=", announcementId)
.execute();
res.status(204).send();
});
ViteExpress.listen(app, 3000, () =>
console.log("Server is listening on port 3000..."),
);