const HousesService = require('../services/houses.service'); class HousesController { async getListEntrance(req, res) { if (req.possibilities.can_manager_territory) { let result = await HousesService.getListEntrance(); if (result) { return res .status(200) .send(result); } else { return res .status(500) .send({ message: 'Internal server error.' }); } } else { return res .status(403) .send({ message: 'The user does not have enough rights.' }); } } async getList(req, res) { const { mode } = req.query; if (req.possibilities.can_view_territory) { let group_id = 0; let sheepName = false; // if (req.mode == 2) { // group_id = 0; // } else if (req.mode == 1) { // group_id = req.group_id; // } if (mode == "sheep") { group_id = req.group_id; sheepName = req.sheepName; } else if (mode == "group"){ group_id = req.group_id; } let result = await HousesService.getList(group_id, sheepName); if (result) { return res .status(200) .send(result); } else { return res .status(500) .send({ message: 'Internal server error.' }); } } else { return res .status(403) .send({ message: 'The user does not have enough rights.' }); } } async getHouse(req, res) { const { house_id } = req.params; if (house_id) { if (req.possibilities.can_view_territory) { let result = await HousesService.getHouse(house_id); if (result) { return res .status(200) .send(result); } else { return res .status(500) .send({ message: 'Internal server error.' }); } } else { return res .status(403) .send({ message: 'The user does not have enough rights.' }); } } else { return res .status(404) .send({ message: 'User not found.' }); } } async createHouse(req, res) { const data = req.body; if (req.possibilities.can_add_territory) { let result = await HousesService.createHouse(data); if (result) { return res.status(200).send(result); } else { return res.status(500).send({ message: 'Unable create house.', }); } } else { return res .status(404) .send({ message: 'User not found.' }); } } async updateHouse(req, res) { const { house_id } = req.params; const data = req.body; if (house_id) { if (req.possibilities.can_manager_territory) { let result = await HousesService.updateHouse(house_id, data); if (result) { return res.status(200).send(result); } else { return res.status(500).send({ message: 'Unable update house.', }); } } else { return res .status(404) .send({ message: 'User not found.' }); } } else { return res .status(404) .send({ message: 'Users not found.' }); } } async deleteHouse(req, res) { const { house_id } = req.params; if (house_id) { if (req.possibilities.can_add_territory) { let result = await HousesService.deleteHouse(house_id); if (result) { return res.status(200).send(result); } else { return res.status(500).send({ message: 'Unable delete house.', }); } } else { return res .status(404) .send({ message: 'User not found.' }); } } else { return res .status(404) .send({ message: 'Users not found.' }); } } } module.exports = new HousesController();