159 lines
4.7 KiB
JavaScript
159 lines
4.7 KiB
JavaScript
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(); |