@trafficgroup/knex-rel 0.1.19 → 0.1.20
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 +2 -5
- package/CLAUDE.md +11 -2
- package/dist/constants/folder.constants.d.ts +2 -2
- package/dist/constants/folder.constants.js +15 -6
- package/dist/constants/folder.constants.js.map +1 -1
- package/dist/constants/video.constants.d.ts +2 -2
- package/dist/constants/video.constants.js +9 -5
- package/dist/constants/video.constants.js.map +1 -1
- package/dist/dao/VideoMinuteResultDAO.d.ts +1 -1
- package/dist/dao/VideoMinuteResultDAO.js +29 -23
- package/dist/dao/VideoMinuteResultDAO.js.map +1 -1
- package/dist/dao/auth/auth.dao.js +4 -1
- package/dist/dao/auth/auth.dao.js.map +1 -1
- package/dist/dao/batch/batch.dao.d.ts +10 -0
- package/dist/dao/batch/batch.dao.js +51 -14
- package/dist/dao/batch/batch.dao.js.map +1 -1
- package/dist/dao/camera/camera.dao.js +10 -7
- 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 +27 -40
- package/dist/dao/chat/chat.dao.js.map +1 -1
- package/dist/dao/folder/folder.dao.js +18 -7
- package/dist/dao/folder/folder.dao.js.map +1 -1
- package/dist/dao/location/location.dao.js +16 -9
- package/dist/dao/location/location.dao.js.map +1 -1
- package/dist/dao/message/message.dao.d.ts +1 -1
- package/dist/dao/message/message.dao.js +18 -26
- package/dist/dao/message/message.dao.js.map +1 -1
- package/dist/dao/report-configuration/report-configuration.dao.js +32 -31
- package/dist/dao/report-configuration/report-configuration.dao.js.map +1 -1
- package/dist/dao/study/study.dao.d.ts +1 -8
- package/dist/dao/study/study.dao.js +11 -20
- package/dist/dao/study/study.dao.js.map +1 -1
- package/dist/dao/systemConfiguration/SystemConfigurationDAO.d.ts +2 -2
- package/dist/dao/systemConfiguration/SystemConfigurationDAO.js +26 -26
- package/dist/dao/systemConfiguration/SystemConfigurationDAO.js.map +1 -1
- package/dist/dao/user/user.dao.js +4 -1
- package/dist/dao/user/user.dao.js.map +1 -1
- package/dist/dao/user-push-notification-token/user-push-notification-token.dao.js +26 -8
- package/dist/dao/user-push-notification-token/user-push-notification-token.dao.js.map +1 -1
- package/dist/dao/video/video.dao.js +30 -28
- package/dist/dao/video/video.dao.js.map +1 -1
- package/dist/index.d.ts +7 -10
- package/dist/index.js +1 -4
- 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 +1 -1
- package/dist/interfaces/chat/chat.interfaces.d.ts +3 -3
- package/dist/interfaces/folder/folder.interfaces.d.ts +1 -1
- package/dist/interfaces/message/message.interfaces.d.ts +2 -2
- package/dist/interfaces/study/study.interfaces.d.ts +2 -2
- 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 +2 -2
- package/migrations/20250717160737_migration.ts +1 -1
- package/migrations/20250717160908_migration.ts +5 -2
- 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 +8 -4
- package/migrations/20250722211019_migration.ts +1 -1
- package/migrations/20250723153852_migration.ts +13 -10
- package/migrations/20250723162257_migration.ts +4 -7
- package/migrations/20250723171109_migration.ts +4 -7
- package/migrations/20250723205331_migration.ts +6 -9
- package/migrations/20250724191345_migration.ts +8 -11
- package/migrations/20250730180932_migration.ts +14 -13
- package/migrations/20250730213625_migration.ts +8 -11
- package/migrations/20250804124509_migration.ts +26 -21
- package/migrations/20250804132053_migration.ts +5 -8
- package/migrations/20250804164518_migration.ts +7 -7
- package/migrations/20250823223016_migration.ts +32 -21
- package/migrations/20250910015452_migration.ts +18 -6
- package/migrations/20250911000000_migration.ts +18 -4
- package/migrations/20250917144153_migration.ts +14 -7
- package/migrations/20250930200521_migration.ts +8 -4
- package/migrations/20251010143500_migration.ts +27 -6
- package/migrations/20251020225758_migration.ts +51 -15
- package/migrations/20251112120000_migration.ts +10 -2
- package/migrations/20251112120200_migration.ts +19 -7
- package/migrations/20251112120300_migration.ts +7 -2
- package/migrations/20260109140000_migration.ts +7 -2
- package/package.json +1 -1
- package/src/constants/folder.constants.ts +17 -8
- package/src/constants/video.constants.ts +11 -7
- package/src/d.types.ts +18 -14
- package/src/dao/VideoMinuteResultDAO.ts +83 -52
- package/src/dao/auth/auth.dao.ts +58 -55
- package/src/dao/batch/batch.dao.ts +145 -100
- package/src/dao/camera/camera.dao.ts +124 -121
- package/src/dao/chat/chat.dao.ts +45 -45
- package/src/dao/folder/folder.dao.ts +105 -90
- package/src/dao/location/location.dao.ts +109 -87
- package/src/dao/message/message.dao.ts +32 -32
- package/src/dao/reconciliation-log/reconciliation-log.dao.ts +1 -1
- package/src/dao/report-configuration/report-configuration.dao.ts +370 -342
- package/src/dao/study/study.dao.ts +88 -84
- package/src/dao/systemConfiguration/SystemConfigurationDAO.ts +41 -35
- package/src/dao/user/user.dao.ts +52 -50
- package/src/dao/user-push-notification-token/user-push-notification-token.dao.ts +80 -48
- package/src/dao/video/video.dao.ts +396 -345
- package/src/entities/BaseEntity.ts +1 -1
- package/src/index.ts +37 -29
- 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 -9
- 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 +7 -7
- 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 +3 -3
- 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 -34
- package/dist/constants/study.constants.d.ts +0 -10
- package/dist/constants/study.constants.js +0 -18
- package/dist/constants/study.constants.js.map +0 -1
- package/src/constants/study.constants.ts +0 -17
package/src/index.ts
CHANGED
|
@@ -17,44 +17,48 @@ export { VideoMinuteResultDAO } from "./dao/VideoMinuteResultDAO";
|
|
|
17
17
|
|
|
18
18
|
// Constants
|
|
19
19
|
export {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
VALID_VIDEO_SORT_FIELDS,
|
|
21
|
+
VALID_SORT_ORDERS,
|
|
22
|
+
VIDEO_SORT_COLUMN_MAP,
|
|
23
23
|
} from "./constants/video.constants";
|
|
24
24
|
export type { VideoSortField, SortOrder } from "./constants/video.constants";
|
|
25
25
|
|
|
26
26
|
export {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
VALID_FOLDER_SORT_FIELDS,
|
|
28
|
+
VALID_FOLDER_STATUSES,
|
|
29
|
+
FOLDER_SORT_COLUMN_MAP,
|
|
30
|
+
} from "./constants/folder.constants";
|
|
31
|
+
export type {
|
|
32
|
+
FolderSortField,
|
|
33
|
+
FolderStatus,
|
|
30
34
|
} from "./constants/folder.constants";
|
|
31
|
-
export type { FolderSortField, FolderStatus } from "./constants/folder.constants";
|
|
32
|
-
|
|
33
|
-
export {
|
|
34
|
-
VALID_STUDY_SORT_FIELDS,
|
|
35
|
-
STUDY_SORT_COLUMN_MAP
|
|
36
|
-
} from "./constants/study.constants";
|
|
37
|
-
export type { StudySortField } from "./constants/study.constants";
|
|
38
35
|
|
|
39
|
-
//
|
|
36
|
+
// Folder filters interface
|
|
40
37
|
export type { IFolderFilters } from "./dao/folder/folder.dao";
|
|
41
|
-
export type { IStudyFilters } from "./dao/study/study.dao";
|
|
42
38
|
|
|
43
39
|
// Interfaces
|
|
44
40
|
export { IDataPaginator } from "./d.types";
|
|
45
41
|
export { IAuth } from "./interfaces/auth/auth.interfaces";
|
|
46
42
|
export { IBatch } from "./interfaces/batch/batch.interfaces";
|
|
47
43
|
export { ICamera } from "./interfaces/camera/camera.interfaces";
|
|
48
|
-
export {
|
|
44
|
+
export {
|
|
45
|
+
IChat,
|
|
46
|
+
IChatCreate,
|
|
47
|
+
IChatUpdate,
|
|
48
|
+
} from "./interfaces/chat/chat.interfaces";
|
|
49
49
|
export { IFolder } from "./interfaces/folder/folder.interfaces";
|
|
50
50
|
export { ILocation } from "./interfaces/location/location.interfaces";
|
|
51
|
-
export { IMessage, IMessageCreate, IMessageUpdate } from "./interfaces/message/message.interfaces";
|
|
52
51
|
export {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
52
|
+
IMessage,
|
|
53
|
+
IMessageCreate,
|
|
54
|
+
IMessageUpdate,
|
|
55
|
+
} from "./interfaces/message/message.interfaces";
|
|
56
|
+
export {
|
|
57
|
+
IReportConfiguration,
|
|
58
|
+
IReportConfigurationData,
|
|
59
|
+
IReportConfigurationInput,
|
|
60
|
+
ICustomClass,
|
|
61
|
+
IValidationResult,
|
|
58
62
|
} from "./interfaces/report-configuration/report-configuration.interfaces";
|
|
59
63
|
export { IStudy } from "./interfaces/study/study.interfaces";
|
|
60
64
|
export { ISystemConfiguration } from "./interfaces/systemConfiguration/ISystemConfiguration";
|
|
@@ -62,14 +66,18 @@ export { IUser } from "./interfaces/user/user.interfaces";
|
|
|
62
66
|
export { IUserPushNotificationToken } from "./interfaces/user-push-notification-token/user-push-notification-token.interfaces";
|
|
63
67
|
export { IReconciliationLog } from "./interfaces/reconciliation-log/reconciliation-log.interfaces";
|
|
64
68
|
export { IVideo, ITrimPeriod } from "./interfaces/video/video.interfaces";
|
|
65
|
-
export {
|
|
69
|
+
export {
|
|
70
|
+
IVideoMinuteResult,
|
|
71
|
+
IVideoMinuteResultInput,
|
|
72
|
+
IVideoMinuteBatch,
|
|
73
|
+
} from "./entities/VideoMinuteResult";
|
|
66
74
|
export type {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
75
|
+
IStudyTimeGroupResult,
|
|
76
|
+
IGroupedStudyResponse,
|
|
77
|
+
IGroupedResponse,
|
|
78
|
+
IGroupedResult,
|
|
79
|
+
ITMCResult,
|
|
80
|
+
IATRResult,
|
|
73
81
|
} from "./dao/VideoMinuteResultDAO";
|
|
74
82
|
|
|
75
83
|
import KnexManager from "./KnexConnection";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export interface IAuth {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
2
|
+
id: number;
|
|
3
|
+
userId: number;
|
|
4
|
+
password: string;
|
|
5
|
+
twofaEnabled: boolean;
|
|
6
|
+
twofaSecret: string | null;
|
|
7
|
+
emailToken: string | null;
|
|
8
|
+
emailVerified: boolean;
|
|
9
|
+
created_at: string;
|
|
10
|
+
updated_at: string;
|
|
11
|
+
}
|
|
@@ -4,7 +4,7 @@ export interface IBatch {
|
|
|
4
4
|
id: number;
|
|
5
5
|
uuid: string;
|
|
6
6
|
folderId: number;
|
|
7
|
-
status:
|
|
7
|
+
status: "PENDING" | "IN_PROGRESS" | "COMPLETED" | "FAILED";
|
|
8
8
|
totalVideos: number;
|
|
9
9
|
completedVideos: number;
|
|
10
10
|
failedVideos: number;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export interface ICamera {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
2
|
+
id: number;
|
|
3
|
+
uuid: string;
|
|
4
|
+
locationId: number;
|
|
5
|
+
name: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
status: "ACTIVE" | "INACTIVE" | "MAINTENANCE";
|
|
8
|
+
metadata: Record<string, any>;
|
|
9
|
+
created_at: string;
|
|
10
|
+
updated_at: string;
|
|
11
11
|
}
|
|
@@ -3,7 +3,7 @@ export interface IChat {
|
|
|
3
3
|
uuid?: string;
|
|
4
4
|
userId: number;
|
|
5
5
|
title: string;
|
|
6
|
-
status?:
|
|
6
|
+
status?: "active" | "archived";
|
|
7
7
|
created_at?: Date;
|
|
8
8
|
updated_at?: Date;
|
|
9
9
|
}
|
|
@@ -11,10 +11,10 @@ export interface IChat {
|
|
|
11
11
|
export interface IChatCreate {
|
|
12
12
|
userId: number;
|
|
13
13
|
title: string;
|
|
14
|
-
status?:
|
|
14
|
+
status?: "active" | "archived";
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
export interface IChatUpdate {
|
|
18
18
|
title?: string;
|
|
19
|
-
status?:
|
|
20
|
-
}
|
|
19
|
+
status?: "active" | "archived";
|
|
20
|
+
}
|
|
@@ -5,9 +5,9 @@ export interface IFolder {
|
|
|
5
5
|
uuid: string;
|
|
6
6
|
name: string;
|
|
7
7
|
createdBy: number; // user.id
|
|
8
|
-
status:
|
|
8
|
+
status: "UPLOADING" | "COMPLETE";
|
|
9
9
|
studyId: number; // study.id
|
|
10
10
|
created_at: string;
|
|
11
11
|
updated_at: string;
|
|
12
12
|
study?: IStudy;
|
|
13
|
-
}
|
|
13
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export interface ILocation {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
id: number;
|
|
3
|
+
uuid: string;
|
|
4
|
+
name: string;
|
|
5
|
+
longitude: number;
|
|
6
|
+
latitude: number;
|
|
7
|
+
created_at: string;
|
|
8
|
+
updated_at: string;
|
|
9
9
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export interface IMessage {
|
|
2
2
|
id?: number;
|
|
3
3
|
chatId: number;
|
|
4
|
-
role:
|
|
4
|
+
role: "user" | "assistant";
|
|
5
5
|
content: string;
|
|
6
6
|
created_at?: Date;
|
|
7
7
|
updated_at?: Date;
|
|
@@ -9,10 +9,10 @@ export interface IMessage {
|
|
|
9
9
|
|
|
10
10
|
export interface IMessageCreate {
|
|
11
11
|
chatId: number;
|
|
12
|
-
role:
|
|
12
|
+
role: "user" | "assistant";
|
|
13
13
|
content: string;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
export interface IMessageUpdate {
|
|
17
17
|
content?: string;
|
|
18
|
-
}
|
|
18
|
+
}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
export interface IReportConfiguration {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
id: number;
|
|
3
|
+
uuid: string;
|
|
4
|
+
name: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
configuration: IReportConfigurationData;
|
|
7
|
+
created_at: Date;
|
|
8
|
+
updated_at: Date;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
export interface IReportConfigurationData {
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
version: string;
|
|
13
|
+
customClasses: ICustomClass[];
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
export interface ICustomClass {
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
name: string; // Max 30 chars
|
|
18
|
+
fhwaClasses: number[]; // Array of 1-13
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
export interface IReportConfigurationInput {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
name: string;
|
|
23
|
+
description?: string;
|
|
24
|
+
configuration: IReportConfigurationData;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
export interface IValidationResult {
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
valid: boolean;
|
|
29
|
+
errors: string[];
|
|
30
30
|
}
|
|
@@ -6,13 +6,13 @@ export interface IStudy {
|
|
|
6
6
|
uuid: string;
|
|
7
7
|
name: string;
|
|
8
8
|
description?: string;
|
|
9
|
-
type:
|
|
9
|
+
type: "TMC" | "ATR";
|
|
10
10
|
createdBy: number;
|
|
11
11
|
locationId?: number;
|
|
12
12
|
isMultiCamera: boolean;
|
|
13
|
-
status:
|
|
13
|
+
status: "COMPLETE" | "IN PROGRESS" | "FAILED";
|
|
14
14
|
created_at: string;
|
|
15
15
|
updated_at: string;
|
|
16
16
|
user?: IUser;
|
|
17
17
|
location?: ILocation;
|
|
18
|
-
}
|
|
18
|
+
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export interface IUser {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
2
|
+
id: number;
|
|
3
|
+
uuid: string;
|
|
4
|
+
email: string;
|
|
5
|
+
nombre: string;
|
|
6
|
+
role: "ADMIN" | "USER";
|
|
7
|
+
profilePhoto?: string;
|
|
8
|
+
company?: string;
|
|
9
|
+
created_at: string;
|
|
10
|
+
updated_at: string;
|
|
11
11
|
}
|
package/src/interfaces/user-push-notification-token/user-push-notification-token.interfaces.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export interface IUserPushNotificationToken {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
2
|
+
id: number;
|
|
3
|
+
userId: number;
|
|
4
|
+
token: string;
|
|
5
|
+
available: boolean;
|
|
6
|
+
token_type: "expo" | "native";
|
|
7
|
+
device_type?: string;
|
|
8
|
+
created_at: string;
|
|
9
|
+
updated_at: string;
|
|
10
|
+
}
|
|
@@ -1,44 +1,44 @@
|
|
|
1
1
|
import type { IFolder } from "../folder/folder.interfaces";
|
|
2
2
|
|
|
3
3
|
export interface ITrimPeriod {
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
startTime: string;
|
|
5
|
+
endTime: string;
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
export interface IVideo {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
9
|
+
id: number;
|
|
10
|
+
uuid: string;
|
|
11
|
+
folderId: number;
|
|
12
|
+
annotationSourceId?: number;
|
|
13
|
+
cameraId?: number;
|
|
14
|
+
name: string;
|
|
15
|
+
videoLocation: string;
|
|
16
|
+
videoOutputLocation: string | null;
|
|
17
|
+
generateVideoOutput: boolean;
|
|
18
|
+
videoRate: number;
|
|
19
|
+
videoType: "TMC" | "ATR" | "JUNCTION" | "ROUNDABOUT" | "PATHWAY";
|
|
20
|
+
metadata: Record<string, any>;
|
|
21
|
+
status: "QUEUED" | "PROCESSING" | "COMPLETED" | "FAILED" | "PENDING";
|
|
22
|
+
progress: number;
|
|
23
|
+
remainingTime: string;
|
|
24
|
+
results: Record<string, any>;
|
|
25
|
+
durationSeconds?: number;
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
// HLS streaming support
|
|
28
|
+
isHlsEnabled: boolean;
|
|
29
|
+
hlsPlaylist: string | null;
|
|
30
|
+
videoSizeMB: number | null;
|
|
31
31
|
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
// Enhanced metadata for hybrid streaming
|
|
33
|
+
streamingMetadata: Record<string, any> | null;
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
35
|
+
// Recording start time and video trimming support
|
|
36
|
+
recordingStartedAt?: Date;
|
|
37
|
+
trimEnabled?: boolean;
|
|
38
|
+
trimPeriods?: ITrimPeriod[] | null;
|
|
39
|
+
batchId?: number | null;
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
41
|
+
created_at: string;
|
|
42
|
+
updated_at: string;
|
|
43
|
+
folder?: IFolder;
|
|
44
|
+
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Study sorting and filtering constants
|
|
3
|
-
* Shared between DAO and API controller to ensure validation consistency
|
|
4
|
-
*/
|
|
5
|
-
export declare const VALID_STUDY_SORT_FIELDS: readonly ["created_at", "name", "type", "status"];
|
|
6
|
-
export type StudySortField = typeof VALID_STUDY_SORT_FIELDS[number];
|
|
7
|
-
/**
|
|
8
|
-
* Maps API sort field names to database column names with table aliases
|
|
9
|
-
*/
|
|
10
|
-
export declare const STUDY_SORT_COLUMN_MAP: Record<StudySortField, string>;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Study sorting and filtering constants
|
|
4
|
-
* Shared between DAO and API controller to ensure validation consistency
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.STUDY_SORT_COLUMN_MAP = exports.VALID_STUDY_SORT_FIELDS = void 0;
|
|
8
|
-
exports.VALID_STUDY_SORT_FIELDS = ['created_at', 'name', 'type', 'status'];
|
|
9
|
-
/**
|
|
10
|
-
* Maps API sort field names to database column names with table aliases
|
|
11
|
-
*/
|
|
12
|
-
exports.STUDY_SORT_COLUMN_MAP = {
|
|
13
|
-
'created_at': 's.created_at',
|
|
14
|
-
'name': 's.name',
|
|
15
|
-
'type': 's.type',
|
|
16
|
-
'status': 's.status'
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=study.constants.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"study.constants.js","sourceRoot":"","sources":["../../src/constants/study.constants.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEU,QAAA,uBAAuB,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAU,CAAC;AAGzF;;GAEG;AACU,QAAA,qBAAqB,GAAmC;IACjE,YAAY,EAAE,cAAc;IAC5B,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;CACvB,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Study sorting and filtering constants
|
|
3
|
-
* Shared between DAO and API controller to ensure validation consistency
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
export const VALID_STUDY_SORT_FIELDS = ['created_at', 'name', 'type', 'status'] as const;
|
|
7
|
-
export type StudySortField = typeof VALID_STUDY_SORT_FIELDS[number];
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Maps API sort field names to database column names with table aliases
|
|
11
|
-
*/
|
|
12
|
-
export const STUDY_SORT_COLUMN_MAP: Record<StudySortField, string> = {
|
|
13
|
-
'created_at': 's.created_at',
|
|
14
|
-
'name': 's.name',
|
|
15
|
-
'type': 's.type',
|
|
16
|
-
'status': 's.status'
|
|
17
|
-
};
|