v0.0.1
This commit is contained in:
143
api/controllers/homesteads.controller.js
Normal file
143
api/controllers/homesteads.controller.js
Normal 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();
|
||||
Reference in New Issue
Block a user