@trafficgroup/knex-rel 0.1.9 → 0.1.11-rc0

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 (74) hide show
  1. package/.claude/settings.local.json +5 -2
  2. package/CLAUDE.md +2 -11
  3. package/dist/constants/video.constants.d.ts +12 -0
  4. package/dist/constants/video.constants.js +22 -0
  5. package/dist/constants/video.constants.js.map +1 -0
  6. package/dist/dao/chat/chat.dao.d.ts +4 -1
  7. package/dist/dao/chat/chat.dao.js +21 -12
  8. package/dist/dao/chat/chat.dao.js.map +1 -1
  9. package/dist/dao/user-push-notification-token/user-push-notification-token.dao.js.map +1 -1
  10. package/dist/dao/video/video.dao.d.ts +2 -1
  11. package/dist/dao/video/video.dao.js +18 -2
  12. package/dist/dao/video/video.dao.js.map +1 -1
  13. package/dist/index.d.ts +3 -1
  14. package/dist/index.js +6 -1
  15. package/dist/index.js.map +1 -1
  16. package/migrations/20250717160737_migration.ts +1 -1
  17. package/migrations/20250717160908_migration.ts +2 -5
  18. package/migrations/20250717161310_migration.ts +1 -1
  19. package/migrations/20250717161406_migration.ts +3 -3
  20. package/migrations/20250717162431_migration.ts +1 -1
  21. package/migrations/20250717173228_migration.ts +2 -2
  22. package/migrations/20250717204731_migration.ts +1 -1
  23. package/migrations/20250722210109_migration.ts +4 -8
  24. package/migrations/20250722211019_migration.ts +1 -1
  25. package/migrations/20250723153852_migration.ts +10 -13
  26. package/migrations/20250723162257_migration.ts +7 -4
  27. package/migrations/20250723171109_migration.ts +7 -4
  28. package/migrations/20250723205331_migration.ts +9 -6
  29. package/migrations/20250724191345_migration.ts +11 -8
  30. package/migrations/20250730180932_migration.ts +13 -14
  31. package/migrations/20250730213625_migration.ts +11 -8
  32. package/migrations/20250804124509_migration.ts +21 -26
  33. package/migrations/20250804132053_migration.ts +8 -5
  34. package/migrations/20250804164518_migration.ts +7 -7
  35. package/migrations/20250823223016_migration.ts +21 -32
  36. package/migrations/20250910015452_migration.ts +6 -18
  37. package/migrations/20250911000000_migration.ts +4 -18
  38. package/migrations/20250917144153_migration.ts +7 -14
  39. package/migrations/20250930200521_migration.ts +4 -8
  40. package/migrations/20251010143500_migration.ts +6 -27
  41. package/migrations/20251020225758_migration.ts +15 -51
  42. package/migrations/20251112120000_migration.ts +2 -10
  43. package/migrations/20251112120200_migration.ts +7 -19
  44. package/migrations/20251112120300_migration.ts +2 -7
  45. package/package.json +1 -1
  46. package/src/constants/video.constants.ts +19 -0
  47. package/src/d.types.ts +14 -18
  48. package/src/dao/VideoMinuteResultDAO.ts +49 -72
  49. package/src/dao/auth/auth.dao.ts +55 -58
  50. package/src/dao/batch/batch.dao.ts +98 -101
  51. package/src/dao/camera/camera.dao.ts +121 -124
  52. package/src/dao/chat/chat.dao.ts +60 -42
  53. package/src/dao/folder/folder.dao.ts +56 -65
  54. package/src/dao/location/location.dao.ts +87 -109
  55. package/src/dao/message/message.dao.ts +32 -32
  56. package/src/dao/report-configuration/report-configuration.dao.ts +342 -370
  57. package/src/dao/study/study.dao.ts +63 -88
  58. package/src/dao/user/user.dao.ts +50 -52
  59. package/src/dao/user-push-notification-token/user-push-notification-token.dao.ts +49 -83
  60. package/src/dao/video/video.dao.ts +339 -357
  61. package/src/entities/BaseEntity.ts +1 -1
  62. package/src/index.ts +23 -27
  63. package/src/interfaces/auth/auth.interfaces.ts +10 -10
  64. package/src/interfaces/batch/batch.interfaces.ts +1 -1
  65. package/src/interfaces/camera/camera.interfaces.ts +9 -9
  66. package/src/interfaces/chat/chat.interfaces.ts +4 -4
  67. package/src/interfaces/folder/folder.interfaces.ts +2 -2
  68. package/src/interfaces/location/location.interfaces.ts +7 -7
  69. package/src/interfaces/message/message.interfaces.ts +3 -3
  70. package/src/interfaces/report-configuration/report-configuration.interfaces.ts +16 -16
  71. package/src/interfaces/study/study.interfaces.ts +3 -3
  72. package/src/interfaces/user/user.interfaces.ts +9 -9
  73. package/src/interfaces/user-push-notification-token/user-push-notification-token.interfaces.ts +9 -9
  74. package/src/interfaces/video/video.interfaces.ts +34 -34
@@ -1,6 +1,9 @@
1
1
  {
2
2
  "permissions": {
3
- "allow": ["Bash(npm run migrate:*)", "Bash(mkdir:*)"],
3
+ "allow": [
4
+ "Bash(npm run migrate:*)",
5
+ "Bash(mkdir:*)"
6
+ ],
4
7
  "deny": []
5
8
  }
6
- }
9
+ }
package/CLAUDE.md CHANGED
@@ -9,21 +9,18 @@ This is `@trafficgroup/knex-rel` - a TypeScript-based Knex.js module for databas
9
9
  ## Development Commands
10
10
 
11
11
  ### Building and Formatting
12
-
13
12
  - `npm run build` - Compile TypeScript to JavaScript in dist/
14
13
  - `npm run format` - Format code with Prettier
15
14
  - `npm run clean` - Clean dist/, format, and rebuild
16
15
  - `npm test` - Run Jest tests
17
16
 
18
17
  ### Database Operations
19
-
20
18
  - `npm run migrate:create` - Create a new TypeScript migration file
21
19
  - `npm run migrate:deploy` - Run all pending migrations
22
- - `npm run seed:create` - Create a new TypeScript seed file
20
+ - `npm run seed:create` - Create a new TypeScript seed file
23
21
  - `npm run seed:run` - Execute all seed files
24
22
 
25
23
  ### Publishing
26
-
27
24
  - `npm run npm:publish` - Clean, build, and publish to npm
28
25
 
29
26
  ## Architecture
@@ -31,25 +28,21 @@ This is `@trafficgroup/knex-rel` - a TypeScript-based Knex.js module for databas
31
28
  ### Core Components
32
29
 
33
30
  **KnexManager** (`src/KnexConnection.ts`): Singleton connection manager
34
-
35
31
  - `connect(config?, connections?)` - Establish database connection
36
32
  - `getConnection()` - Get active connection instance
37
33
  - `disconnect()` - Close connection and cleanup
38
34
 
39
35
  **DAO Pattern**: All data access follows the `IBaseDAO<T>` interface with standard CRUD operations:
40
-
41
36
  - `create(item)`, `getById(id)`, `getByUuid(uuid)`, `getAll(page, limit)`, `update(id, item)`, `delete(id)`
42
37
  - Returns `IDataPaginator<T>` for paginated results
43
38
 
44
39
  **AuthDAO Additional Methods**:
45
-
46
40
  - `getByUserId(userId: number)` - Find auth record by user ID
47
41
  - `getByEmailToken(emailToken: string)` - Find auth record by email verification/reset token
48
42
 
49
43
  ### Entity Structure
50
44
 
51
45
  Each entity has:
52
-
53
46
  - Interface in `src/interfaces/[entity]/[entity].interfaces.ts`
54
47
  - DAO implementation in `src/dao/[entity]/[entity].dao.ts`
55
48
 
@@ -58,15 +51,13 @@ Current entities: User, Study, Folder, Video
58
51
  ### Database Configuration
59
52
 
60
53
  Environment variables (for development):
61
-
62
54
  - `SQL_HOST`, `SQL_USER`, `SQL_PASSWORD`, `SQL_DB_NAME`, `SQL_PORT`
63
55
 
64
56
  Environment variables (for staging/production):
65
-
66
57
  - `PG_HOST`, `PG_USER`, `PG_PASSWORD`, `PG_DB`, `PG_PORT`
67
58
 
68
59
  Knex configuration supports development, staging, and production environments in `knexfile.ts`.
69
60
 
70
61
  ### Migrations
71
62
 
72
- Located in `migrations/` directory. Use TypeScript format with timestamp prefixes. Database uses `knex_migrations` table for tracking.
63
+ Located in `migrations/` directory. Use TypeScript format with timestamp prefixes. Database uses `knex_migrations` table for tracking.
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Video sorting constants
3
+ * Shared between DAO and API controller to ensure validation consistency
4
+ */
5
+ export declare const VALID_VIDEO_SORT_FIELDS: readonly ["created_at", "name", "status"];
6
+ export type VideoSortField = (typeof VALID_VIDEO_SORT_FIELDS)[number];
7
+ export declare const VALID_SORT_ORDERS: readonly ["ASC", "DESC"];
8
+ export type SortOrder = (typeof VALID_SORT_ORDERS)[number];
9
+ /**
10
+ * Maps API sort field names to database column names with table aliases
11
+ */
12
+ export declare const VIDEO_SORT_COLUMN_MAP: Record<VideoSortField, string>;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ /**
3
+ * Video sorting constants
4
+ * Shared between DAO and API controller to ensure validation consistency
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.VIDEO_SORT_COLUMN_MAP = exports.VALID_SORT_ORDERS = exports.VALID_VIDEO_SORT_FIELDS = void 0;
8
+ exports.VALID_VIDEO_SORT_FIELDS = [
9
+ "created_at",
10
+ "name",
11
+ "status",
12
+ ];
13
+ exports.VALID_SORT_ORDERS = ["ASC", "DESC"];
14
+ /**
15
+ * Maps API sort field names to database column names with table aliases
16
+ */
17
+ exports.VIDEO_SORT_COLUMN_MAP = {
18
+ created_at: "v.created_at",
19
+ name: "v.name",
20
+ status: "v.status",
21
+ };
22
+ //# sourceMappingURL=video.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video.constants.js","sourceRoot":"","sources":["../../src/constants/video.constants.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEU,QAAA,uBAAuB,GAAG;IACrC,YAAY;IACZ,MAAM;IACN,QAAQ;CACA,CAAC;AAGE,QAAA,iBAAiB,GAAG,CAAC,KAAK,EAAE,MAAM,CAAU,CAAC;AAG1D;;GAEG;AACU,QAAA,qBAAqB,GAAmC;IACnE,UAAU,EAAE,cAAc;IAC1B,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,UAAU;CACnB,CAAC"}
@@ -1,5 +1,8 @@
1
1
  import { IBaseDAO, IDataPaginator } from "../../d.types";
2
2
  import { IChat, IChatCreate, IChatUpdate } from "../../interfaces/chat/chat.interfaces";
3
+ export interface IChatPaginatorResponse extends IDataPaginator<IChat> {
4
+ hasMore: boolean;
5
+ }
3
6
  export declare class ChatDAO implements IBaseDAO<IChat> {
4
7
  private _knex;
5
8
  create(item: IChatCreate): Promise<IChat>;
@@ -9,5 +12,5 @@ export declare class ChatDAO implements IBaseDAO<IChat> {
9
12
  update(id: number, item: IChatUpdate): Promise<IChat | null>;
10
13
  delete(id: number): Promise<boolean>;
11
14
  getByUserId(userId: number, page?: number, limit?: number): Promise<IDataPaginator<IChat>>;
12
- getActiveByUserId(userId: number, page?: number, limit?: number): Promise<IDataPaginator<IChat>>;
15
+ getActiveByUserId(userId: number, page?: number, limit?: number, query?: string): Promise<IChatPaginatorResponse>;
13
16
  }
@@ -97,21 +97,29 @@ class ChatDAO {
97
97
  });
98
98
  }
99
99
  getActiveByUserId(userId_1) {
100
- return __awaiter(this, arguments, void 0, function* (userId, page = 1, limit = 10) {
100
+ return __awaiter(this, arguments, void 0, function* (userId, page = 1, limit = 10, query) {
101
101
  const offset = (page - 1) * limit;
102
+ // Build data query
103
+ let dataQuery = this._knex("chat")
104
+ .where("userId", userId)
105
+ .where("status", "active");
106
+ // Build count query
107
+ let countQuery = this._knex("chat")
108
+ .where("userId", userId)
109
+ .where("status", "active");
110
+ // Apply search filter if query is provided
111
+ if (query && query.trim()) {
112
+ const searchTerm = `%${query.trim()}%`;
113
+ dataQuery = dataQuery.where("title", "ILIKE", searchTerm);
114
+ countQuery = countQuery.where("title", "ILIKE", searchTerm);
115
+ }
102
116
  const [results, [{ count }]] = yield Promise.all([
103
- this._knex("chat")
104
- .where("userId", userId)
105
- .where("status", "active")
106
- .orderBy("created_at", "desc")
107
- .limit(limit)
108
- .offset(offset),
109
- this._knex("chat")
110
- .where("userId", userId)
111
- .where("status", "active")
112
- .count("* as count"),
117
+ dataQuery.orderBy("created_at", "desc").limit(limit).offset(offset),
118
+ countQuery.count("* as count"),
113
119
  ]);
114
120
  const totalCount = parseInt(count);
121
+ const totalPages = Math.ceil(totalCount / limit);
122
+ const hasMore = page < totalPages;
115
123
  return {
116
124
  success: true,
117
125
  data: results,
@@ -119,7 +127,8 @@ class ChatDAO {
119
127
  limit,
120
128
  count: results.length,
121
129
  totalCount,
122
- totalPages: Math.ceil(totalCount / limit),
130
+ totalPages,
131
+ hasMore,
123
132
  };
124
133
  });
125
134
  }
@@ -1 +1 @@
1
- {"version":3,"file":"chat.dao.js","sourceRoot":"","sources":["../../../src/dao/chat/chat.dao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAOA,0EAA+C;AAE/C,MAAa,OAAO;IAApB;QACU,UAAK,GAAyB,wBAAW,CAAC,aAAa,EAAE,CAAC;IAmHpE,CAAC;IAjHO,MAAM,CAAC,IAAiB;;YAC5B,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACtE,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;IAEK,OAAO,CAAC,EAAU;;YACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;YAChE,OAAO,MAAM,IAAI,IAAI,CAAC;QACxB,CAAC;KAAA;IAEK,SAAS,CAAC,IAAY;;YAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YACpE,OAAO,MAAM,IAAI,IAAI,CAAC;QACxB,CAAC;KAAA;IAEK,MAAM;6DAAC,IAAI,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE;YAC/B,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;YAElC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC/C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;qBACf,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC;qBAC7B,KAAK,CAAC,KAAK,CAAC;qBACZ,MAAM,CAAC,MAAM,CAAC;gBACjB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;aACvC,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAe,CAAC,CAAC;YAC7C,OAAO;gBACL,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;aAC1C,CAAC;QACJ,CAAC;KAAA;IAEK,MAAM,CAAC,EAAU,EAAE,IAAiB;;YACxC,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;iBACtC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;iBACf,MAAM,iCACF,IAAI,KACP,UAAU,EAAE,IAAI,IAAI,EAAE,IACtB;iBACD,SAAS,CAAC,GAAG,CAAC,CAAC;YAClB,OAAO,MAAM,IAAI,IAAI,CAAC;QACxB,CAAC;KAAA;IAEK,MAAM,CAAC,EAAU;;YACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;YACjE,OAAO,MAAM,GAAG,CAAC,CAAC;QACpB,CAAC;KAAA;IAEK,WAAW;6DACf,MAAc,EACd,IAAI,GAAG,CAAC,EACR,KAAK,GAAG,EAAE;YAEV,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;YAElC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC/C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;qBACf,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC;qBACvB,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC;qBAC7B,KAAK,CAAC,KAAK,CAAC;qBACZ,MAAM,CAAC,MAAM,CAAC;gBACjB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;aAC/D,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAe,CAAC,CAAC;YAC7C,OAAO;gBACL,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;aAC1C,CAAC;QACJ,CAAC;KAAA;IAEK,iBAAiB;6DACrB,MAAc,EACd,IAAI,GAAG,CAAC,EACR,KAAK,GAAG,EAAE;YAEV,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;YAElC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC/C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;qBACf,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC;qBACvB,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC;qBACzB,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC;qBAC7B,KAAK,CAAC,KAAK,CAAC;qBACZ,MAAM,CAAC,MAAM,CAAC;gBACjB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;qBACf,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC;qBACvB,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC;qBACzB,KAAK,CAAC,YAAY,CAAC;aACvB,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAe,CAAC,CAAC;YAC7C,OAAO;gBACL,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;aAC1C,CAAC;QACJ,CAAC;KAAA;CACF;AApHD,0BAoHC"}
1
+ {"version":3,"file":"chat.dao.js","sourceRoot":"","sources":["../../../src/dao/chat/chat.dao.ts"],"names":[],"mappings":"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"}
@@ -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":"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"}
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;
@@ -14,6 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.VideoDAO = void 0;
16
16
  const KnexConnection_1 = __importDefault(require("../../KnexConnection"));
17
+ const video_constants_1 = require("../../constants/video.constants");
17
18
  class VideoDAO {
18
19
  constructor() {
19
20
  this._knex = KnexConnection_1.default.getConnection();
@@ -65,9 +66,20 @@ class VideoDAO {
65
66
  });
66
67
  }
67
68
  // entityId corresponde al id del folder al que pertenece el video
68
- getAll(page, limit, folderId) {
69
+ getAll(page, limit, folderId, sortBy, sortOrder) {
69
70
  return __awaiter(this, void 0, void 0, function* () {
70
71
  const offset = (page - 1) * limit;
72
+ // Validate and set defaults for sorting (defensive programming)
73
+ const sortField = (sortBy || "name");
74
+ if (!video_constants_1.VALID_VIDEO_SORT_FIELDS.includes(sortField)) {
75
+ throw new Error(`Invalid sortBy value: ${sortField}. Must be one of: ${video_constants_1.VALID_VIDEO_SORT_FIELDS.join(", ")}`);
76
+ }
77
+ const sortDirection = (sortOrder || "DESC").toUpperCase();
78
+ if (!video_constants_1.VALID_SORT_ORDERS.includes(sortDirection)) {
79
+ throw new Error(`Invalid sortOrder value: ${sortOrder}. Must be one of: ${video_constants_1.VALID_SORT_ORDERS.join(", ")}`);
80
+ }
81
+ // Map sortBy to database column with table alias
82
+ const sortColumn = video_constants_1.VIDEO_SORT_COLUMN_MAP[sortField];
71
83
  const query = this._knex("video as v")
72
84
  .innerJoin("folders as f", "v.folderId", "f.id")
73
85
  .leftJoin("cameras as c", "v.cameraId", "c.id")
@@ -77,7 +89,11 @@ class VideoDAO {
77
89
  }
78
90
  const [countResult] = yield query.clone().clearSelect().count("* as count");
79
91
  const totalCount = +countResult.count;
80
- const videos = yield query.clone().limit(limit).offset(offset);
92
+ const videos = yield query
93
+ .clone()
94
+ .orderBy(sortColumn, sortDirection.toLowerCase())
95
+ .limit(limit)
96
+ .offset(offset);
81
97
  return {
82
98
  success: true,
83
99
  data: videos,
@@ -1 +1 @@
1
- {"version":3,"file":"video.dao.js","sourceRoot":"","sources":["../../../src/dao/video/video.dao.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"video.dao.js","sourceRoot":"","sources":["../../../src/dao/video/video.dao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAGA,0EAA+C;AAC/C,qEAMyC;AAEzC,MAAa,QAAQ;IAArB;QACU,UAAK,GAAyB,wBAAW,CAAC,aAAa,EAAE,CAAC;IA6ZpE,CAAC;IA3ZC,MAAM,CAAC,WAAW;QAChB,OAAO,wBAAW,CAAC,aAAa,EAAE,CAAC;IACrC,CAAC;IAEK,MAAM,CAAC,IAAY;;YACvB,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;iBAC7C,MAAM,CAAC,IAAI,CAAC;iBACZ,SAAS,CAAC,GAAG,CAAC,CAAC;YAClB,OAAO,YAAY,CAAC;QACtB,CAAC;KAAA;IAEK,OAAO,CAAC,EAAU;;YACtB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;iBACzC,SAAS,CAAC,cAAc,EAAE,YAAY,EAAE,MAAM,CAAC;iBAC/C,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;iBACxD,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;iBACjB,KAAK,EAAE,CAAC;YACX,OAAO,KAAK,IAAI,IAAI,CAAC;QACvB,CAAC;KAAA;IAEK,SAAS,CAAC,IAAY;;YAC1B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;iBACzC,SAAS,CAAC,cAAc,EAAE,YAAY,EAAE,MAAM,CAAC;iBAC/C,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;iBACxD,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC;iBACrB,KAAK,EAAE,CAAC;YACX,OAAO,KAAK,IAAI,IAAI,CAAC;QACvB,CAAC;KAAA;IAEK,MAAM,CAAC,EAAU,EAAE,IAAqB;;YAC5C,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;iBAC7C,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;iBACb,MAAM,CAAC,IAAI,CAAC;iBACZ,SAAS,CAAC,GAAG,CAAC,CAAC;YAClB,OAAO,YAAY,IAAI,IAAI,CAAC;QAC9B,CAAC;KAAA;IAEK,MAAM,CAAC,EAAU;;YACrB,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;QACpB,CAAC;KAAA;IAED,kEAAkE;IAC5D,MAAM,CACV,IAAY,EACZ,KAAa,EACb,QAAwB,EACxB,MAAuB,EACvB,SAAqB;;YAErB,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;YAElC,gEAAgE;YAChE,MAAM,SAAS,GAAG,CAAC,MAAM,IAAI,MAAM,CAAmB,CAAC;YAEvD,IAAI,CAAC,yCAAuB,CAAC,QAAQ,CAAC,SAAgB,CAAC,EAAE,CAAC;gBACxD,MAAM,IAAI,KAAK,CACb,yBAAyB,SAAS,qBAAqB,yCAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5F,CAAC;YACJ,CAAC;YAED,MAAM,aAAa,GAAG,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC,WAAW,EAAe,CAAC;YAEvE,IAAI,CAAC,mCAAiB,CAAC,QAAQ,CAAC,aAAoB,CAAC,EAAE,CAAC;gBACtD,MAAM,IAAI,KAAK,CACb,4BAA4B,SAAS,qBAAqB,mCAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACzF,CAAC;YACJ,CAAC;YAED,iDAAiD;YACjD,MAAM,UAAU,GAAG,uCAAqB,CAAC,SAAS,CAAC,CAAC;YAEpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;iBACnC,SAAS,CAAC,cAAc,EAAE,YAAY,EAAE,MAAM,CAAC;iBAC/C,QAAQ,CAAC,cAAc,EAAE,YAAY,EAAE,MAAM,CAAC;iBAC9C,MAAM,CACL,KAAK,EACL,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC,EACzC,sBAAsB,EACtB,sBAAsB,CACvB,CAAC;YACJ,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAChD,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YACtC,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,MAAM,GAAG,MAAM,KAAK;iBACvB,KAAK,EAAE;iBACP,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,WAAW,EAAoB,CAAC;iBAClE,KAAK,CAAC,KAAK,CAAC;iBACZ,MAAM,CAAC,MAAM,CAAC,CAAC;YAElB,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,MAAM;gBACZ,IAAI;gBACJ,KAAK;gBACL,KAAK,EAAE,MAAM,CAAC,MAAM;gBACpB,UAAU;gBACV,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;aAC1C,CAAC;QACJ,CAAC;KAAA;IAEK,wBAAwB,CAAC,SAAmB;;YAMhD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzC,OAAO;oBACL,YAAY,EAAE,CAAC;oBACf,gBAAgB,EAAE,CAAC;oBACnB,aAAa,EAAE,CAAC;oBAChB,iBAAiB,EAAE,CAAC;iBACrB,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;iBACtC,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC;iBAC9B,MAAM,CACL,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,EAC1C,IAAI,CAAC,KAAK,CAAC,GAAG,CACZ,4DAA4D,EAC5D,CAAC,WAAW,CAAC,CACd,EACD,IAAI,CAAC,KAAK,CAAC,GAAG,CACZ,yDAAyD,EACzD,CAAC,QAAQ,CAAC,CACX,EACD,IAAI,CAAC,KAAK,CAAC,GAAG,CACZ,6DAA6D,EAC7D,CAAC,YAAY,CAAC,CACf,CACF;iBACA,KAAK,EAAE,CAAQ,CAAC;YAEnB,OAAO;gBACL,YAAY,EAAE,QAAQ,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,CAAC,IAAI,CAAC;gBACjD,gBAAgB,EAAE,QAAQ,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,CAAC,IAAI,CAAC;gBACzD,aAAa,EAAE,QAAQ,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,IAAI,CAAC;gBACnD,iBAAiB,EAAE,QAAQ,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,iBAAiB,CAAC,IAAI,CAAC;aAC5D,CAAC;QACJ,CAAC;KAAA;IAEK,6BAA6B,CACjC,SAAmB,EACnB,SAAkB;;YAElB,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzC,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;iBAC9B,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC;iBAC9B,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAEhC,IAAI,SAAS,EAAE,CAAC;gBACd,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YACtC,CAAC;YAED,OAAO,MAAM,KAAK,CAAC,MAAM,CACvB,IAAI,EACJ,MAAM,EACN,UAAU,EACV,SAAS,EACT,YAAY,EACZ,IAAI,CAAC,KAAK,CAAC,GAAG,CACZ,2DAA2D,CAC5D,CACF,CAAC;QACJ,CAAC;KAAA;IAED;;OAEG;IACG,cAAc,CAClB,EAAU,EACV,eAAuB;;YAEvB,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;iBAC7C,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;iBACb,MAAM,CAAC;gBACN,gBAAgB,EAAE,eAAe;gBACjC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE;aAChC,CAAC;iBACD,SAAS,CAAC,GAAG,CAAC,CAAC;YAClB,OAAO,YAAY,IAAI,IAAI,CAAC;QAC9B,CAAC;KAAA;IAED;;OAEG;IACG,0BAA0B,CAC9B,IAAY,EACZ,KAAa;;YAEb,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;YAElC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;iBACnC,QAAQ,CAAC,6BAA6B,EAAE,MAAM,EAAE,cAAc,CAAC;iBAC/D,SAAS,CAAC,cAAc,CAAC;iBACzB,KAAK,CAAC,UAAU,EAAE,WAAW,CAAC;iBAC9B,SAAS,CAAC,cAAc,EAAE,YAAY,EAAE,MAAM,CAAC;iBAC/C,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;iBACxD,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAE3B,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,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE/D,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,MAAM;gBACZ,IAAI;gBACJ,KAAK;gBACL,KAAK,EAAE,MAAM,CAAC,MAAM;gBACpB,UAAU;gBACV,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;aAC1C,CAAC;QACJ,CAAC;KAAA;IAED;;;OAGG;IACG,iBAAiB,CACrB,QAAgB,EAChB,SAAiB;;YAEjB,IAAI,CAAC;gBACH,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;qBAC5B,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC;qBAC3B,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC;qBAC7B,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC;qBAC5B,YAAY,CAAC,UAAU,CAAC;qBACxB,QAAQ,CAAC,kBAAkB,CAAC,CAAC;gBAEhC,gDAAgD;gBAChD,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;oBACxB,uCAAuC;oBACvC,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,2CAA2C,CAAC,CAAC;gBACtE,CAAC;qBAAM,CAAC;oBACN,4EAA4E;oBAC5E,qEAAqE;oBACrE,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;iBAcd,CAAC,CAAC;gBACb,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAErE,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;gBACxD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;KAAA;IAED;;OAEG;IACG,qBAAqB,CAAC,QAAgB;;YAC1C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;iBACnC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;iBACnB,MAAM,CAAC,IAAI,CAAC;iBACZ,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAExB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnC,CAAC;KAAA;IAED;;OAEG;IACG,YAAY,CAAC,OAAe;;YAChC,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;iBAC5B,SAAS,CAAC,cAAc,EAAE,YAAY,EAAE,MAAM,CAAC;iBAC/C,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;iBACxD,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC;iBAC3B,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;KAAA;IAED;;OAEG;IACG,sBAAsB,CAC1B,OAAe,EACf,SAAgB,EAChB,OAAc;;YAEd,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;iBACjC,SAAS,CAAC,cAAc,EAAE,YAAY,EAAE,MAAM,CAAC;iBAC/C,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;iBACxD,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC;iBAC3B,YAAY,CAAC,sBAAsB,CAAC,CAAC;YAExC,IAAI,SAAS,EAAE,CAAC;gBACd,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,sBAAsB,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;YAC/D,CAAC;YAED,IAAI,OAAO,EAAE,CAAC;gBACZ,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,sBAAsB,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YAC7D,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,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YAE1E,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,CAAC;gBACP,KAAK,EAAE,UAAU;gBACjB,KAAK,EAAE,MAAM,CAAC,MAAM;gBACpB,UAAU;gBACV,UAAU,EAAE,CAAC;aACd,CAAC;QACJ,CAAC;KAAA;IAED;;OAEG;IACG,wBAAwB,CAC5B,EAAU,EACV,kBAAwB;;YAExB,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;gBAC7C,kBAAkB;gBAClB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE;aAChC,CAAC,CAAC;QACL,CAAC;KAAA;IAED;;OAEG;IACG,kBAAkB,CACtB,EAAU,EACV,WAAoB,EACpB,WAA4D;;YAE5D,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;iBACtB,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;iBACb,MAAM,CAAC;gBACN,WAAW;gBACX,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI;gBAC7D,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE;aAChC,CAAC,CAAC;QACP,CAAC;KAAA;IAED;;OAEG;IACG,qBAAqB,CAAC,QAAgB;;YAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;iBAC5B,SAAS,CAAC,cAAc,EAAE,YAAY,EAAE,MAAM,CAAC;iBAC/C,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;iBACxD,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC;iBAC7B,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC;iBAC5B,OAAO,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;KAAA;IAED;;;;;OAKG;IACG,mBAAmB,CACvB,QAAgB,EAChB,IAAY,EACZ,KAAa;;YAEb,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;YAElC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;iBACnC,SAAS,CAAC,cAAc,EAAE,YAAY,EAAE,MAAM,CAAC;iBAC/C,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;iBACxD,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YAEjC,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;YAEtC,MAAM,MAAM,GAAG,MAAM,KAAK;iBACvB,KAAK,EAAE;iBACP,KAAK,CAAC,KAAK,CAAC;iBACZ,MAAM,CAAC,MAAM,CAAC;iBACd,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;YAEnC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,MAAM;gBACZ,IAAI;gBACJ,KAAK;gBACL,KAAK,EAAE,MAAM,CAAC,MAAM;gBACpB,UAAU;gBACV,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;aAC1C,CAAC;QACJ,CAAC;KAAA;CACF;AA9ZD,4BA8ZC"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { AuthDAO } from "./dao/auth/auth.dao";
2
2
  export { BatchDAO } from "./dao/batch/batch.dao";
3
3
  export { CameraDAO } from "./dao/camera/camera.dao";
4
- export { ChatDAO } from "./dao/chat/chat.dao";
4
+ export { ChatDAO, IChatPaginatorResponse } from "./dao/chat/chat.dao";
5
5
  export { FolderDAO } from "./dao/folder/folder.dao";
6
6
  export { LocationDAO } from "./dao/location/location.dao";
7
7
  export { MessageDAO } from "./dao/message/message.dao";
@@ -11,6 +11,8 @@ export { UserDAO } from "./dao/user/user.dao";
11
11
  export { UserPushNotificationTokenDAO } from "./dao/user-push-notification-token/user-push-notification-token.dao";
12
12
  export { VideoDAO } from "./dao/video/video.dao";
13
13
  export { VideoMinuteResultDAO } from "./dao/VideoMinuteResultDAO";
14
+ export { VALID_VIDEO_SORT_FIELDS, VALID_SORT_ORDERS, VIDEO_SORT_COLUMN_MAP, } from "./constants/video.constants";
15
+ export type { VideoSortField, SortOrder } from "./constants/video.constants";
14
16
  export { IDataPaginator } from "./d.types";
15
17
  export { IAuth } from "./interfaces/auth/auth.interfaces";
16
18
  export { IBatch } from "./interfaces/batch/batch.interfaces";
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.KnexManager = exports.VideoMinuteResultDAO = exports.VideoDAO = exports.UserPushNotificationTokenDAO = exports.UserDAO = exports.StudyDAO = exports.ReportConfigurationDAO = exports.MessageDAO = exports.LocationDAO = exports.FolderDAO = exports.ChatDAO = exports.CameraDAO = exports.BatchDAO = exports.AuthDAO = void 0;
6
+ exports.KnexManager = exports.VIDEO_SORT_COLUMN_MAP = exports.VALID_SORT_ORDERS = exports.VALID_VIDEO_SORT_FIELDS = exports.VideoMinuteResultDAO = exports.VideoDAO = exports.UserPushNotificationTokenDAO = exports.UserDAO = exports.StudyDAO = exports.ReportConfigurationDAO = exports.MessageDAO = exports.LocationDAO = exports.FolderDAO = exports.ChatDAO = exports.CameraDAO = exports.BatchDAO = exports.AuthDAO = void 0;
7
7
  // DAOs
8
8
  var auth_dao_1 = require("./dao/auth/auth.dao");
9
9
  Object.defineProperty(exports, "AuthDAO", { enumerable: true, get: function () { return auth_dao_1.AuthDAO; } });
@@ -31,6 +31,11 @@ var video_dao_1 = require("./dao/video/video.dao");
31
31
  Object.defineProperty(exports, "VideoDAO", { enumerable: true, get: function () { return video_dao_1.VideoDAO; } });
32
32
  var VideoMinuteResultDAO_1 = require("./dao/VideoMinuteResultDAO");
33
33
  Object.defineProperty(exports, "VideoMinuteResultDAO", { enumerable: true, get: function () { return VideoMinuteResultDAO_1.VideoMinuteResultDAO; } });
34
+ // Constants
35
+ var video_constants_1 = require("./constants/video.constants");
36
+ Object.defineProperty(exports, "VALID_VIDEO_SORT_FIELDS", { enumerable: true, get: function () { return video_constants_1.VALID_VIDEO_SORT_FIELDS; } });
37
+ Object.defineProperty(exports, "VALID_SORT_ORDERS", { enumerable: true, get: function () { return video_constants_1.VALID_SORT_ORDERS; } });
38
+ Object.defineProperty(exports, "VIDEO_SORT_COLUMN_MAP", { enumerable: true, get: function () { return video_constants_1.VIDEO_SORT_COLUMN_MAP; } });
34
39
  const KnexConnection_1 = __importDefault(require("./KnexConnection"));
35
40
  exports.KnexManager = KnexConnection_1.default;
36
41
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO;AACP,gDAA8C;AAArC,mGAAA,OAAO,OAAA;AAChB,mDAAiD;AAAxC,qGAAA,QAAQ,OAAA;AACjB,sDAAoD;AAA3C,uGAAA,SAAS,OAAA;AAClB,gDAA8C;AAArC,mGAAA,OAAO,OAAA;AAChB,sDAAoD;AAA3C,uGAAA,SAAS,OAAA;AAClB,4DAA0D;AAAjD,2GAAA,WAAW,OAAA;AACpB,yDAAuD;AAA9C,yGAAA,UAAU,OAAA;AACnB,gGAA6F;AAApF,kIAAA,sBAAsB,OAAA;AAC/B,mDAAiD;AAAxC,qGAAA,QAAQ,OAAA;AACjB,gDAA8C;AAArC,mGAAA,OAAO,OAAA;AAChB,wHAAmH;AAA1G,gJAAA,4BAA4B,OAAA;AACrC,mDAAiD;AAAxC,qGAAA,QAAQ,OAAA;AACjB,mEAAkE;AAAzD,4HAAA,oBAAoB,OAAA;AA4C7B,sEAA2C;AAClC,sBADF,wBAAW,CACE"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO;AACP,gDAA8C;AAArC,mGAAA,OAAO,OAAA;AAChB,mDAAiD;AAAxC,qGAAA,QAAQ,OAAA;AACjB,sDAAoD;AAA3C,uGAAA,SAAS,OAAA;AAClB,gDAAsE;AAA7D,mGAAA,OAAO,OAAA;AAChB,sDAAoD;AAA3C,uGAAA,SAAS,OAAA;AAClB,4DAA0D;AAAjD,2GAAA,WAAW,OAAA;AACpB,yDAAuD;AAA9C,yGAAA,UAAU,OAAA;AACnB,gGAA6F;AAApF,kIAAA,sBAAsB,OAAA;AAC/B,mDAAiD;AAAxC,qGAAA,QAAQ,OAAA;AACjB,gDAA8C;AAArC,mGAAA,OAAO,OAAA;AAChB,wHAAmH;AAA1G,gJAAA,4BAA4B,OAAA;AACrC,mDAAiD;AAAxC,qGAAA,QAAQ,OAAA;AACjB,mEAAkE;AAAzD,4HAAA,oBAAoB,OAAA;AAE7B,YAAY;AACZ,+DAIqC;AAHnC,0HAAA,uBAAuB,OAAA;AACvB,oHAAA,iBAAiB,OAAA;AACjB,wHAAA,qBAAqB,OAAA;AA8CvB,sEAA2C;AAClC,sBADF,wBAAW,CACE"}
@@ -12,4 +12,4 @@ export async function up(knex: Knex): Promise<void> {
12
12
 
13
13
  export async function down(knex: Knex): Promise<void> {
14
14
  await knex.schema.dropTableIfExists("user");
15
- }
15
+ }
@@ -13,10 +13,7 @@ export async function up(knex: Knex): Promise<void> {
13
13
  .inTable("user")
14
14
  .onDelete("CASCADE");
15
15
 
16
- table
17
- .enu("status", ["COMPLETE", "IN PROGRESS", "FAILED"])
18
- .notNullable()
19
- .defaultTo("IN PROGRESS");
16
+ table.enu("status", ["COMPLETE", "IN PROGRESS", "FAILED"]).notNullable().defaultTo("IN PROGRESS");
20
17
 
21
18
  table.timestamps(true, true); // created_at, updated_at
22
19
  });
@@ -24,4 +21,4 @@ export async function up(knex: Knex): Promise<void> {
24
21
 
25
22
  export async function down(knex: Knex): Promise<void> {
26
23
  await knex.schema.dropTableIfExists("study");
27
- }
24
+ }
@@ -32,4 +32,4 @@ export async function up(knex: Knex): Promise<void> {
32
32
 
33
33
  export async function down(knex: Knex): Promise<void> {
34
34
  await knex.schema.dropTableIfExists("folders");
35
- }
35
+ }
@@ -19,13 +19,13 @@ export async function up(knex: Knex): Promise<void> {
19
19
  .enu("videoType", ["TMC", "ATR", "JUNCTION", "ROUNDABOUT", "PATHWAY"])
20
20
  .notNullable();
21
21
 
22
- table.jsonb("metadata").defaultTo("{}");
22
+ table.jsonb("metadata").defaultTo('{}');
23
23
  table
24
24
  .enu("status", ["QUEUED", "PROCESSING", "COMPLETED", "FAILED"])
25
25
  .notNullable()
26
26
  .defaultTo("QUEUE");
27
27
 
28
- table.jsonb("results").defaultTo("{}");
28
+ table.jsonb("results").defaultTo('{}');
29
29
 
30
30
  table.timestamps(true, true);
31
31
  });
@@ -33,4 +33,4 @@ export async function up(knex: Knex): Promise<void> {
33
33
 
34
34
  export async function down(knex: Knex): Promise<void> {
35
35
  await knex.schema.dropTableIfExists("video");
36
- }
36
+ }
@@ -56,4 +56,4 @@ export async function down(knex: Knex): Promise<void> {
56
56
  await knex.schema.alterTable("user", (table) => {
57
57
  table.dropColumn("uuid");
58
58
  });
59
- }
59
+ }
@@ -1,9 +1,9 @@
1
1
  import type { Knex } from "knex";
2
2
 
3
3
  export async function up(knex: Knex): Promise<void> {
4
- await knex.schema.renameTable("user", "users");
4
+ await knex.schema.renameTable("user", "users");
5
5
  }
6
6
 
7
7
  export async function down(knex: Knex): Promise<void> {
8
- await knex.schema.renameTable("users", "user");
8
+ await knex.schema.renameTable("users", "user");
9
9
  }
@@ -10,4 +10,4 @@ export async function down(knex: Knex): Promise<void> {
10
10
  await knex.schema.alterTable("video", (table) => {
11
11
  table.dropColumn("name");
12
12
  });
13
- }
13
+ }
@@ -1,10 +1,9 @@
1
1
  import type { Knex } from "knex";
2
2
 
3
+
3
4
  export async function up(knex: Knex): Promise<void> {
4
5
  // 1. Crear el tipo ENUM nativo
5
- await knex.raw(
6
- `CREATE TYPE "video_status" AS ENUM ('QUEUED', 'PROCESSING', 'COMPLETED', 'FAILED', 'PENDING');`,
7
- );
6
+ await knex.raw(`CREATE TYPE "video_status" AS ENUM ('QUEUED', 'PROCESSING', 'COMPLETED', 'FAILED', 'PENDING');`);
8
7
 
9
8
  // 2. Normalizar los valores existentes
10
9
  await knex.raw(`
@@ -54,11 +53,8 @@ export async function down(knex: Knex): Promise<void> {
54
53
  await knex.schema.alterTable("video", (table) => {
55
54
  table.dropColumn("progress");
56
55
  table.dropColumn("remainingTime");
57
- table
58
- .specificType("status", "varchar(255)")
59
- .notNullable()
60
- .defaultTo("QUEUED")
61
- .alter();
56
+ table.specificType("status", "varchar(255)").notNullable().defaultTo("QUEUED").alter();
62
57
  });
63
58
  await knex.raw('DROP TYPE IF EXISTS "video_status";');
64
59
  }
60
+
@@ -12,4 +12,4 @@ export async function down(knex: Knex): Promise<void> {
12
12
  ALTER TABLE "video"
13
13
  ALTER COLUMN "status" SET DEFAULT 'QUEUED';
14
14
  `);
15
- }
15
+ }
@@ -1,22 +1,19 @@
1
1
  import type { Knex } from "knex";
2
2
 
3
+
3
4
  export async function up(knex: Knex): Promise<void> {
4
- await knex.schema.createTable("auth", (table) => {
5
- table.increments("id").primary();
6
- table
7
- .integer("userId")
8
- .unsigned()
9
- .notNullable()
10
- .references("id")
11
- .inTable("users")
12
- .onDelete("CASCADE");
13
- table.string("password", 255).notNullable();
14
- table.boolean("twofaEnabled").notNullable().defaultTo(false);
15
- table.string("twofaSecret", 255).nullable();
5
+ await knex.schema.createTable('auth', (table) => {
6
+ table.increments('id').primary();
7
+ table.integer('userId').unsigned().notNullable().references('id').inTable('users').onDelete('CASCADE');
8
+ table.string('password', 255).notNullable();
9
+ table.boolean('twofaEnabled').notNullable().defaultTo(false);
10
+ table.string('twofaSecret', 255).nullable();
16
11
  table.timestamps(true, true);
17
12
  });
18
13
  }
19
14
 
15
+
20
16
  export async function down(knex: Knex): Promise<void> {
21
- await knex.schema.dropTableIfExists("auth");
17
+ await knex.schema.dropTableIfExists('auth');
22
18
  }
19
+
@@ -1,13 +1,16 @@
1
1
  import type { Knex } from "knex";
2
2
 
3
+
3
4
  export async function up(knex: Knex): Promise<void> {
4
- await knex.schema.alterTable("video", (table) => {
5
- table.boolean("generateVideoOutput").notNullable().defaultTo(false);
5
+ await knex.schema.alterTable('video', (table) => {
6
+ table.boolean('generateVideoOutput').notNullable().defaultTo(false);
6
7
  });
7
8
  }
8
9
 
10
+
9
11
  export async function down(knex: Knex): Promise<void> {
10
- await knex.schema.alterTable("video", (table) => {
11
- table.dropColumn("generateVideoOutput");
12
+ await knex.schema.alterTable('video', (table) => {
13
+ table.dropColumn('generateVideoOutput');
12
14
  });
13
15
  }
16
+
@@ -1,13 +1,16 @@
1
1
  import type { Knex } from "knex";
2
2
 
3
+
3
4
  export async function up(knex: Knex): Promise<void> {
4
- await knex.schema.alterTable("video", (table) => {
5
- table.string("videoOutputLocation").nullable();
5
+ await knex.schema.alterTable('video', (table) => {
6
+ table.string('videoOutputLocation').nullable();
6
7
  });
7
8
  }
8
9
 
10
+
9
11
  export async function down(knex: Knex): Promise<void> {
10
- await knex.schema.alterTable("video", (table) => {
11
- table.dropColumn("videoOutputLocation");
12
+ await knex.schema.alterTable('video', (table) => {
13
+ table.dropColumn('videoOutputLocation');
12
14
  });
13
15
  }
16
+
@@ -1,15 +1,18 @@
1
1
  import type { Knex } from "knex";
2
2
 
3
+
3
4
  export async function up(knex: Knex): Promise<void> {
4
- await knex.schema.alterTable("auth", (table) => {
5
- table.string("emailToken", 255).nullable();
6
- table.boolean("emailVerified").notNullable().defaultTo(false);
5
+ await knex.schema.alterTable('auth', (table) => {
6
+ table.string('emailToken', 255).nullable();
7
+ table.boolean('emailVerified').notNullable().defaultTo(false);
7
8
  });
8
9
  }
9
10
 
11
+
10
12
  export async function down(knex: Knex): Promise<void> {
11
- await knex.schema.alterTable("auth", (table) => {
12
- table.dropColumn("emailToken");
13
- table.dropColumn("emailVerified");
13
+ await knex.schema.alterTable('auth', (table) => {
14
+ table.dropColumn('emailToken');
15
+ table.dropColumn('emailVerified');
14
16
  });
15
17
  }
18
+
@@ -1,15 +1,18 @@
1
1
  import type { Knex } from "knex";
2
2
 
3
+
3
4
  export async function up(knex: Knex): Promise<void> {
4
- await knex.schema.alterTable("users", (table) => {
5
- table.string("profilePhoto").nullable();
6
- table.string("company").nullable();
7
- });
5
+ await knex.schema.alterTable('users', (table) => {
6
+ table.string('profilePhoto').nullable();
7
+ table.string('company').nullable();
8
+ });
8
9
  }
9
10
 
11
+
10
12
  export async function down(knex: Knex): Promise<void> {
11
- await knex.schema.alterTable("users", (table) => {
12
- table.dropColumn("profilePhoto");
13
- table.dropColumn("company");
14
- });
13
+ await knex.schema.alterTable('users', (table) => {
14
+ table.dropColumn('profilePhoto');
15
+ table.dropColumn('company');
16
+ });
15
17
  }
18
+