const SheepsService = require('../services/sheeps.service'); class SheepsController { async getSheep(req, res) { const { uuid } = req.query; if (uuid) { if (req.sheepRole) { const result = await SheepsService.getSheep(uuid, req.sheepRole); if (result) { return res.status(200).send(result); } else { return res.status(404).send({ message: 'Sheep not found.' }); } } else { return res .status(403) .send({ message: 'The sheep does not have enough rights.' }); } } else { return res .status(401) .send({ message: 'Sheeps not found.' }); } } async getList(req, res) { if (req.sheepRole) { const result = await SheepsService.getList(req.sheepRole); if (result) { return res.status(200).send(result); } else { return res .status(404) .send({ message: 'User not found.' }); } } else { return res .status(404) .send({ message: 'Users not found.' }); } } async createSheep(req, res) { const data = req.body; if (req.sheepRole && (req.sheepRole == "administrator" || req.moderator.can_add_sheeps)) { let result = await SheepsService.createSheep(data); if (result) { return res.status(200).send(result); } else { return res.status(500).send({ message: 'Unable create sheep.', }); } } else { return res .status(403) .send({ message: 'The sheep does not have enough rights.' }); } } async updateSheep(req, res) { const { uuid } = req.query; const data = req.body; console.log("data", data); if (req.sheepRole == "administrator") { let result = await SheepsService.updateSheep(data); if (result) { return res.status(200).send(result); } else { return res.status(500).send({ message: 'Unable update sheep.', }); } } else { return res .status(403) .send({ message: 'Sheep not foundThe sheep does not have enough rights.' }); } } async deleteSheep(req, res) { const data = req.body; if (req.sheepRole == "administrator") { let result = await SheepsService.deleteSheep(data); if (result) { return res.status(200).send(result); } else { return res.status(500).send({ message: 'Unable delete sheep.', }); } } else { return res .status(403) .send({ message: 'Sheep not foundThe sheep does not have enough rights.' }); } } } module.exports = new SheepsController();