@platform-modules/civil-aviation-authority 2.3.108 → 2.3.110

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 (62) hide show
  1. package/.env +17 -9
  2. package/dist/data-source.js +4 -0
  3. package/dist/index.d.ts +2 -0
  4. package/dist/index.js +2 -0
  5. package/dist/models/AnnualTrainingPlanRequestModel.d.ts +4 -1
  6. package/dist/models/AnnualTrainingPlanRequestModel.js +17 -2
  7. package/dist/models/DepartmentDocumentOwnerModel.d.ts +1 -0
  8. package/dist/models/DepartmentDocumentOwnerModel.js +5 -1
  9. package/dist/models/DocumentAccessModel.d.ts +23 -0
  10. package/dist/models/DocumentAccessModel.js +74 -0
  11. package/dist/models/DocumentDriveModel.d.ts +14 -0
  12. package/dist/models/DocumentDriveModel.js +57 -0
  13. package/dist/models/DocumentFolderModel.d.ts +3 -0
  14. package/dist/models/DocumentFolderModel.js +10 -0
  15. package/dist/models/DocumentMetadataModel.d.ts +45 -0
  16. package/dist/models/DocumentMetadataModel.js +171 -0
  17. package/dist/models/DocumentationDepartmentsModel.d.ts +13 -0
  18. package/dist/models/DocumentationDepartmentsModel.js +53 -0
  19. package/dist/models/FolderModel.d.ts +16 -0
  20. package/dist/models/FolderModel.js +85 -0
  21. package/dist/models/PermissionModel.d.ts +18 -0
  22. package/dist/models/PermissionModel.js +68 -0
  23. package/dist/models/StudyLeaveRequestModel.d.ts +7 -1
  24. package/dist/models/StudyLeaveRequestModel.js +32 -2
  25. package/dist/models/TrainingRoomBookingRequestModel.d.ts +6 -5
  26. package/dist/models/TrainingRoomBookingRequestModel.js +6 -5
  27. package/dist/models/UUIDBaseModel.d.ts +14 -0
  28. package/dist/models/UUIDBaseModel.js +66 -0
  29. package/package.json +1 -1
  30. package/src/data-source.ts +303 -299
  31. package/src/index.ts +292 -290
  32. package/src/models/AnnualIncrementRequestEmployeeModel.ts +65 -65
  33. package/src/models/AnnualIncrementRequestModel.ts +25 -25
  34. package/src/models/AnnualTrainingPlanRequestModel.ts +153 -138
  35. package/src/models/CashAllowanceLeaveRequestModel.ts +11 -11
  36. package/src/models/DepartmentDocumentOwnerModel.ts +4 -1
  37. package/src/models/DepartmentsModel.ts +25 -25
  38. package/src/models/DocumentAccessModel.ts +50 -0
  39. package/src/models/DocumentDriveModel.ts +34 -0
  40. package/src/models/DocumentFolderModel.ts +45 -37
  41. package/src/models/HrServiceRequestModel.ts +193 -193
  42. package/src/models/ITRequestChatModel.ts +62 -62
  43. package/src/models/ItApprovalsModel.ts +84 -84
  44. package/src/models/ItWorkflowModel.ts +55 -55
  45. package/src/models/MissionTravelPassportExpiryNotificationConfigModel.ts +36 -36
  46. package/src/models/PerformanceCyclePeriodModel.ts +23 -23
  47. package/src/models/PerformanceGoalMasterModel.ts +27 -27
  48. package/src/models/PerformanceManagementRequestGoalModel.ts +36 -36
  49. package/src/models/PerformanceManagementRequestModel.ts +14 -14
  50. package/src/models/PromotionRequestModel.ts +11 -11
  51. package/src/models/ServicesNotificationConfigModel.ts +55 -55
  52. package/src/models/StudyLeaveRequestModel.ts +144 -114
  53. package/src/models/TrainingRoomBookingRequestModel.ts +137 -136
  54. package/src/models/TrainingRoomNotificationConfigModel.ts +30 -30
  55. package/dist/models/ITApprovalSettings.d.ts +0 -7
  56. package/dist/models/ITApprovalSettings.js +0 -40
  57. package/dist/models/ITServicesTypesMuscatModel.d.ts +0 -6
  58. package/dist/models/ITServicesTypesMuscatModel.js +0 -34
  59. package/dist/models/ITServicesTypesSalalahModel.d.ts +0 -6
  60. package/dist/models/ITServicesTypesSalalahModel.js +0 -34
  61. package/dist/models/Workflows.d.ts +0 -9
  62. package/dist/models/Workflows.js +0 -31
package/.env CHANGED
@@ -1,12 +1,20 @@
1
- # DB_HOST=164.52.222.169
1
+ DB_HOST=164.52.222.169
2
+ DB_PORT=5432
3
+ DB_USER=postgres_admin_user
4
+ DB_PASS=pg_admin_user_pwd_caa_fa_$%^&OIukhjgcvbn
5
+ DB_NAME=CAA
6
+
7
+ # DB_HOST=216.48.187.46
2
8
  # DB_PORT=5432
3
- # DB_USER=postgres_admin_user
4
- # DB_PASS=pg_admin_user_pwd_caa_fa_$%^&OIukhjgcvbn
5
- # DB_NAME=CAA
9
+ # DB_USER=adminuser
10
+ # DB_PASS=postgres_caa_fm_qa_34567
11
+ # DB_NAME=CAA_QA
6
12
 
7
13
 
8
- DB_HOST=localhost
9
- DB_PORT=5432
10
- DB_USER=postgres
11
- DB_PASS=stevejobs
12
- DB_NAME=CAA
14
+
15
+
16
+ # DB_HOST=localhost
17
+ # DB_PORT=5432
18
+ # DB_USER=postgres
19
+ # DB_PASS=stevejobs
20
+ # DB_NAME=CAA
@@ -101,9 +101,11 @@ const AssignTasksEmpAttachmentModel_1 = require("./models/AssignTasksEmpAttachme
101
101
  const AssignTasksEmpChatModel_1 = require("./models/AssignTasksEmpChatModel");
102
102
  const DocumentModel_1 = require("./models/DocumentModel");
103
103
  const DocumentFolderModel_1 = require("./models/DocumentFolderModel");
104
+ const DocumentDriveModel_1 = require("./models/DocumentDriveModel");
104
105
  const DocumentTypeModel_1 = require("./models/DocumentTypeModel");
105
106
  const DocumentPermissionModel_1 = require("./models/DocumentPermissionModel");
106
107
  const DocumentAuditLogModel_1 = require("./models/DocumentAuditLogModel");
108
+ const DocumentAccessModel_1 = require("./models/DocumentAccessModel");
107
109
  const DepartmentDocumentOwnerModel_1 = require("./models/DepartmentDocumentOwnerModel");
108
110
  const TrainingWorkflowModel_1 = require("./models/TrainingWorkflowModel");
109
111
  const TrainingApprovalModel_1 = require("./models/TrainingApprovalModel");
@@ -292,9 +294,11 @@ exports.AppDataSource = new typeorm_1.DataSource({
292
294
  AccommodationAttachmentModel_1.AccommodationAttachment,
293
295
  DocumentModel_1.Document,
294
296
  DocumentFolderModel_1.DocumentFolder,
297
+ DocumentDriveModel_1.DocumentDrive,
295
298
  DocumentTypeModel_1.DocumentType,
296
299
  DocumentPermissionModel_1.DocumentPermission,
297
300
  DocumentAuditLogModel_1.DocumentAuditLog,
301
+ DocumentAccessModel_1.DocumentAccess,
298
302
  DepartmentDocumentOwnerModel_1.DepartmentDocumentOwner
299
303
  ],
300
304
  });
package/dist/index.d.ts CHANGED
@@ -218,8 +218,10 @@ export { RepeatFrequency, DurationUnit } from './models/HumanResourceAnnualPlann
218
218
  export * from './models/DocumentModel';
219
219
  export * from './models/DocumentTypeModel';
220
220
  export * from './models/DocumentFolderModel';
221
+ export * from './models/DocumentDriveModel';
221
222
  export * from './models/DocumentPermissionModel';
222
223
  export * from './models/DocumentAuditLogModel';
224
+ export * from './models/DocumentAccessModel';
223
225
  export * from './models/DepartmentDocumentOwnerModel';
224
226
  export * from './models/ResidentialUnitRentalRequestModel';
225
227
  export * from './models/ResidentialUnitRentalWorkflowModel';
package/dist/index.js CHANGED
@@ -333,8 +333,10 @@ Object.defineProperty(exports, "DurationUnit", { enumerable: true, get: function
333
333
  __exportStar(require("./models/DocumentModel"), exports);
334
334
  __exportStar(require("./models/DocumentTypeModel"), exports);
335
335
  __exportStar(require("./models/DocumentFolderModel"), exports);
336
+ __exportStar(require("./models/DocumentDriveModel"), exports);
336
337
  __exportStar(require("./models/DocumentPermissionModel"), exports);
337
338
  __exportStar(require("./models/DocumentAuditLogModel"), exports);
339
+ __exportStar(require("./models/DocumentAccessModel"), exports);
338
340
  __exportStar(require("./models/DepartmentDocumentOwnerModel"), exports);
339
341
  // Residential Unit Rental Service
340
342
  __exportStar(require("./models/ResidentialUnitRentalRequestModel"), exports);
@@ -32,5 +32,8 @@ export declare class AnnualTrainingPlanRequest extends BaseModel {
32
32
  assigned_to_user_id: number | null;
33
33
  assigned_at: Date | null;
34
34
  workflow_execution_id: string | null;
35
- constructor(user_id: number, course_name: string, no_of_participants: number, course_cost: number, total_cost: number, proposed_implementation_date: Date, description: string, place: AnnualTrainingPlanPlace, reason: string, status?: AnnualTrainingPlanRequestStatus, service_id?: number | null, sub_service_id?: number | null, req_user_department_id?: number | null, req_user_section_id?: number | null, req_user_position_id?: number | null, location?: string | null, employee_list?: any[] | null, reviewer_user_id?: number | null, assigned_to_user_id?: number | null, assigned_at?: Date | null, workflow_execution_id?: string | null);
35
+ job_competency: string | null;
36
+ name_of_participants: string[] | null;
37
+ directarate: string | null;
38
+ constructor(user_id: number, course_name: string, no_of_participants: number, course_cost: number, total_cost: number, proposed_implementation_date: Date, description: string, place: AnnualTrainingPlanPlace, reason: string, status?: AnnualTrainingPlanRequestStatus, service_id?: number | null, sub_service_id?: number | null, req_user_department_id?: number | null, req_user_section_id?: number | null, req_user_position_id?: number | null, location?: string | null, employee_list?: any[] | null, reviewer_user_id?: number | null, assigned_to_user_id?: number | null, assigned_at?: Date | null, workflow_execution_id?: string | null, job_competency?: string | null, name_of_participants?: string[] | null, directarate?: string | null);
36
39
  }
@@ -26,7 +26,7 @@ var AnnualTrainingPlanPlace;
26
26
  AnnualTrainingPlanPlace["OUTSIDE"] = "Outside";
27
27
  })(AnnualTrainingPlanPlace || (exports.AnnualTrainingPlanPlace = AnnualTrainingPlanPlace = {}));
28
28
  let AnnualTrainingPlanRequest = class AnnualTrainingPlanRequest extends BaseModel_1.BaseModel {
29
- constructor(user_id, course_name, no_of_participants, course_cost, total_cost, proposed_implementation_date, description, place, reason, status = AnnualTrainingPlanRequestStatus.PENDING, service_id, sub_service_id, req_user_department_id, req_user_section_id, req_user_position_id, location, employee_list, reviewer_user_id, assigned_to_user_id, assigned_at, workflow_execution_id) {
29
+ constructor(user_id, course_name, no_of_participants, course_cost, total_cost, proposed_implementation_date, description, place, reason, status = AnnualTrainingPlanRequestStatus.PENDING, service_id, sub_service_id, req_user_department_id, req_user_section_id, req_user_position_id, location, employee_list, reviewer_user_id, assigned_to_user_id, assigned_at, workflow_execution_id, job_competency, name_of_participants, directarate) {
30
30
  super();
31
31
  this.user_id = user_id;
32
32
  this.course_name = course_name;
@@ -49,6 +49,9 @@ let AnnualTrainingPlanRequest = class AnnualTrainingPlanRequest extends BaseMode
49
49
  this.assigned_to_user_id = assigned_to_user_id || null;
50
50
  this.assigned_at = assigned_at || null;
51
51
  this.workflow_execution_id = workflow_execution_id || null;
52
+ this.job_competency = job_competency ?? null;
53
+ this.name_of_participants = name_of_participants ?? null;
54
+ this.directarate = directarate ?? null;
52
55
  }
53
56
  };
54
57
  exports.AnnualTrainingPlanRequest = AnnualTrainingPlanRequest;
@@ -145,7 +148,19 @@ __decorate([
145
148
  (0, typeorm_1.Column)({ type: "varchar", length: 255, nullable: true }),
146
149
  __metadata("design:type", Object)
147
150
  ], AnnualTrainingPlanRequest.prototype, "workflow_execution_id", void 0);
151
+ __decorate([
152
+ (0, typeorm_1.Column)({ type: "varchar", length: 255, nullable: true }),
153
+ __metadata("design:type", Object)
154
+ ], AnnualTrainingPlanRequest.prototype, "job_competency", void 0);
155
+ __decorate([
156
+ (0, typeorm_1.Column)({ type: "jsonb", nullable: true }),
157
+ __metadata("design:type", Object)
158
+ ], AnnualTrainingPlanRequest.prototype, "name_of_participants", void 0);
159
+ __decorate([
160
+ (0, typeorm_1.Column)({ type: "varchar", length: 255, nullable: true }),
161
+ __metadata("design:type", Object)
162
+ ], AnnualTrainingPlanRequest.prototype, "directarate", void 0);
148
163
  exports.AnnualTrainingPlanRequest = AnnualTrainingPlanRequest = __decorate([
149
164
  (0, typeorm_1.Entity)({ name: "annual_training_plan_requests" }),
150
- __metadata("design:paramtypes", [Number, String, Number, Number, Number, Date, String, String, String, String, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object])
165
+ __metadata("design:paramtypes", [Number, String, Number, Number, Number, Date, String, String, String, String, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object])
151
166
  ], AnnualTrainingPlanRequest);
@@ -3,6 +3,7 @@ import { Departments } from './DepartmentsModel';
3
3
  import { User } from './user';
4
4
  export declare class DepartmentDocumentOwner extends BaseModel {
5
5
  department_id: number;
6
+ drive_id: number | null;
6
7
  user_id: number;
7
8
  is_active: boolean;
8
9
  department?: Departments;
@@ -18,9 +18,13 @@ let DepartmentDocumentOwner = class DepartmentDocumentOwner extends BaseModel_1.
18
18
  };
19
19
  exports.DepartmentDocumentOwner = DepartmentDocumentOwner;
20
20
  __decorate([
21
- (0, typeorm_1.Column)({ type: 'integer', nullable: false, unique: true }),
21
+ (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
22
22
  __metadata("design:type", Number)
23
23
  ], DepartmentDocumentOwner.prototype, "department_id", void 0);
24
+ __decorate([
25
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
26
+ __metadata("design:type", Object)
27
+ ], DepartmentDocumentOwner.prototype, "drive_id", void 0);
24
28
  __decorate([
25
29
  (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
26
30
  __metadata("design:type", Number)
@@ -0,0 +1,23 @@
1
+ import { BaseModel } from "./BaseModel";
2
+ import { User } from "./user";
3
+ import { DocumentFolder } from "./DocumentFolderModel";
4
+ import { Document } from "./DocumentModel";
5
+ /**
6
+ * User-level access for drive folders and documents.
7
+ * Owner has full access; other users get access when assigned by owner.
8
+ */
9
+ export declare class DocumentAccess extends BaseModel {
10
+ user_id: number;
11
+ /** Set when access is for a folder (and applies to its contents unless overridden) */
12
+ folder_id: number | null;
13
+ /** Set when access is for a specific document */
14
+ document_id: number | null;
15
+ can_read: boolean;
16
+ can_write: boolean;
17
+ can_download: boolean;
18
+ can_share: boolean;
19
+ is_active: boolean;
20
+ user?: User;
21
+ folder?: DocumentFolder;
22
+ document?: Document;
23
+ }
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.DocumentAccess = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ const user_1 = require("./user");
16
+ const DocumentFolderModel_1 = require("./DocumentFolderModel");
17
+ const DocumentModel_1 = require("./DocumentModel");
18
+ /**
19
+ * User-level access for drive folders and documents.
20
+ * Owner has full access; other users get access when assigned by owner.
21
+ */
22
+ let DocumentAccess = class DocumentAccess extends BaseModel_1.BaseModel {
23
+ };
24
+ exports.DocumentAccess = DocumentAccess;
25
+ __decorate([
26
+ (0, typeorm_1.Column)({ type: "integer", nullable: false }),
27
+ __metadata("design:type", Number)
28
+ ], DocumentAccess.prototype, "user_id", void 0);
29
+ __decorate([
30
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
31
+ __metadata("design:type", Object)
32
+ ], DocumentAccess.prototype, "folder_id", void 0);
33
+ __decorate([
34
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
35
+ __metadata("design:type", Object)
36
+ ], DocumentAccess.prototype, "document_id", void 0);
37
+ __decorate([
38
+ (0, typeorm_1.Column)({ type: "boolean", nullable: false, default: true }),
39
+ __metadata("design:type", Boolean)
40
+ ], DocumentAccess.prototype, "can_read", void 0);
41
+ __decorate([
42
+ (0, typeorm_1.Column)({ type: "boolean", nullable: false, default: false }),
43
+ __metadata("design:type", Boolean)
44
+ ], DocumentAccess.prototype, "can_write", void 0);
45
+ __decorate([
46
+ (0, typeorm_1.Column)({ type: "boolean", nullable: false, default: true }),
47
+ __metadata("design:type", Boolean)
48
+ ], DocumentAccess.prototype, "can_download", void 0);
49
+ __decorate([
50
+ (0, typeorm_1.Column)({ type: "boolean", nullable: false, default: false }),
51
+ __metadata("design:type", Boolean)
52
+ ], DocumentAccess.prototype, "can_share", void 0);
53
+ __decorate([
54
+ (0, typeorm_1.Column)({ type: "boolean", nullable: false, default: true }),
55
+ __metadata("design:type", Boolean)
56
+ ], DocumentAccess.prototype, "is_active", void 0);
57
+ __decorate([
58
+ (0, typeorm_1.ManyToOne)(() => user_1.User),
59
+ (0, typeorm_1.JoinColumn)({ name: "user_id" }),
60
+ __metadata("design:type", user_1.User)
61
+ ], DocumentAccess.prototype, "user", void 0);
62
+ __decorate([
63
+ (0, typeorm_1.ManyToOne)(() => DocumentFolderModel_1.DocumentFolder, { nullable: true }),
64
+ (0, typeorm_1.JoinColumn)({ name: "folder_id" }),
65
+ __metadata("design:type", DocumentFolderModel_1.DocumentFolder)
66
+ ], DocumentAccess.prototype, "folder", void 0);
67
+ __decorate([
68
+ (0, typeorm_1.ManyToOne)(() => DocumentModel_1.Document, { nullable: true }),
69
+ (0, typeorm_1.JoinColumn)({ name: "document_id" }),
70
+ __metadata("design:type", DocumentModel_1.Document)
71
+ ], DocumentAccess.prototype, "document", void 0);
72
+ exports.DocumentAccess = DocumentAccess = __decorate([
73
+ (0, typeorm_1.Entity)({ name: "document_access" })
74
+ ], DocumentAccess);
@@ -0,0 +1,14 @@
1
+ import { BaseModel } from "./BaseModel";
2
+ import { Departments } from "./DepartmentsModel";
3
+ import { User } from "./user";
4
+ import { DocumentFolder } from "./DocumentFolderModel";
5
+ export declare class DocumentDrive extends BaseModel {
6
+ department_id: number;
7
+ owner_user_id: number;
8
+ name: string;
9
+ description: string | null;
10
+ is_active: boolean;
11
+ department?: Departments;
12
+ owner?: User;
13
+ folders?: DocumentFolder[];
14
+ }
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.DocumentDrive = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ const DepartmentsModel_1 = require("./DepartmentsModel");
16
+ const user_1 = require("./user");
17
+ const DocumentFolderModel_1 = require("./DocumentFolderModel");
18
+ let DocumentDrive = class DocumentDrive extends BaseModel_1.BaseModel {
19
+ };
20
+ exports.DocumentDrive = DocumentDrive;
21
+ __decorate([
22
+ (0, typeorm_1.Column)({ type: "integer", nullable: false }),
23
+ __metadata("design:type", Number)
24
+ ], DocumentDrive.prototype, "department_id", void 0);
25
+ __decorate([
26
+ (0, typeorm_1.Column)({ type: "integer", nullable: false }),
27
+ __metadata("design:type", Number)
28
+ ], DocumentDrive.prototype, "owner_user_id", void 0);
29
+ __decorate([
30
+ (0, typeorm_1.Column)({ type: "varchar", length: 255, nullable: false }),
31
+ __metadata("design:type", String)
32
+ ], DocumentDrive.prototype, "name", void 0);
33
+ __decorate([
34
+ (0, typeorm_1.Column)({ type: "text", nullable: true }),
35
+ __metadata("design:type", Object)
36
+ ], DocumentDrive.prototype, "description", void 0);
37
+ __decorate([
38
+ (0, typeorm_1.Column)({ type: "boolean", nullable: false, default: true }),
39
+ __metadata("design:type", Boolean)
40
+ ], DocumentDrive.prototype, "is_active", void 0);
41
+ __decorate([
42
+ (0, typeorm_1.ManyToOne)(() => DepartmentsModel_1.Departments),
43
+ (0, typeorm_1.JoinColumn)({ name: "department_id" }),
44
+ __metadata("design:type", DepartmentsModel_1.Departments)
45
+ ], DocumentDrive.prototype, "department", void 0);
46
+ __decorate([
47
+ (0, typeorm_1.ManyToOne)(() => user_1.User),
48
+ (0, typeorm_1.JoinColumn)({ name: "owner_user_id" }),
49
+ __metadata("design:type", user_1.User)
50
+ ], DocumentDrive.prototype, "owner", void 0);
51
+ __decorate([
52
+ (0, typeorm_1.OneToMany)(() => DocumentFolderModel_1.DocumentFolder, (folder) => folder.drive),
53
+ __metadata("design:type", Array)
54
+ ], DocumentDrive.prototype, "folders", void 0);
55
+ exports.DocumentDrive = DocumentDrive = __decorate([
56
+ (0, typeorm_1.Entity)({ name: "document_drives" })
57
+ ], DocumentDrive);
@@ -1,9 +1,12 @@
1
1
  import { BaseModel } from './BaseModel';
2
2
  import { Departments } from './DepartmentsModel';
3
3
  import { Document } from './DocumentModel';
4
+ import { DocumentDrive } from './DocumentDriveModel';
4
5
  export declare class DocumentFolder extends BaseModel {
5
6
  name: string;
6
7
  department_id: number;
8
+ drive_id: number | null;
9
+ drive?: DocumentDrive;
7
10
  parent_folder_id?: number;
8
11
  description?: string;
9
12
  is_active: boolean;
@@ -14,6 +14,7 @@ const typeorm_1 = require("typeorm");
14
14
  const BaseModel_1 = require("./BaseModel");
15
15
  const DepartmentsModel_1 = require("./DepartmentsModel");
16
16
  const DocumentModel_1 = require("./DocumentModel");
17
+ const DocumentDriveModel_1 = require("./DocumentDriveModel");
17
18
  let DocumentFolder = class DocumentFolder extends BaseModel_1.BaseModel {
18
19
  };
19
20
  exports.DocumentFolder = DocumentFolder;
@@ -25,6 +26,15 @@ __decorate([
25
26
  (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
26
27
  __metadata("design:type", Number)
27
28
  ], DocumentFolder.prototype, "department_id", void 0);
29
+ __decorate([
30
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
31
+ __metadata("design:type", Object)
32
+ ], DocumentFolder.prototype, "drive_id", void 0);
33
+ __decorate([
34
+ (0, typeorm_1.ManyToOne)(() => DocumentDriveModel_1.DocumentDrive, (d) => d.folders, { nullable: true }),
35
+ (0, typeorm_1.JoinColumn)({ name: 'drive_id' }),
36
+ __metadata("design:type", DocumentDriveModel_1.DocumentDrive)
37
+ ], DocumentFolder.prototype, "drive", void 0);
28
38
  __decorate([
29
39
  (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
30
40
  __metadata("design:type", Number)
@@ -0,0 +1,45 @@
1
+ import { Departments } from './DepartmentsModel';
2
+ import { UUIDBaseModel } from './UUIDBaseModel';
3
+ export declare enum DocumentType {
4
+ POLICY = "policy",
5
+ PROCEDURE = "procedure",
6
+ MANUAL = "manual",
7
+ TEMPLATE = "template",
8
+ REPORT = "report"
9
+ }
10
+ export declare enum DocumentStatus {
11
+ ACTIVE = "active",
12
+ ARCHIVED = "archived",
13
+ DRAFT = "draft"
14
+ }
15
+ export declare enum AccessLevel {
16
+ GENERAL = "general",
17
+ RESTRICTED = "restricted"
18
+ }
19
+ export declare class DocumentMetadata extends UUIDBaseModel {
20
+ title: string;
21
+ description?: string;
22
+ original_name: string;
23
+ mime_type: string;
24
+ size: number;
25
+ mongodb_file_id: string;
26
+ document_type: DocumentType;
27
+ access_level: AccessLevel;
28
+ status: DocumentStatus;
29
+ version: string;
30
+ tags: string[];
31
+ is_sensitive: boolean;
32
+ department: Departments;
33
+ department_id: number;
34
+ folder_id?: string | null;
35
+ folder_path: string;
36
+ uploaded_by: string;
37
+ uploaded_by_name?: string;
38
+ authorized_person?: string;
39
+ allowed_roles: string[];
40
+ allowed_users: string[];
41
+ download_count: number;
42
+ last_accessed_at?: Date;
43
+ metadata?: Record<string, any>;
44
+ constructor(title: string, original_name: string, mime_type: string, size: number, mongodb_file_id: string, document_type: DocumentType, department_id: number, uploaded_by: string, access_level?: AccessLevel, status?: DocumentStatus, version?: string, folder_path?: string, created_by?: string, description?: string, folder_id?: string | null, uploaded_by_name?: string, authorized_person?: string, tags?: string[], allowed_roles?: string[], allowed_users?: string[], is_sensitive?: boolean, download_count?: number, last_accessed_at?: Date, metadata?: Record<string, any>);
45
+ }
@@ -0,0 +1,171 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.DocumentMetadata = exports.AccessLevel = exports.DocumentStatus = exports.DocumentType = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const DepartmentsModel_1 = require("./DepartmentsModel");
15
+ const UUIDBaseModel_1 = require("./UUIDBaseModel");
16
+ var DocumentType;
17
+ (function (DocumentType) {
18
+ DocumentType["POLICY"] = "policy";
19
+ DocumentType["PROCEDURE"] = "procedure";
20
+ DocumentType["MANUAL"] = "manual";
21
+ DocumentType["TEMPLATE"] = "template";
22
+ DocumentType["REPORT"] = "report";
23
+ })(DocumentType || (exports.DocumentType = DocumentType = {}));
24
+ var DocumentStatus;
25
+ (function (DocumentStatus) {
26
+ DocumentStatus["ACTIVE"] = "active";
27
+ DocumentStatus["ARCHIVED"] = "archived";
28
+ DocumentStatus["DRAFT"] = "draft";
29
+ })(DocumentStatus || (exports.DocumentStatus = DocumentStatus = {}));
30
+ var AccessLevel;
31
+ (function (AccessLevel) {
32
+ AccessLevel["GENERAL"] = "general";
33
+ AccessLevel["RESTRICTED"] = "restricted";
34
+ })(AccessLevel || (exports.AccessLevel = AccessLevel = {}));
35
+ let DocumentMetadata = class DocumentMetadata extends UUIDBaseModel_1.UUIDBaseModel {
36
+ constructor(title, original_name, mime_type, size, mongodb_file_id, document_type, department_id, uploaded_by, access_level = AccessLevel.GENERAL, status = DocumentStatus.ACTIVE, version = '1.0.0', folder_path = '/', created_by, description, folder_id, uploaded_by_name, authorized_person, tags, allowed_roles, allowed_users, is_sensitive = false, download_count = 0, last_accessed_at, metadata) {
37
+ super();
38
+ this.title = title;
39
+ this.original_name = original_name;
40
+ this.mime_type = mime_type;
41
+ this.size = size;
42
+ this.mongodb_file_id = mongodb_file_id;
43
+ this.document_type = document_type;
44
+ this.department_id = department_id;
45
+ this.uploaded_by = uploaded_by;
46
+ this.access_level = access_level;
47
+ this.status = status;
48
+ this.version = version;
49
+ this.folder_path = folder_path;
50
+ this.description = description;
51
+ this.folder_id = folder_id;
52
+ this.uploaded_by_name = uploaded_by_name;
53
+ this.authorized_person = authorized_person;
54
+ this.tags = tags || [];
55
+ this.allowed_roles = allowed_roles || [];
56
+ this.allowed_users = allowed_users || [];
57
+ this.is_sensitive = is_sensitive;
58
+ this.download_count = download_count;
59
+ this.last_accessed_at = last_accessed_at;
60
+ this.metadata = metadata;
61
+ if (created_by) {
62
+ this.created_by = created_by;
63
+ }
64
+ }
65
+ };
66
+ exports.DocumentMetadata = DocumentMetadata;
67
+ __decorate([
68
+ (0, typeorm_1.Column)({ type: 'varchar', length: 500 }),
69
+ (0, typeorm_1.Index)(),
70
+ __metadata("design:type", String)
71
+ ], DocumentMetadata.prototype, "title", void 0);
72
+ __decorate([
73
+ (0, typeorm_1.Column)({ type: 'text', nullable: true }),
74
+ __metadata("design:type", String)
75
+ ], DocumentMetadata.prototype, "description", void 0);
76
+ __decorate([
77
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255 }),
78
+ __metadata("design:type", String)
79
+ ], DocumentMetadata.prototype, "original_name", void 0);
80
+ __decorate([
81
+ (0, typeorm_1.Column)({ type: 'varchar', length: 100 }),
82
+ __metadata("design:type", String)
83
+ ], DocumentMetadata.prototype, "mime_type", void 0);
84
+ __decorate([
85
+ (0, typeorm_1.Column)({ type: 'bigint' }),
86
+ __metadata("design:type", Number)
87
+ ], DocumentMetadata.prototype, "size", void 0);
88
+ __decorate([
89
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, unique: true }),
90
+ __metadata("design:type", String)
91
+ ], DocumentMetadata.prototype, "mongodb_file_id", void 0);
92
+ __decorate([
93
+ (0, typeorm_1.Column)({ type: 'enum', enum: DocumentType }),
94
+ (0, typeorm_1.Index)(),
95
+ __metadata("design:type", String)
96
+ ], DocumentMetadata.prototype, "document_type", void 0);
97
+ __decorate([
98
+ (0, typeorm_1.Column)({ type: 'enum', enum: AccessLevel, default: AccessLevel.GENERAL }),
99
+ (0, typeorm_1.Index)(),
100
+ __metadata("design:type", String)
101
+ ], DocumentMetadata.prototype, "access_level", void 0);
102
+ __decorate([
103
+ (0, typeorm_1.Column)({ type: 'enum', enum: DocumentStatus, default: DocumentStatus.ACTIVE }),
104
+ (0, typeorm_1.Index)(),
105
+ __metadata("design:type", String)
106
+ ], DocumentMetadata.prototype, "status", void 0);
107
+ __decorate([
108
+ (0, typeorm_1.Column)({ type: 'varchar', length: 50, default: '1.0.0' }),
109
+ __metadata("design:type", String)
110
+ ], DocumentMetadata.prototype, "version", void 0);
111
+ __decorate([
112
+ (0, typeorm_1.Column)({ type: 'text', array: true, default: [] }),
113
+ __metadata("design:type", Array)
114
+ ], DocumentMetadata.prototype, "tags", void 0);
115
+ __decorate([
116
+ (0, typeorm_1.Column)({ type: 'boolean', default: false }),
117
+ __metadata("design:type", Boolean)
118
+ ], DocumentMetadata.prototype, "is_sensitive", void 0);
119
+ __decorate([
120
+ (0, typeorm_1.ManyToOne)('Departments', { eager: true }),
121
+ (0, typeorm_1.JoinColumn)({ name: 'department_id' }),
122
+ __metadata("design:type", DepartmentsModel_1.Departments)
123
+ ], DocumentMetadata.prototype, "department", void 0);
124
+ __decorate([
125
+ (0, typeorm_1.Column)({ type: 'integer' }),
126
+ __metadata("design:type", Number)
127
+ ], DocumentMetadata.prototype, "department_id", void 0);
128
+ __decorate([
129
+ (0, typeorm_1.Column)({ type: 'uuid', nullable: true }),
130
+ __metadata("design:type", Object)
131
+ ], DocumentMetadata.prototype, "folder_id", void 0);
132
+ __decorate([
133
+ (0, typeorm_1.Column)({ type: 'varchar', length: 500, default: '/' }),
134
+ __metadata("design:type", String)
135
+ ], DocumentMetadata.prototype, "folder_path", void 0);
136
+ __decorate([
137
+ (0, typeorm_1.Column)({ type: 'uuid' }),
138
+ __metadata("design:type", String)
139
+ ], DocumentMetadata.prototype, "uploaded_by", void 0);
140
+ __decorate([
141
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
142
+ __metadata("design:type", String)
143
+ ], DocumentMetadata.prototype, "uploaded_by_name", void 0);
144
+ __decorate([
145
+ (0, typeorm_1.Column)({ type: 'uuid', nullable: true }),
146
+ __metadata("design:type", String)
147
+ ], DocumentMetadata.prototype, "authorized_person", void 0);
148
+ __decorate([
149
+ (0, typeorm_1.Column)({ type: 'text', array: true, default: [] }),
150
+ __metadata("design:type", Array)
151
+ ], DocumentMetadata.prototype, "allowed_roles", void 0);
152
+ __decorate([
153
+ (0, typeorm_1.Column)({ type: 'text', array: true, default: [] }),
154
+ __metadata("design:type", Array)
155
+ ], DocumentMetadata.prototype, "allowed_users", void 0);
156
+ __decorate([
157
+ (0, typeorm_1.Column)({ type: 'int', default: 0 }),
158
+ __metadata("design:type", Number)
159
+ ], DocumentMetadata.prototype, "download_count", void 0);
160
+ __decorate([
161
+ (0, typeorm_1.Column)({ type: 'timestamp', nullable: true }),
162
+ __metadata("design:type", Date)
163
+ ], DocumentMetadata.prototype, "last_accessed_at", void 0);
164
+ __decorate([
165
+ (0, typeorm_1.Column)({ type: 'jsonb', nullable: true }),
166
+ __metadata("design:type", Object)
167
+ ], DocumentMetadata.prototype, "metadata", void 0);
168
+ exports.DocumentMetadata = DocumentMetadata = __decorate([
169
+ (0, typeorm_1.Entity)({ name: 'document_metadata' }),
170
+ __metadata("design:paramtypes", [String, String, String, Number, String, String, Number, String, String, String, String, String, String, String, Object, String, String, Array, Array, Array, Boolean, Number, Date, Object])
171
+ ], DocumentMetadata);
@@ -0,0 +1,13 @@
1
+ import { BaseModel } from './BaseModel';
2
+ /**
3
+ * Documentation Service specific department configuration
4
+ * Links departments with authorized persons for document management
5
+ */
6
+ export declare class DocumentationDepartments extends BaseModel {
7
+ department_id: number;
8
+ authorized_person_id: string;
9
+ authorized_person_name?: string;
10
+ authorized_person_email?: string;
11
+ is_active: boolean;
12
+ constructor(department_id: number, authorized_person_id: string, authorized_person_name: string, authorized_person_email: string, is_active?: boolean);
13
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.DocumentationDepartments = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ /**
16
+ * Documentation Service specific department configuration
17
+ * Links departments with authorized persons for document management
18
+ */
19
+ let DocumentationDepartments = class DocumentationDepartments extends BaseModel_1.BaseModel {
20
+ constructor(department_id, authorized_person_id, authorized_person_name, authorized_person_email, is_active = true) {
21
+ super();
22
+ this.department_id = department_id;
23
+ this.authorized_person_id = authorized_person_id;
24
+ this.authorized_person_name = authorized_person_name;
25
+ this.authorized_person_email = authorized_person_email;
26
+ this.is_active = is_active;
27
+ }
28
+ };
29
+ exports.DocumentationDepartments = DocumentationDepartments;
30
+ __decorate([
31
+ (0, typeorm_1.Column)({ type: 'integer' }),
32
+ __metadata("design:type", Number)
33
+ ], DocumentationDepartments.prototype, "department_id", void 0);
34
+ __decorate([
35
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255 }),
36
+ __metadata("design:type", String)
37
+ ], DocumentationDepartments.prototype, "authorized_person_id", void 0);
38
+ __decorate([
39
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
40
+ __metadata("design:type", String)
41
+ ], DocumentationDepartments.prototype, "authorized_person_name", void 0);
42
+ __decorate([
43
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
44
+ __metadata("design:type", String)
45
+ ], DocumentationDepartments.prototype, "authorized_person_email", void 0);
46
+ __decorate([
47
+ (0, typeorm_1.Column)({ type: 'boolean', default: true }),
48
+ __metadata("design:type", Boolean)
49
+ ], DocumentationDepartments.prototype, "is_active", void 0);
50
+ exports.DocumentationDepartments = DocumentationDepartments = __decorate([
51
+ (0, typeorm_1.Entity)({ name: 'documentation_departments' }),
52
+ __metadata("design:paramtypes", [Number, String, String, String, Boolean])
53
+ ], DocumentationDepartments);