diff --git a/backend/src/controllers/department.controller.js b/backend/src/controllers/department.controller.js index 7b6debb..17c199b 100644 --- a/backend/src/controllers/department.controller.js +++ b/backend/src/controllers/department.controller.js @@ -29,6 +29,53 @@ export const getAllDepartments = async (req, res) => { } }; +export const getDepartmentByName = async (req, res) => { + try { + const {name} = req.query; + + if (!name) { + return res.status(400).json({ + success: false, + message: "Department name is required", + }); + } + + const department = await prisma.department.findFirst({ + where: { + name: name, + }, + }); + + if (!department) { + return res.status(404).json({ + success: false, + message: "Department not found", + }); + } + + const response = { + departmentId: department.departmentId, + name: department.name, + para1: department.para1 ?? "", + para2: department.para2 ?? "", + para3: department.para3 ?? "", + facilities: department.facilities ?? "", + services: department.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 department", + }); + } +}; + export async function createDepartment(req, res) { try { const {departmentId, name, para1, para2, para3, facilities, services} =