73 lines
3.5 KiB
JavaScript
73 lines
3.5 KiB
JavaScript
const db = require("../config/db");
|
|
|
|
class AuthService {
|
|
findUserByID(id, mode) {
|
|
return new Promise((res, rej) => {
|
|
let sql = `
|
|
SELECT
|
|
sheeps.*,
|
|
possibilities.can_add_sheeps AS can_add_sheeps,
|
|
possibilities.can_view_sheeps AS can_view_sheeps,
|
|
possibilities.can_add_territory AS can_add_territory,
|
|
possibilities.can_view_territory AS can_view_territory,
|
|
possibilities.can_manager_territory AS can_manager_territory,
|
|
possibilities.can_add_stand AS can_add_stand,
|
|
possibilities.can_view_stand AS can_view_stand,
|
|
possibilities.can_manager_stand AS can_manager_stand,
|
|
possibilities.can_add_schedule AS can_add_schedule,
|
|
possibilities.can_view_schedule AS can_view_schedule
|
|
FROM
|
|
sheeps
|
|
LEFT JOIN
|
|
possibilities ON possibilities.sheep_id = sheeps.id
|
|
WHERE
|
|
sheeps.id = ?`;
|
|
db.get(sql, [id], (err, sheep) => {
|
|
if (err) {
|
|
console.error(err.message);
|
|
return res(false);
|
|
} else if (!sheep) {
|
|
console.log({ "error": "uuid not found" });
|
|
return res(false);
|
|
} else {
|
|
let data = {
|
|
id: sheep.id,
|
|
group_id: sheep.group_id,
|
|
name: sheep.name,
|
|
icon: sheep.icon,
|
|
uuid: sheep.uuid,
|
|
uuid_manager: mode && mode == 2 ? sheep.uuid_manager : null,
|
|
appointment: sheep.appointment,
|
|
mode: mode ? Number(sheep.mode) : 0,
|
|
sheepRole: sheep.mode_title,
|
|
possibilities: {
|
|
can_add_sheeps: false,
|
|
can_view_sheeps: false,
|
|
can_add_territory: false,
|
|
can_manager_territory: false,
|
|
can_add_stand: false,
|
|
can_manager_stand: false,
|
|
can_add_schedule: false,
|
|
can_view_schedule: sheep.can_view_schedule == 1 ? true : false,
|
|
can_view_stand: sheep.can_view_stand == 1 ? true : false,
|
|
can_view_territory: sheep.can_view_territory == 1 ? true : false
|
|
}
|
|
}
|
|
if (mode && (mode == 1 || mode == 2)) {
|
|
data.possibilities.can_add_sheeps = sheep.can_add_sheeps == 1 ? true : false;
|
|
data.possibilities.can_view_sheeps = sheep.can_view_sheeps == 1 ? true : false;
|
|
data.possibilities.can_add_territory = sheep.can_add_territory == 1 ? true : false;
|
|
data.possibilities.can_manager_territory = sheep.can_manager_territory == 1 ? true : false;
|
|
data.possibilities.can_add_stand = sheep.can_add_stand == 1 ? true : false;
|
|
data.possibilities.can_manager_stand = sheep.can_manager_stand == 1 ? true : false;
|
|
data.possibilities.can_add_schedule = sheep.can_add_schedule == 1 ? true : false;
|
|
}
|
|
|
|
return res(data);
|
|
}
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
module.exports = new AuthService(); |