worldshine-redesign/app/controllers/route-path-template.controller.js
2025-04-14 16:29:36 -04:00

100 lines
2.8 KiB
JavaScript

const { splitSite } = require("../middlewares");
const db = require("../models");
const RoutePathTemplate = db.route_path_template;
exports.createRoutePathTemplate = (req, res) => {
// Validate request
if (!req.body.name) {
res.status(400).send({ message: "Content can not be empty!" });
return;
}
const site = splitSite.findSiteNumber(req);
// Create a Route Template
const routePathTemplate = new RoutePathTemplate({
name: req.body.name,
vehicle: req.body.vehicle,
driver: req.body.driver,
type: req.body.type,
route_customer_list: req.body.route_customer_list || [],
status: req.body.status || 'active',
site
});
// Save Route Template in the database
routePathTemplate
.save(routePathTemplate)
.then(data => {
res.send(data);
})
.catch(err => {
res.status(500).send({
message:
err.message || "Some error occurred while creating the Route Template."
});
});
};
// Retrieve all Routes Templates from the database.
exports.getAllRoutesTemplates = (req, res) => {
var condition = {};
condition = splitSite.splitSiteGet(req, condition);
RoutePathTemplate.find(condition)
.then(data => {
res.send(data);
})
.catch(err => {
res.status(500).send({
message:
err.message || "Some error occurred while retrieving Routes."
});
});
};
// Get One Route Template by Id
exports.getRouteTemplate = (req, res) => {
};
// Update a Route Template by the id in the request
exports.updateRouteTemplate = (req, res) => {
if (!req.body) {
return res.status(400).send({
message: "Data to update can not be empty!"
});
}
const id = req.params.id;
RoutePathTemplate.findByIdAndUpdate(id, req.body, { useFindAndModify: false })
.then(data => {
if (!data) {
res.status(404).send({
message: `Cannot update Route Template with id=${id}. Maybe Route Template was not found!`
});
} else res.send({ success: true, message: "Route Template was updated successfully." });
})
.catch(err => {
res.status(500).send({
success: false,
message: "Error updating Route Template with id=" + id
});
});
};
// Delete a Route Template by id
exports.deleteRouteTemplate= (req, res) => {
const id = req.params.id;
RoutePathTemplate.findByIdAndRemove(id)
.then(data => {
if (!data) {
res.status(404).send({
message: `Cannot delete Route Template with id=${id}. Maybe Route Template was not found!`
});
} else {
res.send({
message: "Route Template was deleted successfully!"
});
}
})
.catch(err => {
res.status(500).send({
message: "Could not delete Route Template with id=" + id
});
});
};