Files
sistem-desa-mandiri/src/module/division_new/api/post/createDivision.ts
amel 00cb587446 fitur: divisi
Deskripsi:
- tambah divisi

No Issues
2024-08-05 14:02:47 +08:00

43 lines
1.3 KiB
TypeScript

import { prisma } from "@/module/_global";
import { funGetUserByCookies } from "@/module/auth";
import _ from "lodash";
import { revalidatePath } from "next/cache";
export default async function createDivision(req: Request) {
try {
const sent = await req.json();
const user = await funGetUserByCookies();
const insertDivision = await prisma.division.create({
data: {
name: sent.data.name,
idVillage: String(user.idVillage),
idGroup: sent.data.idGroup,
desc: sent.data.desc,
createdBy: String(user.id)
},
select: {
id: true
}
})
const dataMember = sent.member.map((v: any) => ({
..._.omit(v, ["isActive", "nik", "name", "phone", "email", "gender", "group", "position"]),
idUser: v.id,
idDivision: insertDivision.id,
isAdmin: sent.admin.some((i: any) => i == v.id)
}))
const insertMember = await prisma.divisionMember.createMany({
data: dataMember
})
revalidatePath("/division");
return Response.json({ success: true, message: "Sukses menambahkan data divisi" }, { status: 201 });
} catch (error) {
console.error(error);
return Response.json({ success: false, message: "Internal Server Error" }, { status: 500 });
}
}