145 lines
4.5 KiB
JavaScript
145 lines
4.5 KiB
JavaScript
const HomesteadsService = require('../services/homesteads.service');
|
|
|
|
class HomesteadsController {
|
|
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 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.possibilities.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.possibilities.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.possibilities.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.possibilities.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(); |