next/server/api/band/[id]/index.put.ts

30 lines
625 B
TypeScript

import { messages } from "@server/constants";
import { isAdmin } from "@server/middlewareButNotReally";
import { isLoggedIn } from "@server/middlewareButNotReally";
import { Band, IBand } from "@models/band";
export default eventHandler(async (ev) => {
isAdmin(ev);
const id = parseInt(getRouterParam(ev, "id")!);
const body = await readBody<Partial<Omit<IBand, "_id">>>(ev);
const data = await Band.findByIdAndUpdate(
id,
{
$set: {
...body,
},
},
{ new: true },
);
if (!data) {
throw createError({
statusCode: 404,
message: messages[404],
});
}
return {
success: true,
data,
};
});