@tmscloud/tbt-knex 0.0.14 → 0.0.15
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/api-key/api-key.dao.js +2 -6
- package/dist/dao/api-key/api-key.dao.js.map +1 -1
- package/dist/dao/driver-tracking/driver-tracking.dao.d.ts +1 -9
- package/dist/dao/driver-tracking/driver-tracking.dao.js +11 -55
- package/dist/dao/driver-tracking/driver-tracking.dao.js.map +1 -1
- package/dist/dao/duty/duty.dao.d.ts +7 -1
- package/dist/dao/duty/duty.dao.js +24 -3
- package/dist/dao/duty/duty.dao.js.map +1 -1
- package/dist/dao/duty-item-progress/duty-item-progress.dao.js +1 -3
- package/dist/dao/duty-item-progress/duty-item-progress.dao.js.map +1 -1
- package/dist/dao/duty-template/duty-template.dao.d.ts +10 -2
- package/dist/dao/duty-template/duty-template.dao.js +39 -16
- package/dist/dao/duty-template/duty-template.dao.js.map +1 -1
- package/dist/dao/duty-track/duty-track.dao.d.ts +3 -4
- package/dist/dao/duty-track/duty-track.dao.js +3 -3
- package/dist/dao/duty-track/duty-track.dao.js.map +1 -1
- package/dist/dao/event/event.dao.js +3 -9
- package/dist/dao/event/event.dao.js.map +1 -1
- package/dist/dao/password-reset/password-reset.dao.js.map +1 -1
- package/dist/dao/route/route.dao.d.ts +7 -0
- package/dist/dao/route/route.dao.js +36 -0
- package/dist/dao/route/route.dao.js.map +1 -1
- package/dist/dao/system-setting/system-setting.dao.js.map +1 -1
- package/dist/dao/user/user.dao.d.ts +1 -5
- package/dist/dao/user/user.dao.js +9 -15
- package/dist/dao/user/user.dao.js.map +1 -1
- package/dist/index.d.ts +2 -7
- package/dist/index.js +1 -7
- package/dist/index.js.map +1 -1
- package/dist/interfaces/driver-tracking/driver-tracking.interfaces.d.ts +4 -17
- package/dist/interfaces/duty/duty.interfaces.d.ts +1 -1
- package/dist/interfaces/duty-template/duty-template.interfaces.d.ts +2 -0
- package/dist/interfaces/duty-track/duty-track.interfaces.d.ts +1 -1
- package/dist/interfaces/route/route-geojson.interfaces.d.ts +22 -6
- package/dist/interfaces/{trip-track/trip-track.interfaces.d.ts → tracking/tracking.interfaces.d.ts} +14 -40
- package/dist/interfaces/tracking/tracking.interfaces.js +7 -0
- package/dist/interfaces/tracking/tracking.interfaces.js.map +1 -0
- package/dist/interfaces/user/user.interfaces.d.ts +7 -0
- package/package.json +1 -1
- package/dist/dao/route-assignment/route-assignment.dao.d.ts +0 -58
- package/dist/dao/route-assignment/route-assignment.dao.js +0 -330
- package/dist/dao/route-assignment/route-assignment.dao.js.map +0 -1
- package/dist/dao/trip/trip.dao.d.ts +0 -107
- package/dist/dao/trip/trip.dao.js +0 -517
- package/dist/dao/trip/trip.dao.js.map +0 -1
- package/dist/dao/trip-track/trip-track.dao.d.ts +0 -56
- package/dist/dao/trip-track/trip-track.dao.js +0 -307
- package/dist/dao/trip-track/trip-track.dao.js.map +0 -1
- package/dist/interfaces/route-assignment/route-assignment.interfaces.d.ts +0 -18
- package/dist/interfaces/route-assignment/route-assignment.interfaces.js +0 -3
- package/dist/interfaces/route-assignment/route-assignment.interfaces.js.map +0 -1
- package/dist/interfaces/trip/trip.interfaces.d.ts +0 -48
- package/dist/interfaces/trip/trip.interfaces.js +0 -3
- package/dist/interfaces/trip/trip.interfaces.js.map +0 -1
- package/dist/interfaces/trip-track/trip-track.interfaces.js +0 -3
- package/dist/interfaces/trip-track/trip-track.interfaces.js.map +0 -1
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { ITripTrack, ITripTrackCreate, ITrackPoint, ITrackStatistics, IConsolidatedTripHistory, IConsolidatedTripFilters } from "../../interfaces/trip-track/trip-track.interfaces";
|
|
2
|
-
import { IDataPaginator } from "../../d.types";
|
|
3
|
-
export declare class TripTrackDAO {
|
|
4
|
-
private _knex?;
|
|
5
|
-
private get knex();
|
|
6
|
-
/**
|
|
7
|
-
* Create consolidated trip track
|
|
8
|
-
*/
|
|
9
|
-
create(data: ITripTrackCreate): Promise<ITripTrack>;
|
|
10
|
-
/**
|
|
11
|
-
* Get track by trip ID
|
|
12
|
-
*/
|
|
13
|
-
getByTripId(tripId: number): Promise<ITripTrack | null>;
|
|
14
|
-
/**
|
|
15
|
-
* Get track by UUID
|
|
16
|
-
*/
|
|
17
|
-
getByUuid(uuid: string): Promise<ITripTrack | null>;
|
|
18
|
-
/**
|
|
19
|
-
* Check if a trip already has a consolidated track
|
|
20
|
-
*/
|
|
21
|
-
existsForTrip(tripId: number): Promise<boolean>;
|
|
22
|
-
/**
|
|
23
|
-
* Delete track by trip ID
|
|
24
|
-
*/
|
|
25
|
-
deleteByTripId(tripId: number): Promise<boolean>;
|
|
26
|
-
/**
|
|
27
|
-
* Consolidate track from granular driver_tracking points.
|
|
28
|
-
* Returns null if zero points provided (no trip_track record created).
|
|
29
|
-
*/
|
|
30
|
-
consolidate(tripId: number, points: ITrackPoint[]): Promise<ITripTrack | null>;
|
|
31
|
-
/**
|
|
32
|
-
* Compute statistics from track points (single-pass)
|
|
33
|
-
*/
|
|
34
|
-
computeStatistics(points: ITrackPoint[]): ITrackStatistics;
|
|
35
|
-
/**
|
|
36
|
-
* Calculate distance between two coordinates using Haversine formula.
|
|
37
|
-
* Returns distance in kilometers.
|
|
38
|
-
*/
|
|
39
|
-
private calculateDistance;
|
|
40
|
-
private toRad;
|
|
41
|
-
/**
|
|
42
|
-
* Get consolidated trip history with filters and pagination
|
|
43
|
-
*/
|
|
44
|
-
getConsolidatedHistory(filters: IConsolidatedTripFilters, page: number, limit: number): Promise<IDataPaginator<IConsolidatedTripHistory>>;
|
|
45
|
-
/**
|
|
46
|
-
* Consolidate a trip's tracking data in a single transaction:
|
|
47
|
-
* reads raw points, computes stats, inserts track record,
|
|
48
|
-
* deletes granular points, and marks the trip as consolidated.
|
|
49
|
-
* Returns null if there were no tracking points.
|
|
50
|
-
*/
|
|
51
|
-
consolidateFromTracking(tripId: number): Promise<ITripTrack | null>;
|
|
52
|
-
/**
|
|
53
|
-
* Parse JSONB fields from database result
|
|
54
|
-
*/
|
|
55
|
-
private parseJson;
|
|
56
|
-
}
|
|
@@ -1,307 +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.TripTrackDAO = void 0;
|
|
16
|
-
const KnexConnection_1 = __importDefault(require("../../KnexConnection"));
|
|
17
|
-
class TripTrackDAO {
|
|
18
|
-
get knex() {
|
|
19
|
-
if (!this._knex) {
|
|
20
|
-
this._knex = KnexConnection_1.default.getConnection();
|
|
21
|
-
}
|
|
22
|
-
return this._knex;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Create consolidated trip track
|
|
26
|
-
*/
|
|
27
|
-
create(data) {
|
|
28
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
-
const [created] = yield this.knex("trip_track")
|
|
30
|
-
.insert({
|
|
31
|
-
trip_id: data.trip_id,
|
|
32
|
-
track_data: JSON.stringify(data.track_data),
|
|
33
|
-
max_speed: data.max_speed,
|
|
34
|
-
max_altitude: data.max_altitude,
|
|
35
|
-
total_distance: data.total_distance,
|
|
36
|
-
total_points: data.total_points,
|
|
37
|
-
start_coords: data.start_coords ? JSON.stringify(data.start_coords) : null,
|
|
38
|
-
end_coords: data.end_coords ? JSON.stringify(data.end_coords) : null,
|
|
39
|
-
duration_seconds: data.duration_seconds,
|
|
40
|
-
})
|
|
41
|
-
.returning("*");
|
|
42
|
-
return this.parseJson(created);
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Get track by trip ID
|
|
47
|
-
*/
|
|
48
|
-
getByTripId(tripId) {
|
|
49
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
50
|
-
const result = yield this.knex("trip_track")
|
|
51
|
-
.where("trip_id", tripId)
|
|
52
|
-
.first();
|
|
53
|
-
if (!result)
|
|
54
|
-
return null;
|
|
55
|
-
return this.parseJson(result);
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Get track by UUID
|
|
60
|
-
*/
|
|
61
|
-
getByUuid(uuid) {
|
|
62
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
63
|
-
const result = yield this.knex("trip_track")
|
|
64
|
-
.where("uuid", uuid)
|
|
65
|
-
.first();
|
|
66
|
-
if (!result)
|
|
67
|
-
return null;
|
|
68
|
-
return this.parseJson(result);
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Check if a trip already has a consolidated track
|
|
73
|
-
*/
|
|
74
|
-
existsForTrip(tripId) {
|
|
75
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
76
|
-
const result = yield this.knex("trip_track")
|
|
77
|
-
.where("trip_id", tripId)
|
|
78
|
-
.count("id as count")
|
|
79
|
-
.first();
|
|
80
|
-
return Number((result === null || result === void 0 ? void 0 : result.count) || 0) > 0;
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Delete track by trip ID
|
|
85
|
-
*/
|
|
86
|
-
deleteByTripId(tripId) {
|
|
87
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
88
|
-
const deleted = yield this.knex("trip_track")
|
|
89
|
-
.where("trip_id", tripId)
|
|
90
|
-
.delete();
|
|
91
|
-
return deleted > 0;
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Consolidate track from granular driver_tracking points.
|
|
96
|
-
* Returns null if zero points provided (no trip_track record created).
|
|
97
|
-
*/
|
|
98
|
-
consolidate(tripId, points) {
|
|
99
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
100
|
-
if (points.length === 0) {
|
|
101
|
-
return null;
|
|
102
|
-
}
|
|
103
|
-
const stats = this.computeStatistics(points);
|
|
104
|
-
return this.create(Object.assign({ trip_id: tripId, track_data: points }, stats));
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Compute statistics from track points (single-pass)
|
|
109
|
-
*/
|
|
110
|
-
computeStatistics(points) {
|
|
111
|
-
if (points.length === 0) {
|
|
112
|
-
return {
|
|
113
|
-
max_speed: null,
|
|
114
|
-
max_altitude: null,
|
|
115
|
-
total_distance: null,
|
|
116
|
-
total_points: 0,
|
|
117
|
-
start_coords: null,
|
|
118
|
-
end_coords: null,
|
|
119
|
-
duration_seconds: null,
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
let maxSpeed = null;
|
|
123
|
-
let maxAltitude = null;
|
|
124
|
-
let totalDistance = 0;
|
|
125
|
-
for (let i = 0; i < points.length; i++) {
|
|
126
|
-
const point = points[i];
|
|
127
|
-
if (point.speed !== null) {
|
|
128
|
-
if (maxSpeed === null || point.speed > maxSpeed) {
|
|
129
|
-
maxSpeed = point.speed;
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
if (point.altitude !== null) {
|
|
133
|
-
if (maxAltitude === null || point.altitude > maxAltitude) {
|
|
134
|
-
maxAltitude = point.altitude;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
if (i > 0) {
|
|
138
|
-
const prevPoint = points[i - 1];
|
|
139
|
-
totalDistance += this.calculateDistance(prevPoint.lat, prevPoint.lng, point.lat, point.lng);
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
const startCoords = { lat: points[0].lat, lng: points[0].lng };
|
|
143
|
-
const endCoords = {
|
|
144
|
-
lat: points[points.length - 1].lat,
|
|
145
|
-
lng: points[points.length - 1].lng,
|
|
146
|
-
};
|
|
147
|
-
// Duration from first to last track point
|
|
148
|
-
let durationSeconds = null;
|
|
149
|
-
const firstTime = new Date(points[0].recorded_at).getTime();
|
|
150
|
-
const lastTime = new Date(points[points.length - 1].recorded_at).getTime();
|
|
151
|
-
if (!isNaN(firstTime) && !isNaN(lastTime)) {
|
|
152
|
-
durationSeconds = Math.round((lastTime - firstTime) / 1000);
|
|
153
|
-
}
|
|
154
|
-
return {
|
|
155
|
-
max_speed: maxSpeed,
|
|
156
|
-
max_altitude: maxAltitude,
|
|
157
|
-
total_distance: Math.round(totalDistance * 100) / 100,
|
|
158
|
-
total_points: points.length,
|
|
159
|
-
start_coords: startCoords,
|
|
160
|
-
end_coords: endCoords,
|
|
161
|
-
duration_seconds: durationSeconds,
|
|
162
|
-
};
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* Calculate distance between two coordinates using Haversine formula.
|
|
166
|
-
* Returns distance in kilometers.
|
|
167
|
-
*/
|
|
168
|
-
calculateDistance(lat1, lon1, lat2, lon2) {
|
|
169
|
-
const R = 6371; // Earth's radius in kilometers
|
|
170
|
-
const dLat = this.toRad(lat2 - lat1);
|
|
171
|
-
const dLon = this.toRad(lon2 - lon1);
|
|
172
|
-
const a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
|
|
173
|
-
Math.cos(this.toRad(lat1)) *
|
|
174
|
-
Math.cos(this.toRad(lat2)) *
|
|
175
|
-
Math.sin(dLon / 2) *
|
|
176
|
-
Math.sin(dLon / 2);
|
|
177
|
-
const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
|
|
178
|
-
return R * c;
|
|
179
|
-
}
|
|
180
|
-
toRad(deg) {
|
|
181
|
-
return deg * (Math.PI / 180);
|
|
182
|
-
}
|
|
183
|
-
/**
|
|
184
|
-
* Get consolidated trip history with filters and pagination
|
|
185
|
-
*/
|
|
186
|
-
getConsolidatedHistory(filters, page, limit) {
|
|
187
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
188
|
-
const offset = (page - 1) * limit;
|
|
189
|
-
const query = this.knex("trip_track as tt")
|
|
190
|
-
.join("trips as t", "tt.trip_id", "t.id")
|
|
191
|
-
.join("users as u", "t.user_id", "u.id")
|
|
192
|
-
.leftJoin("route_assignments as ra", "t.assignment_id", "ra.id")
|
|
193
|
-
.leftJoin("routes as r", "ra.route_id", "r.id")
|
|
194
|
-
.where("t.tracking_status", "consolidated")
|
|
195
|
-
.select("t.uuid as trip_uuid", this.knex.raw(`jsonb_build_object('uuid', u.uuid, 'email', u.email, 'username', u.username, 'first_name', u.first_name, 'last_name', u.last_name) as "user"`), "ra.uuid as assignment_uuid", "r.uuid as route_uuid", "r.name as route_name", "t.actual_start as started_at", "t.actual_end as ended_at", "tt.total_points", "tt.total_distance", "tt.duration_seconds", "tt.max_speed");
|
|
196
|
-
if (filters.user_id) {
|
|
197
|
-
query.where("t.user_id", filters.user_id);
|
|
198
|
-
}
|
|
199
|
-
if (filters.from_date) {
|
|
200
|
-
query.where("t.actual_start", ">=", filters.from_date);
|
|
201
|
-
}
|
|
202
|
-
if (filters.to_date) {
|
|
203
|
-
query.where("t.actual_start", "<=", filters.to_date + " 23:59:59");
|
|
204
|
-
}
|
|
205
|
-
if (filters.trip_uuid) {
|
|
206
|
-
query.whereRaw("t.uuid::text ilike ?", [`%${filters.trip_uuid}%`]);
|
|
207
|
-
}
|
|
208
|
-
const countResult = yield query
|
|
209
|
-
.clone()
|
|
210
|
-
.clearSelect()
|
|
211
|
-
.clearOrder()
|
|
212
|
-
.count("tt.id as count")
|
|
213
|
-
.first();
|
|
214
|
-
const totalCount = Number((countResult === null || countResult === void 0 ? void 0 : countResult.count) || 0);
|
|
215
|
-
const totalPages = Math.ceil(totalCount / limit);
|
|
216
|
-
const data = yield query
|
|
217
|
-
.clone()
|
|
218
|
-
.orderBy("t.actual_start", "desc")
|
|
219
|
-
.limit(limit)
|
|
220
|
-
.offset(offset);
|
|
221
|
-
// Parse numeric fields
|
|
222
|
-
const parsed = data.map((row) => (Object.assign(Object.assign({}, row), { user: typeof row.user === "string" ? JSON.parse(row.user) : row.user, total_points: Number(row.total_points), total_distance: row.total_distance !== null ? Number(row.total_distance) : null, duration_seconds: row.duration_seconds !== null ? Number(row.duration_seconds) : null, max_speed: row.max_speed !== null ? Number(row.max_speed) : null })));
|
|
223
|
-
return {
|
|
224
|
-
success: true,
|
|
225
|
-
data: parsed,
|
|
226
|
-
page,
|
|
227
|
-
limit,
|
|
228
|
-
count: parsed.length,
|
|
229
|
-
totalCount,
|
|
230
|
-
totalPages,
|
|
231
|
-
};
|
|
232
|
-
});
|
|
233
|
-
}
|
|
234
|
-
/**
|
|
235
|
-
* Consolidate a trip's tracking data in a single transaction:
|
|
236
|
-
* reads raw points, computes stats, inserts track record,
|
|
237
|
-
* deletes granular points, and marks the trip as consolidated.
|
|
238
|
-
* Returns null if there were no tracking points.
|
|
239
|
-
*/
|
|
240
|
-
consolidateFromTracking(tripId) {
|
|
241
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
242
|
-
const knex = this.knex;
|
|
243
|
-
return knex.transaction((trx) => __awaiter(this, void 0, void 0, function* () {
|
|
244
|
-
const rawPoints = yield trx("driver_tracking")
|
|
245
|
-
.where("trip_id", tripId)
|
|
246
|
-
.orderBy("recorded_at", "asc");
|
|
247
|
-
const trackPoints = rawPoints.map((p) => ({
|
|
248
|
-
lat: Number(p.latitude),
|
|
249
|
-
lng: Number(p.longitude),
|
|
250
|
-
altitude: p.altitude ? Number(p.altitude) : null,
|
|
251
|
-
speed: p.speed ? Number(p.speed) : null,
|
|
252
|
-
heading: p.heading ? Number(p.heading) : null,
|
|
253
|
-
accuracy: p.accuracy ? Number(p.accuracy) : null,
|
|
254
|
-
recorded_at: typeof p.recorded_at === "string"
|
|
255
|
-
? p.recorded_at
|
|
256
|
-
: p.recorded_at.toISOString(),
|
|
257
|
-
}));
|
|
258
|
-
let tripTrack = null;
|
|
259
|
-
if (trackPoints.length > 0) {
|
|
260
|
-
const stats = this.computeStatistics(trackPoints);
|
|
261
|
-
const [created] = yield trx("trip_track")
|
|
262
|
-
.insert({
|
|
263
|
-
trip_id: tripId,
|
|
264
|
-
track_data: JSON.stringify(trackPoints),
|
|
265
|
-
max_speed: stats.max_speed,
|
|
266
|
-
max_altitude: stats.max_altitude,
|
|
267
|
-
total_distance: stats.total_distance,
|
|
268
|
-
total_points: stats.total_points,
|
|
269
|
-
start_coords: stats.start_coords
|
|
270
|
-
? JSON.stringify(stats.start_coords)
|
|
271
|
-
: null,
|
|
272
|
-
end_coords: stats.end_coords
|
|
273
|
-
? JSON.stringify(stats.end_coords)
|
|
274
|
-
: null,
|
|
275
|
-
duration_seconds: stats.duration_seconds,
|
|
276
|
-
})
|
|
277
|
-
.returning("*");
|
|
278
|
-
tripTrack = this.parseJson(created);
|
|
279
|
-
yield trx("driver_tracking").where("trip_id", tripId).delete();
|
|
280
|
-
}
|
|
281
|
-
yield trx("trips").where("id", tripId).update({
|
|
282
|
-
tracking_status: "consolidated",
|
|
283
|
-
updated_at: new Date(),
|
|
284
|
-
});
|
|
285
|
-
return tripTrack;
|
|
286
|
-
}));
|
|
287
|
-
});
|
|
288
|
-
}
|
|
289
|
-
/**
|
|
290
|
-
* Parse JSONB fields from database result
|
|
291
|
-
*/
|
|
292
|
-
parseJson(row) {
|
|
293
|
-
return Object.assign(Object.assign({}, row), { track_data: typeof row.track_data === "string"
|
|
294
|
-
? JSON.parse(row.track_data)
|
|
295
|
-
: row.track_data, start_coords: row.start_coords
|
|
296
|
-
? typeof row.start_coords === "string"
|
|
297
|
-
? JSON.parse(row.start_coords)
|
|
298
|
-
: row.start_coords
|
|
299
|
-
: null, end_coords: row.end_coords
|
|
300
|
-
? typeof row.end_coords === "string"
|
|
301
|
-
? JSON.parse(row.end_coords)
|
|
302
|
-
: row.end_coords
|
|
303
|
-
: null, max_speed: row.max_speed !== null ? Number(row.max_speed) : null, max_altitude: row.max_altitude !== null ? Number(row.max_altitude) : null, total_distance: row.total_distance !== null ? Number(row.total_distance) : null });
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
exports.TripTrackDAO = TripTrackDAO;
|
|
307
|
-
//# sourceMappingURL=trip-track.dao.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trip-track.dao.js","sourceRoot":"","sources":["../../../src/dao/trip-track/trip-track.dao.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { IRoute } from "../route/route.interfaces";
|
|
2
|
-
import { IUserSafe } from "../user/user.interfaces";
|
|
3
|
-
export interface IRouteAssignment {
|
|
4
|
-
id?: number;
|
|
5
|
-
uuid?: string;
|
|
6
|
-
route_id: number;
|
|
7
|
-
user_id: number;
|
|
8
|
-
assigned_by?: number;
|
|
9
|
-
start_date: Date | string;
|
|
10
|
-
end_date?: Date | string;
|
|
11
|
-
status?: "active" | "completed" | "cancelled";
|
|
12
|
-
notes?: string;
|
|
13
|
-
created_at?: Date;
|
|
14
|
-
updated_at?: Date;
|
|
15
|
-
route?: IRoute;
|
|
16
|
-
user?: IUserSafe;
|
|
17
|
-
assigner?: IUserSafe;
|
|
18
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"route-assignment.interfaces.js","sourceRoot":"","sources":["../../../src/interfaces/route-assignment/route-assignment.interfaces.ts"],"names":[],"mappings":""}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { IRoute } from "../route/route.interfaces";
|
|
2
|
-
import { IUser } from "../user/user.interfaces";
|
|
3
|
-
import { IRouteAssignment } from "../route-assignment/route-assignment.interfaces";
|
|
4
|
-
import { TrackingStatus } from "../trip-track/trip-track.interfaces";
|
|
5
|
-
export interface ITrip {
|
|
6
|
-
id?: number;
|
|
7
|
-
uuid?: string;
|
|
8
|
-
assignment_id: number;
|
|
9
|
-
user_id: number;
|
|
10
|
-
route_id: number;
|
|
11
|
-
scheduled_start: Date | string;
|
|
12
|
-
scheduled_end?: Date | string;
|
|
13
|
-
actual_start?: Date | string;
|
|
14
|
-
actual_end?: Date | string;
|
|
15
|
-
status: "pending" | "in_progress" | "completed" | "cancelled";
|
|
16
|
-
tracking_status?: TrackingStatus;
|
|
17
|
-
manifest_data?: any;
|
|
18
|
-
distance_traveled?: number;
|
|
19
|
-
duration_minutes?: number;
|
|
20
|
-
notes?: string;
|
|
21
|
-
created_at?: Date | string;
|
|
22
|
-
updated_at?: Date | string;
|
|
23
|
-
route?: IRoute;
|
|
24
|
-
user?: IUser;
|
|
25
|
-
assignment?: IRouteAssignment;
|
|
26
|
-
}
|
|
27
|
-
export interface ITripStop {
|
|
28
|
-
id?: number;
|
|
29
|
-
uuid?: string;
|
|
30
|
-
trip_id: number;
|
|
31
|
-
stop_order: number;
|
|
32
|
-
latitude: number;
|
|
33
|
-
longitude: number;
|
|
34
|
-
address?: string;
|
|
35
|
-
name?: string;
|
|
36
|
-
scheduled_time?: Date | string;
|
|
37
|
-
actual_arrival_time?: Date | string;
|
|
38
|
-
actual_departure_time?: Date | string;
|
|
39
|
-
status: "pending" | "arrived" | "completed" | "skipped";
|
|
40
|
-
instructions?: string;
|
|
41
|
-
metadata?: any;
|
|
42
|
-
notes?: string;
|
|
43
|
-
created_at?: Date | string;
|
|
44
|
-
updated_at?: Date | string;
|
|
45
|
-
}
|
|
46
|
-
export interface ITripWithStops extends ITrip {
|
|
47
|
-
stops?: ITripStop[];
|
|
48
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trip.interfaces.js","sourceRoot":"","sources":["../../../src/interfaces/trip/trip.interfaces.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trip-track.interfaces.js","sourceRoot":"","sources":["../../../src/interfaces/trip-track/trip-track.interfaces.ts"],"names":[],"mappings":""}
|