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

30 lines
636 B
TypeScript

import { messages } from "@server/constants";
import isAdmin from "@server/middlewareButNotReally/isAdmin";
import isLoggedIn from "@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<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,
};
});