Get Team Members by Department ID changes

master^2
Bhaskar 2 months ago
parent bd78942045
commit 72de787f74

@ -102,43 +102,43 @@ exports.createTeamMember = async (req, reply) => {
exports.getTeamMembers = async (request, reply) => {
try {
const { departmentId } = request.params; // ✅ Get departmentId from request params
// exports.getTeamMembers = async (request, reply) => {
// try {
// const { departmentId,officeName,city } = request.params; // ✅ Get departmentId from request params
// ✅ Find the department using departmentId
const department = await Deparments.findOne({ departmentId });
// // ✅ Find the department using departmentId
// const department = await Deparments.findOne({ departmentId });
if (!department) {
return reply.status(404).send({
simplydata: {
error: true,
message: "Department not found",
},
});
}
// if (!department) {
// return reply.status(404).send({
// simplydata: {
// error: true,
// message: "Department not found",
// },
// });
// }
// ✅ Extract team members from department schema
const teamMembers = department.team_member.team_member;
// // ✅ Extract team members from department schema
// const teamMembers = department.team_member.team_member;
return reply.send({
simplydata: {
error: false,
message: "Team members retrieved successfully",
teamMembers, // ✅ Return the list of team members
},
});
// return reply.send({
// simplydata: {
// error: false,
// message: "Team members retrieved successfully",
// teamMembers, // ✅ Return the list of team members
// },
// });
} catch (err) {
console.error("Error fetching team members:", err);
reply.status(500).send({
simplydata: {
error: true,
message: "Internal server error",
},
});
}
};
// } 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) => {
// 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) => {
try {
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: {
description: "Get all team members under a specific department",
tags: ["Installation"],
@ -59,6 +59,18 @@ fastify.get("/api/getAllDepartments/:officeName/:city", {
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"

Loading…
Cancel
Save