ashok 2 months ago
commit 505c5a43c2

@ -418,16 +418,16 @@ exports.createTeamMember = async (req, reply) => {
// Controller // Controller
exports.getTeamMembers = async (request, reply) => { exports.getTeamMembers = async (request, reply) => {
try { try {
const { departmentId, officeName, city,departmentName } = request.params; // ✅ Get from path params const { departmentId, officeName, city } = request.params;
// ✅ Find the department using all three fields // Make regex tolerate spaces
const department = await Deparments.findOne({ const department = await Deparments.findOne({
departmentId, departmentId,
officeName, officeName: { $regex: new RegExp(`^\\s*${officeName.trim()}\\s*$`, "i") },
city, city: { $regex: new RegExp(`^\\s*${city.trim()}\\s*$`, "i") }
departmentName }).lean();
});
console.log("department", department);
if (!department) { if (!department) {
return reply.status(404).send({ return reply.status(404).send({
@ -438,7 +438,6 @@ exports.getTeamMembers = async (request, reply) => {
}); });
} }
// ✅ Extract team members
const teamMembers = department.team_member?.team_member || []; const teamMembers = department.team_member?.team_member || [];
return reply.send({ return reply.send({
@ -461,6 +460,7 @@ exports.getTeamMembers = async (request, reply) => {
}; };
exports.getAllDepartments = async (request, reply) => { exports.getAllDepartments = async (request, reply) => {
try { try {
const { officeName, city } = request.params; const { officeName, city } = request.params;

@ -53,7 +53,39 @@ fastify.get("/api/getAllDepartments/:officeName/:city", {
}); });
fastify.get("/api/getTeamMembers/:officeName/:city/:departmentName/:departmentId", { // fastify.get("/api/getTeamMembers/:officeName/:city/:departmentName/:departmentId", {
// schema: {
// description: "Get all team members under a specific department",
// tags: ["Installation"],
// summary: "Get Team Members by Department ID",
// params: {
// type: "object",
// properties: {
// officeName: {
// type: "string",
// description: "fetch team members from"
// },
// city: {
// type: "string",
// description: "fetch team members from"
// },
// departmentName:{
// type: "string",
// description: "Department Name to fetch team members from"
// },
// departmentId: {
// type: "string",
// description: "Department ID to fetch team members from"
// }
// },
// required: ["departmentId"]
// },
// },
// handler: installationController.getTeamMembers
// });
fastify.get("/api/getTeamMembers/:officeName/:city/:departmentId", {
schema: { schema: {
description: "Get all team members under a specific department", description: "Get all team members under a specific department",
tags: ["Installation"], tags: ["Installation"],
@ -69,17 +101,12 @@ fastify.get("/api/getAllDepartments/:officeName/:city", {
type: "string", type: "string",
description: "fetch team members from" description: "fetch team members from"
}, },
departmentName:{
type: "string",
description: "Department Name to fetch team members from"
},
departmentId: { departmentId: {
type: "string", type: "string",
description: "Department ID to fetch team members from" description: "Department ID to fetch team members from"
} }
}, },
required: ["departmentId", "officeName", "city"]
required: ["departmentId"]
}, },
}, },
handler: installationController.getTeamMembers handler: installationController.getTeamMembers

Loading…
Cancel
Save