getDepartmentDetailsByAdminAndName

master^2
Bhaskar 2 months ago
parent d8a68d01cc
commit 64c99f9d07

@ -5,7 +5,8 @@ const bcrypt = require('bcrypt')
const fastify = require("fastify"); const fastify = require("fastify");
const { Tank, MotorData, IotData } = require('../models/tanks') const { Tank, MotorData, IotData } = require('../models/tanks');
const { Deparments } = require('../models/Department');
const JWT_SECRET = 'your-secret-key'; const JWT_SECRET = 'your-secret-key';
async function generateCustomerId(role) { async function generateCustomerId(role) {
@ -368,3 +369,56 @@ exports.createUser = async (request, reply) => {
} }
} }
exports.getDepartmentDetailsByAdminAndName = async (req, reply) => {
try {
const { adminId } = req.params;
const { departmentName, reportingManager } = req.body;
if (!adminId) {
return reply.status(400).send({
simplydata: { error: true, message: "adminId is required in path params" }
});
}
if (!departmentName || !reportingManager) {
return reply.status(400).send({
simplydata: { error: true, message: "departmentName and reportingManager are required in body" }
});
}
// ✅ Find department by adminId, departmentName and reportingManager
const department = await Deparments.findOne({
adminId,
departmentName,
reportingManager
}).lean();
if (!department) {
return reply.status(404).send({
simplydata: { error: true, message: "Department not found with given criteria" }
});
}
// ✅ Build response data
const responseData = {
phone: department.phone,
firstName: department.firstName,
lastName: department.lastName,
email: department.email
};
return reply.send({
simplydata: {
error: false,
message: "Department details fetched successfully",
data: responseData
}
});
} catch (err) {
console.error("Error fetching department details:", err);
reply.status(500).send({
simplydata: { error: true, message: "Internal server error" }
});
}
};

@ -254,6 +254,29 @@ fastify.post("/api/integratingHardwareidToTank", {
handler: adminController.integratingHardwareidToTank, handler: adminController.integratingHardwareidToTank,
}); });
fastify.post("/api/getDepartmentDetails/:adminId", {
schema: {
description: "Get department details by adminId, departmentName and reportingManager",
tags: ["Admin"],
summary: "Get department details",
params: {
type: "object",
properties: {
adminId: { type: "string", description: "Admin ID" }
},
required: ["adminId"]
},
body: {
type: "object",
properties: {
departmentName: { type: "string" },
reportingManager: { type: "string" }
},
required: ["departmentName", "reportingManager"]
}
},
handler: adminController.getDepartmentDetailsByAdminAndName
});
next(); next();

Loading…
Cancel
Save