This commit is contained in:
2025-03-31 00:22:21 +03:00
commit 38f2a05107
146 changed files with 66771 additions and 0 deletions

View File

@@ -0,0 +1,143 @@
const HomesteadsService = require('../services/homesteads.service');
class HomesteadsController {
async getList(req, res) {
const { mode } = req.query;
if (req.sheepRole == "administrator" || (req.sheepRole == "moderator" && req.moderator.can_manager_territory) || req.can_view_territory) {
let group_id = 0;
let sheepName = false;
if (req.sheepRole == "administrator") {
group_id = 0;
} else if (req.sheepRole == "moderator") {
group_id = req.group_id;
}
if (mode == "sheep") {
group_id = req.group_id;
sheepName = req.sheepName;
}
let result = await HomesteadsService.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 getHomestead(req, res) {
const { homestead_id } = req.params;
if (homestead_id) {
if (req.sheepRole == "administrator" || (req.sheepRole == "moderator" && req.moderator.can_manager_territory) || req.can_view_territory) {
let result = await HomesteadsService.getHomestead(homestead_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: 'Users not found.' });
}
}
async createHomestead(req, res) {
const data = req.body;
if (data) {
if (req.sheepRole == "administrator" || req.moderator.can_add_territory) {
let result = await HomesteadsService.createHomestead(data);
if (result) {
return res.status(200).send(result);
} else {
return res.status(500).send({
message: 'Unable create homestead.',
});
}
} else {
return res
.status(404)
.send({ message: 'User not found.' });
}
} else {
return res
.status(404)
.send({ message: 'Users not found.' });
}
}
async updateHomestead(req, res) {
const { homestead_id } = req.params;
const data = req.body;
if (homestead_id) {
if (req.sheepRole == "administrator" || req.moderator.can_manager_territory) {
let result = await HomesteadsService.updateHomestead(homestead_id, data);
if (result) {
return res.status(200).send(result);
} else {
return res.status(500).send({
message: 'Unable update homestead.',
});
}
} else {
return res
.status(404)
.send({ message: 'User not found.' });
}
} else {
return res
.status(404)
.send({ message: 'Users not found.' });
}
}
async deleteHomestead(req, res) {
const { homestead_id } = req.params;
if (homestead_id) {
if (req.sheepRole == "administrator" || req.moderator.can_add_territory) {
let result = await HomesteadsService.deleteHomestead(homestead_id);
if (result) {
return res.status(200).send(result);
} else {
return res.status(500).send({
message: 'Unable delete homestead.',
});
}
} else {
return res
.status(404)
.send({ message: 'User not found.' });
}
} else {
return res
.status(404)
.send({ message: 'Users not found.' });
}
}
}
module.exports = new HomesteadsController();