diff --git a/src/handlers/supplierHandler.js b/src/handlers/supplierHandler.js index 4229b4a1..1cc7006a 100644 --- a/src/handlers/supplierHandler.js +++ b/src/handlers/supplierHandler.js @@ -521,3 +521,46 @@ exports.logoutsupplier = async (request, reply) => { } }; + +// Get current supplier +exports.getCurrentSupplier = async (req, reply) => { + try { + const supplierId = req.body.supplierId; + const suppliers = await Supplier.findOne({ supplierId: supplierId }); + return suppliers; + } catch (err) { + throw boom.boomify(err); + } +}; +// Get all users +exports.getSuppliers = async (req, reply) => { + const limit = parseInt(req.query.limit) || 100; + const page = parseInt(req.query.page) || 1; + const startindex = (page - 1) * limit; + try { + await Supplier.find() + .limit(limit) + .skip(startindex) + .exec() + .then((docs) => { + reply.send({ status_code: 200, data: docs, count: docs.length }); + }) + .catch((err) => { + console.log(err); + reply.send({ error: err }); + }); + } catch (err) { + throw boom.boomify(err); + } +}; + +// Get single user by ID +exports.getSingleSupplier = async (req, reply) => { + try { + const supplierId = req.params.supplierId; + const supplier = await Supplier.findOne({ supplierId: supplierId }); + return supplier; + } catch (err) { + throw boom.boomify(err); + } +}; diff --git a/src/routes/supplierRoute.js b/src/routes/supplierRoute.js index ed0f3181..7cc3cf04 100644 --- a/src/routes/supplierRoute.js +++ b/src/routes/supplierRoute.js @@ -7,6 +7,20 @@ const validationHandler = require("../handlers/supplierHandler"); module.exports = function (fastify, opts, next) { + fastify.get("/api/suppliers", { + schema: { + tags: ["Supplier-Data"], + description: "This is for Get All Suppliers", + summary: "This is for to Get All Suppliers", + security: [ + { + basicAuth: [], + }, + ], + }, + handler: validationHandler.getSuppliers, + }); + fastify.post("/api/supplierlogin", { schema: { description: "This is for Login Supplier", @@ -123,6 +137,58 @@ module.exports = function (fastify, opts, next) { }); + fastify.route({ + method: "POST", + url: "/api/suppliers/:supplierId", + schema: { + description: "To Get Supplier by supplierId", + tags: ["Supplier-Data"], + summary: "This is for Get a Single Supplier by supplierId", + params: { + type: "object", + properties: { + supplierId: { + type: "string", + description: "supplierId", + }, + }, + }, + security: [ + { + basicAuth: [], + }, + ], + }, + preHandler: fastify.auth([fastify.authenticate]), + handler: validationHandler.getSingleSupplier, + }); + + + fastify.route({ + method: "POST", + url: "/api/currentsupplier", + schema: { + tags: ["Supplier-Data"], + description: "This is for Get Current Supplier by supplierId by Post Body", + summary: "This is for Get a Current Supplier.", + body: { + type: "object", + required: ["supplierId"], + properties: { + supplierId: { type: "string" }, + }, + }, + security: [ + { + basicAuth: [], + }, + ], + }, + preHandler: fastify.auth([fastify.authenticate]), + handler: validationHandler.getCurrentSupplier, + + }); + next(); }