@tmscloud/tbt-knex 0.0.3 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dao/driver-tracking/driver-tracking.dao.d.ts +8 -0
- package/dist/dao/driver-tracking/driver-tracking.dao.js +25 -1
- package/dist/dao/driver-tracking/driver-tracking.dao.js.map +1 -1
- package/dist/dao/duty/duty.dao.d.ts +79 -0
- package/dist/dao/duty/duty.dao.js +378 -0
- package/dist/dao/duty/duty.dao.js.map +1 -0
- package/dist/dao/duty-item-progress/duty-item-progress.dao.d.ts +37 -0
- package/dist/dao/duty-item-progress/duty-item-progress.dao.js +126 -0
- package/dist/dao/duty-item-progress/duty-item-progress.dao.js.map +1 -0
- package/dist/dao/duty-template/duty-template.dao.d.ts +66 -0
- package/dist/dao/duty-template/duty-template.dao.js +369 -0
- package/dist/dao/duty-template/duty-template.dao.js.map +1 -0
- package/dist/dao/duty-track/duty-track.dao.d.ts +45 -0
- package/dist/dao/duty-track/duty-track.dao.js +200 -0
- package/dist/dao/duty-track/duty-track.dao.js.map +1 -0
- package/dist/dao/event/event.dao.js +9 -3
- package/dist/dao/event/event.dao.js.map +1 -1
- package/dist/dao/system-setting/system-setting.dao.d.ts +14 -0
- package/dist/dao/system-setting/system-setting.dao.js +99 -0
- package/dist/dao/system-setting/system-setting.dao.js.map +1 -0
- package/dist/dao/trip-track/trip-track.dao.js +4 -4
- package/dist/dao/trip-track/trip-track.dao.js.map +1 -1
- package/dist/index.d.ts +10 -0
- package/dist/index.js +11 -1
- package/dist/index.js.map +1 -1
- package/dist/interfaces/driver-tracking/driver-tracking.interfaces.d.ts +5 -2
- package/dist/interfaces/duty/duty.interfaces.d.ts +48 -0
- package/dist/interfaces/duty/duty.interfaces.js +3 -0
- package/dist/interfaces/duty/duty.interfaces.js.map +1 -0
- package/dist/interfaces/duty-item-progress/duty-item-progress.interfaces.d.ts +28 -0
- package/dist/interfaces/duty-item-progress/duty-item-progress.interfaces.js +3 -0
- package/dist/interfaces/duty-item-progress/duty-item-progress.interfaces.js.map +1 -0
- package/dist/interfaces/duty-template/duty-template.interfaces.d.ts +75 -0
- package/dist/interfaces/duty-template/duty-template.interfaces.js +3 -0
- package/dist/interfaces/duty-template/duty-template.interfaces.js.map +1 -0
- package/dist/interfaces/duty-track/duty-track.interfaces.d.ts +39 -0
- package/dist/interfaces/duty-track/duty-track.interfaces.js +3 -0
- package/dist/interfaces/duty-track/duty-track.interfaces.js.map +1 -0
- package/dist/interfaces/system-setting/system-setting.interfaces.d.ts +27 -0
- package/dist/interfaces/system-setting/system-setting.interfaces.js +3 -0
- package/dist/interfaces/system-setting/system-setting.interfaces.js.map +1 -0
- package/package.json +1 -1
|
@@ -40,6 +40,14 @@ export declare class DriverTrackingDAO {
|
|
|
40
40
|
* Delete all tracking points for a trip (after consolidation)
|
|
41
41
|
*/
|
|
42
42
|
deleteByTripId(tripId: number): Promise<number>;
|
|
43
|
+
/**
|
|
44
|
+
* Get all tracking points for a duty (for consolidation)
|
|
45
|
+
*/
|
|
46
|
+
getByDutyId(dutyId: number): Promise<IDriverTracking[]>;
|
|
47
|
+
/**
|
|
48
|
+
* Delete all tracking points for a duty (after consolidation)
|
|
49
|
+
*/
|
|
50
|
+
deleteByDutyId(dutyId: number): Promise<number>;
|
|
43
51
|
/**
|
|
44
52
|
* Convert driver tracking records to ITrackPoint array (for consolidation)
|
|
45
53
|
*/
|
|
@@ -30,7 +30,8 @@ class DriverTrackingDAO {
|
|
|
30
30
|
const records = batch.points.map((point) => ({
|
|
31
31
|
uuid: (0, uuid_1.v4)(),
|
|
32
32
|
user_id: batch.user_id,
|
|
33
|
-
trip_id: batch.trip_id,
|
|
33
|
+
trip_id: batch.trip_id || null,
|
|
34
|
+
duty_id: batch.duty_id || null,
|
|
34
35
|
assignment_id: batch.assignment_id || null,
|
|
35
36
|
route_id: batch.route_id || null,
|
|
36
37
|
session_id: batch.session_id,
|
|
@@ -145,6 +146,9 @@ class DriverTrackingDAO {
|
|
|
145
146
|
if (filters.trip_id) {
|
|
146
147
|
query = query.where("dt.trip_id", filters.trip_id);
|
|
147
148
|
}
|
|
149
|
+
if (filters.duty_id) {
|
|
150
|
+
query = query.where("dt.duty_id", filters.duty_id);
|
|
151
|
+
}
|
|
148
152
|
if (filters.assignment_id) {
|
|
149
153
|
query = query.where("dt.assignment_id", filters.assignment_id);
|
|
150
154
|
}
|
|
@@ -222,6 +226,8 @@ class DriverTrackingDAO {
|
|
|
222
226
|
query = query.where("dt.user_id", filters.user_id);
|
|
223
227
|
if (filters.trip_id)
|
|
224
228
|
query = query.where("dt.trip_id", filters.trip_id);
|
|
229
|
+
if (filters.duty_id)
|
|
230
|
+
query = query.where("dt.duty_id", filters.duty_id);
|
|
225
231
|
if (filters.assignment_id)
|
|
226
232
|
query = query.where("dt.assignment_id", filters.assignment_id);
|
|
227
233
|
if (filters.route_id)
|
|
@@ -292,6 +298,24 @@ class DriverTrackingDAO {
|
|
|
292
298
|
return this.knex("driver_tracking").where("trip_id", tripId).delete();
|
|
293
299
|
});
|
|
294
300
|
}
|
|
301
|
+
/**
|
|
302
|
+
* Get all tracking points for a duty (for consolidation)
|
|
303
|
+
*/
|
|
304
|
+
getByDutyId(dutyId) {
|
|
305
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
306
|
+
return this.knex("driver_tracking")
|
|
307
|
+
.where("duty_id", dutyId)
|
|
308
|
+
.orderBy("recorded_at", "asc");
|
|
309
|
+
});
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Delete all tracking points for a duty (after consolidation)
|
|
313
|
+
*/
|
|
314
|
+
deleteByDutyId(dutyId) {
|
|
315
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
316
|
+
return this.knex("driver_tracking").where("duty_id", dutyId).delete();
|
|
317
|
+
});
|
|
318
|
+
}
|
|
295
319
|
/**
|
|
296
320
|
* Convert driver tracking records to ITrackPoint array (for consolidation)
|
|
297
321
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver-tracking.dao.js","sourceRoot":"","sources":["../../../src/dao/driver-tracking/driver-tracking.dao.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"driver-tracking.dao.js","sourceRoot":"","sources":["../../../src/dao/driver-tracking/driver-tracking.dao.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Knex } from "knex";
|
|
2
|
+
import { IDuty, IDutyCreate, IDutyUpdate } from "../../interfaces/duty/duty.interfaces";
|
|
3
|
+
import { IBaseDAO, IDataPaginator } from "../../d.types";
|
|
4
|
+
export declare class DutyDAO implements IBaseDAO<IDuty> {
|
|
5
|
+
private _knex?;
|
|
6
|
+
private get knex();
|
|
7
|
+
/**
|
|
8
|
+
* Parse JSON fields from database results
|
|
9
|
+
*/
|
|
10
|
+
private parseDutyJson;
|
|
11
|
+
/**
|
|
12
|
+
* Base query with all joins
|
|
13
|
+
*/
|
|
14
|
+
private baseQuery;
|
|
15
|
+
/**
|
|
16
|
+
* Get all duties with pagination
|
|
17
|
+
*/
|
|
18
|
+
getAll(page?: number, limit?: number): Promise<IDataPaginator<IDuty>>;
|
|
19
|
+
/**
|
|
20
|
+
* Get duty by ID
|
|
21
|
+
*/
|
|
22
|
+
getById(id: number): Promise<IDuty | null>;
|
|
23
|
+
/**
|
|
24
|
+
* Get duty by UUID
|
|
25
|
+
*/
|
|
26
|
+
getByUuid(uuid: string): Promise<IDuty | null>;
|
|
27
|
+
/**
|
|
28
|
+
* Get duties by user ID
|
|
29
|
+
*/
|
|
30
|
+
getByUserId(userId: number, page?: number, limit?: number): Promise<IDataPaginator<IDuty>>;
|
|
31
|
+
/**
|
|
32
|
+
* Get duties by event ID
|
|
33
|
+
*/
|
|
34
|
+
getByEventId(eventId: number, page?: number, limit?: number): Promise<IDataPaginator<IDuty>>;
|
|
35
|
+
/**
|
|
36
|
+
* Get active duties for a user (today or future, status = pending or in_progress)
|
|
37
|
+
*/
|
|
38
|
+
getActiveByUserId(userId: number): Promise<IDuty[]>;
|
|
39
|
+
/**
|
|
40
|
+
* Get a user's duty for today
|
|
41
|
+
*/
|
|
42
|
+
getTodayByUserId(userId: number): Promise<IDuty[]>;
|
|
43
|
+
/**
|
|
44
|
+
* Get duties by status
|
|
45
|
+
*/
|
|
46
|
+
getByStatus(status: string, page?: number, limit?: number): Promise<IDataPaginator<IDuty>>;
|
|
47
|
+
/**
|
|
48
|
+
* Create a new duty
|
|
49
|
+
*/
|
|
50
|
+
create(data: IDutyCreate): Promise<IDuty>;
|
|
51
|
+
/**
|
|
52
|
+
* Update a duty by ID
|
|
53
|
+
*/
|
|
54
|
+
update(id: number, data: IDutyUpdate): Promise<IDuty | null>;
|
|
55
|
+
/**
|
|
56
|
+
* Delete a duty by ID (soft delete)
|
|
57
|
+
*/
|
|
58
|
+
delete(id: number): Promise<boolean>;
|
|
59
|
+
/**
|
|
60
|
+
* Update tracking status for a duty
|
|
61
|
+
*/
|
|
62
|
+
updateTrackingStatus(id: number, trackingStatus: "none" | "tracking" | "syncing" | "consolidated"): Promise<IDuty | null>;
|
|
63
|
+
/**
|
|
64
|
+
* Start a duty (transition to in_progress)
|
|
65
|
+
*/
|
|
66
|
+
startDuty(id: number, trackingSessionId?: string, trx?: Knex.Transaction): Promise<IDuty | null>;
|
|
67
|
+
/**
|
|
68
|
+
* Complete a duty
|
|
69
|
+
*/
|
|
70
|
+
completeDuty(id: number): Promise<IDuty | null>;
|
|
71
|
+
/**
|
|
72
|
+
* Cancel a duty (single atomic update to avoid TOCTOU race)
|
|
73
|
+
*/
|
|
74
|
+
cancelDuty(id: number): Promise<IDuty | null>;
|
|
75
|
+
/**
|
|
76
|
+
* Check if a duty already exists for a template + user + date combination
|
|
77
|
+
*/
|
|
78
|
+
hasDuplicateDuty(dutyTemplateId: number, userId: number, dutyDate: Date | string): Promise<boolean>;
|
|
79
|
+
}
|
|
@@ -0,0 +1,378 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.DutyDAO = void 0;
|
|
16
|
+
const KnexConnection_1 = __importDefault(require("../../KnexConnection"));
|
|
17
|
+
class DutyDAO {
|
|
18
|
+
get knex() {
|
|
19
|
+
if (!this._knex) {
|
|
20
|
+
this._knex = KnexConnection_1.default.getConnection();
|
|
21
|
+
}
|
|
22
|
+
return this._knex;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Parse JSON fields from database results
|
|
26
|
+
*/
|
|
27
|
+
parseDutyJson(duty) {
|
|
28
|
+
var _a, _b;
|
|
29
|
+
if (duty.duty_template && typeof duty.duty_template === "string") {
|
|
30
|
+
duty.duty_template = JSON.parse(duty.duty_template);
|
|
31
|
+
}
|
|
32
|
+
if (duty.event && typeof duty.event === "string") {
|
|
33
|
+
duty.event = JSON.parse(duty.event);
|
|
34
|
+
}
|
|
35
|
+
if (duty.user && typeof duty.user === "string") {
|
|
36
|
+
duty.user = JSON.parse(duty.user);
|
|
37
|
+
}
|
|
38
|
+
if (((_a = duty.user) === null || _a === void 0 ? void 0 : _a.role) && typeof duty.user.role === "string") {
|
|
39
|
+
duty.user.role = JSON.parse(duty.user.role);
|
|
40
|
+
}
|
|
41
|
+
if (duty.assigner && typeof duty.assigner === "string") {
|
|
42
|
+
duty.assigner = JSON.parse(duty.assigner);
|
|
43
|
+
}
|
|
44
|
+
if (((_b = duty.assigner) === null || _b === void 0 ? void 0 : _b.role) && typeof duty.assigner.role === "string") {
|
|
45
|
+
duty.assigner.role = JSON.parse(duty.assigner.role);
|
|
46
|
+
}
|
|
47
|
+
return duty;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Base query with all joins
|
|
51
|
+
*/
|
|
52
|
+
baseQuery() {
|
|
53
|
+
return this.knex("duties as d")
|
|
54
|
+
.leftJoin("duty_templates as dt", "d.duty_template_id", "dt.id")
|
|
55
|
+
.leftJoin("events as e", "d.event_id", "e.id")
|
|
56
|
+
.leftJoin("users as u", "d.user_id", "u.id")
|
|
57
|
+
.leftJoin("roles as ur", "u.role_id", "ur.id")
|
|
58
|
+
.leftJoin("users as assignedBy", "d.assigned_by", "assignedBy.id")
|
|
59
|
+
.leftJoin("roles as ar", "assignedBy.role_id", "ar.id")
|
|
60
|
+
.select("d.*", this.knex.raw("to_jsonb(dt.*) as duty_template"), this.knex.raw("to_jsonb(e.*) as event"), this.knex.raw(`jsonb_build_object(
|
|
61
|
+
'id', u.id,
|
|
62
|
+
'uuid', u.uuid,
|
|
63
|
+
'email', u.email,
|
|
64
|
+
'username', u.username,
|
|
65
|
+
'first_name', u.first_name,
|
|
66
|
+
'last_name', u.last_name,
|
|
67
|
+
'role_id', u.role_id,
|
|
68
|
+
'is_active', u.is_active,
|
|
69
|
+
'role', to_jsonb(ur.*)
|
|
70
|
+
) as user`), this.knex.raw(`CASE WHEN "assignedBy".id IS NOT NULL THEN jsonb_build_object(
|
|
71
|
+
'id', "assignedBy".id,
|
|
72
|
+
'uuid', "assignedBy".uuid,
|
|
73
|
+
'email', "assignedBy".email,
|
|
74
|
+
'username', "assignedBy".username,
|
|
75
|
+
'first_name', "assignedBy".first_name,
|
|
76
|
+
'last_name', "assignedBy".last_name,
|
|
77
|
+
'role_id', "assignedBy".role_id,
|
|
78
|
+
'is_active', "assignedBy".is_active,
|
|
79
|
+
'role', to_jsonb(ar.*)
|
|
80
|
+
) ELSE NULL END as assigner`));
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Get all duties with pagination
|
|
84
|
+
*/
|
|
85
|
+
getAll() {
|
|
86
|
+
return __awaiter(this, arguments, void 0, function* (page = 1, limit = 10) {
|
|
87
|
+
const offset = (page - 1) * limit;
|
|
88
|
+
const rawData = yield this.baseQuery()
|
|
89
|
+
.where("d.is_active", true)
|
|
90
|
+
.limit(limit)
|
|
91
|
+
.offset(offset)
|
|
92
|
+
.orderBy("d.duty_date", "desc");
|
|
93
|
+
const data = rawData.map((duty) => this.parseDutyJson(duty));
|
|
94
|
+
const totalCountResult = yield this.knex("duties")
|
|
95
|
+
.where("is_active", true)
|
|
96
|
+
.count("* as count")
|
|
97
|
+
.first();
|
|
98
|
+
const totalCount = Number((totalCountResult === null || totalCountResult === void 0 ? void 0 : totalCountResult.count) || 0);
|
|
99
|
+
const count = data.length;
|
|
100
|
+
const totalPages = Math.ceil(totalCount / limit);
|
|
101
|
+
return { success: true, data, page, limit, count, totalCount, totalPages };
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Get duty by ID
|
|
106
|
+
*/
|
|
107
|
+
getById(id) {
|
|
108
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
109
|
+
const result = yield this.baseQuery()
|
|
110
|
+
.where("d.id", id)
|
|
111
|
+
.where("d.is_active", true)
|
|
112
|
+
.first();
|
|
113
|
+
return result ? this.parseDutyJson(result) : null;
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Get duty by UUID
|
|
118
|
+
*/
|
|
119
|
+
getByUuid(uuid) {
|
|
120
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
121
|
+
const result = yield this.baseQuery()
|
|
122
|
+
.where("d.uuid", uuid)
|
|
123
|
+
.where("d.is_active", true)
|
|
124
|
+
.first();
|
|
125
|
+
return result ? this.parseDutyJson(result) : null;
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Get duties by user ID
|
|
130
|
+
*/
|
|
131
|
+
getByUserId(userId_1) {
|
|
132
|
+
return __awaiter(this, arguments, void 0, function* (userId, page = 1, limit = 10) {
|
|
133
|
+
const offset = (page - 1) * limit;
|
|
134
|
+
const rawData = yield this.baseQuery()
|
|
135
|
+
.where("d.user_id", userId)
|
|
136
|
+
.where("d.is_active", true)
|
|
137
|
+
.limit(limit)
|
|
138
|
+
.offset(offset)
|
|
139
|
+
.orderBy("d.duty_date", "desc");
|
|
140
|
+
const data = rawData.map((duty) => this.parseDutyJson(duty));
|
|
141
|
+
const totalCountResult = yield this.knex("duties")
|
|
142
|
+
.where("user_id", userId)
|
|
143
|
+
.where("is_active", true)
|
|
144
|
+
.count("* as count")
|
|
145
|
+
.first();
|
|
146
|
+
const totalCount = Number((totalCountResult === null || totalCountResult === void 0 ? void 0 : totalCountResult.count) || 0);
|
|
147
|
+
const count = data.length;
|
|
148
|
+
const totalPages = Math.ceil(totalCount / limit);
|
|
149
|
+
return { success: true, data, page, limit, count, totalCount, totalPages };
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Get duties by event ID
|
|
154
|
+
*/
|
|
155
|
+
getByEventId(eventId_1) {
|
|
156
|
+
return __awaiter(this, arguments, void 0, function* (eventId, page = 1, limit = 10) {
|
|
157
|
+
const offset = (page - 1) * limit;
|
|
158
|
+
const rawData = yield this.baseQuery()
|
|
159
|
+
.where("d.event_id", eventId)
|
|
160
|
+
.where("d.is_active", true)
|
|
161
|
+
.limit(limit)
|
|
162
|
+
.offset(offset)
|
|
163
|
+
.orderBy("d.duty_date", "desc");
|
|
164
|
+
const data = rawData.map((duty) => this.parseDutyJson(duty));
|
|
165
|
+
const totalCountResult = yield this.knex("duties")
|
|
166
|
+
.where("event_id", eventId)
|
|
167
|
+
.where("is_active", true)
|
|
168
|
+
.count("* as count")
|
|
169
|
+
.first();
|
|
170
|
+
const totalCount = Number((totalCountResult === null || totalCountResult === void 0 ? void 0 : totalCountResult.count) || 0);
|
|
171
|
+
const count = data.length;
|
|
172
|
+
const totalPages = Math.ceil(totalCount / limit);
|
|
173
|
+
return { success: true, data, page, limit, count, totalCount, totalPages };
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Get active duties for a user (today or future, status = pending or in_progress)
|
|
178
|
+
*/
|
|
179
|
+
getActiveByUserId(userId) {
|
|
180
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
181
|
+
const today = new Date().toISOString().split("T")[0];
|
|
182
|
+
const rawData = yield this.baseQuery()
|
|
183
|
+
.where("d.user_id", userId)
|
|
184
|
+
.where("d.is_active", true)
|
|
185
|
+
.where("d.duty_date", ">=", today)
|
|
186
|
+
.whereIn("d.status", ["pending", "in_progress"])
|
|
187
|
+
.orderBy("d.duty_date", "asc");
|
|
188
|
+
return rawData.map((duty) => this.parseDutyJson(duty));
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Get a user's duty for today
|
|
193
|
+
*/
|
|
194
|
+
getTodayByUserId(userId) {
|
|
195
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
196
|
+
const today = new Date().toISOString().split("T")[0];
|
|
197
|
+
const rawData = yield this.baseQuery()
|
|
198
|
+
.where("d.user_id", userId)
|
|
199
|
+
.where("d.is_active", true)
|
|
200
|
+
.where("d.duty_date", today)
|
|
201
|
+
.orderBy("d.created_at", "asc");
|
|
202
|
+
return rawData.map((duty) => this.parseDutyJson(duty));
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Get duties by status
|
|
207
|
+
*/
|
|
208
|
+
getByStatus(status_1) {
|
|
209
|
+
return __awaiter(this, arguments, void 0, function* (status, page = 1, limit = 10) {
|
|
210
|
+
const offset = (page - 1) * limit;
|
|
211
|
+
const rawData = yield this.baseQuery()
|
|
212
|
+
.where("d.status", status)
|
|
213
|
+
.where("d.is_active", true)
|
|
214
|
+
.limit(limit)
|
|
215
|
+
.offset(offset)
|
|
216
|
+
.orderBy("d.duty_date", "desc");
|
|
217
|
+
const data = rawData.map((duty) => this.parseDutyJson(duty));
|
|
218
|
+
const totalCountResult = yield this.knex("duties")
|
|
219
|
+
.where("status", status)
|
|
220
|
+
.where("is_active", true)
|
|
221
|
+
.count("* as count")
|
|
222
|
+
.first();
|
|
223
|
+
const totalCount = Number((totalCountResult === null || totalCountResult === void 0 ? void 0 : totalCountResult.count) || 0);
|
|
224
|
+
const count = data.length;
|
|
225
|
+
const totalPages = Math.ceil(totalCount / limit);
|
|
226
|
+
return { success: true, data, page, limit, count, totalCount, totalPages };
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Create a new duty
|
|
231
|
+
*/
|
|
232
|
+
create(data) {
|
|
233
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
234
|
+
const [result] = yield this.knex("duties")
|
|
235
|
+
.insert({
|
|
236
|
+
duty_template_id: data.duty_template_id,
|
|
237
|
+
event_id: data.event_id,
|
|
238
|
+
user_id: data.user_id,
|
|
239
|
+
assigned_by: data.assigned_by || null,
|
|
240
|
+
duty_date: data.duty_date,
|
|
241
|
+
notes: data.notes || null,
|
|
242
|
+
status: "pending",
|
|
243
|
+
tracking_status: "none",
|
|
244
|
+
})
|
|
245
|
+
.returning("*");
|
|
246
|
+
return this.getById(result.id);
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Update a duty by ID
|
|
251
|
+
*/
|
|
252
|
+
update(id, data) {
|
|
253
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
254
|
+
const updateData = {};
|
|
255
|
+
if (data.duty_date !== undefined)
|
|
256
|
+
updateData.duty_date = data.duty_date;
|
|
257
|
+
if (data.status !== undefined)
|
|
258
|
+
updateData.status = data.status;
|
|
259
|
+
if (data.actual_start !== undefined)
|
|
260
|
+
updateData.actual_start = data.actual_start;
|
|
261
|
+
if (data.actual_end !== undefined)
|
|
262
|
+
updateData.actual_end = data.actual_end;
|
|
263
|
+
if (data.tracking_session_id !== undefined)
|
|
264
|
+
updateData.tracking_session_id = data.tracking_session_id;
|
|
265
|
+
if (data.tracking_status !== undefined)
|
|
266
|
+
updateData.tracking_status = data.tracking_status;
|
|
267
|
+
if (data.notes !== undefined)
|
|
268
|
+
updateData.notes = data.notes;
|
|
269
|
+
if (data.is_active !== undefined)
|
|
270
|
+
updateData.is_active = data.is_active;
|
|
271
|
+
updateData.updated_at = new Date();
|
|
272
|
+
const [result] = yield this.knex("duties")
|
|
273
|
+
.where("id", id)
|
|
274
|
+
.update(updateData)
|
|
275
|
+
.returning("*");
|
|
276
|
+
return result ? this.getById(result.id) : null;
|
|
277
|
+
});
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Delete a duty by ID (soft delete)
|
|
281
|
+
*/
|
|
282
|
+
delete(id) {
|
|
283
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
284
|
+
const result = yield this.knex("duties").where("id", id).update({
|
|
285
|
+
is_active: false,
|
|
286
|
+
updated_at: new Date(),
|
|
287
|
+
});
|
|
288
|
+
return result > 0;
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Update tracking status for a duty
|
|
293
|
+
*/
|
|
294
|
+
updateTrackingStatus(id, trackingStatus) {
|
|
295
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
296
|
+
const [result] = yield this.knex("duties")
|
|
297
|
+
.where("id", id)
|
|
298
|
+
.update({
|
|
299
|
+
tracking_status: trackingStatus,
|
|
300
|
+
updated_at: new Date(),
|
|
301
|
+
})
|
|
302
|
+
.returning("*");
|
|
303
|
+
return result ? this.getById(result.id) : null;
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* Start a duty (transition to in_progress)
|
|
308
|
+
*/
|
|
309
|
+
startDuty(id, trackingSessionId, trx) {
|
|
310
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
311
|
+
const qb = trx || this.knex;
|
|
312
|
+
const updateData = {
|
|
313
|
+
status: "in_progress",
|
|
314
|
+
actual_start: new Date(),
|
|
315
|
+
updated_at: new Date(),
|
|
316
|
+
};
|
|
317
|
+
if (trackingSessionId) {
|
|
318
|
+
updateData.tracking_session_id = trackingSessionId;
|
|
319
|
+
updateData.tracking_status = "tracking";
|
|
320
|
+
}
|
|
321
|
+
const [result] = yield qb("duties")
|
|
322
|
+
.where("id", id)
|
|
323
|
+
.where("status", "pending")
|
|
324
|
+
.update(updateData)
|
|
325
|
+
.returning("*");
|
|
326
|
+
return result ? this.getById(result.id) : null;
|
|
327
|
+
});
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* Complete a duty
|
|
331
|
+
*/
|
|
332
|
+
completeDuty(id) {
|
|
333
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
334
|
+
const [result] = yield this.knex("duties")
|
|
335
|
+
.where("id", id)
|
|
336
|
+
.where("status", "in_progress")
|
|
337
|
+
.update({
|
|
338
|
+
status: "completed",
|
|
339
|
+
actual_end: new Date(),
|
|
340
|
+
updated_at: new Date(),
|
|
341
|
+
})
|
|
342
|
+
.returning("*");
|
|
343
|
+
return result ? this.getById(result.id) : null;
|
|
344
|
+
});
|
|
345
|
+
}
|
|
346
|
+
/**
|
|
347
|
+
* Cancel a duty (single atomic update to avoid TOCTOU race)
|
|
348
|
+
*/
|
|
349
|
+
cancelDuty(id) {
|
|
350
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
351
|
+
const [result] = yield this.knex("duties")
|
|
352
|
+
.where("id", id)
|
|
353
|
+
.update({
|
|
354
|
+
status: "cancelled",
|
|
355
|
+
actual_end: this.knex.raw("CASE WHEN status = 'in_progress' THEN NOW() ELSE actual_end END"),
|
|
356
|
+
updated_at: new Date(),
|
|
357
|
+
})
|
|
358
|
+
.returning("*");
|
|
359
|
+
return result ? this.getById(result.id) : null;
|
|
360
|
+
});
|
|
361
|
+
}
|
|
362
|
+
/**
|
|
363
|
+
* Check if a duty already exists for a template + user + date combination
|
|
364
|
+
*/
|
|
365
|
+
hasDuplicateDuty(dutyTemplateId, userId, dutyDate) {
|
|
366
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
367
|
+
// No is_active filter: the database unique constraint covers all rows
|
|
368
|
+
const result = yield this.knex("duties")
|
|
369
|
+
.where("duty_template_id", dutyTemplateId)
|
|
370
|
+
.where("user_id", userId)
|
|
371
|
+
.where("duty_date", dutyDate)
|
|
372
|
+
.first();
|
|
373
|
+
return !!result;
|
|
374
|
+
});
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
exports.DutyDAO = DutyDAO;
|
|
378
|
+
//# sourceMappingURL=duty.dao.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"duty.dao.js","sourceRoot":"","sources":["../../../src/dao/duty/duty.dao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,0EAA+C;AAS/C,MAAa,OAAO;IAGlB,IAAY,IAAI;QACd,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,GAAG,wBAAW,CAAC,aAAa,EAAE,CAAC;QAC3C,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,IAAS;;QAC7B,IAAI,IAAI,CAAC,aAAa,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;YACjE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACjD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI,KAAI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1D,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACvD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,KAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClE,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,SAAS;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;aAC5B,QAAQ,CAAC,sBAAsB,EAAE,oBAAoB,EAAE,OAAO,CAAC;aAC/D,QAAQ,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,CAAC;aAC7C,QAAQ,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC;aAC3C,QAAQ,CAAC,aAAa,EAAE,WAAW,EAAE,OAAO,CAAC;aAC7C,QAAQ,CAAC,qBAAqB,EAAE,eAAe,EAAE,eAAe,CAAC;aACjE,QAAQ,CAAC,aAAa,EAAE,oBAAoB,EAAE,OAAO,CAAC;aACtD,MAAM,CACL,KAAK,EACL,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iCAAiC,CAAC,EAChD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,EACvC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;;;;;;;;;;kBAUJ,CAAC,EACX,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;;;;;;;;;;oCAUc,CAAC,CAC9B,CAAC;IACN,CAAC;IAED;;OAEG;IACG,MAAM;6DACV,OAAe,CAAC,EAChB,QAAgB,EAAE;YAElB,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;YAElC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;iBACnC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC;iBAC1B,KAAK,CAAC,KAAK,CAAC;iBACZ,MAAM,CAAC,MAAM,CAAC;iBACd,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAElC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;YAElE,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;iBAC/C,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC;iBACxB,KAAK,CAAC,YAAY,CAAC;iBACnB,KAAK,EAAE,CAAC;YAEX,MAAM,UAAU,GAAG,MAAM,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,KAAK,KAAI,CAAC,CAAC,CAAC;YACxD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC;YAEjD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;QAC7E,CAAC;KAAA;IAED;;OAEG;IACG,OAAO,CAAC,EAAU;;YACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;iBAClC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;iBACjB,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC;iBAC1B,KAAK,EAAE,CAAC;YAEX,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpD,CAAC;KAAA;IAED;;OAEG;IACG,SAAS,CAAC,IAAY;;YAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;iBAClC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC;iBACrB,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC;iBAC1B,KAAK,EAAE,CAAC;YAEX,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpD,CAAC;KAAA;IAED;;OAEG;IACG,WAAW;6DACf,MAAc,EACd,OAAe,CAAC,EAChB,QAAgB,EAAE;YAElB,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;YAElC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;iBACnC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC;iBAC1B,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC;iBAC1B,KAAK,CAAC,KAAK,CAAC;iBACZ,MAAM,CAAC,MAAM,CAAC;iBACd,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAElC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;YAElE,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;iBAC/C,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC;iBACxB,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC;iBACxB,KAAK,CAAC,YAAY,CAAC;iBACnB,KAAK,EAAE,CAAC;YAEX,MAAM,UAAU,GAAG,MAAM,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,KAAK,KAAI,CAAC,CAAC,CAAC;YACxD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC;YAEjD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;QAC7E,CAAC;KAAA;IAED;;OAEG;IACG,YAAY;6DAChB,OAAe,EACf,OAAe,CAAC,EAChB,QAAgB,EAAE;YAElB,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;YAElC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;iBACnC,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC;iBAC5B,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC;iBAC1B,KAAK,CAAC,KAAK,CAAC;iBACZ,MAAM,CAAC,MAAM,CAAC;iBACd,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAElC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;YAElE,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;iBAC/C,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC;iBAC1B,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC;iBACxB,KAAK,CAAC,YAAY,CAAC;iBACnB,KAAK,EAAE,CAAC;YAEX,MAAM,UAAU,GAAG,MAAM,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,KAAK,KAAI,CAAC,CAAC,CAAC;YACxD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC;YAEjD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;QAC7E,CAAC;KAAA;IAED;;OAEG;IACG,iBAAiB,CAAC,MAAc;;YACpC,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAErD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;iBACnC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC;iBAC1B,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC;iBAC1B,KAAK,CAAC,aAAa,EAAE,IAAI,EAAE,KAAK,CAAC;iBACjC,OAAO,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;iBAC/C,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YAEjC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,CAAC;KAAA;IAED;;OAEG;IACG,gBAAgB,CAAC,MAAc;;YACnC,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAErD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;iBACnC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC;iBAC1B,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC;iBAC1B,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC;iBAC3B,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YAElC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,CAAC;KAAA;IAED;;OAEG;IACG,WAAW;6DACf,MAAc,EACd,OAAe,CAAC,EAChB,QAAgB,EAAE;YAElB,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;YAElC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;iBACnC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC;iBACzB,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC;iBAC1B,KAAK,CAAC,KAAK,CAAC;iBACZ,MAAM,CAAC,MAAM,CAAC;iBACd,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAElC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;YAElE,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;iBAC/C,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC;iBACvB,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC;iBACxB,KAAK,CAAC,YAAY,CAAC;iBACnB,KAAK,EAAE,CAAC;YAEX,MAAM,UAAU,GAAG,MAAM,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,KAAK,KAAI,CAAC,CAAC,CAAC;YACxD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC;YAEjD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;QAC7E,CAAC;KAAA;IAED;;OAEG;IACG,MAAM,CAAC,IAAiB;;YAC5B,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;iBACvC,MAAM,CAAC;gBACN,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI;gBACrC,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;gBACzB,MAAM,EAAE,SAAS;gBACjB,eAAe,EAAE,MAAM;aACxB,CAAC;iBACD,SAAS,CAAC,GAAG,CAAC,CAAC;YAElB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAmB,CAAC;QACnD,CAAC;KAAA;IAED;;OAEG;IACG,MAAM,CAAC,EAAU,EAAE,IAAiB;;YACxC,MAAM,UAAU,GAAQ,EAAE,CAAC;YAE3B,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;gBAAE,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACxE,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;gBAAE,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC/D,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;gBACjC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAC9C,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;gBAAE,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YAC3E,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS;gBACxC,UAAU,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;YAC5D,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS;gBACpC,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YACpD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;gBAAE,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAC5D,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;gBAAE,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAExE,UAAU,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;YAEnC,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;iBACvC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;iBACf,MAAM,CAAC,UAAU,CAAC;iBAClB,SAAS,CAAC,GAAG,CAAC,CAAC;YAElB,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjD,CAAC;KAAA;IAED;;OAEG;IACG,MAAM,CAAC,EAAU;;YACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;gBAC9D,SAAS,EAAE,KAAK;gBAChB,UAAU,EAAE,IAAI,IAAI,EAAE;aACvB,CAAC,CAAC;YAEH,OAAO,MAAM,GAAG,CAAC,CAAC;QACpB,CAAC;KAAA;IAED;;OAEG;IACG,oBAAoB,CACxB,EAAU,EACV,cAAgE;;YAEhE,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;iBACvC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;iBACf,MAAM,CAAC;gBACN,eAAe,EAAE,cAAc;gBAC/B,UAAU,EAAE,IAAI,IAAI,EAAE;aACvB,CAAC;iBACD,SAAS,CAAC,GAAG,CAAC,CAAC;YAElB,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjD,CAAC;KAAA;IAED;;OAEG;IACG,SAAS,CACb,EAAU,EACV,iBAA0B,EAC1B,GAAsB;;YAEtB,MAAM,EAAE,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC;YAC5B,MAAM,UAAU,GAAQ;gBACtB,MAAM,EAAE,aAAa;gBACrB,YAAY,EAAE,IAAI,IAAI,EAAE;gBACxB,UAAU,EAAE,IAAI,IAAI,EAAE;aACvB,CAAC;YAEF,IAAI,iBAAiB,EAAE,CAAC;gBACtB,UAAU,CAAC,mBAAmB,GAAG,iBAAiB,CAAC;gBACnD,UAAU,CAAC,eAAe,GAAG,UAAU,CAAC;YAC1C,CAAC;YAED,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC;iBAChC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;iBACf,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC;iBAC1B,MAAM,CAAC,UAAU,CAAC;iBAClB,SAAS,CAAC,GAAG,CAAC,CAAC;YAElB,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjD,CAAC;KAAA;IAED;;OAEG;IACG,YAAY,CAAC,EAAU;;YAC3B,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;iBACvC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;iBACf,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC;iBAC9B,MAAM,CAAC;gBACN,MAAM,EAAE,WAAW;gBACnB,UAAU,EAAE,IAAI,IAAI,EAAE;gBACtB,UAAU,EAAE,IAAI,IAAI,EAAE;aACvB,CAAC;iBACD,SAAS,CAAC,GAAG,CAAC,CAAC;YAElB,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjD,CAAC;KAAA;IAED;;OAEG;IACG,UAAU,CAAC,EAAU;;YACzB,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;iBACvC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;iBACf,MAAM,CAAC;gBACN,MAAM,EAAE,WAAW;gBACnB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CACvB,iEAAiE,CAClE;gBACD,UAAU,EAAE,IAAI,IAAI,EAAE;aACvB,CAAC;iBACD,SAAS,CAAC,GAAG,CAAC,CAAC;YAElB,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjD,CAAC;KAAA;IAED;;OAEG;IACG,gBAAgB,CACpB,cAAsB,EACtB,MAAc,EACd,QAAuB;;YAEvB,sEAAsE;YACtE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;iBACrC,KAAK,CAAC,kBAAkB,EAAE,cAAc,CAAC;iBACzC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC;iBACxB,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC;iBAC5B,KAAK,EAAE,CAAC;YAEX,OAAO,CAAC,CAAC,MAAM,CAAC;QAClB,CAAC;KAAA;CACF;AA9ZD,0BA8ZC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Knex } from "knex";
|
|
2
|
+
import { IDutyItemProgress, IDutyItemProgressUpdate } from "../../interfaces/duty-item-progress/duty-item-progress.interfaces";
|
|
3
|
+
export declare class DutyItemProgressDAO {
|
|
4
|
+
private _knex?;
|
|
5
|
+
private get knex();
|
|
6
|
+
/**
|
|
7
|
+
* Create progress records for all items in a duty
|
|
8
|
+
*/
|
|
9
|
+
createForDuty(dutyId: number, items: {
|
|
10
|
+
template_item_id: number;
|
|
11
|
+
item_order: number;
|
|
12
|
+
}[], trx?: Knex.Transaction): Promise<IDutyItemProgress[]>;
|
|
13
|
+
/**
|
|
14
|
+
* Get all progress records for a duty
|
|
15
|
+
*/
|
|
16
|
+
getByDutyId(dutyId: number): Promise<IDutyItemProgress[]>;
|
|
17
|
+
/**
|
|
18
|
+
* Get a single progress record by UUID
|
|
19
|
+
*/
|
|
20
|
+
getByUuid(uuid: string): Promise<IDutyItemProgress | null>;
|
|
21
|
+
/**
|
|
22
|
+
* Get a single progress record by ID
|
|
23
|
+
*/
|
|
24
|
+
getById(id: number): Promise<IDutyItemProgress | null>;
|
|
25
|
+
/**
|
|
26
|
+
* Update a single item's progress status
|
|
27
|
+
*/
|
|
28
|
+
updateItemStatus(id: number, data: IDutyItemProgressUpdate): Promise<IDutyItemProgress | null>;
|
|
29
|
+
/**
|
|
30
|
+
* Increment the loop count for a repeating route item
|
|
31
|
+
*/
|
|
32
|
+
incrementLoopCount(id: number): Promise<IDutyItemProgress | null>;
|
|
33
|
+
/**
|
|
34
|
+
* Delete all progress records for a duty
|
|
35
|
+
*/
|
|
36
|
+
deleteByDutyId(dutyId: number): Promise<number>;
|
|
37
|
+
}
|