|
|
|
@ -996,4 +996,30 @@ exports.getZonebasedLocations = async (req, reply) => {
|
|
|
|
|
reply.status(500).send({ message: err.message });
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
exports.getCitiesByOfficeName = async (req, reply) => {
|
|
|
|
|
try {
|
|
|
|
|
const { officeName } = req.params;
|
|
|
|
|
|
|
|
|
|
// Case-insensitive search
|
|
|
|
|
const regexOfficeName = new RegExp(`^${officeName}$`, "i");
|
|
|
|
|
|
|
|
|
|
// Query both collections
|
|
|
|
|
const cityResults = await City.find({ officeName: regexOfficeName }).select("city -_id").lean();
|
|
|
|
|
const branchResults = await Branch.find({ officeName: regexOfficeName }).select("city -_id").lean();
|
|
|
|
|
|
|
|
|
|
// Extract and merge unique city names
|
|
|
|
|
const cityNames = [...new Set([...cityResults.map(c => c.city), ...branchResults.map(b => b.city)])];
|
|
|
|
|
|
|
|
|
|
// Debugging
|
|
|
|
|
console.log("City Results:", cityResults);
|
|
|
|
|
console.log("Branch Results:", branchResults);
|
|
|
|
|
|
|
|
|
|
reply.send({ status_code: 200, data: cityNames });
|
|
|
|
|
} catch (err) {
|
|
|
|
|
console.error("Error fetching cities:", err);
|
|
|
|
|
reply.send({ error: err.message });
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|