131 lines
3.6 KiB
JavaScript
131 lines
3.6 KiB
JavaScript
const { splitSite } = require("../middlewares");
|
|
const db = require("../models");
|
|
const AttendanceNote = db.attendance_note;
|
|
|
|
// Create a new Attendance Note
|
|
exports.createNewAttendanceNote = (req, res) => {
|
|
// Validate request
|
|
if (!req.body.slogan || !req.body.introduction) {
|
|
res.status(400).send({ message: "Slogan and introduction can not be empty!" });
|
|
return;
|
|
}
|
|
const site = splitSite.findSiteNumber(req);
|
|
|
|
// Create an Attendance Note
|
|
const attendanceNote = new AttendanceNote({
|
|
slogan: req.body.slogan,
|
|
introduction: req.body.introduction,
|
|
image: req.body.image || '',
|
|
status: req.body.status || 'active',
|
|
site,
|
|
create_date: new Date(),
|
|
create_by: req.body.create_by || '',
|
|
update_date: new Date(),
|
|
update_by: req.body.update_by || ''
|
|
});
|
|
|
|
// Save Attendance Note in the database
|
|
attendanceNote
|
|
.save(attendanceNote)
|
|
.then(data => {
|
|
res.send(data);
|
|
})
|
|
.catch(err => {
|
|
res.status(500).send({
|
|
message:
|
|
err.message || "Some error occurred while creating the Attendance Note."
|
|
});
|
|
});
|
|
};
|
|
|
|
// Retrieve all Attendance Notes from the database
|
|
exports.getAllAttendanceNotes = (req, res) => {
|
|
var condition = {};
|
|
|
|
// Filter by status if provided
|
|
if (req.query.status) {
|
|
condition.status = req.query.status;
|
|
}
|
|
|
|
condition = splitSite.splitSiteGet(req, condition);
|
|
AttendanceNote.find(condition)
|
|
.then(data => {
|
|
res.send(data);
|
|
})
|
|
.catch(err => {
|
|
res.status(500).send({
|
|
message:
|
|
err.message || "Some error occurred while retrieving Attendance Notes."
|
|
});
|
|
});
|
|
};
|
|
|
|
// Get One Attendance Note by Id
|
|
exports.getAttendanceNote = (req, res) => {
|
|
const id = req.params.id;
|
|
AttendanceNote.findById(id)
|
|
.then(data => {
|
|
if (!data)
|
|
res.status(404).send({ message: "Not found Attendance Note with id " + id });
|
|
else res.send(data);
|
|
})
|
|
.catch(err => {
|
|
res
|
|
.status(500)
|
|
.send({ message: "Error retrieving Attendance Note with id=" + id });
|
|
});
|
|
};
|
|
|
|
// Update an Attendance Note by the id in the request
|
|
exports.updateAttendanceNote = (req, res) => {
|
|
if (!req.body) {
|
|
return res.status(400).send({
|
|
message: "Data to update can not be empty!"
|
|
});
|
|
}
|
|
const id = req.params.id;
|
|
|
|
// Add update tracking
|
|
const updateData = {
|
|
...req.body,
|
|
update_date: new Date(),
|
|
update_by: req.body.update_by || ''
|
|
};
|
|
|
|
AttendanceNote.findByIdAndUpdate(id, updateData, { useFindAndModify: false })
|
|
.then(data => {
|
|
if (!data) {
|
|
res.status(404).send({
|
|
message: `Cannot update Attendance Note with id=${id}. Maybe Attendance Note was not found!`
|
|
});
|
|
} else res.send({ success: true, message: "Attendance Note was updated successfully." });
|
|
})
|
|
.catch(err => {
|
|
res.status(500).send({
|
|
success: false,
|
|
message: "Error updating Attendance Note with id=" + id + ": " + (err.message || "")
|
|
});
|
|
});
|
|
};
|
|
|
|
// Delete an Attendance Note by id
|
|
exports.deleteAttendanceNote = (req, res) => {
|
|
const id = req.params.id;
|
|
AttendanceNote.findByIdAndRemove(id)
|
|
.then(data => {
|
|
if (!data) {
|
|
res.status(404).send({
|
|
message: `Cannot delete Attendance Note with id=${id}. Maybe Attendance Note was not found!`
|
|
});
|
|
} else {
|
|
res.send({
|
|
message: "Attendance Note was deleted successfully!"
|
|
});
|
|
}
|
|
})
|
|
.catch(err => {
|
|
res.status(500).send({
|
|
message: "Could not delete Attendance Note with id=" + id + ": " + (err.message || "")
|
|
});
|
|
});
|
|
};
|