Sequence NODE_259
Medium

Implement Soft Delete vs Hard Delete

Express.js
Node.js
Technical Specification

Implement DELETE /items/:id as soft delete (mark isDeleted) and add /admin/items endpoint to include deleted ones.

Input/Output Samples
Input:DELETE /items/1
Output:Item marked isDeleted=true
Optimal Logic Path
app.delete("/items/:id", (req, res) => {
  const item = items.find((i) => i.id === Number(req.params.id));
  if (!item) return res.status(404).json({ error: "Not found" });
  item.isDeleted = true;
  res.status(204).end();
});

app.get("/items", (req, res) => {
  res.json(items.filter((i) => !i.isDeleted));
});

app.get("/admin/items", (req, res) => {
  res.json(items);
});
Architectural Deep-Dive
Soft delete lets you hide records from normal clients while keeping them for admin or recovery.