Files
dyrevelfaerd-api/controllers/animal.controller.js
Brian Emilius a60a37f441 initial commit
2020-05-17 22:00:53 +02:00

78 lines
1.6 KiB
JavaScript

var { Animal, Asset } = require("../models/models");
async function getSingleAnimal(req, res, next) {
try {
let animal = await Animal.findByPk(parseInt(req.params.id), { include: [ Asset ] });
res.json(animal);
} catch (error) {
console.log(error);
res.status(500).end();
}
}
async function getAllAnimals(req, res, next) {
try {
let animals = await Animal.findAll({ include: [ Asset ] });
res.json(animals);
} catch (error) {
console.error(error);
res.status(500).end();
}
}
async function createSingleAnimal(req, res, next) {
try {
let animal = await Animal.create({
name: req.fields.name,
description: req.fields.description,
age: req.fields.age,
assetId: parseInt(req.fields.assetId)
});
res.json(animal);
} catch (error) {
console.error(error);
res.status(500).end();
}
}
async function updateSingleAnimal(req, res, next) {
try {
let animal = await Animal.findByPk(parseInt(req.params.id), { include: [ Asset ] });
if (animal) {
animal.name = req.fields.name;
animal.description = req.fields.description;
animal.assetId = parseInt(req.fields.assetId);
animal.save();
res.json(animal);
} else {
res.status(404).end();
}
} catch (error) {
console.error(error);
res.status(500).end();
}
}
async function deleteSingleAnimal(req, res, next) {
try {
await Animal.destroy({
where: {
id: parseInt(req.params.id)
}
});
res.end();
} catch (error) {
console.error(error);
res.status(500).end();
}
}
module.exports = {
createSingleAnimal,
getSingleAnimal,
getAllAnimals,
updateSingleAnimal,
deleteSingleAnimal
};