152 lines
4.3 KiB
JavaScript
152 lines
4.3 KiB
JavaScript
const db = require("../models");
|
|
const Resource = db.resource;
|
|
const { splitSite } = require("../middlewares");
|
|
// Create and Save a new Resource
|
|
exports.createResource = (req, res) => {
|
|
// Validate request
|
|
if (!req.body.name) {
|
|
res.status(400).send({ message: "Content can not be empty!" });
|
|
return;
|
|
}
|
|
const site = splitSite.findSiteNumber(req);
|
|
const resource = new Resource({
|
|
name: req.body.name,
|
|
name_original: req.body.name_original,
|
|
name_branch: req.body.name_branch,
|
|
specialty: req.body.specialty,
|
|
type: req.body.type, // value may be ['doctor', 'pharmacy' or 'other']
|
|
color: req.body.color,
|
|
address: req.body.address,
|
|
city: req.body.city,
|
|
state: req.body.state,
|
|
zipcode: req.body.zipcode,
|
|
phone: req.body.phone,
|
|
status: req.body.status || 'active', // value might be ['active', 'inactive']
|
|
create_by: req.body.create_by,
|
|
create_date: req.body.create_date || new Date(),
|
|
parent_id: req.body.parent_id,
|
|
ext_id: req.body.ext_id,
|
|
category: req.body.category,
|
|
description: req.body.description,
|
|
contact: req.body.contact,
|
|
fax: req.body.fax,
|
|
note: req.body.note,
|
|
data: req.body.data,
|
|
edit_by: req.body.edit_by,
|
|
edit_date: req.body.edit_date || new Date(),
|
|
images: req.body.images,
|
|
edit_history: req.body.edit_history,
|
|
site
|
|
});
|
|
// Save Resource in the database
|
|
resource
|
|
.save(resource)
|
|
.then(data => {
|
|
res.send(data);
|
|
})
|
|
.catch(err => {
|
|
res.status(500).send({
|
|
message:
|
|
err.message || "Some error occurred while creating the Resource"
|
|
});
|
|
});
|
|
};
|
|
// Retrieve all Resources from the database.
|
|
exports.getAllResources = (req, res) => {
|
|
var params = req.query;
|
|
var condition = {};
|
|
if (params) {
|
|
if (params.type) {
|
|
condition.type = params.type;
|
|
}
|
|
}
|
|
Resource.find(condition)
|
|
.then(data => {
|
|
res.send(data);
|
|
})
|
|
.catch(err => {
|
|
res.status(500).send({
|
|
message:
|
|
err.message || "Some error occurred while retrieving resources."
|
|
});
|
|
});
|
|
};
|
|
// Get One Resource by Id
|
|
exports.getResource = (req, res) => {
|
|
const id = req.params.id;
|
|
Resource.findById(id)
|
|
.then(data => {
|
|
if (!data)
|
|
res.status(404).send({ message: "Not found Resource with id " + id });
|
|
else res.send(data);
|
|
})
|
|
.catch(err => {
|
|
res
|
|
.status(500)
|
|
.send({ message: "Error retrieving Resource with id=" + id });
|
|
});
|
|
};
|
|
|
|
// Update a Resource by the id in the request
|
|
exports.updateResource = (req, res) => {
|
|
if (!req.body) {
|
|
return res.status(400).send({
|
|
message: "Data to update can not be empty!"
|
|
});
|
|
}
|
|
const id = req.params.id;
|
|
Resource.findByIdAndUpdate(id, req.body, { useFindAndModify: false })
|
|
.then(data => {
|
|
if (!data) {
|
|
res.status(404).send({
|
|
message: `Cannot update Resource with id=${id}. Maybe Resource was not found!`
|
|
});
|
|
} else res.send({ success: true, message: "Resource was updated successfully." });
|
|
})
|
|
.catch(err => {
|
|
res.status(500).send({
|
|
success: false,
|
|
message: "Error updating Resource with id=" + id
|
|
});
|
|
});
|
|
};
|
|
// Disable an Resource by the id in the request
|
|
exports.disableResource = (req, res) => {
|
|
const id = req.params.id;
|
|
Resource.findByIdAndUpdate(id, { ...req.body, status: 'inactive'}, { useFindAndModify: false })
|
|
.then(data => {
|
|
if (!data) {
|
|
res.status(404).send({
|
|
message: `Cannot update Resource with id=${id}. Maybe Resource was not found!`
|
|
});
|
|
} else res.send({ success: true, message: "Resource was updated successfully." });
|
|
})
|
|
.catch(err => {
|
|
res.status(500).send({
|
|
success: false,
|
|
message: "Error updating Resource with id=" + id
|
|
});
|
|
});
|
|
};
|
|
|
|
// Delete a Resource by id
|
|
exports.deleteResource= (req, res) => {
|
|
const id = req.params.id;
|
|
Resource.findByIdAndRemove(id)
|
|
.then(data => {
|
|
if (!data) {
|
|
res.status(404).send({
|
|
message: `Cannot delete Resource with id=${id}. Maybe Resource was not found!`
|
|
});
|
|
} else {
|
|
res.send({
|
|
message: "Resource was deleted successfully!"
|
|
});
|
|
}
|
|
})
|
|
.catch(err => {
|
|
res.status(500).send({
|
|
message: "Could not delete Resource with id=" + id
|
|
});
|
|
});
|
|
}; |