@tmscloud/tbt-knex 0.0.14 → 0.0.16

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 (56) hide show
  1. package/dist/dao/api-key/api-key.dao.js +2 -6
  2. package/dist/dao/api-key/api-key.dao.js.map +1 -1
  3. package/dist/dao/driver-tracking/driver-tracking.dao.d.ts +1 -9
  4. package/dist/dao/driver-tracking/driver-tracking.dao.js +11 -55
  5. package/dist/dao/driver-tracking/driver-tracking.dao.js.map +1 -1
  6. package/dist/dao/duty/duty.dao.d.ts +7 -1
  7. package/dist/dao/duty/duty.dao.js +24 -3
  8. package/dist/dao/duty/duty.dao.js.map +1 -1
  9. package/dist/dao/duty-item-progress/duty-item-progress.dao.js +1 -3
  10. package/dist/dao/duty-item-progress/duty-item-progress.dao.js.map +1 -1
  11. package/dist/dao/duty-template/duty-template.dao.d.ts +10 -2
  12. package/dist/dao/duty-template/duty-template.dao.js +39 -16
  13. package/dist/dao/duty-template/duty-template.dao.js.map +1 -1
  14. package/dist/dao/duty-track/duty-track.dao.d.ts +3 -4
  15. package/dist/dao/duty-track/duty-track.dao.js +3 -3
  16. package/dist/dao/duty-track/duty-track.dao.js.map +1 -1
  17. package/dist/dao/event/event.dao.js +3 -9
  18. package/dist/dao/event/event.dao.js.map +1 -1
  19. package/dist/dao/password-reset/password-reset.dao.js.map +1 -1
  20. package/dist/dao/route/route.dao.d.ts +5 -0
  21. package/dist/dao/route/route.dao.js +16 -0
  22. package/dist/dao/route/route.dao.js.map +1 -1
  23. package/dist/dao/system-setting/system-setting.dao.js.map +1 -1
  24. package/dist/dao/user/user.dao.d.ts +1 -5
  25. package/dist/dao/user/user.dao.js +9 -15
  26. package/dist/dao/user/user.dao.js.map +1 -1
  27. package/dist/index.d.ts +2 -7
  28. package/dist/index.js +1 -7
  29. package/dist/index.js.map +1 -1
  30. package/dist/interfaces/driver-tracking/driver-tracking.interfaces.d.ts +4 -17
  31. package/dist/interfaces/duty/duty.interfaces.d.ts +1 -1
  32. package/dist/interfaces/duty-template/duty-template.interfaces.d.ts +2 -0
  33. package/dist/interfaces/duty-track/duty-track.interfaces.d.ts +1 -1
  34. package/dist/interfaces/route/route-geojson.interfaces.d.ts +22 -6
  35. package/dist/interfaces/{trip-track/trip-track.interfaces.d.ts → tracking/tracking.interfaces.d.ts} +14 -40
  36. package/dist/interfaces/tracking/tracking.interfaces.js +7 -0
  37. package/dist/interfaces/tracking/tracking.interfaces.js.map +1 -0
  38. package/dist/interfaces/user/user.interfaces.d.ts +7 -0
  39. package/package.json +1 -1
  40. package/dist/dao/route-assignment/route-assignment.dao.d.ts +0 -58
  41. package/dist/dao/route-assignment/route-assignment.dao.js +0 -330
  42. package/dist/dao/route-assignment/route-assignment.dao.js.map +0 -1
  43. package/dist/dao/trip/trip.dao.d.ts +0 -107
  44. package/dist/dao/trip/trip.dao.js +0 -517
  45. package/dist/dao/trip/trip.dao.js.map +0 -1
  46. package/dist/dao/trip-track/trip-track.dao.d.ts +0 -56
  47. package/dist/dao/trip-track/trip-track.dao.js +0 -307
  48. package/dist/dao/trip-track/trip-track.dao.js.map +0 -1
  49. package/dist/interfaces/route-assignment/route-assignment.interfaces.d.ts +0 -18
  50. package/dist/interfaces/route-assignment/route-assignment.interfaces.js +0 -3
  51. package/dist/interfaces/route-assignment/route-assignment.interfaces.js.map +0 -1
  52. package/dist/interfaces/trip/trip.interfaces.d.ts +0 -48
  53. package/dist/interfaces/trip/trip.interfaces.js +0 -3
  54. package/dist/interfaces/trip/trip.interfaces.js.map +0 -1
  55. package/dist/interfaces/trip-track/trip-track.interfaces.js +0 -3
  56. package/dist/interfaces/trip-track/trip-track.interfaces.js.map +0 -1
@@ -1,107 +0,0 @@
1
- import { ITrip, ITripWithStops, ITripStop } from "../../interfaces/trip/trip.interfaces";
2
- import { TrackingStatus } from "../../interfaces/trip-track/trip-track.interfaces";
3
- import { IBaseDAO, IDataPaginator } from "../../d.types";
4
- export declare class TripDAO implements IBaseDAO<ITrip> {
5
- private _knex?;
6
- private get knex();
7
- /**
8
- * Parse JSON fields from database
9
- */
10
- private parseTripJson;
11
- /**
12
- * Base query with all joins (without stops)
13
- */
14
- private baseQuery;
15
- /**
16
- * Get all trips with pagination
17
- */
18
- getAll(page?: number, limit?: number): Promise<IDataPaginator<ITrip>>;
19
- /**
20
- * Get trip by ID
21
- */
22
- getById(id: number): Promise<ITrip | null>;
23
- /**
24
- * Get trip by UUID
25
- */
26
- getByUuid(uuid: string): Promise<ITrip | null>;
27
- /**
28
- * Get trip by UUID with stops
29
- */
30
- getByUuidWithStops(uuid: string): Promise<ITripWithStops | null>;
31
- /**
32
- * Get trips by user ID with pagination
33
- */
34
- getByUserId(userId: number, page?: number, limit?: number): Promise<IDataPaginator<ITrip>>;
35
- /**
36
- * Get trips by assignment ID
37
- */
38
- getByAssignmentId(assignmentId: number, page?: number, limit?: number): Promise<IDataPaginator<ITrip>>;
39
- /**
40
- * Get today's trips for a user
41
- */
42
- getTodaysTrips(userId: number, eventUuid?: string): Promise<ITripWithStops[]>;
43
- /**
44
- * Get trips by status
45
- */
46
- getByStatus(status: string, page?: number, limit?: number): Promise<IDataPaginator<ITrip>>;
47
- /**
48
- * Create a new trip
49
- */
50
- create(data: ITrip): Promise<ITrip>;
51
- /**
52
- * Update a trip by ID
53
- */
54
- update(id: number, data: Partial<ITrip>): Promise<ITrip | null>;
55
- /**
56
- * Delete a trip by ID
57
- */
58
- delete(id: number): Promise<boolean>;
59
- /**
60
- * Start a trip
61
- */
62
- startTrip(id: number): Promise<ITrip | null>;
63
- /**
64
- * Complete a trip
65
- */
66
- completeTrip(id: number): Promise<ITrip | null>;
67
- /**
68
- * Cancel a trip
69
- */
70
- cancelTrip(id: number): Promise<ITrip | null>;
71
- /**
72
- * Update tracking status for a trip
73
- */
74
- updateTrackingStatus(id: number, trackingStatus: TrackingStatus): Promise<ITrip | null>;
75
- /**
76
- * Get all stops for a trip
77
- */
78
- getTripStops(tripId: number): Promise<ITripStop[]>;
79
- /**
80
- * Get stop by ID
81
- */
82
- getStopById(stopId: number): Promise<ITripStop | null>;
83
- /**
84
- * Create a trip stop
85
- */
86
- createStop(data: ITripStop): Promise<ITripStop>;
87
- /**
88
- * Update a trip stop
89
- */
90
- updateStop(stopId: number, data: Partial<ITripStop>): Promise<ITripStop | null>;
91
- /**
92
- * Delete a trip stop
93
- */
94
- deleteStop(stopId: number): Promise<boolean>;
95
- /**
96
- * Mark stop as arrived
97
- */
98
- arriveAtStop(stopId: number): Promise<ITripStop | null>;
99
- /**
100
- * Mark stop as completed
101
- */
102
- completeStop(stopId: number): Promise<ITripStop | null>;
103
- /**
104
- * Mark stop as skipped
105
- */
106
- skipStop(stopId: number): Promise<ITripStop | null>;
107
- }
@@ -1,517 +0,0 @@
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.TripDAO = void 0;
16
- const KnexConnection_1 = __importDefault(require("../../KnexConnection"));
17
- class TripDAO {
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
26
- */
27
- parseTripJson(trip) {
28
- var _a, _b, _c;
29
- // Parse route JSON if present
30
- if (trip.route && typeof trip.route === "string") {
31
- trip.route = JSON.parse(trip.route);
32
- }
33
- if (((_a = trip.route) === null || _a === void 0 ? void 0 : _a.geojson) && typeof trip.route.geojson === "string") {
34
- trip.route.geojson = JSON.parse(trip.route.geojson);
35
- }
36
- if (((_b = trip.route) === null || _b === void 0 ? void 0 : _b.custom_instructions) &&
37
- typeof trip.route.custom_instructions === "string") {
38
- trip.route.custom_instructions = JSON.parse(trip.route.custom_instructions);
39
- }
40
- // Parse user JSON if present
41
- if (trip.user && typeof trip.user === "string") {
42
- trip.user = JSON.parse(trip.user);
43
- }
44
- if (((_c = trip.user) === null || _c === void 0 ? void 0 : _c.role) && typeof trip.user.role === "string") {
45
- trip.user.role = JSON.parse(trip.user.role);
46
- }
47
- // Parse assignment JSON if present
48
- if (trip.assignment && typeof trip.assignment === "string") {
49
- trip.assignment = JSON.parse(trip.assignment);
50
- }
51
- // Parse manifest_data if present
52
- if (trip.manifest_data && typeof trip.manifest_data === "string") {
53
- trip.manifest_data = JSON.parse(trip.manifest_data);
54
- }
55
- // Parse stops array if present
56
- if (trip.stops && typeof trip.stops === "string") {
57
- trip.stops = JSON.parse(trip.stops);
58
- }
59
- return trip;
60
- }
61
- /**
62
- * Base query with all joins (without stops)
63
- */
64
- baseQuery() {
65
- return this.knex("trips as t")
66
- .leftJoin("routes as r", "t.route_id", "r.id")
67
- .leftJoin("users as u", "t.user_id", "u.id")
68
- .leftJoin("roles as ur", "u.role_id", "ur.id")
69
- .leftJoin("route_assignments as ra", "t.assignment_id", "ra.id")
70
- .select("t.*", this.knex.raw("to_jsonb(r.*) as route"), this.knex.raw(`jsonb_build_object(
71
- 'id', u.id,
72
- 'uuid', u.uuid,
73
- 'email', u.email,
74
- 'username', u.username,
75
- 'first_name', u.first_name,
76
- 'last_name', u.last_name,
77
- 'role_id', u.role_id,
78
- 'is_active', u.is_active,
79
- 'role', to_jsonb(ur.*)
80
- ) as user`), this.knex.raw("to_jsonb(ra.*) as assignment"));
81
- }
82
- /**
83
- * Get all trips with pagination
84
- */
85
- getAll() {
86
- return __awaiter(this, arguments, void 0, function* (page = 1, limit = 10) {
87
- const offset = (page - 1) * limit;
88
- // Get paginated data
89
- const rawData = yield this.baseQuery()
90
- .limit(limit)
91
- .offset(offset)
92
- .orderBy("t.scheduled_start", "desc");
93
- // Parse JSON fields
94
- const data = rawData.map((trip) => this.parseTripJson(trip));
95
- // Get total count
96
- const totalCountResult = yield this.knex("trips")
97
- .count("* as count")
98
- .first();
99
- const totalCount = Number((totalCountResult === null || totalCountResult === void 0 ? void 0 : totalCountResult.count) || 0);
100
- const count = data.length;
101
- const totalPages = Math.ceil(totalCount / limit);
102
- return {
103
- success: true,
104
- data,
105
- page,
106
- limit,
107
- count,
108
- totalCount,
109
- totalPages,
110
- };
111
- });
112
- }
113
- /**
114
- * Get trip by ID
115
- */
116
- getById(id) {
117
- return __awaiter(this, void 0, void 0, function* () {
118
- const result = yield this.baseQuery().where("t.id", id).first();
119
- return result ? this.parseTripJson(result) : null;
120
- });
121
- }
122
- /**
123
- * Get trip by UUID
124
- */
125
- getByUuid(uuid) {
126
- return __awaiter(this, void 0, void 0, function* () {
127
- const result = yield this.baseQuery().where("t.uuid", uuid).first();
128
- return result ? this.parseTripJson(result) : null;
129
- });
130
- }
131
- /**
132
- * Get trip by UUID with stops
133
- */
134
- getByUuidWithStops(uuid) {
135
- return __awaiter(this, void 0, void 0, function* () {
136
- const trip = yield this.getByUuid(uuid);
137
- if (!trip)
138
- return null;
139
- // Get stops for this trip
140
- const stops = yield this.knex("trip_stops")
141
- .where("trip_id", trip.id)
142
- .orderBy("stop_order", "asc");
143
- return Object.assign(Object.assign({}, trip), { stops });
144
- });
145
- }
146
- /**
147
- * Get trips by user ID with pagination
148
- */
149
- getByUserId(userId_1) {
150
- return __awaiter(this, arguments, void 0, function* (userId, page = 1, limit = 10) {
151
- const offset = (page - 1) * limit;
152
- // Get paginated data
153
- const rawData = yield this.baseQuery()
154
- .where("t.user_id", userId)
155
- .limit(limit)
156
- .offset(offset)
157
- .orderBy("t.scheduled_start", "desc");
158
- // Parse JSON fields
159
- const data = rawData.map((trip) => this.parseTripJson(trip));
160
- // Get total count
161
- const totalCountResult = yield this.knex("trips")
162
- .where("user_id", userId)
163
- .count("* as count")
164
- .first();
165
- const totalCount = Number((totalCountResult === null || totalCountResult === void 0 ? void 0 : totalCountResult.count) || 0);
166
- const count = data.length;
167
- const totalPages = Math.ceil(totalCount / limit);
168
- return {
169
- success: true,
170
- data,
171
- page,
172
- limit,
173
- count,
174
- totalCount,
175
- totalPages,
176
- };
177
- });
178
- }
179
- /**
180
- * Get trips by assignment ID
181
- */
182
- getByAssignmentId(assignmentId_1) {
183
- return __awaiter(this, arguments, void 0, function* (assignmentId, page = 1, limit = 10) {
184
- const offset = (page - 1) * limit;
185
- // Get paginated data
186
- const rawData = yield this.baseQuery()
187
- .where("t.assignment_id", assignmentId)
188
- .limit(limit)
189
- .offset(offset)
190
- .orderBy("t.scheduled_start", "asc");
191
- // Parse JSON fields
192
- const data = rawData.map((trip) => this.parseTripJson(trip));
193
- // Get total count
194
- const totalCountResult = yield this.knex("trips")
195
- .where("assignment_id", assignmentId)
196
- .count("* as count")
197
- .first();
198
- const totalCount = Number((totalCountResult === null || totalCountResult === void 0 ? void 0 : totalCountResult.count) || 0);
199
- const count = data.length;
200
- const totalPages = Math.ceil(totalCount / limit);
201
- return {
202
- success: true,
203
- data,
204
- page,
205
- limit,
206
- count,
207
- totalCount,
208
- totalPages,
209
- };
210
- });
211
- }
212
- /**
213
- * Get today's trips for a user
214
- */
215
- getTodaysTrips(userId, eventUuid) {
216
- return __awaiter(this, void 0, void 0, function* () {
217
- const today = new Date();
218
- today.setHours(0, 0, 0, 0);
219
- const tomorrow = new Date(today);
220
- tomorrow.setDate(tomorrow.getDate() + 1);
221
- const query = this.baseQuery()
222
- .where("t.user_id", userId)
223
- .whereBetween("t.scheduled_start", [today, tomorrow]);
224
- if (eventUuid) {
225
- query
226
- .leftJoin("events as e", "r.event_id", "e.id")
227
- .where("e.uuid", eventUuid);
228
- }
229
- const rawData = yield query.orderBy("t.scheduled_start", "asc");
230
- const trips = rawData.map((trip) => this.parseTripJson(trip));
231
- // Get stops for all trips
232
- const tripsWithStops = yield Promise.all(trips.map((trip) => __awaiter(this, void 0, void 0, function* () {
233
- const stops = yield this.knex("trip_stops")
234
- .where("trip_id", trip.id)
235
- .orderBy("stop_order", "asc");
236
- return Object.assign(Object.assign({}, trip), { stops });
237
- })));
238
- return tripsWithStops;
239
- });
240
- }
241
- /**
242
- * Get trips by status
243
- */
244
- getByStatus(status_1) {
245
- return __awaiter(this, arguments, void 0, function* (status, page = 1, limit = 10) {
246
- const offset = (page - 1) * limit;
247
- // Get paginated data
248
- const rawData = yield this.baseQuery()
249
- .where("t.status", status)
250
- .limit(limit)
251
- .offset(offset)
252
- .orderBy("t.scheduled_start", "desc");
253
- // Parse JSON fields
254
- const data = rawData.map((trip) => this.parseTripJson(trip));
255
- // Get total count
256
- const totalCountResult = yield this.knex("trips")
257
- .where("status", status)
258
- .count("* as count")
259
- .first();
260
- const totalCount = Number((totalCountResult === null || totalCountResult === void 0 ? void 0 : totalCountResult.count) || 0);
261
- const count = data.length;
262
- const totalPages = Math.ceil(totalCount / limit);
263
- return {
264
- success: true,
265
- data,
266
- page,
267
- limit,
268
- count,
269
- totalCount,
270
- totalPages,
271
- };
272
- });
273
- }
274
- /**
275
- * Create a new trip
276
- */
277
- create(data) {
278
- return __awaiter(this, void 0, void 0, function* () {
279
- const [result] = yield this.knex("trips")
280
- .insert({
281
- uuid: data.uuid,
282
- assignment_id: data.assignment_id,
283
- user_id: data.user_id,
284
- route_id: data.route_id,
285
- scheduled_start: data.scheduled_start,
286
- scheduled_end: data.scheduled_end,
287
- status: data.status || "pending",
288
- manifest_data: data.manifest_data
289
- ? JSON.stringify(data.manifest_data)
290
- : null,
291
- notes: data.notes,
292
- })
293
- .returning("*");
294
- // Fetch with joins
295
- return this.getById(result.id);
296
- });
297
- }
298
- /**
299
- * Update a trip by ID
300
- */
301
- update(id, data) {
302
- return __awaiter(this, void 0, void 0, function* () {
303
- const updateData = {};
304
- if (data.scheduled_start !== undefined)
305
- updateData.scheduled_start = data.scheduled_start;
306
- if (data.scheduled_end !== undefined)
307
- updateData.scheduled_end = data.scheduled_end;
308
- if (data.actual_start !== undefined)
309
- updateData.actual_start = data.actual_start;
310
- if (data.actual_end !== undefined)
311
- updateData.actual_end = data.actual_end;
312
- if (data.status !== undefined)
313
- updateData.status = data.status;
314
- if (data.manifest_data !== undefined)
315
- updateData.manifest_data = JSON.stringify(data.manifest_data);
316
- if (data.distance_traveled !== undefined)
317
- updateData.distance_traveled = data.distance_traveled;
318
- if (data.duration_minutes !== undefined)
319
- updateData.duration_minutes = data.duration_minutes;
320
- if (data.notes !== undefined)
321
- updateData.notes = data.notes;
322
- if (data.tracking_status !== undefined)
323
- updateData.tracking_status = data.tracking_status;
324
- updateData.updated_at = new Date();
325
- const [result] = yield this.knex("trips")
326
- .where("id", id)
327
- .update(updateData)
328
- .returning("*");
329
- return result ? this.getById(result.id) : null;
330
- });
331
- }
332
- /**
333
- * Delete a trip by ID
334
- */
335
- delete(id) {
336
- return __awaiter(this, void 0, void 0, function* () {
337
- const result = yield this.knex("trips").where("id", id).delete();
338
- return result > 0;
339
- });
340
- }
341
- /**
342
- * Start a trip
343
- */
344
- startTrip(id) {
345
- return __awaiter(this, void 0, void 0, function* () {
346
- return this.update(id, {
347
- status: "in_progress",
348
- actual_start: new Date(),
349
- });
350
- });
351
- }
352
- /**
353
- * Complete a trip
354
- */
355
- completeTrip(id) {
356
- return __awaiter(this, void 0, void 0, function* () {
357
- const trip = yield this.getById(id);
358
- if (!trip)
359
- return null;
360
- // Calculate duration if actual_start exists
361
- let duration_minutes;
362
- if (trip.actual_start) {
363
- const start = new Date(trip.actual_start);
364
- const end = new Date();
365
- duration_minutes = Math.round((end.getTime() - start.getTime()) / 1000 / 60);
366
- }
367
- return this.update(id, {
368
- status: "completed",
369
- actual_end: new Date(),
370
- duration_minutes,
371
- });
372
- });
373
- }
374
- /**
375
- * Cancel a trip
376
- */
377
- cancelTrip(id) {
378
- return __awaiter(this, void 0, void 0, function* () {
379
- return this.update(id, {
380
- status: "cancelled",
381
- });
382
- });
383
- }
384
- /**
385
- * Update tracking status for a trip
386
- */
387
- updateTrackingStatus(id, trackingStatus) {
388
- return __awaiter(this, void 0, void 0, function* () {
389
- return this.update(id, { tracking_status: trackingStatus });
390
- });
391
- }
392
- // ========== TRIP STOPS METHODS ==========
393
- /**
394
- * Get all stops for a trip
395
- */
396
- getTripStops(tripId) {
397
- return __awaiter(this, void 0, void 0, function* () {
398
- return this.knex("trip_stops")
399
- .where("trip_id", tripId)
400
- .orderBy("stop_order", "asc");
401
- });
402
- }
403
- /**
404
- * Get stop by ID
405
- */
406
- getStopById(stopId) {
407
- return __awaiter(this, void 0, void 0, function* () {
408
- const result = yield this.knex("trip_stops").where("id", stopId).first();
409
- return result || null;
410
- });
411
- }
412
- /**
413
- * Create a trip stop
414
- */
415
- createStop(data) {
416
- return __awaiter(this, void 0, void 0, function* () {
417
- const [result] = yield this.knex("trip_stops")
418
- .insert({
419
- uuid: data.uuid,
420
- trip_id: data.trip_id,
421
- stop_order: data.stop_order,
422
- latitude: data.latitude,
423
- longitude: data.longitude,
424
- address: data.address,
425
- name: data.name,
426
- scheduled_time: data.scheduled_time,
427
- status: data.status || "pending",
428
- instructions: data.instructions,
429
- metadata: data.metadata ? JSON.stringify(data.metadata) : null,
430
- notes: data.notes,
431
- })
432
- .returning("*");
433
- return result;
434
- });
435
- }
436
- /**
437
- * Update a trip stop
438
- */
439
- updateStop(stopId, data) {
440
- return __awaiter(this, void 0, void 0, function* () {
441
- const updateData = {};
442
- if (data.stop_order !== undefined)
443
- updateData.stop_order = data.stop_order;
444
- if (data.latitude !== undefined)
445
- updateData.latitude = data.latitude;
446
- if (data.longitude !== undefined)
447
- updateData.longitude = data.longitude;
448
- if (data.address !== undefined)
449
- updateData.address = data.address;
450
- if (data.name !== undefined)
451
- updateData.name = data.name;
452
- if (data.scheduled_time !== undefined)
453
- updateData.scheduled_time = data.scheduled_time;
454
- if (data.actual_arrival_time !== undefined)
455
- updateData.actual_arrival_time = data.actual_arrival_time;
456
- if (data.actual_departure_time !== undefined)
457
- updateData.actual_departure_time = data.actual_departure_time;
458
- if (data.status !== undefined)
459
- updateData.status = data.status;
460
- if (data.instructions !== undefined)
461
- updateData.instructions = data.instructions;
462
- if (data.metadata !== undefined)
463
- updateData.metadata = JSON.stringify(data.metadata);
464
- if (data.notes !== undefined)
465
- updateData.notes = data.notes;
466
- updateData.updated_at = new Date();
467
- const [result] = yield this.knex("trip_stops")
468
- .where("id", stopId)
469
- .update(updateData)
470
- .returning("*");
471
- return result || null;
472
- });
473
- }
474
- /**
475
- * Delete a trip stop
476
- */
477
- deleteStop(stopId) {
478
- return __awaiter(this, void 0, void 0, function* () {
479
- const result = yield this.knex("trip_stops").where("id", stopId).delete();
480
- return result > 0;
481
- });
482
- }
483
- /**
484
- * Mark stop as arrived
485
- */
486
- arriveAtStop(stopId) {
487
- return __awaiter(this, void 0, void 0, function* () {
488
- return this.updateStop(stopId, {
489
- status: "arrived",
490
- actual_arrival_time: new Date(),
491
- });
492
- });
493
- }
494
- /**
495
- * Mark stop as completed
496
- */
497
- completeStop(stopId) {
498
- return __awaiter(this, void 0, void 0, function* () {
499
- return this.updateStop(stopId, {
500
- status: "completed",
501
- actual_departure_time: new Date(),
502
- });
503
- });
504
- }
505
- /**
506
- * Mark stop as skipped
507
- */
508
- skipStop(stopId) {
509
- return __awaiter(this, void 0, void 0, function* () {
510
- return this.updateStop(stopId, {
511
- status: "skipped",
512
- });
513
- });
514
- }
515
- }
516
- exports.TripDAO = TripDAO;
517
- //# sourceMappingURL=trip.dao.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trip.dao.js","sourceRoot":"","sources":["../../../src/dao/trip/trip.dao.ts"],"names":[],"mappings":"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"}