@tmscloud/tbt-knex 0.0.28 → 0.0.30

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 (33) hide show
  1. package/dist/dao/driver-tracking/driver-tracking.dao.js +23 -2
  2. package/dist/dao/driver-tracking/driver-tracking.dao.js.map +1 -1
  3. package/dist/dao/duty/duty.dao.d.ts +16 -0
  4. package/dist/dao/duty/duty.dao.js +115 -26
  5. package/dist/dao/duty/duty.dao.js.map +1 -1
  6. package/dist/dao/duty-feedback/duty-feedback.dao.d.ts +7 -0
  7. package/dist/dao/duty-feedback/duty-feedback.dao.js +58 -0
  8. package/dist/dao/duty-feedback/duty-feedback.dao.js.map +1 -0
  9. package/dist/dao/duty-item-progress/duty-item-progress.dao.d.ts +45 -0
  10. package/dist/dao/duty-item-progress/duty-item-progress.dao.js +178 -2
  11. package/dist/dao/duty-item-progress/duty-item-progress.dao.js.map +1 -1
  12. package/dist/dao/duty-stop-event/duty-stop-event.dao.d.ts +1 -0
  13. package/dist/dao/duty-stop-event/duty-stop-event.dao.js +11 -0
  14. package/dist/dao/duty-stop-event/duty-stop-event.dao.js.map +1 -1
  15. package/dist/dao/route/route.dao.d.ts +6 -0
  16. package/dist/dao/route/route.dao.js +22 -0
  17. package/dist/dao/route/route.dao.js.map +1 -1
  18. package/dist/dao/stats/stats.dao.d.ts +7 -0
  19. package/dist/dao/stats/stats.dao.js +122 -0
  20. package/dist/dao/stats/stats.dao.js.map +1 -0
  21. package/dist/index.d.ts +7 -1
  22. package/dist/index.js +7 -1
  23. package/dist/index.js.map +1 -1
  24. package/dist/interfaces/driver-tracking/driver-tracking.interfaces.d.ts +1 -0
  25. package/dist/interfaces/duty/duty.interfaces.d.ts +2 -0
  26. package/dist/interfaces/duty-feedback/duty-feedback.interfaces.d.ts +18 -0
  27. package/dist/interfaces/duty-feedback/duty-feedback.interfaces.js +3 -0
  28. package/dist/interfaces/duty-feedback/duty-feedback.interfaces.js.map +1 -0
  29. package/dist/interfaces/duty-item-progress/duty-item-progress.interfaces.d.ts +7 -0
  30. package/dist/interfaces/stats/stats.interfaces.d.ts +24 -0
  31. package/dist/interfaces/stats/stats.interfaces.js +3 -0
  32. package/dist/interfaces/stats/stats.interfaces.js.map +1 -0
  33. package/package.json +1 -1
@@ -39,11 +39,65 @@ class DutyItemProgressDAO {
39
39
  return created;
40
40
  });
41
41
  }
42
+ /**
43
+ * Includes the joined route row for code-injected items (template_item_id
44
+ * NULL, route_id set). Template items resolve their route through the duty
45
+ * template instead, so the join stays NULL for them — without it, clients
46
+ * rebuilding state from this endpoint lose injected routes entirely.
47
+ */
42
48
  getByDutyId(dutyId) {
43
49
  return __awaiter(this, void 0, void 0, function* () {
44
- return this.knex("duty_item_progress")
50
+ const rows = yield this.knex("duty_item_progress as dip")
51
+ .leftJoin("routes as r", function () {
52
+ this.on("r.id", "dip.route_id").andOnNull("dip.template_item_id");
53
+ })
54
+ .select("dip.*", this.knex.raw("to_jsonb(r.*) as route"))
55
+ .where("dip.duty_id", dutyId)
56
+ .orderBy("dip.item_order", "asc");
57
+ return rows.map((row) => this.parseProgressJson(row));
58
+ });
59
+ }
60
+ getByDutyIds(dutyIds) {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ if (dutyIds.length === 0)
63
+ return [];
64
+ const rows = yield this.knex("duty_item_progress as dip")
65
+ .leftJoin("routes as r", function () {
66
+ this.on("r.id", "dip.route_id").andOnNull("dip.template_item_id");
67
+ })
68
+ .select("dip.*", this.knex.raw("to_jsonb(r.*) as route"))
69
+ .whereIn("dip.duty_id", dutyIds)
70
+ .orderBy("dip.duty_id", "asc")
71
+ .orderBy("dip.item_order", "asc");
72
+ return rows.map((row) => this.parseProgressJson(row));
73
+ });
74
+ }
75
+ parseProgressJson(row) {
76
+ if (row.route && typeof row.route === "string") {
77
+ row.route = JSON.parse(row.route);
78
+ }
79
+ return row;
80
+ }
81
+ /**
82
+ * Newest NON-driver progress mutation for a duty, used as the staleness
83
+ * anchor for mobile sync. Driver-sourced rows are excluded on purpose:
84
+ * the driver's own writes can carry timestamps newer than a concurrent
85
+ * admin change, and a scalar max that included them would mask that admin
86
+ * change forever. Excluding them also keeps the driver's routine progress
87
+ * writes from flagging the driver's own client as stale on every item.
88
+ *
89
+ * The pg driver truncates timestamptz to ms, matching what clients can
90
+ * echo back — compare with getTime(), never raw DB values.
91
+ */
92
+ getProgressRevision(dutyId) {
93
+ return __awaiter(this, void 0, void 0, function* () {
94
+ var _a;
95
+ const result = yield this.knex("duty_item_progress")
45
96
  .where("duty_id", dutyId)
46
- .orderBy("item_order", "asc");
97
+ .whereRaw("status_source IS DISTINCT FROM 'driver'")
98
+ .max("updated_at as rev")
99
+ .first();
100
+ return (_a = result === null || result === void 0 ? void 0 : result.rev) !== null && _a !== void 0 ? _a : null;
47
101
  });
48
102
  }
49
103
  getByUuid(uuid) {
@@ -75,6 +129,10 @@ class DutyItemProgressDAO {
75
129
  updateData.loop_count = data.loop_count;
76
130
  if (data.time_at_stop !== undefined)
77
131
  updateData.time_at_stop = data.time_at_stop;
132
+ if (data.status_changed_by !== undefined)
133
+ updateData.status_changed_by = data.status_changed_by;
134
+ if (data.status_source !== undefined)
135
+ updateData.status_source = data.status_source;
78
136
  updateData.updated_at = new Date();
79
137
  const [result] = yield this.knex("duty_item_progress")
80
138
  .where("id", id)
@@ -140,6 +198,10 @@ class DutyItemProgressDAO {
140
198
  if (!trx) {
141
199
  return this.knex.transaction((t) => this.injectRouteItem(dutyId, routeId, t));
142
200
  }
201
+ // Serialize against completeIfNoRemainingItems: injecting between its
202
+ // remaining-items count and its completion update would complete a duty
203
+ // that just gained a fresh pending item.
204
+ yield trx("duties").where("id", dutyId).forUpdate().first();
143
205
  const allItems = yield trx("duty_item_progress")
144
206
  .where("duty_id", dutyId)
145
207
  .orderBy("item_order", "asc");
@@ -190,6 +252,120 @@ class DutyItemProgressDAO {
190
252
  return created;
191
253
  });
192
254
  }
255
+ /**
256
+ * Append a route as a new pending item at the end of the duty's list
257
+ * (item_order = max + 1), tagged admin-sourced so it advances the sync
258
+ * revision. Unlike injectRouteItem (driver, by code) it does NOT revert the
259
+ * in-progress item or drop prior injections — dispatch is adding upcoming
260
+ * work, not redirecting the driver's current item. Returns null when the
261
+ * duty is not in_progress, checked under the same row lock that serializes
262
+ * completeIfNoRemainingItems (so a route can't land on a just-completed duty).
263
+ */
264
+ addAdminRouteItem(dutyId, routeId, adminUserId, trx) {
265
+ return __awaiter(this, void 0, void 0, function* () {
266
+ var _a;
267
+ if (!trx) {
268
+ return this.knex.transaction((t) => this.addAdminRouteItem(dutyId, routeId, adminUserId, t));
269
+ }
270
+ const duty = yield trx("duties")
271
+ .where("id", dutyId)
272
+ .forUpdate()
273
+ .select("status")
274
+ .first();
275
+ if (!duty || duty.status !== "in_progress")
276
+ return null;
277
+ const maxRow = yield trx("duty_item_progress")
278
+ .where("duty_id", dutyId)
279
+ .max("item_order as max")
280
+ .first();
281
+ const nextOrder = Number((_a = maxRow === null || maxRow === void 0 ? void 0 : maxRow.max) !== null && _a !== void 0 ? _a : -1) + 1;
282
+ const [created] = yield trx("duty_item_progress")
283
+ .insert({
284
+ duty_id: dutyId,
285
+ route_id: routeId,
286
+ template_item_id: null,
287
+ item_order: nextOrder,
288
+ status: "pending",
289
+ status_source: "admin",
290
+ status_changed_by: adminUserId,
291
+ loop_count: 0,
292
+ })
293
+ .returning("*");
294
+ return created;
295
+ });
296
+ }
297
+ /**
298
+ * Reorder the upcoming (pending) items of an in-progress duty. Only items
299
+ * strictly after the cursor — the highest item_order among started/finished
300
+ * items — may move; anything the driver has reached or passed stays put.
301
+ * `orderedUuids` must be EXACTLY that reorderable set (optimistic
302
+ * concurrency: a mismatch means the driver advanced or the set changed, so
303
+ * the caller should refetch). New orders are packed contiguously right after
304
+ * the cursor, which never collides with the frozen prefix (all <= cursor).
305
+ * Returns a result the controller maps to an HTTP status. Runs under the
306
+ * duty row lock to serialize against completeIfNoRemainingItems.
307
+ */
308
+ reorderUpcomingItems(dutyId, orderedUuids, trx) {
309
+ return __awaiter(this, void 0, void 0, function* () {
310
+ if (!trx) {
311
+ return this.knex.transaction((t) => this.reorderUpcomingItems(dutyId, orderedUuids, t));
312
+ }
313
+ const duty = yield trx("duties")
314
+ .where("id", dutyId)
315
+ .forUpdate()
316
+ .select("status")
317
+ .first();
318
+ if (!duty || duty.status !== "in_progress") {
319
+ return { ok: false, reason: "not_in_progress" };
320
+ }
321
+ if (new Set(orderedUuids).size !== orderedUuids.length) {
322
+ return { ok: false, reason: "duplicate" };
323
+ }
324
+ // Lock ALL of the duty's item rows, not just the duties row: the driver's
325
+ // own status transition (PUT /items -> updateItemStatus) does NOT take the
326
+ // duties lock, so without locking the item rows here a driver could flip an
327
+ // item pending->in_progress between this read and the reorder writes,
328
+ // letting us renumber an item the driver just started. With the row lock,
329
+ // such a write either already committed (so this read sees the new status
330
+ // and the exact-set check below fails -> stale_set) or blocks until we
331
+ // commit on a consistent snapshot.
332
+ const allItems = yield trx("duty_item_progress")
333
+ .where("duty_id", dutyId)
334
+ .forUpdate()
335
+ .orderBy("item_order", "asc");
336
+ // Only in_progress/completed define the cursor — NOT skipped. A skipped item
337
+ // ahead of the driver (dispatch skips an upcoming item) must not advance the
338
+ // cursor, or the pending items behind it would wrongly fall out of the
339
+ // reorderable set.
340
+ const executedOrders = allItems
341
+ .filter((i) => i.status === "in_progress" || i.status === "completed")
342
+ .map((i) => i.item_order);
343
+ const cursorOrder = executedOrders.length
344
+ ? Math.max(...executedOrders)
345
+ : -1;
346
+ const reorderable = allItems.filter((i) => i.status === "pending" && i.item_order > cursorOrder);
347
+ const reorderableUuids = new Set(reorderable.map((i) => i.uuid));
348
+ if (orderedUuids.length !== reorderable.length ||
349
+ !orderedUuids.every((u) => reorderableUuids.has(u))) {
350
+ return { ok: false, reason: "stale_set" };
351
+ }
352
+ // Permute the pending items among their OWN existing item_order slots rather
353
+ // than repacking from cursor+1: an ahead-skipped item can sit inside this
354
+ // range, and contiguous packing would collide with its order. The slots are
355
+ // exactly the reorderable items' current orders, which never include a
356
+ // skipped item's order, so reassigning them is collision-free.
357
+ const slots = reorderable
358
+ .map((i) => i.item_order)
359
+ .sort((a, b) => a - b);
360
+ const idByUuid = new Map(reorderable.map((i) => [i.uuid, i.id]));
361
+ for (let k = 0; k < orderedUuids.length; k++) {
362
+ yield trx("duty_item_progress")
363
+ .where("id", idByUuid.get(orderedUuids[k]))
364
+ .update({ item_order: slots[k], updated_at: new Date() });
365
+ }
366
+ return { ok: true };
367
+ });
368
+ }
193
369
  deleteByDutyId(dutyId) {
194
370
  return __awaiter(this, void 0, void 0, function* () {
195
371
  return this.knex("duty_item_progress").where("duty_id", dutyId).delete();
@@ -1 +1 @@
1
- {"version":3,"file":"duty-item-progress.dao.js","sourceRoot":"","sources":["../../../src/dao/duty-item-progress/duty-item-progress.dao.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"duty-item-progress.dao.js","sourceRoot":"","sources":["../../../src/dao/duty-item-progress/duty-item-progress.dao.ts"],"names":[],"mappings":"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"}
@@ -9,4 +9,5 @@ export declare class DutyStopEventDAO {
9
9
  */
10
10
  createBatch(events: IDutyStopEventCreate[]): Promise<number>;
11
11
  getByDutyId(dutyId: number): Promise<IDutyStopEvent[]>;
12
+ getByDutyIds(dutyIds: number[]): Promise<IDutyStopEvent[]>;
12
13
  }
@@ -47,6 +47,17 @@ class DutyStopEventDAO {
47
47
  return rows.map((row) => (Object.assign(Object.assign({}, row), { latitude: row.latitude != null ? Number(row.latitude) : null, longitude: row.longitude != null ? Number(row.longitude) : null })));
48
48
  });
49
49
  }
50
+ getByDutyIds(dutyIds) {
51
+ return __awaiter(this, void 0, void 0, function* () {
52
+ if (dutyIds.length === 0)
53
+ return [];
54
+ const rows = yield this.knex("duty_stop_events")
55
+ .whereIn("duty_id", dutyIds)
56
+ .orderBy("duty_id", "asc")
57
+ .orderBy("recorded_at", "asc");
58
+ return rows.map((row) => (Object.assign(Object.assign({}, row), { latitude: row.latitude != null ? Number(row.latitude) : null, longitude: row.longitude != null ? Number(row.longitude) : null })));
59
+ });
60
+ }
50
61
  }
51
62
  exports.DutyStopEventDAO = DutyStopEventDAO;
52
63
  //# sourceMappingURL=duty-stop-event.dao.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"duty-stop-event.dao.js","sourceRoot":"","sources":["../../../src/dao/duty-stop-event/duty-stop-event.dao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,0EAA+C;AAM/C,MAAa,gBAAgB;IAG3B,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;;;;OAIG;IACG,WAAW,CAAC,MAA8B;;YAC9C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,CAAC,CAAC;YAElC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC;iBACjD,MAAM,CAAC,MAAM,CAAC;iBACd,UAAU,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;iBAC/D,MAAM,EAAE;iBACR,SAAS,CAAC,IAAI,CAAC,CAAC;YAEnB,OAAO,QAAQ,CAAC,MAAM,CAAC;QACzB,CAAC;KAAA;IAEK,WAAW,CAAC,MAAc;;YAC9B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC;iBAC7C,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC;iBACxB,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YAEjC,wDAAwD;YACxD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,iCACzB,GAAG,KACN,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAC5D,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAC/D,CAAC,CAAC;QACN,CAAC;KAAA;CACF;AAvCD,4CAuCC"}
1
+ {"version":3,"file":"duty-stop-event.dao.js","sourceRoot":"","sources":["../../../src/dao/duty-stop-event/duty-stop-event.dao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,0EAA+C;AAM/C,MAAa,gBAAgB;IAG3B,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;;;;OAIG;IACG,WAAW,CAAC,MAA8B;;YAC9C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,CAAC,CAAC;YAElC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC;iBACjD,MAAM,CAAC,MAAM,CAAC;iBACd,UAAU,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;iBAC/D,MAAM,EAAE;iBACR,SAAS,CAAC,IAAI,CAAC,CAAC;YAEnB,OAAO,QAAQ,CAAC,MAAM,CAAC;QACzB,CAAC;KAAA;IAEK,WAAW,CAAC,MAAc;;YAC9B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC;iBAC7C,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC;iBACxB,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YAEjC,wDAAwD;YACxD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,iCACzB,GAAG,KACN,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAC5D,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAC/D,CAAC,CAAC;QACN,CAAC;KAAA;IAEK,YAAY,CAAC,OAAiB;;YAClC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YAEpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC;iBAC7C,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC;iBAC3B,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC;iBACzB,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YAEjC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,iCACzB,GAAG,KACN,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAC5D,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAC/D,CAAC,CAAC;QACN,CAAC;KAAA;CACF;AAtDD,4CAsDC"}
@@ -16,6 +16,12 @@ export declare class RouteDAO implements IBaseDAO<IRoute> {
16
16
  getById(id: number): Promise<IRoute | null>;
17
17
  getByUuid(uuid: string): Promise<IRoute | null>;
18
18
  getByCodeAndEventId(code: string, eventId: number): Promise<IRoute | null>;
19
+ /** Lightweight id/freshness lookup for the tracking sync handshake. */
20
+ getRefsByUuids(uuids: string[]): Promise<Array<{
21
+ id: number;
22
+ uuid: string;
23
+ updated_at: Date;
24
+ }>>;
19
25
  getActiveByCode(code: string): Promise<IRoute | null>;
20
26
  create(data: IRoute): Promise<IRoute>;
21
27
  update(id: number, data: Partial<IRoute>): Promise<IRoute | null>;
@@ -131,6 +131,16 @@ class RouteDAO {
131
131
  return result ? this.parseRouteJson(result) : null;
132
132
  });
133
133
  }
134
+ /** Lightweight id/freshness lookup for the tracking sync handshake. */
135
+ getRefsByUuids(uuids) {
136
+ return __awaiter(this, void 0, void 0, function* () {
137
+ if (uuids.length === 0)
138
+ return [];
139
+ return this.knex("routes")
140
+ .select("id", "uuid", "updated_at")
141
+ .whereIn("uuid", uuids);
142
+ });
143
+ }
134
144
  getActiveByCode(code) {
135
145
  return __awaiter(this, void 0, void 0, function* () {
136
146
  const result = yield this.knex("routes as r")
@@ -247,6 +257,18 @@ class RouteDAO {
247
257
  WHERE route_id = ?
248
258
  OR template_item_id IN (SELECT id FROM duty_template_items WHERE route_id = ?)`, [id, id]);
249
259
  const dtiCount = yield c(`SELECT count(*)::int AS c FROM duty_template_items WHERE route_id = ?`, [id]);
260
+ // Touch the surviving rows of affected duties so the mobile staleness
261
+ // anchor (max updated_at) moves — a deletion alone leaves it unchanged
262
+ // and an actively-driving client would never learn its list shrank.
263
+ // status_source is cleared because the anchor excludes driver-sourced
264
+ // rows; without it a duty whose survivors were all driver-touched
265
+ // would never flag. Acceptable audit smudge for a destructive op.
266
+ yield trx.raw(`UPDATE duty_item_progress SET updated_at = NOW(), status_source = NULL
267
+ WHERE duty_id IN (
268
+ SELECT DISTINCT duty_id FROM duty_item_progress
269
+ WHERE route_id = ?
270
+ OR template_item_id IN (SELECT id FROM duty_template_items WHERE route_id = ?)
271
+ )`, [id, id]);
250
272
  // template_item_id matches block the items DELETE below (RESTRICT FK).
251
273
  yield trx.raw(`DELETE FROM duty_item_progress
252
274
  WHERE route_id = ?
@@ -1 +1 @@
1
- {"version":3,"file":"route.dao.js","sourceRoot":"","sources":["../../../src/dao/route/route.dao.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route.dao.js","sourceRoot":"","sources":["../../../src/dao/route/route.dao.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { IStatsDateRange, IStatsDutyRollupRow, IStatsFeedbackDayRow } from "../../interfaces/stats/stats.interfaces";
2
+ export declare class StatsDAO {
3
+ private _knex?;
4
+ private get knex();
5
+ getDutyRollup(eventId: number, range?: IStatsDateRange): Promise<IStatsDutyRollupRow[]>;
6
+ getFeedbackByDay(eventId: number, range?: IStatsDateRange): Promise<IStatsFeedbackDayRow[]>;
7
+ }
@@ -0,0 +1,122 @@
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.StatsDAO = void 0;
16
+ const KnexConnection_1 = __importDefault(require("../../KnexConnection"));
17
+ class StatsDAO {
18
+ get knex() {
19
+ if (!this._knex) {
20
+ this._knex = KnexConnection_1.default.getConnection();
21
+ }
22
+ return this._knex;
23
+ }
24
+ getDutyRollup(eventId, range) {
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ const bindings = { eventId };
27
+ let dateFilter = "";
28
+ if (range === null || range === void 0 ? void 0 : range.from) {
29
+ dateFilter += " AND d.duty_date >= :from";
30
+ bindings.from = range.from;
31
+ }
32
+ if (range === null || range === void 0 ? void 0 : range.to) {
33
+ dateFilter += " AND d.duty_date <= :to";
34
+ bindings.to = range.to;
35
+ }
36
+ const sql = `
37
+ SELECT
38
+ d.id AS duty_id,
39
+ d.uuid AS duty_uuid,
40
+ d.duty_date,
41
+ d.status,
42
+ t.is_adhoc,
43
+ COUNT(p.id) AS items_total,
44
+ COUNT(p.id) FILTER (WHERE p.status = 'completed') AS items_completed,
45
+ COUNT(p.id) FILTER (WHERE p.status = 'skipped') AS items_skipped,
46
+ COUNT(p.id) FILTER (WHERE p.status IN ('pending','in_progress')) AS items_open,
47
+ COUNT(p.id) FILTER (
48
+ WHERE p.status = 'completed'
49
+ AND (p.route_id IS NOT NULL OR dti.item_type = 'route')
50
+ ) AS routes_completed,
51
+ CASE
52
+ WHEN d.actual_start IS NOT NULL AND d.actual_end IS NOT NULL
53
+ THEN EXTRACT(EPOCH FROM (d.actual_end - d.actual_start))
54
+ ELSE NULL
55
+ END AS actual_seconds,
56
+ seg.planned_seconds
57
+ FROM duties d
58
+ JOIN duty_templates t ON t.id = d.duty_template_id
59
+ LEFT JOIN duty_item_progress p ON p.duty_id = d.id
60
+ LEFT JOIN duty_template_items dti ON dti.id = p.template_item_id
61
+ LEFT JOIN (
62
+ SELECT duty_template_id,
63
+ EXTRACT(EPOCH FROM (MAX(end_time) - MIN(start_time))) AS planned_seconds
64
+ FROM duty_template_segments
65
+ GROUP BY duty_template_id
66
+ ) seg ON seg.duty_template_id = d.duty_template_id
67
+ WHERE d.event_id = :eventId AND d.is_active = true${dateFilter}
68
+ GROUP BY d.id, d.uuid, d.duty_date, d.status, t.is_adhoc, seg.planned_seconds
69
+ ORDER BY d.duty_date ASC, d.id ASC
70
+ `;
71
+ const result = yield this.knex.raw(sql, bindings);
72
+ return result.rows.map((row) => ({
73
+ duty_id: Number(row.duty_id),
74
+ duty_uuid: row.duty_uuid,
75
+ duty_date: row.duty_date,
76
+ status: row.status,
77
+ is_adhoc: row.is_adhoc,
78
+ items_total: Number(row.items_total),
79
+ items_completed: Number(row.items_completed),
80
+ items_skipped: Number(row.items_skipped),
81
+ items_open: Number(row.items_open),
82
+ routes_completed: Number(row.routes_completed),
83
+ actual_seconds: row.actual_seconds == null ? null : Math.round(Number(row.actual_seconds)),
84
+ planned_seconds: row.planned_seconds == null
85
+ ? null
86
+ : Math.round(Number(row.planned_seconds)),
87
+ }));
88
+ });
89
+ }
90
+ getFeedbackByDay(eventId, range) {
91
+ return __awaiter(this, void 0, void 0, function* () {
92
+ const bindings = { eventId };
93
+ let dateFilter = "";
94
+ if (range === null || range === void 0 ? void 0 : range.from) {
95
+ dateFilter += " AND d.duty_date >= :from";
96
+ bindings.from = range.from;
97
+ }
98
+ if (range === null || range === void 0 ? void 0 : range.to) {
99
+ dateFilter += " AND d.duty_date <= :to";
100
+ bindings.to = range.to;
101
+ }
102
+ const sql = `
103
+ SELECT d.duty_date,
104
+ COUNT(f.id) AS responses,
105
+ COUNT(f.id) FILTER (WHERE f.had_issue) AS issues
106
+ FROM duty_feedback f
107
+ JOIN duties d ON d.id = f.duty_id
108
+ WHERE d.event_id = :eventId AND d.is_active = true${dateFilter}
109
+ GROUP BY d.duty_date
110
+ ORDER BY d.duty_date ASC
111
+ `;
112
+ const result = yield this.knex.raw(sql, bindings);
113
+ return result.rows.map((row) => ({
114
+ duty_date: row.duty_date,
115
+ responses: Number(row.responses),
116
+ issues: Number(row.issues),
117
+ }));
118
+ });
119
+ }
120
+ }
121
+ exports.StatsDAO = StatsDAO;
122
+ //# sourceMappingURL=stats.dao.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.dao.js","sourceRoot":"","sources":["../../../src/dao/stats/stats.dao.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,13 +1,16 @@
1
1
  export { ApiKeyDAO } from "./dao/api-key/api-key.dao";
2
2
  export { DriverTrackingDAO } from "./dao/driver-tracking/driver-tracking.dao";
3
3
  export { DutyDAO } from "./dao/duty/duty.dao";
4
+ export { DutyFeedbackDAO } from "./dao/duty-feedback/duty-feedback.dao";
4
5
  export { DutyItemProgressDAO } from "./dao/duty-item-progress/duty-item-progress.dao";
6
+ export { DutyStopEventDAO } from "./dao/duty-stop-event/duty-stop-event.dao";
5
7
  export { DutyTemplateDAO } from "./dao/duty-template/duty-template.dao";
6
8
  export { DutyTrackDAO } from "./dao/duty-track/duty-track.dao";
7
9
  export { EventDAO } from "./dao/event/event.dao";
8
10
  export { PasswordResetDAO } from "./dao/password-reset/password-reset.dao";
9
11
  export { RoleDAO } from "./dao/role/role.dao";
10
12
  export { RouteDAO } from "./dao/route/route.dao";
13
+ export { StatsDAO } from "./dao/stats/stats.dao";
11
14
  export { SundaysPackageVersionDAO } from "./dao/sundays-package-version/sundays-package-version.dao";
12
15
  export { SystemSettingDAO } from "./dao/system-setting/system-setting.dao";
13
16
  export { UserDAO } from "./dao/user/user.dao";
@@ -15,13 +18,16 @@ export { IDataPaginator } from "./d.types";
15
18
  export { IApiKey, IApiKeySafe, IApiKeyCreate, } from "./interfaces/api-key/api-key.interfaces";
16
19
  export { IDriverTracking, IDriverTrackingBatchCreate, ITrackingPointInput, ITrackingMetadata, IActiveDriver, IActiveDriverRoute, IActiveDriverItem, ITrackingSession, ITrackingFilters, } from "./interfaces/driver-tracking/driver-tracking.interfaces";
17
20
  export { IDuty, IDutyCreate, IDutyUpdate, IDutyWithDetails, DutyStatus, IDutyFilters, } from "./interfaces/duty/duty.interfaces";
18
- export { IDutyItemProgress, IDutyItemProgressCreate, IDutyItemProgressUpdate, DutyItemProgressStatus, } from "./interfaces/duty-item-progress/duty-item-progress.interfaces";
21
+ export { IDutyFeedback, IDutyFeedbackCreate, } from "./interfaces/duty-feedback/duty-feedback.interfaces";
22
+ export { IDutyItemProgress, IDutyItemProgressCreate, IDutyItemProgressUpdate, DutyItemProgressStatus, DutyItemProgressStatusSource, } from "./interfaces/duty-item-progress/duty-item-progress.interfaces";
23
+ export { IDutyStopEvent, IDutyStopEventCreate, DutyStopEventType, } from "./interfaces/duty-stop-event/duty-stop-event.interfaces";
19
24
  export { IDutyTrack, IDutyTrackCreate, } from "./interfaces/duty-track/duty-track.interfaces";
20
25
  export { IDutyTemplate, IDutyTemplateCreate, IDutyTemplateUpdate, IDutyTemplateWithDetails, IDutyTemplateSegment, IDutyTemplateSegmentCreate, IDutyTemplateItem, IDutyTemplateItemCreate, } from "./interfaces/duty-template/duty-template.interfaces";
21
26
  export { IEvent, IEventCreate, IEventUpdate, } from "./interfaces/event/event.interfaces";
22
27
  export { IRole } from "./interfaces/role/role.interfaces";
23
28
  export { IRoute, IRouteInstruction } from "./interfaces/route/route.interfaces";
24
29
  export { IRouteGeoJSONProperties, IRouteStopProperties, IRouteWaypointProperties, IRouteSegmentProperties, IRouteMainProperties, IRouteSegmentInstruction, RouteFeatureProperties, IRouteStop, IRouteWaypoint, IRouteSegment, } from "./interfaces/route/route-geojson.interfaces";
30
+ export { IStatsDutyRollupRow, IStatsFeedbackDayRow, IStatsDateRange, } from "./interfaces/stats/stats.interfaces";
25
31
  export { ISundaysPackageVersion } from "./interfaces/sundays-package-version/sundays-package-version.interfaces";
26
32
  export { ISystemSetting, ISystemSettingCreate, ISystemSettingUpdate, } from "./interfaces/system-setting/system-setting.interfaces";
27
33
  export { ITrackPoint, ITrackStatistics, TrackingStatus, IConsolidatedTrackingHistory, IConsolidatedTrackingFilters, } from "./interfaces/tracking/tracking.interfaces";
package/dist/index.js CHANGED
@@ -3,15 +3,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.KnexManager = exports.UserDAO = exports.SystemSettingDAO = exports.SundaysPackageVersionDAO = exports.RouteDAO = exports.RoleDAO = exports.PasswordResetDAO = exports.EventDAO = exports.DutyTrackDAO = exports.DutyTemplateDAO = exports.DutyItemProgressDAO = exports.DutyDAO = exports.DriverTrackingDAO = exports.ApiKeyDAO = void 0;
6
+ exports.KnexManager = exports.UserDAO = exports.SystemSettingDAO = exports.SundaysPackageVersionDAO = exports.StatsDAO = exports.RouteDAO = exports.RoleDAO = exports.PasswordResetDAO = exports.EventDAO = exports.DutyTrackDAO = exports.DutyTemplateDAO = exports.DutyStopEventDAO = exports.DutyItemProgressDAO = exports.DutyFeedbackDAO = exports.DutyDAO = exports.DriverTrackingDAO = exports.ApiKeyDAO = void 0;
7
7
  var api_key_dao_1 = require("./dao/api-key/api-key.dao");
8
8
  Object.defineProperty(exports, "ApiKeyDAO", { enumerable: true, get: function () { return api_key_dao_1.ApiKeyDAO; } });
9
9
  var driver_tracking_dao_1 = require("./dao/driver-tracking/driver-tracking.dao");
10
10
  Object.defineProperty(exports, "DriverTrackingDAO", { enumerable: true, get: function () { return driver_tracking_dao_1.DriverTrackingDAO; } });
11
11
  var duty_dao_1 = require("./dao/duty/duty.dao");
12
12
  Object.defineProperty(exports, "DutyDAO", { enumerable: true, get: function () { return duty_dao_1.DutyDAO; } });
13
+ var duty_feedback_dao_1 = require("./dao/duty-feedback/duty-feedback.dao");
14
+ Object.defineProperty(exports, "DutyFeedbackDAO", { enumerable: true, get: function () { return duty_feedback_dao_1.DutyFeedbackDAO; } });
13
15
  var duty_item_progress_dao_1 = require("./dao/duty-item-progress/duty-item-progress.dao");
14
16
  Object.defineProperty(exports, "DutyItemProgressDAO", { enumerable: true, get: function () { return duty_item_progress_dao_1.DutyItemProgressDAO; } });
17
+ var duty_stop_event_dao_1 = require("./dao/duty-stop-event/duty-stop-event.dao");
18
+ Object.defineProperty(exports, "DutyStopEventDAO", { enumerable: true, get: function () { return duty_stop_event_dao_1.DutyStopEventDAO; } });
15
19
  var duty_template_dao_1 = require("./dao/duty-template/duty-template.dao");
16
20
  Object.defineProperty(exports, "DutyTemplateDAO", { enumerable: true, get: function () { return duty_template_dao_1.DutyTemplateDAO; } });
17
21
  var duty_track_dao_1 = require("./dao/duty-track/duty-track.dao");
@@ -24,6 +28,8 @@ var role_dao_1 = require("./dao/role/role.dao");
24
28
  Object.defineProperty(exports, "RoleDAO", { enumerable: true, get: function () { return role_dao_1.RoleDAO; } });
25
29
  var route_dao_1 = require("./dao/route/route.dao");
26
30
  Object.defineProperty(exports, "RouteDAO", { enumerable: true, get: function () { return route_dao_1.RouteDAO; } });
31
+ var stats_dao_1 = require("./dao/stats/stats.dao");
32
+ Object.defineProperty(exports, "StatsDAO", { enumerable: true, get: function () { return stats_dao_1.StatsDAO; } });
27
33
  var sundays_package_version_dao_1 = require("./dao/sundays-package-version/sundays-package-version.dao");
28
34
  Object.defineProperty(exports, "SundaysPackageVersionDAO", { enumerable: true, get: function () { return sundays_package_version_dao_1.SundaysPackageVersionDAO; } });
29
35
  var system_setting_dao_1 = require("./dao/system-setting/system-setting.dao");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,yDAAsD;AAA7C,wGAAA,SAAS,OAAA;AAClB,iFAA8E;AAArE,wHAAA,iBAAiB,OAAA;AAC1B,gDAA8C;AAArC,mGAAA,OAAO,OAAA;AAChB,0FAAsF;AAA7E,6HAAA,mBAAmB,OAAA;AAC5B,2EAAwE;AAA/D,oHAAA,eAAe,OAAA;AACxB,kEAA+D;AAAtD,8GAAA,YAAY,OAAA;AACrB,mDAAiD;AAAxC,qGAAA,QAAQ,OAAA;AACjB,8EAA2E;AAAlE,sHAAA,gBAAgB,OAAA;AACzB,gDAA8C;AAArC,mGAAA,OAAO,OAAA;AAChB,mDAAiD;AAAxC,qGAAA,QAAQ,OAAA;AACjB,yGAAqG;AAA5F,uIAAA,wBAAwB,OAAA;AACjC,8EAA2E;AAAlE,sHAAA,gBAAgB,OAAA;AACzB,gDAA8C;AAArC,mGAAA,OAAO,OAAA;AAwFhB,sEAA2C;AAClC,sBADF,wBAAW,CACE"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,yDAAsD;AAA7C,wGAAA,SAAS,OAAA;AAClB,iFAA8E;AAArE,wHAAA,iBAAiB,OAAA;AAC1B,gDAA8C;AAArC,mGAAA,OAAO,OAAA;AAChB,2EAAwE;AAA/D,oHAAA,eAAe,OAAA;AACxB,0FAAsF;AAA7E,6HAAA,mBAAmB,OAAA;AAC5B,iFAA6E;AAApE,uHAAA,gBAAgB,OAAA;AACzB,2EAAwE;AAA/D,oHAAA,eAAe,OAAA;AACxB,kEAA+D;AAAtD,8GAAA,YAAY,OAAA;AACrB,mDAAiD;AAAxC,qGAAA,QAAQ,OAAA;AACjB,8EAA2E;AAAlE,sHAAA,gBAAgB,OAAA;AACzB,gDAA8C;AAArC,mGAAA,OAAO,OAAA;AAChB,mDAAiD;AAAxC,qGAAA,QAAQ,OAAA;AACjB,mDAAiD;AAAxC,qGAAA,QAAQ,OAAA;AACjB,yGAAqG;AAA5F,uIAAA,wBAAwB,OAAA;AACjC,8EAA2E;AAAlE,sHAAA,gBAAgB,OAAA;AACzB,gDAA8C;AAArC,mGAAA,OAAO,OAAA;AAuGhB,sEAA2C;AAClC,sBADF,wBAAW,CACE"}
@@ -71,6 +71,7 @@ export interface IActiveDriver {
71
71
  };
72
72
  current_route: IActiveDriverRoute | null;
73
73
  current_item: IActiveDriverItem | null;
74
+ duty_route_uuids: string[];
74
75
  }
75
76
  export interface ITrackingSession {
76
77
  session_id: string;
@@ -49,4 +49,6 @@ export interface IDutyWithDetails extends IDuty {
49
49
  export interface IDutyFilters {
50
50
  search?: string;
51
51
  status?: DutyStatus;
52
+ from?: string;
53
+ to?: string;
52
54
  }