import prisma from "../prisma/client.js"; export const getAllDepartments = async (req, res) => { try { const departments = await prisma.department.findMany({ orderBy: {name: "asc"}, }); const response = departments.map((dep) => ({ departmentId: dep.departmentId, Department: dep.name, para1: dep.para1 ?? "", para2: dep.para2 ?? "", para3: dep.para3 ?? "", facilities: dep.facilities ?? "", services: dep.services ?? "", })); return res.status(200).json({ success: true, data: response, }); } catch (error) { console.error(error); return res.status(500).json({ success: false, message: "Failed to fetch departments", }); } }; export async function createDepartment(req, res) { try { const {departmentId, name, para1, para2, para3, facilities, services} = req.body; if (!departmentId || !name) { return res .status(400) .json({error: "departmentId and name are required"}); } const department = await prisma.department.create({ data: { departmentId, name, para1, para2, para3, facilities, services, }, }); res.status(201).json({ message: "Department created successfully", data: department, }); } catch (error) { if (error.code === "P2002") { return res.status(409).json({error: "Department already exists"}); } res.status(500).json({error: "Failed to create department"}); } } export const updateDepartment = async (req, res) => { try { const {id} = req.params; const {name, para1, para2, para3, facilities, services} = req.body; const department = await prisma.department.update({ where: {id: Number(id)}, data: { name, para1, para2, para3, facilities, services, }, }); return res.status(200).json({ success: true, message: "Department updated successfully", data: department, }); } catch (error) { console.error(error); return res .status(500) .json({success: false, message: "Failed to update department"}); } }; export const deleteDepartment = async (req, res) => { try { const {id} = req.params; await prisma.department.delete({ where: {id: Number(id)}, }); return res.status(200).json({ success: true, message: "Department deleted successfully", }); } catch (error) { console.error(error); return res .status(500) .json({success: false, message: "Failed to delete department"}); } };