79 lines
1.7 KiB
JavaScript
79 lines
1.7 KiB
JavaScript
var { Volunteer, Asset } = require("../models/models");
|
|
|
|
async function getSingleVolunteer(req, res, next) {
|
|
try {
|
|
let volunteer = await Volunteer.findByPk(parseInt(req.params.id), { include: [ Asset ] });
|
|
res.json(volunteer);
|
|
} catch (error) {
|
|
console.log(error);
|
|
res.status(500).end();
|
|
}
|
|
}
|
|
|
|
async function getAllVolunteers(req, res, next) {
|
|
try {
|
|
let volunteers = await Volunteer.findAll({ include: [ Asset ] });
|
|
res.json(volunteers);
|
|
} catch (error) {
|
|
console.error(error);
|
|
res.status(500).end();
|
|
}
|
|
}
|
|
|
|
async function createSingleVolunteer(req, res, next) {
|
|
try {
|
|
let volunteer = await Volunteer.create({
|
|
title: req.fields.title,
|
|
content: req.fields.content,
|
|
extra: req.fields.extra,
|
|
assetId: parseInt(req.fields.assetId)
|
|
});
|
|
res.json(volunteer);
|
|
} catch (error) {
|
|
console.error(error);
|
|
res.status(500).end();
|
|
}
|
|
}
|
|
|
|
async function updateSingleVolunteer(req, res, next) {
|
|
try {
|
|
let volunteer = await Volunteer.findByPk(parseInt(req.params.id), { include: [ Asset ] });
|
|
|
|
if (volunteer) {
|
|
volunteer.title = req.fields.title;
|
|
volunteer.content = req.fields.content;
|
|
volunteer.extra = req.fields.extra;
|
|
volunteer.assetId = parseInt(req.fields.assetId);
|
|
volunteer.save();
|
|
res.json(volunteer);
|
|
} else {
|
|
res.status(404).end();
|
|
}
|
|
} catch (error) {
|
|
console.error(error);
|
|
res.status(500).end();
|
|
}
|
|
}
|
|
|
|
async function deleteSingleVolunteer(req, res, next) {
|
|
try {
|
|
await Volunteer.destroy({
|
|
where: {
|
|
id: parseInt(req.params.id)
|
|
}
|
|
});
|
|
res.end();
|
|
} catch (error) {
|
|
console.error(error);
|
|
res.status(500).end();
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
createSingleVolunteer,
|
|
getSingleVolunteer,
|
|
getAllVolunteers,
|
|
updateSingleVolunteer,
|
|
deleteSingleVolunteer
|
|
};
|