made changes in tanker models and controllers

master
varun 3 years ago
parent 798761d3ba
commit a1ece909f2

@ -1,96 +0,0 @@
const Tanker = require("../models/tankers");
const User = require("../models/User");
const boom = require("boom");
const fastify = require("fastify")({
logger: true,
});
exports.addTankers = async (req, reply) => {
try {
//const username = req.params.username;
console.log(req.params);
const username = loginObject.user.username;
//console.log(loginObject.user.username)
// const userInfo = await User.findOne({ username: username.toString() });
// const updateData = req.body;
// console.log("This is the reply in the handler after the validations", reply);
tankersData = {
tankerName: req.body.tankerName,
phoneNumber: req.body.phoneNumber,
typeofwater: req.body.typeofwater,
capacity: req.body.capacity,
};
var tanker_Name = req.body.tankerName
var i_tank = await Tanker.findOne({ tankerName: tanker_Name})
if(i_tank){
throw new Error('tankname already exists');
}
else {
var tankers = new Tanker(tankersData);
checkFormEncoding = isUserFormUrlEncoded(req);
if (checkFormEncoding.isUserFormUrlEncoded) {
usertobeInserted = checkFormEncoding.tank;
console.log("thsi true url string");
tankers.tankerName = usertobeInserted.tankerName;
tankers.phoneNumber = usertobeInserted.phoneNumber;
tankers.capacity = usertobeInserted.capacity;
tankers.typeofwater = usertobeInserted.typeofwater;
}
}
const insertedTank = await tankers.save();
return insertedTank;
} catch (err) {
throw boom.boomify(err);
}
};
//update selected tanker
exports.updateTankersInfo = async (req, reply) => {
try {
//const username = loginObject.user.username;
const tankerName = req.params.tankerName;
var tank_name = req.body.tankerName
var i_tank = await Tanker.findOne({ tankerName: tank_name})
const tanker = req.body;
const { ...updateData } = tanker;
const update = await Tanker.findOneAndUpdate({ tankerName: tankerName }, updateData, { new: true });
if(i_tank){
throw new Error('tankname already exists');
}
else
{
//return update;
reply.send({ status_code: 200, data: update });
}
}
catch (err) {
throw boom.boomify(err);
}
};
//delete selected tank
exports.deleteTankerInfo = async (req, reply) => {
try {
const tankerName = req.params.tankerName;
const tanker = await Tanker.findOneAndDelete({ tankerName: tankerName });
reply.send({ status_code: 200, data: tanker});
// return tanker;
} catch (err) {
throw boom.boomify(err);
}
};

@ -1,6 +1,7 @@
const Tanker = require("../models/tankers"); //const Tanker = require("../models/tankers");
const Tankerbooking = require("../models/tankers"); //const Tankerbooking = require("../models/tankers");
const { Tanker, Tankerbooking } = require('../models/tankers')
const User = require("../models/User"); const User = require("../models/User");
const boom = require("boom"); const boom = require("boom");
@ -32,6 +33,9 @@ console.log(req.params);
typeofwater: req.body.typeofwater, typeofwater: req.body.typeofwater,
capacity: req.body.capacity, capacity: req.body.capacity,
}; };
var tanker_Name = req.body.tankerName var tanker_Name = req.body.tankerName
var i_tank = await Tanker.findOne({ tankerName: tanker_Name}) var i_tank = await Tanker.findOne({ tankerName: tanker_Name})
if(i_tank){ if(i_tank){
@ -43,7 +47,7 @@ console.log(req.params);
checkFormEncoding = isUserFormUrlEncoded(req); checkFormEncoding = isUserFormUrlEncoded(req);
if (checkFormEncoding.isUserFormUrlEncoded) { if (checkFormEncoding.isUserFormUrlEncoded) {
usertobeInserted = checkFormEncoding.tank; usertobeInserted = checkFormEncoding.tankers;
console.log("thsi true url string"); console.log("thsi true url string");
tankers.tankerName = usertobeInserted.tankerName; tankers.tankerName = usertobeInserted.tankerName;
tankers.phoneNumber = usertobeInserted.phoneNumber; tankers.phoneNumber = usertobeInserted.phoneNumber;
@ -101,6 +105,7 @@ exports.deleteTankerInfo = async (req, reply) => {
let bookingCount = 0 let bookingCount = 0
exports.tankerBooking = async (req, reply) => { exports.tankerBooking = async (req, reply) => {
try { try {
const date = new Date() const date = new Date()
const year = date.getFullYear() const year = date.getFullYear()
@ -109,11 +114,13 @@ exports.tankerBooking = async (req, reply) => {
const count = bookingCount.toString().padStart(4, '0') const count = bookingCount.toString().padStart(4, '0')
const bookingId = `ARM${year}${month}${day}${count}` const bookingId = `ARM${year}${month}${day}${count}`
bookingCount = (bookingCount + 1) % 100; bookingCount = (bookingCount + 1) % 100;
var booking_id = await Tankerbooking.findOne({ bookingid: bookingId}) var booking_id = await Tankerbooking.findOne({ bookingid: bookingId})
// if(booking_id){ if(booking_id){
// reply.redirect(tankerBooking())
// } }
// else { else {
bookingsData = { bookingsData = {
bookingid : bookingId, bookingid : bookingId,
@ -138,11 +145,12 @@ exports.tankerBooking = async (req, reply) => {
} }
//} }
const booking_data = await tankersBookingData.save(); const booking_data = await tankersBookingData.save();
return booking_data; return booking_data;
} catch (err) { } catch (err) {

@ -29,5 +29,11 @@ const tankersbookingSchema = new mongoose.Schema({
}); });
module.exports = mongoose.model("Tanker", tankersSchema); const Tanker = mongoose.model("Tanker", tankersSchema);
module.exports = mongoose.model("Tankerbooking", tankersbookingSchema); const Tankerbooking = mongoose.model("Tankerbooking", tankersbookingSchema);
// Exporting our model objects
module.exports = {
Tanker, Tankerbooking
}

@ -1,113 +0,0 @@
const fastify = require("fastify");
const tankersController = require("../controllers/tankersController");
module.exports = function (fastify, opts, next) {
fastify.route({
method: "POST",
url: "/api/addTankers",
schema: {
tags: ["Tanker"],
description: "This is for cretae New Tanker",
summary: "This is for Create New Tanker.",
body: {
type: "object",
properties: {
tankerName: { type: "string" },
phoneNumber: { type: "string"},
typeofwater: { type: "string" },
capacity: { type: "string" },
},
},
security: [
{
basicAuth: [],
},
],
},
preHandler: fastify.auth([fastify.authenticate]),
handler: tankersController.addTankers,
// onResponse: (request, reply) => {
// validationHandler.sendPhoneVerificationCode(request, reply);
// },
//onResponse: validationHandler.sendPhoneVerificationCode,
});
//update tankers
fastify.route({
method: "PUT",
url: "/api/updateTankers/:tankerName",
schema: {
tags: ["Tanker"],
summary: "This is for update tanker",
params: {
required: ["tankerName"],
type: "object",
properties: {
tankerName: {
type: "string",
description: "tankerName",
},
},
},
body: {
type: "object",
// required: ['phone'],
properties: {
tankerName: { type: "string", default: null },
phoneNumber: { type: "string", default: null },
capacity: { type: "number" },
typeofwater: { type: "string", default: null },
},
},
security: [
{
basicAuth: [],
},
],
},
// preHandler: [
// fastify.auth([fastify.operatorAuthenticate]),
// validationHandler.validatePhoneFormat,
// ],
preHandler: fastify.auth([fastify.authenticate]),
handler: tankersController.updateTankersInfo,
});
fastify.route({
method: "PUT",
url: "/api/deleteTanker/:tankerName",
schema: {
tags: ["Tanker"],
summary: "This is for delete tanker",
params: {
required: ["tankerName"],
type: "object",
properties: {
tankerName: {
type: "string",
description: "tankerName",
},
},
},
security: [
{
basicAuth: [],
},
],
},
preHandler: fastify.auth([fastify.authenticate]),
handler: tankersController.deleteTankerInfo,
});
next();
}
Loading…
Cancel
Save