Додані повідомлення та перепрацьована структура застосунку та api

This commit is contained in:
2026-03-15 00:25:10 +02:00
parent 85483b85bb
commit 4bc9c11512
101 changed files with 5763 additions and 2546 deletions

View File

@@ -9,9 +9,11 @@ class SheepService {
sheeps.*,
possibilities.can_add_sheeps,
possibilities.can_view_sheeps,
possibilities.can_manager_sheeps,
possibilities.can_add_territory,
possibilities.can_view_territory,
possibilities.can_manager_territory,
possibilities.can_joint_territory,
possibilities.can_add_stand,
possibilities.can_view_stand,
possibilities.can_manager_stand,
@@ -38,9 +40,11 @@ class SheepService {
const fields = [
"can_add_sheeps",
"can_view_sheeps",
"can_manager_sheeps",
"can_add_territory",
"can_view_territory",
"can_manager_territory",
"can_joint_territory",
"can_add_stand",
"can_view_stand",
"can_manager_stand",
@@ -83,9 +87,11 @@ class SheepService {
sheeps.*,
possibilities.can_add_sheeps,
possibilities.can_view_sheeps,
possibilities.can_manager_sheeps,
possibilities.can_add_territory,
possibilities.can_view_territory,
possibilities.can_manager_territory,
possibilities.can_joint_territory,
possibilities.can_add_stand,
possibilities.can_view_stand,
possibilities.can_manager_stand,
@@ -108,9 +114,11 @@ class SheepService {
const fields = [
"can_add_sheeps",
"can_view_sheeps",
"can_manager_sheeps",
"can_add_territory",
"can_view_territory",
"can_manager_territory",
"can_joint_territory",
"can_add_stand",
"can_view_stand",
"can_manager_stand",
@@ -156,9 +164,11 @@ class SheepService {
sheeps.*,
possibilities.can_add_sheeps,
possibilities.can_view_sheeps,
possibilities.can_manager_sheeps,
possibilities.can_add_territory,
possibilities.can_view_territory,
possibilities.can_manager_territory,
possibilities.can_joint_territory,
possibilities.can_add_stand,
possibilities.can_view_stand,
possibilities.can_manager_stand,
@@ -183,9 +193,11 @@ class SheepService {
const fields = [
"can_add_sheeps",
"can_view_sheeps",
"can_manager_sheeps",
"can_add_territory",
"can_view_territory",
"can_manager_territory",
"can_joint_territory",
"can_add_stand",
"can_view_stand",
"can_manager_stand",
@@ -253,71 +265,120 @@ class SheepService {
});
}
updateSheep(data) {
const stmt1 = db.prepare(`
UPDATE
sheeps
SET
name = ?,
group_id = ?,
mode = ?,
mode_title = ?,
uuid_manager = ?
WHERE
uuid = ?
`);
updateSheep(data, mode) {
if (mode == 2) {
const stmt1 = db.prepare(`
UPDATE
sheeps
SET
name = ?,
group_id = ?,
mode = ?,
mode_title = ?,
uuid_manager = ?
WHERE
uuid = ?
`);
const stmt2 = db.prepare(`
UPDATE
possibilities
SET
can_add_sheeps = ?,
can_view_sheeps = ?,
can_add_territory = ?,
can_view_territory = ?,
can_manager_territory = ?,
can_add_stand = ?,
can_view_stand = ?,
can_manager_stand = ?,
can_add_schedule = ?,
can_view_schedule = ?
WHERE
sheep_id = (SELECT id FROM sheeps WHERE uuid = ? LIMIT 1)
`);
const stmt2 = db.prepare(`
UPDATE
possibilities
SET
can_add_sheeps = ?,
can_view_sheeps = ?,
can_manager_sheeps = ?,
can_add_territory = ?,
can_view_territory = ?,
can_manager_territory = ?,
can_joint_territory = ?,
can_add_stand = ?,
can_view_stand = ?,
can_manager_stand = ?,
can_add_schedule = ?,
can_view_schedule = ?
WHERE
sheep_id = (SELECT id FROM sheeps WHERE uuid = ? LIMIT 1)
`);
return new Promise((res, rej) => {
db.serialize(() => {
let uuid_manager = crypto.randomUUID();
return new Promise((res, rej) => {
db.serialize(() => {
let uuid_manager = crypto.randomUUID();
stmt1.run([
data.name,
Number(data.group_id),
Number(data.mode),
data.mode_title,
Number(data.mode) == 0 ? null : (data.uuid_manager ? data.uuid_manager : uuid_manager),
data.uuid
], (err) => {
if (err) return rej(err);
stmt2.run([
data.possibilities.can_add_sheeps,
data.possibilities.can_view_sheeps,
data.possibilities.can_add_territory,
data.possibilities.can_view_territory,
data.possibilities.can_manager_territory,
data.possibilities.can_add_stand,
data.possibilities.can_view_stand,
data.possibilities.can_manager_stand,
data.possibilities.can_add_schedule,
data.possibilities.can_view_schedule,
stmt1.run([
data.name,
Number(data.group_id),
Number(data.mode),
data.mode_title,
Number(data.mode) == 0 ? null : (data.uuid_manager ? data.uuid_manager : uuid_manager),
data.uuid
], (err2) => {
if (err2) return rej(err2);
res({ status: "ok", id: data.id });
], (err) => {
if (err) return rej(err);
stmt2.run([
data.possibilities.can_add_sheeps,
data.possibilities.can_view_sheeps,
data.possibilities.can_manager_sheeps,
data.possibilities.can_add_territory,
data.possibilities.can_view_territory,
data.possibilities.can_manager_territory,
data.possibilities.can_joint_territory,
data.possibilities.can_add_stand,
data.possibilities.can_view_stand,
data.possibilities.can_manager_stand,
data.possibilities.can_add_schedule,
data.possibilities.can_view_schedule,
data.uuid
], (err2) => {
if (err2) return rej(err2);
res({ status: "ok", id: data.id });
});
});
});
});
});
} else if(mode == 1){
const stmt1 = db.prepare(`
UPDATE
sheeps
SET
name = ?,
group_id = ?
WHERE
uuid = ?
`);
const stmt2 = db.prepare(`
UPDATE
possibilities
SET
can_view_territory = ?,
can_view_stand = ?,
can_view_schedule = ?
WHERE
sheep_id = (SELECT id FROM sheeps WHERE uuid = ? LIMIT 1)
`);
return new Promise((res, rej) => {
db.serialize(() => {
stmt1.run([
data.name,
Number(data.group_id),
data.uuid
], (err) => {
if (err) return rej(err);
stmt2.run([
data.possibilities.can_view_territory,
data.possibilities.can_view_stand,
data.possibilities.can_view_schedule,
data.uuid
], (err2) => {
if (err2) return rej(err2);
res({ status: "ok", id: data.id });
});
});
});
});
}
}
deleteSheep(data) {