local db = require("_db") function GET(req) local posts, err = db.allPosts() if err then return 500, {error = "Database error: " .. err} end return 200, posts end function POST(req) local form, err = req:form() if err then return 400, {error = "Invalid form data"} end -- Handle soft DELETE via _method override if form._method == "DELETE" then local id = tonumber(form.id) if not id then return 400, {error = "Missing post ID"} end local ok, delErr = db.deletePost(id) if not ok then return 500, {error = "Delete failed: " .. delErr} end return 200, {deleted = true, id = id} end local title = form.title local slug = form.slug local author = form.author local content = form.content if not title or not slug or not author or not content then return 400, {error = "All fields are required (title, slug, author, content)"} end local ok, saveErr = db.createPost(slug, title, author, content) if not ok then return 500, {error = "Save failed: " .. saveErr} end return 303, {ok = true, slug = slug}, {["Location"] = ("/new?ok=1&slug=" .. slug)} end