@trafficgroup/knex-rel 0.1.8 → 0.1.10
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/.claude/settings.local.json +5 -2
- package/.env.prod +5 -0
- package/CLAUDE.md +2 -11
- package/dist/constants/video.constants.d.ts +12 -0
- package/dist/constants/video.constants.js +18 -0
- package/dist/constants/video.constants.js.map +1 -0
- package/dist/dao/VideoMinuteResultDAO.d.ts +4 -1
- package/dist/dao/VideoMinuteResultDAO.js +28 -31
- package/dist/dao/VideoMinuteResultDAO.js.map +1 -1
- package/dist/dao/auth/auth.dao.js +1 -4
- package/dist/dao/auth/auth.dao.js.map +1 -1
- package/dist/dao/batch/batch.dao.js +14 -13
- package/dist/dao/batch/batch.dao.js.map +1 -1
- package/dist/dao/camera/camera.dao.d.ts +17 -7
- package/dist/dao/camera/camera.dao.js +38 -56
- package/dist/dao/camera/camera.dao.js.map +1 -1
- package/dist/dao/chat/chat.dao.d.ts +1 -1
- package/dist/dao/chat/chat.dao.js +35 -25
- package/dist/dao/chat/chat.dao.js.map +1 -1
- package/dist/dao/folder/folder.dao.js +4 -8
- package/dist/dao/folder/folder.dao.js.map +1 -1
- package/dist/dao/location/location.dao.d.ts +17 -0
- package/dist/dao/location/location.dao.js +116 -0
- package/dist/dao/location/location.dao.js.map +1 -0
- package/dist/dao/message/message.dao.d.ts +1 -1
- package/dist/dao/message/message.dao.js +26 -18
- package/dist/dao/message/message.dao.js.map +1 -1
- package/dist/dao/report-configuration/report-configuration.dao.js +31 -32
- package/dist/dao/report-configuration/report-configuration.dao.js.map +1 -1
- package/dist/dao/study/study.dao.d.ts +1 -1
- package/dist/dao/study/study.dao.js +12 -17
- package/dist/dao/study/study.dao.js.map +1 -1
- package/dist/dao/user/user.dao.js +1 -4
- package/dist/dao/user/user.dao.js.map +1 -1
- package/dist/dao/user-push-notification-token/user-push-notification-token.dao.js +8 -26
- package/dist/dao/user-push-notification-token/user-push-notification-token.dao.js.map +1 -1
- package/dist/dao/video/video.dao.d.ts +9 -1
- package/dist/dao/video/video.dao.js +73 -27
- package/dist/dao/video/video.dao.js.map +1 -1
- package/dist/index.d.ts +8 -4
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/dist/interfaces/batch/batch.interfaces.d.ts +1 -1
- package/dist/interfaces/camera/camera.interfaces.d.ts +4 -2
- package/dist/interfaces/chat/chat.interfaces.d.ts +3 -3
- package/dist/interfaces/folder/folder.interfaces.d.ts +1 -1
- package/dist/interfaces/location/location.interfaces.d.ts +9 -0
- package/dist/interfaces/location/location.interfaces.js +3 -0
- package/dist/interfaces/location/location.interfaces.js.map +1 -0
- package/dist/interfaces/message/message.interfaces.d.ts +2 -2
- package/dist/interfaces/study/study.interfaces.d.ts +6 -5
- package/dist/interfaces/user/user.interfaces.d.ts +1 -1
- package/dist/interfaces/user-push-notification-token/user-push-notification-token.interfaces.d.ts +1 -1
- package/dist/interfaces/video/video.interfaces.d.ts +3 -2
- package/migrations/20250717160737_migration.ts +1 -1
- package/migrations/20250717160908_migration.ts +2 -5
- package/migrations/20250717161310_migration.ts +1 -1
- package/migrations/20250717161406_migration.ts +3 -3
- package/migrations/20250717162431_migration.ts +1 -1
- package/migrations/20250717173228_migration.ts +2 -2
- package/migrations/20250717204731_migration.ts +1 -1
- package/migrations/20250722210109_migration.ts +4 -8
- package/migrations/20250722211019_migration.ts +1 -1
- package/migrations/20250723153852_migration.ts +10 -13
- package/migrations/20250723162257_migration.ts +7 -4
- package/migrations/20250723171109_migration.ts +7 -4
- package/migrations/20250723205331_migration.ts +9 -6
- package/migrations/20250724191345_migration.ts +11 -8
- package/migrations/20250730180932_migration.ts +13 -14
- package/migrations/20250730213625_migration.ts +11 -8
- package/migrations/20250804124509_migration.ts +21 -26
- package/migrations/20250804132053_migration.ts +8 -5
- package/migrations/20250804164518_migration.ts +7 -7
- package/migrations/20250823223016_migration.ts +21 -32
- package/migrations/20250910015452_migration.ts +6 -18
- package/migrations/20250911000000_migration.ts +4 -18
- package/migrations/20250917144153_migration.ts +7 -14
- package/migrations/20250930200521_migration.ts +4 -8
- package/migrations/20251010143500_migration.ts +6 -27
- package/migrations/20251020225758_migration.ts +15 -51
- package/migrations/20251112120000_migration.ts +81 -0
- package/migrations/20251112120100_migration.ts +21 -0
- package/migrations/20251112120200_migration.ts +38 -0
- package/migrations/20251112120300_migration.ts +22 -0
- package/package.json +1 -1
- package/src/constants/video.constants.ts +19 -0
- package/src/d.types.ts +14 -18
- package/src/dao/VideoMinuteResultDAO.ts +54 -72
- package/src/dao/auth/auth.dao.ts +55 -58
- package/src/dao/batch/batch.dao.ts +98 -101
- package/src/dao/camera/camera.dao.ts +125 -145
- package/src/dao/chat/chat.dao.ts +43 -45
- package/src/dao/folder/folder.dao.ts +56 -59
- package/src/dao/location/location.dao.ts +101 -0
- package/src/dao/message/message.dao.ts +32 -32
- package/src/dao/report-configuration/report-configuration.dao.ts +342 -370
- package/src/dao/study/study.dao.ts +63 -88
- package/src/dao/user/user.dao.ts +50 -52
- package/src/dao/user-push-notification-token/user-push-notification-token.dao.ts +49 -83
- package/src/dao/video/video.dao.ts +339 -313
- package/src/entities/BaseEntity.ts +1 -1
- package/src/index.ts +24 -26
- package/src/interfaces/auth/auth.interfaces.ts +10 -10
- package/src/interfaces/batch/batch.interfaces.ts +1 -1
- package/src/interfaces/camera/camera.interfaces.ts +9 -7
- package/src/interfaces/chat/chat.interfaces.ts +4 -4
- package/src/interfaces/folder/folder.interfaces.ts +2 -2
- package/src/interfaces/location/location.interfaces.ts +9 -0
- package/src/interfaces/message/message.interfaces.ts +3 -3
- package/src/interfaces/report-configuration/report-configuration.interfaces.ts +16 -16
- package/src/interfaces/study/study.interfaces.ts +7 -6
- package/src/interfaces/user/user.interfaces.ts +9 -9
- package/src/interfaces/user-push-notification-token/user-push-notification-token.interfaces.ts +9 -9
- package/src/interfaces/video/video.interfaces.ts +34 -33
- package/plan.md +0 -684
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.dao.js","sourceRoot":"","sources":["../../../src/dao/message/message.dao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"message.dao.js","sourceRoot":"","sources":["../../../src/dao/message/message.dao.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,14 +29,14 @@ const KnexConnection_1 = __importDefault(require("../../KnexConnection"));
|
|
|
29
29
|
* Non-motorized vehicles (pedestrian, bicycle, non_motorized_vehicle) are EXCLUDED
|
|
30
30
|
*/
|
|
31
31
|
const DETECTION_LABEL_TO_FHWA = {
|
|
32
|
-
motorcycle: [1],
|
|
33
|
-
car: [2],
|
|
34
|
-
pickup_truck: [3],
|
|
35
|
-
motorized_vehicle: [3], // Maps to Class 3 (same as pickup_truck)
|
|
36
|
-
bus: [4],
|
|
37
|
-
work_van: [5],
|
|
38
|
-
single_unit_truck: [6, 7, 8], // Classes 6-8
|
|
39
|
-
articulated_truck: [9, 10, 11, 12, 13]
|
|
32
|
+
'motorcycle': [1],
|
|
33
|
+
'car': [2],
|
|
34
|
+
'pickup_truck': [3],
|
|
35
|
+
'motorized_vehicle': [3], // Maps to Class 3 (same as pickup_truck)
|
|
36
|
+
'bus': [4],
|
|
37
|
+
'work_van': [5],
|
|
38
|
+
'single_unit_truck': [6, 7, 8], // Classes 6-8
|
|
39
|
+
'articulated_truck': [9, 10, 11, 12, 13] // Classes 9-13
|
|
40
40
|
// pedestrian, bicycle, non_motorized_vehicle are EXCLUDED
|
|
41
41
|
};
|
|
42
42
|
class ReportConfigurationDAO {
|
|
@@ -52,13 +52,13 @@ class ReportConfigurationDAO {
|
|
|
52
52
|
// Validate configuration before creating
|
|
53
53
|
const validation = this.validateConfiguration(item.configuration);
|
|
54
54
|
if (!validation.valid) {
|
|
55
|
-
throw new Error(`Invalid configuration: ${validation.errors.join(
|
|
55
|
+
throw new Error(`Invalid configuration: ${validation.errors.join(', ')}`);
|
|
56
56
|
}
|
|
57
57
|
const [createdConfig] = yield this._knex(this.tableName)
|
|
58
58
|
.insert({
|
|
59
59
|
name: item.name,
|
|
60
60
|
description: item.description,
|
|
61
|
-
configuration: JSON.stringify(item.configuration)
|
|
61
|
+
configuration: JSON.stringify(item.configuration)
|
|
62
62
|
})
|
|
63
63
|
.returning("*");
|
|
64
64
|
return this._deserialize(createdConfig);
|
|
@@ -102,7 +102,7 @@ class ReportConfigurationDAO {
|
|
|
102
102
|
if (item.configuration) {
|
|
103
103
|
const validation = this.validateConfiguration(item.configuration);
|
|
104
104
|
if (!validation.valid) {
|
|
105
|
-
throw new Error(`Invalid configuration: ${validation.errors.join(
|
|
105
|
+
throw new Error(`Invalid configuration: ${validation.errors.join(', ')}`);
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
108
|
const updateData = {};
|
|
@@ -126,9 +126,9 @@ class ReportConfigurationDAO {
|
|
|
126
126
|
delete(id) {
|
|
127
127
|
return __awaiter(this, void 0, void 0, function* () {
|
|
128
128
|
// Count total configurations
|
|
129
|
-
const [{ count }] = yield this._knex(this.tableName).count(
|
|
129
|
+
const [{ count }] = yield this._knex(this.tableName).count('* as count');
|
|
130
130
|
if (parseInt(count) <= 1) {
|
|
131
|
-
throw new Error(
|
|
131
|
+
throw new Error('Cannot delete the last configuration. At least one configuration must exist.');
|
|
132
132
|
}
|
|
133
133
|
const result = yield this._knex(this.tableName).where({ id }).del();
|
|
134
134
|
return result > 0;
|
|
@@ -148,7 +148,7 @@ class ReportConfigurationDAO {
|
|
|
148
148
|
.orderBy("created_at", "desc");
|
|
149
149
|
return {
|
|
150
150
|
success: true,
|
|
151
|
-
data: configs.map(
|
|
151
|
+
data: configs.map(c => this._deserialize(c)),
|
|
152
152
|
page,
|
|
153
153
|
limit,
|
|
154
154
|
count: configs.length,
|
|
@@ -171,19 +171,19 @@ class ReportConfigurationDAO {
|
|
|
171
171
|
const errors = [];
|
|
172
172
|
// Validate version exists
|
|
173
173
|
if (!config.version) {
|
|
174
|
-
errors.push(
|
|
174
|
+
errors.push('Configuration version is required');
|
|
175
175
|
}
|
|
176
176
|
// Validate custom classes array
|
|
177
177
|
if (!config.customClasses || !Array.isArray(config.customClasses)) {
|
|
178
|
-
errors.push(
|
|
178
|
+
errors.push('customClasses must be an array');
|
|
179
179
|
return { valid: false, errors };
|
|
180
180
|
}
|
|
181
181
|
// Min 2, max 7 custom classes
|
|
182
182
|
if (config.customClasses.length < 2) {
|
|
183
|
-
errors.push(
|
|
183
|
+
errors.push('Minimum 2 custom classes required');
|
|
184
184
|
}
|
|
185
185
|
if (config.customClasses.length > 7) {
|
|
186
|
-
errors.push(
|
|
186
|
+
errors.push('Maximum 7 custom classes allowed');
|
|
187
187
|
}
|
|
188
188
|
// Check name length (max 30 chars) and FHWA classes validity
|
|
189
189
|
const allFhwaClasses = [];
|
|
@@ -191,7 +191,7 @@ class ReportConfigurationDAO {
|
|
|
191
191
|
if (!cls.name || cls.name.length === 0) {
|
|
192
192
|
errors.push(`Custom class ${idx + 1}: name cannot be empty`);
|
|
193
193
|
}
|
|
194
|
-
if (cls.name && cls.name.toLowerCase() ===
|
|
194
|
+
if (cls.name && cls.name.toLowerCase() === 'total') {
|
|
195
195
|
errors.push(`Custom class ${idx + 1}: "Total" is a reserved name and cannot be used`);
|
|
196
196
|
}
|
|
197
197
|
if (cls.name && cls.name.length > 30) {
|
|
@@ -201,7 +201,7 @@ class ReportConfigurationDAO {
|
|
|
201
201
|
errors.push(`Custom class ${idx + 1}: must have at least one FHWA class`);
|
|
202
202
|
}
|
|
203
203
|
else {
|
|
204
|
-
cls.fhwaClasses.forEach(
|
|
204
|
+
cls.fhwaClasses.forEach(fhwa => {
|
|
205
205
|
if (!Number.isInteger(fhwa) || fhwa < 1 || fhwa > 13) {
|
|
206
206
|
errors.push(`Custom class ${idx + 1}: FHWA class ${fhwa} is invalid (must be 1-13)`);
|
|
207
207
|
}
|
|
@@ -213,7 +213,7 @@ class ReportConfigurationDAO {
|
|
|
213
213
|
const uniqueFhwaClasses = new Set(allFhwaClasses);
|
|
214
214
|
if (uniqueFhwaClasses.size !== allFhwaClasses.length) {
|
|
215
215
|
const duplicates = allFhwaClasses.filter((item, index) => allFhwaClasses.indexOf(item) !== index);
|
|
216
|
-
errors.push(`Duplicate FHWA classes detected: ${[...new Set(duplicates)].join(
|
|
216
|
+
errors.push(`Duplicate FHWA classes detected: ${[...new Set(duplicates)].join(', ')}. Each FHWA class can only be mapped to one custom class.`);
|
|
217
217
|
}
|
|
218
218
|
return { valid: errors.length === 0, errors };
|
|
219
219
|
}
|
|
@@ -236,18 +236,17 @@ class ReportConfigurationDAO {
|
|
|
236
236
|
for (const [label, count] of Object.entries(detectionResults)) {
|
|
237
237
|
const fhwaClasses = DETECTION_LABEL_TO_FHWA[label];
|
|
238
238
|
if (fhwaClasses && fhwaClasses.length > 0) {
|
|
239
|
-
fhwaClasses.forEach(
|
|
240
|
-
fhwaClassCounts[fhwaClass] =
|
|
241
|
-
(fhwaClassCounts[fhwaClass] || 0) + count;
|
|
239
|
+
fhwaClasses.forEach(fhwaClass => {
|
|
240
|
+
fhwaClassCounts[fhwaClass] = (fhwaClassCounts[fhwaClass] || 0) + count;
|
|
242
241
|
});
|
|
243
242
|
}
|
|
244
243
|
// Labels not in DETECTION_LABEL_TO_FHWA are silently ignored (e.g., pedestrian, bicycle)
|
|
245
244
|
}
|
|
246
245
|
// Step 2: FHWA classes → Custom classes
|
|
247
246
|
const customClassCounts = {};
|
|
248
|
-
config.configuration.customClasses.forEach(
|
|
247
|
+
config.configuration.customClasses.forEach(customClass => {
|
|
249
248
|
let total = 0;
|
|
250
|
-
customClass.fhwaClasses.forEach(
|
|
249
|
+
customClass.fhwaClasses.forEach(fhwaClass => {
|
|
251
250
|
total += fhwaClassCounts[fhwaClass] || 0;
|
|
252
251
|
});
|
|
253
252
|
customClassCounts[customClass.name] = total;
|
|
@@ -312,15 +311,15 @@ class ReportConfigurationDAO {
|
|
|
312
311
|
*/
|
|
313
312
|
_deepMergeNumericData(target, source) {
|
|
314
313
|
// Base case: if source is a number, add it to target
|
|
315
|
-
if (typeof source ===
|
|
316
|
-
return (typeof target ===
|
|
314
|
+
if (typeof source === 'number') {
|
|
315
|
+
return (typeof target === 'number' ? target : 0) + source;
|
|
317
316
|
}
|
|
318
317
|
// If source is not an object, return target unchanged
|
|
319
|
-
if (typeof source !==
|
|
318
|
+
if (typeof source !== 'object' || source === null) {
|
|
320
319
|
return target;
|
|
321
320
|
}
|
|
322
321
|
// Ensure target is an object
|
|
323
|
-
if (typeof target !==
|
|
322
|
+
if (typeof target !== 'object' || target === null) {
|
|
324
323
|
target = {};
|
|
325
324
|
}
|
|
326
325
|
// Recursively merge each key in source
|
|
@@ -359,11 +358,11 @@ class ReportConfigurationDAO {
|
|
|
359
358
|
uuid: row.uuid,
|
|
360
359
|
name: row.name,
|
|
361
360
|
description: row.description,
|
|
362
|
-
configuration: typeof row.configuration ===
|
|
361
|
+
configuration: typeof row.configuration === 'string'
|
|
363
362
|
? JSON.parse(row.configuration)
|
|
364
363
|
: row.configuration,
|
|
365
364
|
created_at: row.created_at,
|
|
366
|
-
updated_at: row.updated_at
|
|
365
|
+
updated_at: row.updated_at
|
|
367
366
|
};
|
|
368
367
|
}
|
|
369
368
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report-configuration.dao.js","sourceRoot":"","sources":["../../../src/dao/report-configuration/report-configuration.dao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAQA,0EAA+C;AAE/C;;;;;;;;;;;;;GAaG;AACH,MAAM,uBAAuB,GAA6B;
|
|
1
|
+
{"version":3,"file":"report-configuration.dao.js","sourceRoot":"","sources":["../../../src/dao/report-configuration/report-configuration.dao.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,5 +8,5 @@ export declare class StudyDAO implements IBaseDAO<IStudy> {
|
|
|
8
8
|
update(id: number, item: Partial<IStudy>): Promise<IStudy | null>;
|
|
9
9
|
delete(id: number): Promise<boolean>;
|
|
10
10
|
getAll(page: number, limit: number, createdBy?: number | null): Promise<IDataPaginator<IStudy>>;
|
|
11
|
-
|
|
11
|
+
getStudiesByLocation(locationId: number): Promise<IStudy[]>;
|
|
12
12
|
}
|
|
@@ -20,9 +20,7 @@ class StudyDAO {
|
|
|
20
20
|
}
|
|
21
21
|
create(item) {
|
|
22
22
|
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
-
const [createdStudy] = yield this._knex("study")
|
|
24
|
-
.insert(item)
|
|
25
|
-
.returning("*");
|
|
23
|
+
const [createdStudy] = yield this._knex("study").insert(item).returning("*");
|
|
26
24
|
return createdStudy;
|
|
27
25
|
});
|
|
28
26
|
}
|
|
@@ -30,8 +28,8 @@ class StudyDAO {
|
|
|
30
28
|
return __awaiter(this, void 0, void 0, function* () {
|
|
31
29
|
const study = yield this._knex("study as s")
|
|
32
30
|
.innerJoin("users as u", "s.createdBy", "u.id")
|
|
33
|
-
.leftJoin("
|
|
34
|
-
.select("s.*", this._knex.raw("to_jsonb(u.*) as user"), this._knex.raw("to_jsonb(
|
|
31
|
+
.leftJoin("locations as l", "s.locationId", "l.id")
|
|
32
|
+
.select("s.*", this._knex.raw("to_jsonb(u.*) as user"), this._knex.raw("to_jsonb(l.*) as location"))
|
|
35
33
|
.where("s.id", id)
|
|
36
34
|
.first();
|
|
37
35
|
return study || null;
|
|
@@ -41,8 +39,8 @@ class StudyDAO {
|
|
|
41
39
|
return __awaiter(this, void 0, void 0, function* () {
|
|
42
40
|
const study = yield this._knex("study as s")
|
|
43
41
|
.innerJoin("users as u", "s.createdBy", "u.id")
|
|
44
|
-
.leftJoin("
|
|
45
|
-
.select("s.*", this._knex.raw("to_jsonb(u.*) as user"), this._knex.raw("to_jsonb(
|
|
42
|
+
.leftJoin("locations as l", "s.locationId", "l.id")
|
|
43
|
+
.select("s.*", this._knex.raw("to_jsonb(u.*) as user"), this._knex.raw("to_jsonb(l.*) as location"))
|
|
46
44
|
.where("s.uuid", uuid)
|
|
47
45
|
.first();
|
|
48
46
|
return study || null;
|
|
@@ -50,10 +48,7 @@ class StudyDAO {
|
|
|
50
48
|
}
|
|
51
49
|
update(id, item) {
|
|
52
50
|
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
-
const [updatedStudy] = yield this._knex("study")
|
|
54
|
-
.where({ id })
|
|
55
|
-
.update(item)
|
|
56
|
-
.returning("*");
|
|
51
|
+
const [updatedStudy] = yield this._knex("study").where({ id }).update(item).returning("*");
|
|
57
52
|
return updatedStudy || null;
|
|
58
53
|
});
|
|
59
54
|
}
|
|
@@ -68,8 +63,8 @@ class StudyDAO {
|
|
|
68
63
|
const offset = (page - 1) * limit;
|
|
69
64
|
const query = this._knex("study as s")
|
|
70
65
|
.innerJoin("users as u", "s.createdBy", "u.id")
|
|
71
|
-
.leftJoin("
|
|
72
|
-
.select("s.*", this._knex.raw("to_jsonb(u.*) as user"), this._knex.raw("to_jsonb(
|
|
66
|
+
.leftJoin("locations as l", "s.locationId", "l.id")
|
|
67
|
+
.select("s.*", this._knex.raw("to_jsonb(u.*) as user"), this._knex.raw("to_jsonb(l.*) as location"));
|
|
73
68
|
if (createdBy !== undefined && createdBy !== null) {
|
|
74
69
|
query.where("s.createdBy", createdBy);
|
|
75
70
|
}
|
|
@@ -87,13 +82,13 @@ class StudyDAO {
|
|
|
87
82
|
};
|
|
88
83
|
});
|
|
89
84
|
}
|
|
90
|
-
|
|
85
|
+
getStudiesByLocation(locationId) {
|
|
91
86
|
return __awaiter(this, void 0, void 0, function* () {
|
|
92
87
|
const studies = yield this._knex("study as s")
|
|
93
88
|
.innerJoin("users as u", "s.createdBy", "u.id")
|
|
94
|
-
.leftJoin("
|
|
95
|
-
.select("s.*", this._knex.raw("to_jsonb(u.*) as user"), this._knex.raw("to_jsonb(
|
|
96
|
-
.where("s.
|
|
89
|
+
.leftJoin("locations as l", "s.locationId", "l.id")
|
|
90
|
+
.select("s.*", this._knex.raw("to_jsonb(u.*) as user"), this._knex.raw("to_jsonb(l.*) as location"))
|
|
91
|
+
.where("s.locationId", locationId)
|
|
97
92
|
.orderBy("s.created_at", "desc")
|
|
98
93
|
.limit(10);
|
|
99
94
|
return studies;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"study.dao.js","sourceRoot":"","sources":["../../../src/dao/study/study.dao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAGA,0EAA+C;AAE/C,MAAa,QAAQ;IAArB;
|
|
1
|
+
{"version":3,"file":"study.dao.js","sourceRoot":"","sources":["../../../src/dao/study/study.dao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAGA,0EAA+C;AAE/C,MAAa,QAAQ;IAArB;QACY,UAAK,GAAyB,wBAAW,CAAC,aAAa,EAAE,CAAC;IA0EtE,CAAC;IAxES,MAAM,CAAC,IAAY;;YACrB,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC7E,OAAO,YAAY,CAAC;QACxB,CAAC;KAAA;IAEK,OAAO,CAAC,EAAU;;YACpB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;iBACvC,SAAS,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC;iBAC9C,QAAQ,CAAC,gBAAgB,EAAE,cAAc,EAAE,MAAM,CAAC;iBAClD,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;iBACnG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;iBACjB,KAAK,EAAE,CAAC;YACb,OAAO,KAAK,IAAI,IAAI,CAAC;QACzB,CAAC;KAAA;IAEK,SAAS,CAAC,IAAY;;YACxB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;iBACvC,SAAS,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC;iBAC9C,QAAQ,CAAC,gBAAgB,EAAE,cAAc,EAAE,MAAM,CAAC;iBAClD,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;iBACnG,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC;iBACrB,KAAK,EAAE,CAAC;YACb,OAAO,KAAK,IAAI,IAAI,CAAC;QACzB,CAAC;KAAA;IAEK,MAAM,CAAC,EAAU,EAAE,IAAqB;;YAC1C,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC3F,OAAO,YAAY,IAAI,IAAI,CAAC;QAChC,CAAC;KAAA;IAEK,MAAM,CAAC,EAAU;;YACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;YAC7D,OAAO,MAAM,GAAG,CAAC,CAAC;QACtB,CAAC;KAAA;IAEK,MAAM,CAAC,IAAY,EAAE,KAAa,EAAE,SAAyB;;YAC/D,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;YAElC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;iBACjC,SAAS,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC;iBAC9C,QAAQ,CAAC,gBAAgB,EAAE,cAAc,EAAE,MAAM,CAAC;iBAClD,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;YACzG,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBAChD,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;YAC1C,CAAC;YAED,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC5E,MAAM,UAAU,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC;YACtC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAEhE,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,OAAO;gBACb,IAAI;gBACJ,KAAK;gBACL,KAAK,EAAE,OAAO,CAAC,MAAM;gBACrB,UAAU;gBACV,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;aAC5C,CAAC;QACN,CAAC;KAAA;IAEK,oBAAoB,CAAC,UAAkB;;YACzC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;iBACzC,SAAS,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC;iBAC9C,QAAQ,CAAC,gBAAgB,EAAE,cAAc,EAAE,MAAM,CAAC;iBAClD,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;iBACnG,KAAK,CAAC,cAAc,EAAE,UAAU,CAAC;iBACjC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC;iBAC/B,KAAK,CAAC,EAAE,CAAC,CAAC;YAEf,OAAO,OAAO,CAAC;QACnB,CAAC;KAAA;CACJ;AA3ED,4BA2EC"}
|
|
@@ -44,10 +44,7 @@ class UserDAO {
|
|
|
44
44
|
}
|
|
45
45
|
update(id, item) {
|
|
46
46
|
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
-
const [updatedUser] = yield this._knex("users")
|
|
48
|
-
.where({ id })
|
|
49
|
-
.update(item)
|
|
50
|
-
.returning("*");
|
|
47
|
+
const [updatedUser] = yield this._knex("users").where({ id }).update(item).returning("*");
|
|
51
48
|
return updatedUser || null;
|
|
52
49
|
});
|
|
53
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.dao.js","sourceRoot":"","sources":["../../../src/dao/user/user.dao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAGA,0EAA+C;AAE/C,MAAa,OAAO;IAApB;
|
|
1
|
+
{"version":3,"file":"user.dao.js","sourceRoot":"","sources":["../../../src/dao/user/user.dao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAGA,0EAA+C;AAE/C,MAAa,OAAO;IAApB;QACY,UAAK,GAAyB,wBAAW,CAAC,aAAa,EAAE,CAAC;IAkDtE,CAAC;IAhDS,MAAM,CAAC,IAAW;;YACpB,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC5E,OAAO,WAAW,CAAC;QACvB,CAAC;KAAA;IAEK,OAAO,CAAC,EAAU;;YACpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;YAC7D,OAAO,IAAI,IAAI,IAAI,CAAC;QACxB,CAAC;KAAA;IAEK,SAAS,CAAC,IAAY;;YACxB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;YAC/D,OAAO,IAAI,IAAI,IAAI,CAAC;QACxB,CAAC;KAAA;IAGK,UAAU,CAAC,KAAa;;YAC1B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;YAChE,OAAO,IAAI,IAAI,IAAI,CAAC;QACxB,CAAC;KAAA;IAEK,MAAM,CAAC,EAAU,EAAE,IAAoB;;YACzC,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC1F,OAAO,WAAW,IAAI,IAAI,CAAC;QAC/B,CAAC;KAAA;IAEK,MAAM,CAAC,EAAU;;YACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;YAC7D,OAAO,MAAM,GAAG,CAAC,CAAC;QACtB,CAAC;KAAA;IAEK,MAAM,CAAC,IAAY,EAAE,KAAa;;YACpC,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;YAElC,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACpE,MAAM,UAAU,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC;YACtC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAEpE,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,KAAK;gBACX,IAAI;gBACJ,KAAK;gBACL,KAAK,EAAE,KAAK,CAAC,MAAM;gBACnB,UAAU;gBACV,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;aAC5C,CAAC;QACN,CAAC;KAAA;CACJ;AAnDD,0BAmDC"}
|
|
@@ -20,17 +20,13 @@ class UserPushNotificationTokenDAO {
|
|
|
20
20
|
}
|
|
21
21
|
create(item) {
|
|
22
22
|
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
-
const [createdToken] = yield this._knex("user_push_notification_token")
|
|
24
|
-
.insert(item)
|
|
25
|
-
.returning("*");
|
|
23
|
+
const [createdToken] = yield this._knex("user_push_notification_token").insert(item).returning("*");
|
|
26
24
|
return createdToken;
|
|
27
25
|
});
|
|
28
26
|
}
|
|
29
27
|
getById(id) {
|
|
30
28
|
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
-
const token = yield this._knex("user_push_notification_token")
|
|
32
|
-
.where({ id })
|
|
33
|
-
.first();
|
|
29
|
+
const token = yield this._knex("user_push_notification_token").where({ id }).first();
|
|
34
30
|
return token || null;
|
|
35
31
|
});
|
|
36
32
|
}
|
|
@@ -41,43 +37,31 @@ class UserPushNotificationTokenDAO {
|
|
|
41
37
|
}
|
|
42
38
|
getByUserId(userId) {
|
|
43
39
|
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
-
const tokens = yield this._knex("user_push_notification_token").where({
|
|
45
|
-
userId,
|
|
46
|
-
});
|
|
40
|
+
const tokens = yield this._knex("user_push_notification_token").where({ userId });
|
|
47
41
|
return tokens;
|
|
48
42
|
});
|
|
49
43
|
}
|
|
50
44
|
getByToken(token) {
|
|
51
45
|
return __awaiter(this, void 0, void 0, function* () {
|
|
52
|
-
const tokenRecord = yield this._knex("user_push_notification_token")
|
|
53
|
-
.where({ token })
|
|
54
|
-
.first();
|
|
46
|
+
const tokenRecord = yield this._knex("user_push_notification_token").where({ token }).first();
|
|
55
47
|
return tokenRecord || null;
|
|
56
48
|
});
|
|
57
49
|
}
|
|
58
50
|
getAvailableByUserId(userId) {
|
|
59
51
|
return __awaiter(this, void 0, void 0, function* () {
|
|
60
|
-
const tokens = yield this._knex("user_push_notification_token").where({
|
|
61
|
-
userId,
|
|
62
|
-
available: true,
|
|
63
|
-
});
|
|
52
|
+
const tokens = yield this._knex("user_push_notification_token").where({ userId, available: true });
|
|
64
53
|
return tokens;
|
|
65
54
|
});
|
|
66
55
|
}
|
|
67
56
|
update(id, item) {
|
|
68
57
|
return __awaiter(this, void 0, void 0, function* () {
|
|
69
|
-
const [updatedToken] = yield this._knex("user_push_notification_token")
|
|
70
|
-
.where({ id })
|
|
71
|
-
.update(item)
|
|
72
|
-
.returning("*");
|
|
58
|
+
const [updatedToken] = yield this._knex("user_push_notification_token").where({ id }).update(item).returning("*");
|
|
73
59
|
return updatedToken || null;
|
|
74
60
|
});
|
|
75
61
|
}
|
|
76
62
|
delete(id) {
|
|
77
63
|
return __awaiter(this, void 0, void 0, function* () {
|
|
78
|
-
const result = yield this._knex("user_push_notification_token")
|
|
79
|
-
.where({ id })
|
|
80
|
-
.del();
|
|
64
|
+
const result = yield this._knex("user_push_notification_token").where({ id }).del();
|
|
81
65
|
return result > 0;
|
|
82
66
|
});
|
|
83
67
|
}
|
|
@@ -86,9 +70,7 @@ class UserPushNotificationTokenDAO {
|
|
|
86
70
|
const offset = (page - 1) * limit;
|
|
87
71
|
const [countResult] = yield this._knex("user_push_notification_token").count("* as count");
|
|
88
72
|
const totalCount = +countResult.count;
|
|
89
|
-
const tokens = yield this._knex("user_push_notification_token")
|
|
90
|
-
.limit(limit)
|
|
91
|
-
.offset(offset);
|
|
73
|
+
const tokens = yield this._knex("user_push_notification_token").limit(limit).offset(offset);
|
|
92
74
|
return {
|
|
93
75
|
success: true,
|
|
94
76
|
data: tokens,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-push-notification-token.dao.js","sourceRoot":"","sources":["../../../src/dao/user-push-notification-token/user-push-notification-token.dao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAGA,0EAA+C;AAE/C,MAAa,4BAA4B;IAAzC;
|
|
1
|
+
{"version":3,"file":"user-push-notification-token.dao.js","sourceRoot":"","sources":["../../../src/dao/user-push-notification-token/user-push-notification-token.dao.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Knex } from "knex";
|
|
2
2
|
import { IBaseDAO, IDataPaginator } from "../../d.types";
|
|
3
3
|
import { IVideo } from "../../interfaces/video/video.interfaces";
|
|
4
|
+
import { VideoSortField, SortOrder } from "../../constants/video.constants";
|
|
4
5
|
export declare class VideoDAO implements IBaseDAO<IVideo> {
|
|
5
6
|
private _knex;
|
|
6
7
|
static getInstance(): Knex<any, unknown[]>;
|
|
@@ -9,7 +10,7 @@ export declare class VideoDAO implements IBaseDAO<IVideo> {
|
|
|
9
10
|
getByUuid(uuid: string): Promise<IVideo | null>;
|
|
10
11
|
update(id: number, item: Partial<IVideo>): Promise<IVideo | null>;
|
|
11
12
|
delete(id: number): Promise<boolean>;
|
|
12
|
-
getAll(page: number, limit: number, folderId?: number | null): Promise<IDataPaginator<IVideo>>;
|
|
13
|
+
getAll(page: number, limit: number, folderId?: number | null, sortBy?: VideoSortField, sortOrder?: SortOrder): Promise<IDataPaginator<IVideo>>;
|
|
13
14
|
getVideoStatsByFolderIds(folderIds: number[]): Promise<{
|
|
14
15
|
total_videos: number;
|
|
15
16
|
completed_videos: number;
|
|
@@ -57,4 +58,11 @@ export declare class VideoDAO implements IBaseDAO<IVideo> {
|
|
|
57
58
|
* Get videos with trimming enabled for a folder
|
|
58
59
|
*/
|
|
59
60
|
getVideosWithTrimming(folderId: number): Promise<IVideo[]>;
|
|
61
|
+
/**
|
|
62
|
+
* Get paginated videos for a specific camera
|
|
63
|
+
* @param cameraId - The camera ID
|
|
64
|
+
* @param page - Page number
|
|
65
|
+
* @param limit - Items per page
|
|
66
|
+
*/
|
|
67
|
+
getVideosByCameraId(cameraId: number, page: number, limit: number): Promise<IDataPaginator<IVideo>>;
|
|
60
68
|
}
|