diff --git a/src/controllers/admincontroller.js b/src/controllers/admincontroller.js index fedd079c..9ec5d801 100644 --- a/src/controllers/admincontroller.js +++ b/src/controllers/admincontroller.js @@ -117,6 +117,41 @@ exports.adminLogin = async (request, reply) => { } }; +// adminController.js + +exports.editUserByCustomerId = async (req, reply) => { + const { customerId } = req.params; + const { phone, username, role, date } = req.body; + + try { + const updatedUser = await Admin.findOneAndUpdate( + { customerId: customerId }, + { phone, username, role, date }, + ); + + if (!updatedUser) { + return reply.status(404).send({ success: false, message: "User not found" }); + } + + return reply.send({ success: true, message: "User details updated successfully", data: updatedUser }); + } catch (error) { + return reply.status(500).send({ success: false, message: error.message }); + } +}; + +exports.deleteUserInfo = async (req, reply) => { + try { + const customerId = req.params.customerId; + + const tank = await Admin.findOneAndDelete({ customerId:customerId }); + + reply.send({ status_code: 200, message: 'Delete Sucessfully'}); + // return tank; + } catch (err) { + throw boom.boomify(err); + } +}; + exports.salesStoreLogin = async (request, reply) => { diff --git a/src/routes/adminRoute.js b/src/routes/adminRoute.js index 997cffde..6a03c812 100644 --- a/src/routes/adminRoute.js +++ b/src/routes/adminRoute.js @@ -98,6 +98,71 @@ fastify.get("/api/getUsersByRole/:role", { handler: adminController.getUsersByRole, }); + + +fastify.put("/api/editUser/:customerId", { + schema: { + description: "Edit user details by customer ID", + tags: ["Sales/Store Users"], + summary: "Edit user details", + params: { + type: "object", + properties: { + customerId: { type: "string" }, // Customer ID + }, + required: ["customerId"], + }, + body: { + type: "object", + properties: { + phone: { type: "string" }, + username: { type: "string" }, + role: { type: "string", enum: ["sales", "store"] }, + date: { type: "string", format: "date-time" } + }, + required: ["phone", "username", "role", "date"] + }, + response: { + 200: { + type: "object", + properties: { + success: { type: "boolean" }, + message: { type: "string" }, + } + } + } + }, + handler: adminController.editUserByCustomerId, +}); + + + +fastify.delete("/api/deleteUser/:customerId", { + schema: { + description: "Delete a user by customer ID", + tags: ["Sales/Store Users"], + summary: "Delete a user by customer ID", + params: { + type: "object", + properties: { + customerId: { type: "string" }, // Customer ID + }, + required: ["customerId"], + }, + response: { + 200: { + type: "object", + properties: { + success: { type: "boolean" }, + message: { type: "string" }, + } + } + } + }, + handler: adminController.deleteUserInfo, +}); + + fastify.route({ method: "GET", url: "/api/users/:customerId", // Use path parameters for customerId