Files
Sheep-Service/api/controllers/houses.controller.js
2025-09-09 00:10:53 +03:00

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();