From 9a4974a006eb19f84e9ced14f2e489edab59a33f Mon Sep 17 00:00:00 2001 From: varun Date: Wed, 15 Mar 2023 02:57:11 -0400 Subject: [PATCH] made changes --- src/controllers/supplierOrderController.js | 39 +++++++++++++ src/controllers/tankersController.js | 18 +++--- src/controllers/tanksController.js | 2 +- src/handlers/supplierHandler.js | 8 +-- src/index.js | 1 + src/models/tankers.js | 3 +- src/routes/supplierOrdersRoutes.js | 65 ++++++++++++++++++++++ src/routes/tankersRoute.js | 26 ++++----- 8 files changed, 134 insertions(+), 28 deletions(-) create mode 100644 src/controllers/supplierOrderController.js create mode 100644 src/routes/supplierOrdersRoutes.js diff --git a/src/controllers/supplierOrderController.js b/src/controllers/supplierOrderController.js new file mode 100644 index 00000000..702f1d09 --- /dev/null +++ b/src/controllers/supplierOrderController.js @@ -0,0 +1,39 @@ + +const Supplier = require("../models/supplier"); +const boom = require("boom"); +const fastify = require("fastify")({ + logger: true, +}); +const { Tanker, Tankerbooking,Bore,GovtPipeLine } = require('../models/tankers') + + + + +exports.orderNow = async (req, reply) => { + + try { + const customerId = req.body.customerId; + const bookingId = req.params.bookingId; + const tankerName = req.body.tankerName; + const booking_info = await Tankerbooking.findOne({ bookingid: bookingId}) + const action = req.body.action + const typeofwater = req.body.typeofwater + + if(action === "accept"){ + booking_info.orderStatus = "accepted" + booking_info.price = "500" + + } + else { + booking_info.orderStatus = "rejected" + + } + + const booking = await booking_info.save(); + return booking; + + } catch (err) { + throw boom.boomify(err); + } + }; + \ No newline at end of file diff --git a/src/controllers/tankersController.js b/src/controllers/tankersController.js index 1e1aa466..4f63e0fe 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); - var customerId = req.params.customerId; + const supplierId = req.params.supplierId; //console.log(loginObject.user.username) // const userInfo = await User.findOne({ username: username.toString() }); // const updateData = req.body; @@ -26,7 +26,7 @@ console.log(req.params); // console.log("This is the reply in the handler after the validations", reply); tankersData = { - customerId:customerId, + supplierId:supplierId, tankerName: req.body.tankerName, phoneNumber: req.body.phoneNumber, alternative_phoneNumber: req.body.alternative_phoneNumber, @@ -36,7 +36,7 @@ console.log(req.params); console.log(req.body.typeofwater,req.body.capacity) var tanker_Name = req.body.tankerName - var i_tank = await Tanker.findOne({ tankerName: tanker_Name,customerId:customerId}) + var i_tank = await Tanker.findOne({ tankerName: tanker_Name,supplierId:supplierId}) if(i_tank){ throw new Error('tankername already exists'); } @@ -53,7 +53,7 @@ console.log(req.params); tankers.alternative_phoneNumber = usertobeInserted.alternative_phoneNumber; tankers.capacity = usertobeInserted.capacity; tankers.typeofwater = usertobeInserted.typeofwater; - tankers.customerId = usertobeInserted.customerId; + tankers.supplierId = usertobeInserted.supplierId; } } const insertedTanker = await tankers.save(); @@ -70,11 +70,11 @@ console.log(req.params); exports.updateTankersInfo = async (req, reply) => { try { - var customerId = req.params.customerId; + var supplierId = req.params.supplierId; var tankerName = req.query.tankerName; var tanker = req.body; const { ...updateData } = tanker; - const update = await Tanker.findOneAndUpdate({ customerId:customerId,tankerName: tankerName, }, updateData, { new: true }); + const update = await Tanker.findOneAndUpdate({ supplierId:supplierId,tankerName: tankerName, }, updateData, { new: true }); //console.log(update.username) //return update; @@ -90,9 +90,9 @@ exports.updateTankersInfo = async (req, reply) => { //delete selected tanker exports.deleteTankerInfo = async (req, reply) => { try { - var customerId = req.params.customerId; + var supplierId = req.params.supplierId; var tankerName = req.query.tankerName; - const tanker = await Tanker.findOneAndDelete({ customerId:customerId,tankerName: tankerName, }); + const tanker = await Tanker.findOneAndDelete({ supplierId:supplierId,tankerName: tankerName, }); reply.send({ status_code: 200, data: tanker}); // return tanker; } catch (err) { @@ -164,7 +164,7 @@ exports.tankerBooking = async (req, reply) => { exports.getTanker = async (req, reply) => { try { - await Tanker.find({customerId: req.query.customerId}) + await Tanker.find({supplierId: req.query.supplierId}) .exec() .then((docs) => { reply.send({ status_code: 200, data: docs, count: docs.length }); diff --git a/src/controllers/tanksController.js b/src/controllers/tanksController.js index ec95b69c..951980d5 100644 --- a/src/controllers/tanksController.js +++ b/src/controllers/tanksController.js @@ -256,7 +256,7 @@ exports.motorAction = async (req, reply) => { const action = req.body.action const receiver_tank = req.body.to const receiver_tank_info = await Tank.findOne({ customerId ,tankName:receiver_tank,tankLocation:(req.body.to_type).toLowerCase()}); - const receiver_capacity = receiver_tank_info.capacity + const receiver_capacity = parseInt((receiver_tank_info.capacity).replace(/,/g, ''), 10) const desired_water_percentage = parseInt((req.body.percentage).replace(/,/g, ''), 10) diff --git a/src/handlers/supplierHandler.js b/src/handlers/supplierHandler.js index 808283c7..ad749678 100644 --- a/src/handlers/supplierHandler.js +++ b/src/handlers/supplierHandler.js @@ -57,10 +57,10 @@ fastify.register(fastifyEnv, options).ready((err) => { const apiversion = "1.0.0"; // fastify.register(require('fastify-cookie')) -fastify.register(require('fastify-session'), { - secret: 'my-secret-key', - cookie: { secure: true } -}); +// fastify.register(require('fastify-session'), { +// secret: 'my-secret-key', +// cookie: { secure: true } +// }); isSupplierFormUrlEncoded = (req) => { var isSupplierFormUrlEncoded = false; diff --git a/src/index.js b/src/index.js index e83515cb..728230b1 100644 --- a/src/index.js +++ b/src/index.js @@ -336,6 +336,7 @@ fastify.register(require("./routes/tanksRoute")); fastify.register(require("./routes/createConnectionsRoute")); fastify.register(require("./routes/tankersRoute.js")); fastify.register(require("./routes/supplierRoute")); +fastify.register(require("./routes/supplierOrdersRoutes")); // Testing route allows for retrieving a user by phone so one can see what is the phone verification code sent for a given user's phone diff --git a/src/models/tankers.js b/src/models/tankers.js index 60c39938..8af5ea87 100644 --- a/src/models/tankers.js +++ b/src/models/tankers.js @@ -11,7 +11,7 @@ const RoleSchema = new Schema({ name: String }); const tankersSchema = new mongoose.Schema({ - customerId: { type: String, default: null }, + supplierId: { type: String, default: null }, tankerName: { type: String, default: null }, phoneNumber: { type: String, default: null }, alternative_phoneNumber: { type: String, default: null }, @@ -24,6 +24,7 @@ const tankersbookingSchema = new mongoose.Schema({ customerId: { type: String, default: null }, tankerName: { type: String, default: null }, bookingid: { type: String, default: null,unique: true }, + supplierId:{type: String, default: null}, dateOfOrder: { type: String, default: null }, date: { type: String, default: null }, time: { type: String, default: null }, diff --git a/src/routes/supplierOrdersRoutes.js b/src/routes/supplierOrdersRoutes.js new file mode 100644 index 00000000..a86fe176 --- /dev/null +++ b/src/routes/supplierOrdersRoutes.js @@ -0,0 +1,65 @@ +const fastify = require("fastify"); +const supplierOrderController = require("../controllers/supplierOrderController"); +const validationHandler = require("../handlers/supplierHandler"); + + + +module.exports = function (fastify, opts, next) { + + fastify.route({ + method: "POST", + url: "/api/ordernow/:bookingId", + schema: { + tags: ["Supplier-Order"], + description:"This is for giving booking data to supplier", + summary: "This is for giving booking data to supplier", + params: { + required: ["bookingId"], + type: "object", + properties: { + bookingId: { + type: "string", + description: "bookingId", + }, + }, + }, + body: { + type: "object", + properties: { + + supplierName: {type: 'string'}, + supplierId: { type: "string" }, + customerId:{type:"string"}, + capacity: { type: "string" }, + customer_address: { type: "string" }, + dateOfOrder: { type: "string"}, + action:{type:"string"}, + }, + }, + security: [ + { + basicAuth: [], + }, + ], + + }, + // preHandler: fastify.auth([fastify.authenticate]), + handler:supplierOrderController.orderNow, + // onResponse: (request, reply) => { + // validationHandler.sendPhoneVerificationCode(request, reply); + // }, + //onResponse: validationHandler.sendPhoneVerificationCode, + }); + + + + + + next(); +} + + + + + + diff --git a/src/routes/tankersRoute.js b/src/routes/tankersRoute.js index 8e4cb520..1d9407ce 100644 --- a/src/routes/tankersRoute.js +++ b/src/routes/tankersRoute.js @@ -8,18 +8,18 @@ module.exports = function (fastify, opts, next) { fastify.route({ method: "POST", - url: "/api/addTankers/:customerId", + url: "/api/addTankers/:supplierId", schema: { tags: ["Supplier"], description: "This is to cretae New Tanker", summary: "This is to Create New Tanker.", params: { - required: ["customerId"], + required: ["supplierId"], type: "object", properties: { - customerId: { + supplierId: { type: "string", - description: "customerId", + description: "supplierId", }, }, }, @@ -74,17 +74,17 @@ module.exports = function (fastify, opts, next) { //update tankers fastify.route({ method: "PUT", - url: "/api/updateTankers/:customerId", + url: "/api/updateTankers/:supplierId", schema: { tags: ["Supplier"], summary: "This is to update tanker", params: { - required: ["customerId"], + required: ["supplierId"], type: "object", properties: { - customerId: { + supplierId: { type: "string", - description: "customerId", + description: "supplierId", }, }, }, @@ -138,17 +138,17 @@ module.exports = function (fastify, opts, next) { fastify.route({ method: "PUT", - url: "/api/deleteTanker/:customerId", + url: "/api/deleteTanker/:supplierId", schema: { tags: ["Supplier"], summary: "This is to delete tanker", params: { - required: ["customerId"], + required: ["supplierId"], type: "object", properties: { - customerId: { + supplierId: { type: "string", - description: "customerId", + description: "supplierId", }, }, }, @@ -220,7 +220,7 @@ module.exports = function (fastify, opts, next) { description: "This is for Get Tanker Data", summary: "This is for to Get Tanker Data", querystring: { - customerId: {type: 'string'} + supplierId: {type: 'string'} }, security: [ {