ashok 2 months ago
commit 030108c2a0

@ -102,43 +102,43 @@ exports.createTeamMember = async (req, reply) => {
exports.getTeamMembers = async (request, reply) => { // exports.getTeamMembers = async (request, reply) => {
try { // try {
const { departmentId } = request.params; // ✅ Get departmentId from request params // const { departmentId,officeName,city } = request.params; // ✅ Get departmentId from request params
// ✅ Find the department using departmentId // // ✅ Find the department using departmentId
const department = await Deparments.findOne({ departmentId }); // const department = await Deparments.findOne({ departmentId });
if (!department) { // if (!department) {
return reply.status(404).send({ // return reply.status(404).send({
simplydata: { // simplydata: {
error: true, // error: true,
message: "Department not found", // message: "Department not found",
}, // },
}); // });
} // }
// ✅ Extract team members from department schema // // ✅ Extract team members from department schema
const teamMembers = department.team_member.team_member; // const teamMembers = department.team_member.team_member;
return reply.send({ // return reply.send({
simplydata: { // simplydata: {
error: false, // error: false,
message: "Team members retrieved successfully", // message: "Team members retrieved successfully",
teamMembers, // ✅ Return the list of team members // teamMembers, // ✅ Return the list of team members
}, // },
}); // });
} catch (err) { // } catch (err) {
console.error("Error fetching team members:", err); // console.error("Error fetching team members:", err);
reply.status(500).send({ // reply.status(500).send({
simplydata: { // simplydata: {
error: true, // error: true,
message: "Internal server error", // message: "Internal server error",
}, // },
}); // });
} // }
}; // };
// exports.getAllDepartments = async (request, reply) => { // exports.getAllDepartments = async (request, reply) => {
// try { // try {
@ -414,6 +414,51 @@ exports.createTeamMember = async (req, reply) => {
// } // }
// }; // };
// Controller
exports.getTeamMembers = async (request, reply) => {
try {
const { departmentId, officeName, city,departmentName } = request.params; // ✅ Get from path params
// ✅ Find the department using all three fields
const department = await Deparments.findOne({
departmentId,
officeName,
city,
departmentName
});
if (!department) {
return reply.status(404).send({
simplydata: {
error: true,
message: "Department not found for given office and city",
},
});
}
// ✅ Extract team members
const teamMembers = department.team_member?.team_member || [];
return reply.send({
simplydata: {
error: false,
message: "Team members retrieved successfully",
teamMembers,
},
});
} catch (err) {
console.error("Error fetching team members:", err);
reply.status(500).send({
simplydata: {
error: true,
message: "Internal server error",
},
});
}
};
exports.getAllDepartments = async (request, reply) => { exports.getAllDepartments = async (request, reply) => {
try { try {
const { officeName, city } = request.params; const { officeName, city } = request.params;

@ -51,7 +51,7 @@ fastify.get("/api/getAllDepartments/:officeName/:city", {
}); });
fastify.get("/api/getTeamMembers/:departmentId", { fastify.get("/api/getTeamMembers/:officeName/:city/:departmentName/: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"],
@ -59,11 +59,24 @@ fastify.get("/api/getAllDepartments/:officeName/:city", {
params: { params: {
type: "object", type: "object",
properties: { 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: { departmentId: {
type: "string", type: "string",
description: "Department ID to fetch team members from" description: "Department ID to fetch team members from"
} }
}, },
required: ["departmentId"] required: ["departmentId"]
}, },
}, },

Loading…
Cancel
Save