From 29d2ed6b96275e8abc5a13abe055f6d08f3e4c56 Mon Sep 17 00:00:00 2001 From: Kailasdevdas Date: Wed, 8 Apr 2026 16:39:29 +0530 Subject: [PATCH] feat: get department by name --- .../src/controllers/department.controller.js | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) 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} =