From 3bd6b0e953e0ce74769ba8a15deba46f932b17ff Mon Sep 17 00:00:00 2001 From: raj Date: Fri, 24 Mar 2023 05:01:06 +0000 Subject: [PATCH 1/5] updating tankers --- src/tankers.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/tankers.js diff --git a/src/tankers.js b/src/tankers.js new file mode 100644 index 00000000..e69de29b From ab270bcc91a5781d8c3c4d8c8c05849120b4e08d Mon Sep 17 00:00:00 2001 From: varun Date: Fri, 24 Mar 2023 01:44:16 -0400 Subject: [PATCH 2/5] fetching active delivery boys for a particular supplier --- src/controllers/supplierOrderController.js | 19 ++++++++++++++++- src/controllers/tankscontroller.js | 0 src/models/supplier.js | 3 ++- src/routes/supplierOrdersRoutes.js | 24 ++++++++++++++++++++++ 4 files changed, 44 insertions(+), 2 deletions(-) delete mode 100644 src/controllers/tankscontroller.js diff --git a/src/controllers/supplierOrderController.js b/src/controllers/supplierOrderController.js index e0a26b66..557ee357 100644 --- a/src/controllers/supplierOrderController.js +++ b/src/controllers/supplierOrderController.js @@ -109,4 +109,21 @@ exports.orderNow = async (req, reply) => { } catch (err) { throw boom.boomify(err); } - }; \ No newline at end of file + }; + + exports.getactiveDeliveryboys = async (req, reply) => { + try { + await DeliveryBoy.find({supplierId: req.params.supplierId,status:"active"}) + .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/controllers/tankscontroller.js b/src/controllers/tankscontroller.js deleted file mode 100644 index e69de29b..00000000 diff --git a/src/models/supplier.js b/src/models/supplier.js index b0cbd46a..db30c156 100644 --- a/src/models/supplier.js +++ b/src/models/supplier.js @@ -101,6 +101,7 @@ const supplierSchema = new mongoose.Schema( }); const deliveryBoySchema = new mongoose.Schema({ + supplierId:{ type: String, default: null }, name: { type: String, default: null }, phone: { type: String, default: null,unique:true }, alternativeContactNumber : { type : String,default: null }, @@ -109,7 +110,7 @@ const supplierSchema = new mongoose.Schema( state: { type: String, default: null }, zip: { type: String, default: null }, timestamp: { type: Date, default: Date.now }, - status: { type: String, default: "active" }, + status: { type: String, default: "Inactive" }, }); diff --git a/src/routes/supplierOrdersRoutes.js b/src/routes/supplierOrdersRoutes.js index 54867d71..70872e52 100644 --- a/src/routes/supplierOrdersRoutes.js +++ b/src/routes/supplierOrdersRoutes.js @@ -103,6 +103,30 @@ module.exports = function (fastify, opts, next) { handler: supplierOrderController.addDeliveryboy, }); + fastify.get("/api/getActiveDeliveryboys/:supplierId", { + schema: { + tags: ["Supplier"], + description: "This is for Get avtive delivery boys Data", + summary: "This is for to Get avtive delivery boys Data", + params: { + required: ["supplierId"], + type: "object", + properties: { + supplierId: { + type: "string", + description: "supplierId", + }, + }, + }, + security: [ + { + basicAuth: [], + }, + ], + }, + preHandler: fastify.auth([fastify.authenticate]), + handler: supplierOrderController.getactiveDeliveryboys, + }); next(); From 68a6786a2ef3c4b690298ebbc7ccb00102116511 Mon Sep 17 00:00:00 2001 From: varun Date: Fri, 24 Mar 2023 01:45:19 -0400 Subject: [PATCH 3/5] fetching active delivery boys for a particular supplier --- src/controllers/supplierOrderController.js | 1 + src/models/supplier.js | 1 + src/routes/supplierOrdersRoutes.js | 1 + 3 files changed, 3 insertions(+) diff --git a/src/controllers/supplierOrderController.js b/src/controllers/supplierOrderController.js index 557ee357..8d45dfda 100644 --- a/src/controllers/supplierOrderController.js +++ b/src/controllers/supplierOrderController.js @@ -101,6 +101,7 @@ exports.orderNow = async (req, reply) => { } } + const insertedagent = await agent.save(); return insertedagent; diff --git a/src/models/supplier.js b/src/models/supplier.js index db30c156..e52d28b0 100644 --- a/src/models/supplier.js +++ b/src/models/supplier.js @@ -99,6 +99,7 @@ const supplierSchema = new mongoose.Schema( status: { type: String, default: "pending" }, timestamp: { type: Date, default: Date.now } }); + const deliveryBoySchema = new mongoose.Schema({ supplierId:{ type: String, default: null }, diff --git a/src/routes/supplierOrdersRoutes.js b/src/routes/supplierOrdersRoutes.js index 70872e52..118017e4 100644 --- a/src/routes/supplierOrdersRoutes.js +++ b/src/routes/supplierOrdersRoutes.js @@ -129,6 +129,7 @@ module.exports = function (fastify, opts, next) { }); + next(); } From abee47ecd444fb46f192e6e790d30d5d1852a16e Mon Sep 17 00:00:00 2001 From: varun Date: Fri, 24 Mar 2023 02:09:16 -0400 Subject: [PATCH 4/5] made changes for sending otp to supplier --- src/controllers/userController.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/controllers/userController.js b/src/controllers/userController.js index f2b00277..95e10cc8 100644 --- a/src/controllers/userController.js +++ b/src/controllers/userController.js @@ -11,6 +11,7 @@ const libphonenumberjs = require("libphonenumber-js"); const boom = require("boom"); // Get Data Models +const { Supplier, generateSupplierId, FriendRequest,DeliveryBoy} = require("../models/supplier") const { User,Counter, generateBookingId,resetCounter,generateCustomerId,ProfilePicture} = require('../models/User') //const User = require("../models/User"); @@ -400,7 +401,15 @@ exports.sendSms = async (request, reply) => { const mobile = request.body.mobileNumbers//'8341426949'; 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.`; - await User.findOneAndUpdate({phone: mobile}, { $set: {'phoneVerificationCode': code } }) + const user = await User.findOne({phone: mobile}) + const supplier = await Supplier.findOne({phone: mobile}) + if(user){ + await User.findOneAndUpdate({phone: mobile}, { $set: {'phoneVerificationCode': code } }) + } + if(supplier){ + await Supplier.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 = { From 1b0fc4072c7bd7d195e237323407b128d7f00c82 Mon Sep 17 00:00:00 2001 From: varun Date: Fri, 24 Mar 2023 03:00:34 -0400 Subject: [PATCH 5/5] made changes for sending otp to supplier --- src/controllers/supplierOrderController.js | 62 +++++++++++++++++++++- src/routes/supplierOrdersRoutes.js | 26 +++++++++ 2 files changed, 87 insertions(+), 1 deletion(-) diff --git a/src/controllers/supplierOrderController.js b/src/controllers/supplierOrderController.js index 8d45dfda..c2a6438c 100644 --- a/src/controllers/supplierOrderController.js +++ b/src/controllers/supplierOrderController.js @@ -101,7 +101,7 @@ exports.orderNow = async (req, reply) => { } } - + const insertedagent = await agent.save(); return insertedagent; @@ -127,4 +127,64 @@ exports.orderNow = async (req, reply) => { throw boom.boomify(err); } }; + + +exports.verifyPhone = 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 + ); + userExists = await Supplier.findOne({ + phone: phone, + phoneVerified: false, + phoneVerificationCode: phoneVerificationCode, + }); + console.log(userExists); + if (userExists) { + // update the phoneVerified flag to true. + const filter = { + phone: phone, + phoneVerificationCode: phoneVerificationCode, + }; + const update = { phoneVerified: true }; + const doc = await Supplier.findOneAndUpdate(filter, update); + updatedUser = await Supplier.findOne({ phone: phone }); + + if (updatedUser.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); + } +}; + \ No newline at end of file diff --git a/src/routes/supplierOrdersRoutes.js b/src/routes/supplierOrdersRoutes.js index 118017e4..2bc076b5 100644 --- a/src/routes/supplierOrdersRoutes.js +++ b/src/routes/supplierOrdersRoutes.js @@ -128,6 +128,32 @@ module.exports = function (fastify, opts, next) { handler: supplierOrderController.getactiveDeliveryboys, }); + + fastify.route({ + method: "POST", + url: "/api/phoneverify", + schema: { + tags: ["Supplier-Data"], + description: "This is for verify supplier Phone", + summary: "This is to Verify supplier Phone.", + body: { + type: "object", + required: ["phone"], + properties: { + phoneVerificationCode: { type: "string" }, + phone: { type: "string" }, + }, + }, + security: [ + { + basicAuth: [], + }, + ], + }, + // preHandler: fastify.auth([fastify.authenticate]), + handler: supplierOrderController.verifyPhone, + }); + next();