@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.
Files changed (42) hide show
  1. package/dist/dao/driver-tracking/driver-tracking.dao.d.ts +8 -0
  2. package/dist/dao/driver-tracking/driver-tracking.dao.js +25 -1
  3. package/dist/dao/driver-tracking/driver-tracking.dao.js.map +1 -1
  4. package/dist/dao/duty/duty.dao.d.ts +79 -0
  5. package/dist/dao/duty/duty.dao.js +378 -0
  6. package/dist/dao/duty/duty.dao.js.map +1 -0
  7. package/dist/dao/duty-item-progress/duty-item-progress.dao.d.ts +37 -0
  8. package/dist/dao/duty-item-progress/duty-item-progress.dao.js +126 -0
  9. package/dist/dao/duty-item-progress/duty-item-progress.dao.js.map +1 -0
  10. package/dist/dao/duty-template/duty-template.dao.d.ts +66 -0
  11. package/dist/dao/duty-template/duty-template.dao.js +369 -0
  12. package/dist/dao/duty-template/duty-template.dao.js.map +1 -0
  13. package/dist/dao/duty-track/duty-track.dao.d.ts +45 -0
  14. package/dist/dao/duty-track/duty-track.dao.js +200 -0
  15. package/dist/dao/duty-track/duty-track.dao.js.map +1 -0
  16. package/dist/dao/event/event.dao.js +9 -3
  17. package/dist/dao/event/event.dao.js.map +1 -1
  18. package/dist/dao/system-setting/system-setting.dao.d.ts +14 -0
  19. package/dist/dao/system-setting/system-setting.dao.js +99 -0
  20. package/dist/dao/system-setting/system-setting.dao.js.map +1 -0
  21. package/dist/dao/trip-track/trip-track.dao.js +4 -4
  22. package/dist/dao/trip-track/trip-track.dao.js.map +1 -1
  23. package/dist/index.d.ts +10 -0
  24. package/dist/index.js +11 -1
  25. package/dist/index.js.map +1 -1
  26. package/dist/interfaces/driver-tracking/driver-tracking.interfaces.d.ts +5 -2
  27. package/dist/interfaces/duty/duty.interfaces.d.ts +48 -0
  28. package/dist/interfaces/duty/duty.interfaces.js +3 -0
  29. package/dist/interfaces/duty/duty.interfaces.js.map +1 -0
  30. package/dist/interfaces/duty-item-progress/duty-item-progress.interfaces.d.ts +28 -0
  31. package/dist/interfaces/duty-item-progress/duty-item-progress.interfaces.js +3 -0
  32. package/dist/interfaces/duty-item-progress/duty-item-progress.interfaces.js.map +1 -0
  33. package/dist/interfaces/duty-template/duty-template.interfaces.d.ts +75 -0
  34. package/dist/interfaces/duty-template/duty-template.interfaces.js +3 -0
  35. package/dist/interfaces/duty-template/duty-template.interfaces.js.map +1 -0
  36. package/dist/interfaces/duty-track/duty-track.interfaces.d.ts +39 -0
  37. package/dist/interfaces/duty-track/duty-track.interfaces.js +3 -0
  38. package/dist/interfaces/duty-track/duty-track.interfaces.js.map +1 -0
  39. package/dist/interfaces/system-setting/system-setting.interfaces.d.ts +27 -0
  40. package/dist/interfaces/system-setting/system-setting.interfaces.js +3 -0
  41. package/dist/interfaces/system-setting/system-setting.interfaces.js.map +1 -0
  42. 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":"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"}
@@ -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
+ }