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,37 +53,64 @@ fastify.get("/api/getAllDepartments/:officeName/:city", {
}); });
fastify.get("/api/getTeamMembers/:officeName/:city/:departmentName/: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"],
summary: "Get Team Members by Department ID", // summary: "Get Team Members by Department ID",
params: { // params: {
type: "object", // type: "object",
properties: { // properties: {
officeName: { // officeName: {
type: "string", // type: "string",
description: "fetch team members from" // description: "fetch team members from"
}, // },
city: { // city: {
type: "string", // type: "string",
description: "fetch team members from" // description: "fetch team members from"
}, // },
departmentName:{ // departmentName:{
type: "string", // type: "string",
description: "Department Name to fetch team members from" // 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"]
}, // },
// },
// 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", { fastify.get("/api/getQuations/:installationId", {
schema: { schema: {

Loading…
Cancel
Save