From c78755ae4b01a6d9e1ac5bed8d4617069d485f4e Mon Sep 17 00:00:00 2001 From: Bhaskara Kishore Date: Mon, 27 Mar 2023 15:46:08 +0530 Subject: [PATCH 01/10] deliveryboy login --- src/controllers/supplierController.js | 25 +++++- src/handlers/supplierHandler.js | 108 ++++++++++++++++++++++++++ src/models/supplier.js | 4 + src/routes/supplierRoute.js | 16 ++++ 4 files changed, 152 insertions(+), 1 deletion(-) diff --git a/src/controllers/supplierController.js b/src/controllers/supplierController.js index 017328d3..e9eba7be 100644 --- a/src/controllers/supplierController.js +++ b/src/controllers/supplierController.js @@ -10,7 +10,7 @@ const saltRounds = 10; //Get the data models -const { Supplier ,ProfilePicture, generateSupplierId} = require('../models/supplier'); +const { Supplier ,ProfilePicture, generateSupplierId, DeliveryBoy} = require('../models/supplier'); async function bcryptPassword(password) { @@ -55,6 +55,29 @@ exports.loginSupplier = async (req) => { + +//DeliveryBoy Login Controller + + +exports.loginDeliveryBoy = async (req) => { + try { + const phone = req.body.phone; + + + const delivery = await DeliveryBoy.findOne({ phone: phone }); + + + if (delivery) { + return { same: true, delivery: delivery }; + } else { + return { same: false }; + } + + } catch (err) { + throw boom.boomify(err); + } +}; + exports.addSupplier = async (req, reply) => { try { // await resetCounter();//to set customer id back to 0 diff --git a/src/handlers/supplierHandler.js b/src/handlers/supplierHandler.js index 18dced6c..9ecd368f 100644 --- a/src/handlers/supplierHandler.js +++ b/src/handlers/supplierHandler.js @@ -235,6 +235,114 @@ exports.loginSupplier = async(request, reply) =>{ } + +//Login Delivery Handler +exports.loginDeliveryBoy = async(request, reply) =>{ + loginObject = await supplierController.loginDeliveryBoy(request); + console.log("loginObject...",loginObject) + if (loginObject.same) { + const phoneVerified = loginObject.delivery.phoneVerified; + const oneTimePasswordSetFlag = loginObject.delivery.oneTimePasswordSetFlag; + console.log( + "oneTimePasswordSetFlag is ......", + oneTimePasswordSetFlag, + typeof oneTimePasswordSetFlag, + typeof phoneVerified + ); + if (!phoneVerified) { + reply.send({ + simplydata: { + error: false, + phoneVerified: false, + + phone: loginObject.delivery.phone, + oneTimePasswordSetFlag: oneTimePasswordSetFlag, + message: "Please Verify your phone number", + }, + }); + } else if (oneTimePasswordSetFlag) { + reply.send({ + simplydata: { + error: false, + phoneVerified: phoneVerified, + phone: loginObject.delivery.phone, + oneTimePasswordSetFlag: true, + message: "Password must be reset", + }, + }); + } else { + const token = fastify.jwt.sign( + { + deliveryBoyname: loginObject.delivery.name, + deliveryBoyId: loginObject.delivery._id, + }, + //expiresIn: expressed in seconds or a string describing a time span zeit/ms. Eg: 60, "2 days", "10h", "7d". + //A numeric value is interpreted as a seconds count. If you use a string be sure you provide the time units (days, hours, etc), + //otherwise milliseconds unit is used by default ("120" is equal to "120ms"). + { expiresIn: "30d" } + ); + console.log(token, "..token") + + + var d_id = loginObject.delivery._id + + + console.log(d_id,"deliveryId") + var profilePicture = await ProfilePicture.findOne({ deliveryBoyId:d_id}); + + + // request.session.set('supplierId', loginObject.supplier._id) + + + if (!profilePicture) { + reply.send({ + simplydata: { + error: false, + apiversion: fastify.config.APIVERSION, + access_token: token, + + + phone: loginObject.delivery.phone, + deliveryBoyId: loginObject.delivery.deliveryBoyId, + deliveryBoyname: loginObject.delivery.name, + address: loginObject.delivery.address, + phoneVerified: loginObject.delivery.phoneVerified, + oneTimePasswordSetFlag: loginObject.delivery.oneTimePasswordSetFlag, + + }, + }); + }if (profilePicture) { + reply.send({ + simplydata: { + error: false, + apiversion: fastify.config.APIVERSION, + access_token: token, + picture:profilePicture.picture, + phone: loginObject.delivery.phone, + deliveryBoyId: loginObject.delivery.deliveryBoyId, + deliveryBoyname: loginObject.delivery.name, + address: loginObject.delivery.address, + phoneVerified: loginObject.delivery.phoneVerified, + oneTimePasswordSetFlag: loginObject.delivery.oneTimePasswordSetFlag, + }, + }); + } + + + } + } else { + error = { + simplydata: { + error: true, + code: 400, + message: "Invalid Details", + }, + }; + reply.send(error); + } +} + + // Check if all the required fields are supplied by the user exports.fieldCheck = async (req, reply) => { diff --git a/src/models/supplier.js b/src/models/supplier.js index 33adfa27..8094a502 100644 --- a/src/models/supplier.js +++ b/src/models/supplier.js @@ -111,6 +111,10 @@ const supplierSchema = new mongoose.Schema( name: { type: String, default: null }, phone: { type: String, default: null,unique:true }, alternativeContactNumber : { type : String,default: null }, + phoneVerified: { type: Boolean, default: false }, + phoneVerificationCode: { type: Number, default: 11111 }, + passwordResetCode: { type: Number, default: code }, + oneTimePasswordSetFlag: { type: Boolean, default: false }, address: { type: String, default: null }, city: { type: String, default: null }, state: { type: String, default: null }, diff --git a/src/routes/supplierRoute.js b/src/routes/supplierRoute.js index ee33a76b..d5a26746 100644 --- a/src/routes/supplierRoute.js +++ b/src/routes/supplierRoute.js @@ -101,6 +101,22 @@ module.exports = function (fastify, opts, next) { }); + fastify.post("/api/deliveryboylogin", { + schema: { + description: "This is for Login Delivery Boy", + tags: ["Supplier-Data"], + summary: "This is for Login Delivery Boy", + body: { + type: "object", + required: ["phone"], + properties: { + phone: { type: "string" }, + }, + }, + }, + handler: validationHandler.loginDeliveryBoy, +}); + fastify.route({ method: "POST", url: "/api/supplierlogout", From 642b4fa267d27efb85fc57459e423f54ee48cf5d Mon Sep 17 00:00:00 2001 From: Bhaskara Kishore Date: Mon, 27 Mar 2023 16:54:30 +0530 Subject: [PATCH 02/10] delivery boy phone verification --- src/controllers/userController.js | 6 +++- src/handlers/supplierHandler.js | 60 ++++++++++++++++++++++++++++++- src/routes/supplierRoute.js | 26 ++++++++++++++ 3 files changed, 90 insertions(+), 2 deletions(-) diff --git a/src/controllers/userController.js b/src/controllers/userController.js index 95e10cc8..ee0bd3d9 100644 --- a/src/controllers/userController.js +++ b/src/controllers/userController.js @@ -403,13 +403,17 @@ exports.sendSms = async (request, reply) => { const message = `Welcome to Arminta !!! your OTP is ${code} please use it for login.`//`Welcome to Arminta !!! your OTP is ${code} please use it for login.`; const user = await User.findOne({phone: mobile}) const supplier = await Supplier.findOne({phone: mobile}) + const deliveryBoy = await DeliveryBoy.findOne( { phone : mobile}) if(user){ await User.findOneAndUpdate({phone: mobile}, { $set: {'phoneVerificationCode': code } }) } if(supplier){ await Supplier.findOneAndUpdate({phone: mobile}, { $set: {'phoneVerificationCode': code } }) } - + if(deliveryBoy){ + await DeliveryBoy.findOneAndUpdate({phone: mobile}, { $set: {'phoneVerificationCode': code } }) + } + const apiUrl = `https://smslogin.co/v3/api.php?username=${username}&apikey=${apiKey}&senderid=${senderId}&mobile=${mobile}&message=${encodeURIComponent(message)}`; const options = { diff --git a/src/handlers/supplierHandler.js b/src/handlers/supplierHandler.js index 9ecd368f..b924fb2a 100644 --- a/src/handlers/supplierHandler.js +++ b/src/handlers/supplierHandler.js @@ -1,5 +1,5 @@ //Get the data models -const { Supplier } = require('../models/supplier'); +const { Supplier, DeliveryBoy } = require('../models/supplier'); const { FriendRequest } = require('../models/supplier') const { ProfilePicture } = require('../models/User') const supplierController = require("../controllers/supplierController"); @@ -633,7 +633,65 @@ exports.logoutsupplier = async (request, reply) => { throw boom.boomify(err); } }; + + exports.deliveryBoyVerifyPhone = async (req, reply) => { + console.log("-------------------------------------------------"); + try { + phone = req.body.phone; + phoneVerificationCode = req.body.phoneVerificationCode; + + // check if user exists in the system. If user exists , display message that + // username is not available + console.log( + "this is the phone and verification code", + phone, + phoneVerificationCode + ); + deliveryBoyExists = await DeliveryBoy.findOne({ + phone: phone, + phoneVerified: false, + phoneVerificationCode: phoneVerificationCode, + }); + console.log(deliveryBoyExists); + if (deliveryBoyExists) { + // update the phoneVerified flag to true. + const filter = { + phone: phone, + phoneVerificationCode: phoneVerificationCode, + }; + const update = { phoneVerified: true }; + const doc = await DeliveryBoy.findOneAndUpdate(filter, update); + updatedDeliveryBoy = await DeliveryBoy.findOne({ phone: phone }); + + if (updatedDeliveryBoy.phoneVerified) { + reply.send('{"armintatankdata":{"error":false,"verified": true}}'); + } else { + error = { + armintatankdata: { + error: true, + code: 10005, + message: "10005 - Verification code entered cannot be validated.", + }, + }; + req.body.regError = error; + reply.send(error); + } + } else { + error = { + armintatankdata: { + error: true, + code: 10005, + message: "10005 - Verification code entered cannot be validated.", + }, + }; + req.body.regError = error; + reply.send(error); + } + } catch (err) { + throw boom.boomify(err); + } + }; // Get current supplier exports.getCurrentSupplier = async (req, reply) => { diff --git a/src/routes/supplierRoute.js b/src/routes/supplierRoute.js index d5a26746..808458b2 100644 --- a/src/routes/supplierRoute.js +++ b/src/routes/supplierRoute.js @@ -217,6 +217,32 @@ module.exports = function (fastify, opts, next) { }); + fastify.route({ + method: "POST", + url: "/api/deliveryboyphone", + schema: { + tags: ["Supplier-Data"], + description: "This is for verify Delivery Boy Phone", + summary: "This is to Verify Delivery Boy Phone.", + body: { + type: "object", + required: ["phone"], + properties: { + phoneVerificationCode: { type: "string" }, + phone: { type: "string" }, + }, + }, + security: [ + { + basicAuth: [], + }, + ], + }, + // preHandler: fastify.auth([fastify.authenticate]), + handler: validationHandler.deliveryBoyVerifyPhone, + }); + + fastify.route({ method: "POST", url: "/api/suppliers/:supplierId", From 0d2f022d9e1e7e66824d51ad55496da2aa2ddc21 Mon Sep 17 00:00:00 2001 From: Bhaskara Kishore Date: Tue, 28 Mar 2023 11:33:38 +0530 Subject: [PATCH 03/10] delete and update delivery boy details --- src/handlers/supplierHandler.js | 38 ++++++++++++++++ src/routes/supplierRoute.js | 80 +++++++++++++++++++++++++++++++++ 2 files changed, 118 insertions(+) diff --git a/src/handlers/supplierHandler.js b/src/handlers/supplierHandler.js index b924fb2a..4e36c00e 100644 --- a/src/handlers/supplierHandler.js +++ b/src/handlers/supplierHandler.js @@ -693,6 +693,44 @@ exports.logoutsupplier = async (request, reply) => { } }; + + //delete selected deliveryboy +exports.deleteDeliveryBoy = async (req, reply) => { + try { + var supplierId = req.params.supplierId; + var phone = req.query.phone; + const delivery = await DeliveryBoy.findOneAndDelete({ phone: phone,supplierId:supplierId }); + + reply.send({ status_code: 200, data: delivery}); + // return tank; + } catch (err) { + throw boom.boomify(err); + } +}; + + +//update selected Delivery Boy Details +exports.updateDeliveryBoy = async (req, reply) => { + + try { + var supplierId = req.params.supplierId; + var phone = req.query.phone; + const delivery = req.body; + const { ...updateData } = delivery; + const update = await DeliveryBoy.findOneAndUpdate({ phone: phone,supplierId:supplierId, }, updateData, { new: true }); + console.log(update) + //return update; + + reply.send({ status_code: 200, data: update }); + + + + } + catch (err) { + throw boom.boomify(err); + } +}; + // Get current supplier exports.getCurrentSupplier = async (req, reply) => { try { diff --git a/src/routes/supplierRoute.js b/src/routes/supplierRoute.js index 808458b2..03087b14 100644 --- a/src/routes/supplierRoute.js +++ b/src/routes/supplierRoute.js @@ -242,6 +242,86 @@ module.exports = function (fastify, opts, next) { handler: validationHandler.deliveryBoyVerifyPhone, }); + fastify.route({ + method: "PUT", + url: "/api/deletedeliveryboy/:supplierId", + schema: { + tags: ["Supplier-Data"], + summary: "This is for delete delivery boy", + description: "This is for delete delivery boy", + params: { + required: ["supplierId"], + type: "object", + properties: { + supplierId: { + type: "string", + description: "supplierId", + }, + }, + }, + querystring: { + phone: {type: 'string'} + }, + security: [ + { + basicAuth: [], + }, + ], + }, + preHandler: fastify.auth([fastify.authenticate]), + handler: validationHandler.deleteDeliveryBoy, + }); + + + fastify.route({ + method: "PUT", + url: "/api/updatedeliveryboy/:supplierId", + schema: { + tags: ["Supplier-Data"], + summary: "This is for update deliveryboy details", + params: { + required: ["supplierId"], + type: "object", + properties: { + supplierId: { + type: "string", + description: "supplierId", + }, + }, + }, + querystring: { + phone: {type: 'string'} + }, + + body: { + type: "object", + // required: ['phone'], + properties: { + + name: { type: "string", default: null }, + phone: { type: "string", default: null }, + alternativeContactNumber: { type: "string" }, + address: { type: "string", default: null }, + city: { type: "string" , default: null}, + state: { type: "string", default: null }, + zip: { type: "string", default: null }, + }, + }, + security: [ + { + basicAuth: [], + }, + ], + }, + // preHandler: [ + // fastify.auth([fastify.operatorAuthenticate]), + // validationHandler.validatePhoneFormat, + // ], + preHandler: fastify.auth([fastify.authenticate]), + handler: validationHandler.updateDeliveryBoy, + }); + + fastify.route({ method: "POST", From 06342b492f2db5e1b52c1b0aa9f90074582f8367 Mon Sep 17 00:00:00 2001 From: Bhaskara Kishore Date: Tue, 28 Mar 2023 13:07:11 +0530 Subject: [PATCH 04/10] get all tanker booking details --- src/controllers/tankersController.js | 29 ++++++++++++++++++++++++++++ src/routes/tankersRoute.js | 29 ++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) diff --git a/src/controllers/tankersController.js b/src/controllers/tankersController.js index 87a0e381..1164d0f1 100644 --- a/src/controllers/tankersController.js +++ b/src/controllers/tankersController.js @@ -299,6 +299,35 @@ exports.getTankersBookingdetails = async (req, reply) => { } }; +exports.getAllTankersBookingdetails = async (req, reply) => { + try { + const supplierId = req.params.customerId + // const tankerName = req.query.tankerName + + await Tankerbooking.find({ supplierId:supplierId }) + .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); + } +}; + + + + exports.addBores = async (req, reply) => { try { diff --git a/src/routes/tankersRoute.js b/src/routes/tankersRoute.js index 8a539ada..42d3a2c0 100644 --- a/src/routes/tankersRoute.js +++ b/src/routes/tankersRoute.js @@ -327,6 +327,35 @@ module.exports = function (fastify, opts, next) { handler: tankersController.getTankersBookingdetails, }); + + fastify.get("/api/getAllTankersBookingdetails/:supplierId", { + schema: { + tags: ["Supplier"], + description: "This is for Get All Tanker Booking Data", + summary: "This is for to Get All Tanker Booking Data", + params: { + required: ["supplierId"], + type: "object", + properties: { + supplierId: { + type: "string", + description: "supplierId", + }, + }, + }, + // querystring: { + // tankerName: {type: 'string'} + // }, + security: [ + { + basicAuth: [], + }, + ], + }, + preHandler: fastify.auth([fastify.authenticate]), + handler: tankersController.getAllTankersBookingdetails, + }); + fastify.get("/api/getBores", { schema: { tags: ["Supplier"], From dda1cc78de3d6b51ced275f78401274ed009ea26 Mon Sep 17 00:00:00 2001 From: Bhaskara Kishore Date: Tue, 28 Mar 2023 16:43:36 +0530 Subject: [PATCH 05/10] get all pending customer from friend-request --- src/handlers/supplierHandler.js | 31 ++++++++++++++++++++++++++++++- src/routes/supplierRoute.js | 26 ++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 1 deletion(-) diff --git a/src/handlers/supplierHandler.js b/src/handlers/supplierHandler.js index 4e36c00e..3c3f09e3 100644 --- a/src/handlers/supplierHandler.js +++ b/src/handlers/supplierHandler.js @@ -1,7 +1,7 @@ //Get the data models const { Supplier, DeliveryBoy } = require('../models/supplier'); const { FriendRequest } = require('../models/supplier') -const { ProfilePicture } = require('../models/User') +const { ProfilePicture, User } = require('../models/User') const supplierController = require("../controllers/supplierController"); const customJwtAuth = require("../customAuthJwt"); const fastify = require("fastify")({ @@ -854,3 +854,32 @@ exports.getPendingSuppliers = async (req, reply) => { }; + +exports.getPendingCustomers = async (req, reply) => { + const limit = parseInt(req.query.limit) || 100; + const page = parseInt(req.query.page) || 1; + const startindex = (page - 1) * limit; + const supplierId = req.params.supplierId; // Assuming you have already authenticated the user and stored their ID in the request object + + try { + const friendRequests = await FriendRequest.find({ supplierId, status: ["pending","rejected"] }); + console.log(friendRequests,supplierId, "su....") + const supplierIdsToInclude = friendRequests.map((request) => request.customerId); + console.log(supplierIdsToInclude, "supplierIdsToInclude..") + await User.find({ customerId: { $in: supplierIdsToInclude } }) + .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); + } +}; + + diff --git a/src/routes/supplierRoute.js b/src/routes/supplierRoute.js index 03087b14..6953ba4f 100644 --- a/src/routes/supplierRoute.js +++ b/src/routes/supplierRoute.js @@ -81,6 +81,32 @@ module.exports = function (fastify, opts, next) { handler: validationHandler.getPendingSuppliers, }); + + + fastify.get("/api/pendingCustomers/:supplierId", { + schema: { + tags: ["Supplier-Data"], + description: "This is for Get All pending/rejected Customers", + summary: "This is for to Get All pending/rejected Customers", + params: { + type: "object", + properties: { + supplierId: { + type: "string", + description: "supplierId", + }, + }, + }, + + security: [ + { + basicAuth: [], + }, + ], + }, + handler: validationHandler.getPendingCustomers, + }); + fastify.post("/api/supplierlogin", { From 7ebe3e09630696575cd248934e44fa8102b9809f Mon Sep 17 00:00:00 2001 From: Bhaskara Kishore Date: Wed, 29 Mar 2023 11:26:05 +0530 Subject: [PATCH 06/10] price filed added in tanker storing booking --- src/controllers/tankersController.js | 1 + src/routes/tankersRoute.js | 1 + 2 files changed, 2 insertions(+) diff --git a/src/controllers/tankersController.js b/src/controllers/tankersController.js index 1164d0f1..2effcaa4 100644 --- a/src/controllers/tankersController.js +++ b/src/controllers/tankersController.js @@ -200,6 +200,7 @@ exports.tankerBooking = async (req, reply) => { capacity: req.body.capacity, address: req.body.address, dateOfOrder: req.body.dateOfOrder, + price:req.body.price //date: req.body.date, // time: req.body.time, diff --git a/src/routes/tankersRoute.js b/src/routes/tankersRoute.js index 42d3a2c0..4790d1c6 100644 --- a/src/routes/tankersRoute.js +++ b/src/routes/tankersRoute.js @@ -204,6 +204,7 @@ module.exports = function (fastify, opts, next) { capacity: { type: "string" }, address: { type: "string" }, dateOfOrder: { type: "string"}, + price: { type: "string"}, From 78bfa5afcc3f9a88eb971301d912b0dbf3aaa9fa Mon Sep 17 00:00:00 2001 From: Bhaskara Kishore Date: Wed, 29 Mar 2023 11:36:28 +0530 Subject: [PATCH 07/10] connected customers --- src/handlers/supplierHandler.js | 27 +++++++++++++++++++++++++++ src/routes/supplierRoute.js | 25 +++++++++++++++++++++++++ 2 files changed, 52 insertions(+) diff --git a/src/handlers/supplierHandler.js b/src/handlers/supplierHandler.js index 3c3f09e3..7cae812b 100644 --- a/src/handlers/supplierHandler.js +++ b/src/handlers/supplierHandler.js @@ -883,3 +883,30 @@ exports.getPendingCustomers = async (req, reply) => { }; + +exports.getconnectedCustomers = async (req, reply) => { + const limit = parseInt(req.query.limit) || 100; + const page = parseInt(req.query.page) || 1; + const startindex = (page - 1) * limit; + const supplierId = req.params.supplierId; // Assuming you have already authenticated the user and stored their ID in the request object + + try { + const friendRequests = await FriendRequest.find({ supplierId, status: ["accepted"] }); + console.log(friendRequests,supplierId, "su....") + const supplierIdsToInclude = friendRequests.map((request) => request.customerId); + console.log(supplierIdsToInclude, "supplierIdsToInclude..") + await User.find({ customerId: { $in: supplierIdsToInclude } }) + .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); + } +}; \ No newline at end of file diff --git a/src/routes/supplierRoute.js b/src/routes/supplierRoute.js index 6953ba4f..09b026ec 100644 --- a/src/routes/supplierRoute.js +++ b/src/routes/supplierRoute.js @@ -107,6 +107,31 @@ module.exports = function (fastify, opts, next) { handler: validationHandler.getPendingCustomers, }); + + + fastify.get("/api/connectedCustomers/:supplierId", { + schema: { + tags: ["Supplier-Data"], + description: "This is for Get All connected Customers", + summary: "This is for to Get All connected Customers", + params: { + type: "object", + properties: { + supplierId: { + type: "string", + description: "supplierId", + }, + }, + }, + + security: [ + { + basicAuth: [], + }, + ], + }, + handler: validationHandler.getconnectedCustomers, + }); fastify.post("/api/supplierlogin", { From 7dda54bf69df94be12095aa26ff832148f855e53 Mon Sep 17 00:00:00 2001 From: Bhaskara Kishore Date: Wed, 29 Mar 2023 11:38:44 +0530 Subject: [PATCH 08/10] adding summary --- src/routes/supplierRoute.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/routes/supplierRoute.js b/src/routes/supplierRoute.js index 09b026ec..bfc7e82b 100644 --- a/src/routes/supplierRoute.js +++ b/src/routes/supplierRoute.js @@ -112,8 +112,8 @@ module.exports = function (fastify, opts, next) { fastify.get("/api/connectedCustomers/:supplierId", { schema: { tags: ["Supplier-Data"], - description: "This is for Get All connected Customers", - summary: "This is for to Get All connected Customers", + description: "This is for Get All connected Customers for Suppliers", + summary: "This is for to Get All connected Customers for suppliers", params: { type: "object", properties: { From f01063df2887349e47d23757a21996b861fbd4ee Mon Sep 17 00:00:00 2001 From: Bhaskara Kishore Date: Wed, 29 Mar 2023 15:18:26 +0530 Subject: [PATCH 09/10] get all tanker booking data --- src/controllers/tankersController.js | 29 +++++++++++++--------------- src/routes/tankersRoute.js | 1 + 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/src/controllers/tankersController.js b/src/controllers/tankersController.js index 2effcaa4..85a666e3 100644 --- a/src/controllers/tankersController.js +++ b/src/controllers/tankersController.js @@ -18,7 +18,7 @@ exports.addTankers = async (req, reply) => { //const username = req.params.username; -console.log(req.params); + console.log(req.params); const supplierId = req.params.supplierId; //console.log(loginObject.user.username) // const userInfo = await User.findOne({ username: username.toString() }); @@ -200,7 +200,8 @@ exports.tankerBooking = async (req, reply) => { capacity: req.body.capacity, address: req.body.address, dateOfOrder: req.body.dateOfOrder, - price:req.body.price + price:req.body.price, + supplierId:req.body.supplierId //date: req.body.date, // time: req.body.time, @@ -219,6 +220,8 @@ exports.tankerBooking = async (req, reply) => { tankersBookingData.typeofwater = usertobeInserted.typeofwater; tankersBookingData.address = usertobeInserted.address; tankersBookingData.dateOfOrder = usertobeInserted.dateOfOrder; + tankersBookingData.price = usertobeInserted.price; + tankersBookingData.supplierId = usertobeInserted.supplierId; //tankersBookingData.date = usertobeInserted.date; //tankersBookingData.time = usertobeInserted.time; @@ -300,36 +303,30 @@ exports.getTankersBookingdetails = async (req, reply) => { } }; + exports.getAllTankersBookingdetails = async (req, reply) => { + const limit = parseInt(req.query.limit) || 100; + const page = parseInt(req.query.page) || 1; + const startindex = (page - 1) * limit; + const supplierId = req.params.supplierId try { - const supplierId = req.params.customerId - // const tankerName = req.query.tankerName - - await Tankerbooking.find({ supplierId:supplierId }) + await Tankerbooking.find( { supplierId:supplierId }) + .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); } }; - - - exports.addBores = async (req, reply) => { try { diff --git a/src/routes/tankersRoute.js b/src/routes/tankersRoute.js index 4790d1c6..fa62fff1 100644 --- a/src/routes/tankersRoute.js +++ b/src/routes/tankersRoute.js @@ -205,6 +205,7 @@ module.exports = function (fastify, opts, next) { address: { type: "string" }, dateOfOrder: { type: "string"}, price: { type: "string"}, + supplierId: { type: "string"}, From 43c14a804d57da7b29b9333246536f82b9a4bec3 Mon Sep 17 00:00:00 2001 From: Bhaskara Kishore Date: Wed, 29 Mar 2023 16:37:35 +0530 Subject: [PATCH 10/10] tanker order accepted and rejected --- src/controllers/tankersController.js | 26 ++++++++++++++++++++++++++ src/routes/tankersRoute.js | 24 ++++++++++++++++++++++++ 2 files changed, 50 insertions(+) diff --git a/src/controllers/tankersController.js b/src/controllers/tankersController.js index 85a666e3..21874994 100644 --- a/src/controllers/tankersController.js +++ b/src/controllers/tankersController.js @@ -327,6 +327,31 @@ exports.getAllTankersBookingdetails = async (req, reply) => { }; + +exports.getAllTankersaccepted = async (req, reply) => { + const limit = parseInt(req.query.limit) || 100; + const page = parseInt(req.query.page) || 1; + const startindex = (page - 1) * limit; + const supplierId = req.params.supplierId + try { + await Tankerbooking.find( { supplierId, orderStatus: ["accepted","rejected"] }) + .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); + } +}; + + + exports.addBores = async (req, reply) => { try { @@ -608,3 +633,4 @@ exports.connectstatus = async (req, reply) => { }; + diff --git a/src/routes/tankersRoute.js b/src/routes/tankersRoute.js index fa62fff1..56239206 100644 --- a/src/routes/tankersRoute.js +++ b/src/routes/tankersRoute.js @@ -675,6 +675,30 @@ module.exports = function (fastify, opts, next) { handler: tankersController.connectstatus, }); + + fastify.get("/api/alltankersaccepted/:supplierId", { + schema: { + tags: ["Supplier-Order"], + description: "This is for Get All connected and rejected for Suppliers", + summary: "This is for to Get All connected and rejected for suppliers", + params: { + type: "object", + properties: { + supplierId: { + type: "string", + description: "supplierId", + }, + }, + }, + + security: [ + { + basicAuth: [], + }, + ], + }, + handler: tankersController.getAllTankersaccepted, + }); next(); }