diff --git a/src/controllers/departmentController.js b/src/controllers/departmentController.js index 75e0fd79..3b506b2d 100644 --- a/src/controllers/departmentController.js +++ b/src/controllers/departmentController.js @@ -124,6 +124,31 @@ exports.addDepartment = async (request, reply) => { throw boom.boomify(err); } }; + + +exports.getAllDepartmentsParticularFields = async (req, reply) => { + try { + const departments = await Department.find().exec(); + + // Grouping the data + const result = { + cities: [...new Set(departments.map((doc) => doc.city))], + zones: [...new Set(departments.map((doc) => doc.zone))], + pincodes: [...new Set(departments.map((doc) => doc.pincode))], + }; + + // Sending the response + reply.send({ + status_code: 200, + data: result, + count: departments.length, + }); + } catch (err) { + console.error(err); + reply.send({ error: err.message }); + } + }; + exports.deletedepartmentInfo = async (req, reply) => { try { diff --git a/src/routes/departmentRoute.js b/src/routes/departmentRoute.js index 8f50d957..65564b75 100644 --- a/src/routes/departmentRoute.js +++ b/src/routes/departmentRoute.js @@ -76,6 +76,23 @@ module.exports = function (fastify, opts, next) { handler: departmentController.getalldepartmants, }); + + fastify.get("/api/getalldepartmentsParticularFileds", { + schema: { + tags: ["Department"], + description: "This is for Get all Department particular fileds Data", + summary: "This is for to Get all Department particular fields Data", + + security: [ + { + basicAuth: [], + }, + ], + }, + //preHandler: fastify.auth([fastify.authenticate]), + handler: departmentController.getAllDepartmentsParticularFields, + }); + fastify.delete("/api/deletedepartment/:departmentId", { schema: { description: "Delete a Department by departmentId",