Exercise 2: What the Sibling's Response Actually Misses — Possible Solution ==================================================================== WHAT'S MISSING ------------------------------ The sibling course's POST handler builds its response by hand: { id: result.lastInsertRowid, name, barcode, category, expiry_date }. Every one of those values is a variable already in scope, but two real columns that exist on every item - status and added_at - were never included, simply because nobody added them to that object literal. A client reading this response has no way to know the new item's status or its actual added timestamp without making a second request. WHY THIS COURSE'S VERSION CAN'T HAVE THAT SAME BUG ------------------------------ This course's route responds with res.status(201).json(item), where item is exactly what prisma.item.create() returned - the complete row, every field the Item model defines, generated automatically rather than assembled by hand. There's no object literal here that a field could be left out of; the response is structurally the same shape as the row itself. A field could only go missing here if it were removed from the schema entirely, which would be a visible, deliberate schema change - not a quiet omission in one route handler. WHY THIS WORKS AS AN ANSWER ------------------------------ It correctly names the two specific missing fields (status, added_at) rather than describing the sibling's bug vaguely, and it correctly explains why returning the full created row structurally prevents this category of bug, rather than just asserting Prisma is "more complete" without saying why.