From 4e7dc191169c0ab8f93a32247fe04449a87464c0 Mon Sep 17 00:00:00 2001 From: Bhaskar Date: Fri, 8 Aug 2025 14:46:37 +0530 Subject: [PATCH] changes --- src/controllers/departmentController.js | 57 +++++++++++++++++++++++-- 1 file changed, 53 insertions(+), 4 deletions(-) diff --git a/src/controllers/departmentController.js b/src/controllers/departmentController.js index 88b451ca..f58a1697 100644 --- a/src/controllers/departmentController.js +++ b/src/controllers/departmentController.js @@ -1419,20 +1419,25 @@ exports.getCitiesByOfficeName = async (req, reply) => { exports.getOffices = async (req, reply) => { try { - const { officeName, city } = req.params; + let { officeName, city } = req.params; - // Build dynamic filter const filter = {}; if (officeName && officeName !== 'ALL') { - const officeNames = officeName.split(',').map(name => name.trim()); + const officeNames = officeName.split(',').map(name => + new RegExp(name.trim().replace(/\s+/g, '\\s*'), 'i') // fuzzy match + ); filter.officeName = { $in: officeNames }; } if (city && city !== 'ALL') { - const cities = city.split(',').map(c => c.trim()); + const cities = city.split(',').map(name => + new RegExp(name.trim().replace(/\s+/g, '\\s*'), 'i') + ); filter.city = { $in: cities }; } + console.log("officeName",officeName) + console.log("city",city) const offices = await Deparments.find(filter).lean(); @@ -1455,6 +1460,50 @@ exports.getOffices = async (req, reply) => { } }; +// exports.getOffices = async (req, reply) => { +// try { +// const { officeName, city } = req.params; + +// const filter = {}; + +// if (officeName && officeName !== 'ALL') { +// const officeNames = officeName.split(',').map(name => +// new RegExp(`^${name.trim()}$`, 'i') +// ); +// filter.officeName = { $in: officeNames }; +// } +// console.log("officeName",officeName) +// if (city && city !== 'ALL') { +// const cities = city.split(',').map(c => +// new RegExp(`^${c.trim()}$`, 'i') +// ); +// filter.city = { $in: cities }; +// } +// console.log("officeName",officeName) + +// const offices = await Deparments.find(filter).lean(); +// console.log(offices, "offices"); + +// const departmentNames = [...new Set(offices.map(o => o.departmentName))]; +// console.log(departmentNames, "departmentNames"); + +// reply.send({ +// status_code: 200, +// message: "Fetched successfully", +// data: departmentNames, +// }); + +// } catch (error) { +// console.error("Error in getOffices:", error); +// reply.code(500).send({ +// status_code: 500, +// message: "Internal server error", +// error: error.message, +// }); +// } +// }; + +