Get Team Members by Department ID

master^2
Bhaskar 2 months ago
parent 6315e376de
commit be6d20dae8

@ -418,16 +418,16 @@ exports.createTeamMember = async (req, reply) => {
// Controller
exports.getTeamMembers = async (request, reply) => {
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({
departmentId,
officeName,
city,
departmentName
});
officeName: { $regex: new RegExp(`^\\s*${officeName.trim()}\\s*$`, "i") },
city: { $regex: new RegExp(`^\\s*${city.trim()}\\s*$`, "i") }
}).lean();
console.log("department", department);
if (!department) {
return reply.status(404).send({
@ -438,7 +438,6 @@ exports.getTeamMembers = async (request, reply) => {
});
}
// ✅ Extract team members
const teamMembers = department.team_member?.team_member || [];
return reply.send({
@ -461,6 +460,7 @@ exports.getTeamMembers = async (request, reply) => {
};
exports.getAllDepartments = async (request, reply) => {
try {
const { officeName, city } = request.params;

@ -53,37 +53,64 @@ fastify.get("/api/getAllDepartments/:officeName/:city", {
});
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"
}
},
// 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"]
},
// required: ["departmentId"]
// },
// },
// handler: installationController.getTeamMembers
// });
fastify.get("/api/getTeamMembers/:officeName/:city/: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"
},
handler: installationController.getTeamMembers
});
city: {
type: "string",
description: "fetch team members from"
},
departmentId: {
type: "string",
description: "Department ID to fetch team members from"
}
},
required: ["departmentId", "officeName", "city"]
},
},
handler: installationController.getTeamMembers
});
fastify.get("/api/getQuations/:installationId", {
schema: {

Loading…
Cancel
Save