diff --git a/server/api/band/[id]/index.put.ts b/server/api/band/[id]/index.put.ts new file mode 100644 index 0000000..2e5c9ba --- /dev/null +++ b/server/api/band/[id]/index.put.ts @@ -0,0 +1,29 @@ +import { messages } from "~/lib/server/constants"; +import isAdmin from "~/lib/server/middlewareButNotReally/isAdmin"; +import isLoggedIn from "~/lib/server/middlewareButNotReally/isLoggedIn"; +import { Band, IBand } from "~/models/band"; + +export default eventHandler(async (ev) => { + isAdmin(ev); + const id = parseInt(getRouterParam(ev, "id")!); + const body = await readBody>>(ev); + const data = await Band.findByIdAndUpdate( + id, + { + $set: { + ...body, + }, + }, + { new: true }, + ); + if (!data) { + throw createError({ + statusCode: 404, + message: messages[404], + }); + } + return { + success: true, + data, + }; +});