You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
97 lines
2.6 KiB
97 lines
2.6 KiB
|
|
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);
|
|
}
|
|
};
|