@platform-modules/civil-aviation-authority 2.2.325 → 2.2.1000

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 (40) hide show
  1. package/.env +10 -10
  2. package/dist/data-source.js +10 -2
  3. package/dist/index.d.ts +12 -2
  4. package/dist/index.js +20 -4
  5. package/dist/models/HrServiceApprovalModel.d.ts +1 -3
  6. package/dist/models/HrServiceApprovalModel.js +2 -12
  7. package/dist/models/StudyLeaveApprovalModel.d.ts +25 -0
  8. package/dist/models/StudyLeaveApprovalModel.js +107 -0
  9. package/dist/models/StudyLeaveAttachmentModel.d.ts +13 -0
  10. package/dist/models/StudyLeaveAttachmentModel.js +69 -0
  11. package/dist/models/StudyLeaveChatModel.d.ts +26 -0
  12. package/dist/models/StudyLeaveChatModel.js +89 -0
  13. package/dist/models/StudyLeaveRequestModel.d.ts +29 -0
  14. package/dist/models/StudyLeaveRequestModel.js +128 -0
  15. package/dist/models/StudyLeaveWorkflowModel.d.ts +19 -0
  16. package/dist/models/StudyLeaveWorkflowModel.js +81 -0
  17. package/package.json +1 -1
  18. package/src/data-source.ts +189 -181
  19. package/src/index.ts +106 -96
  20. package/src/models/HrServiceApprovalModel.ts +0 -10
  21. package/src/models/HrServiceRequestModel.ts +167 -167
  22. package/src/models/ITRequestChatModel.ts +62 -62
  23. package/src/models/ItApprovalsModel.ts +84 -84
  24. package/src/models/ItWorkflowModel.ts +55 -55
  25. package/src/models/StudyLeaveApprovalModel.ts +94 -0
  26. package/src/models/StudyLeaveAttachmentModel.ts +56 -0
  27. package/src/models/StudyLeaveChatModel.ts +76 -0
  28. package/src/models/StudyLeaveRequestModel.ts +114 -0
  29. package/src/models/StudyLeaveWorkflowModel.ts +68 -0
  30. package/dist/models/ITApprovalSettings.d.ts +0 -7
  31. package/dist/models/ITApprovalSettings.js +0 -40
  32. package/dist/models/ITServicesTypesMuscatModel.d.ts +0 -6
  33. package/dist/models/ITServicesTypesMuscatModel.js +0 -34
  34. package/dist/models/ITServicesTypesSalalahModel.d.ts +0 -6
  35. package/dist/models/ITServicesTypesSalalahModel.js +0 -34
  36. package/dist/models/SecondmentRequestModel.d.ts +0 -40
  37. package/dist/models/SecondmentRequestModel.js +0 -174
  38. package/dist/models/Workflows.d.ts +0 -9
  39. package/dist/models/Workflows.js +0 -31
  40. package/src/models/SecondmentRequestModel.ts +0 -163
@@ -0,0 +1,128 @@
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.StudyLeaveRequest = exports.StudyLeaveRequestStatus = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ var StudyLeaveRequestStatus;
16
+ (function (StudyLeaveRequestStatus) {
17
+ StudyLeaveRequestStatus["PENDING"] = "Pending";
18
+ StudyLeaveRequestStatus["IN_PROGRESS"] = "In Progress";
19
+ StudyLeaveRequestStatus["COMPLETED"] = "Completed";
20
+ StudyLeaveRequestStatus["APPROVED"] = "Approved";
21
+ StudyLeaveRequestStatus["REJECTED"] = "Rejected";
22
+ })(StudyLeaveRequestStatus || (exports.StudyLeaveRequestStatus = StudyLeaveRequestStatus = {}));
23
+ let StudyLeaveRequest = class StudyLeaveRequest extends BaseModel_1.BaseModel {
24
+ constructor(user_id, course_name, institute_name, course_start_date, course_end_date, location, description, status = StudyLeaveRequestStatus.PENDING, service_id, sub_service_id, req_user_department_id, req_user_section_id, req_user_position_id, duration_of_course, reviewer_user_id, assigned_to_user_id, assigned_at, workflow_execution_id) {
25
+ super();
26
+ this.user_id = user_id;
27
+ this.course_name = course_name;
28
+ this.institute_name = institute_name;
29
+ this.course_start_date = course_start_date;
30
+ this.course_end_date = course_end_date;
31
+ this.location = location;
32
+ this.description = description;
33
+ this.status = status;
34
+ this.service_id = service_id || null;
35
+ this.sub_service_id = sub_service_id || null;
36
+ this.req_user_department_id = req_user_department_id || null;
37
+ this.req_user_section_id = req_user_section_id || null;
38
+ this.req_user_position_id = req_user_position_id || null;
39
+ this.duration_of_course = duration_of_course || null;
40
+ this.reviewer_user_id = reviewer_user_id || null;
41
+ this.assigned_to_user_id = assigned_to_user_id || null;
42
+ this.assigned_at = assigned_at || null;
43
+ this.workflow_execution_id = workflow_execution_id || null;
44
+ }
45
+ };
46
+ exports.StudyLeaveRequest = StudyLeaveRequest;
47
+ __decorate([
48
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
49
+ __metadata("design:type", Object)
50
+ ], StudyLeaveRequest.prototype, "req_user_department_id", void 0);
51
+ __decorate([
52
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
53
+ __metadata("design:type", Object)
54
+ ], StudyLeaveRequest.prototype, "req_user_section_id", void 0);
55
+ __decorate([
56
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
57
+ __metadata("design:type", Object)
58
+ ], StudyLeaveRequest.prototype, "req_user_position_id", void 0);
59
+ __decorate([
60
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
61
+ __metadata("design:type", Object)
62
+ ], StudyLeaveRequest.prototype, "service_id", void 0);
63
+ __decorate([
64
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
65
+ __metadata("design:type", Object)
66
+ ], StudyLeaveRequest.prototype, "sub_service_id", void 0);
67
+ __decorate([
68
+ (0, typeorm_1.Column)({ type: "integer", nullable: false }),
69
+ __metadata("design:type", Number)
70
+ ], StudyLeaveRequest.prototype, "user_id", void 0);
71
+ __decorate([
72
+ (0, typeorm_1.Column)({ type: "varchar", length: 255, nullable: false }),
73
+ __metadata("design:type", String)
74
+ ], StudyLeaveRequest.prototype, "course_name", void 0);
75
+ __decorate([
76
+ (0, typeorm_1.Column)({ type: "varchar", length: 255, nullable: false }),
77
+ __metadata("design:type", String)
78
+ ], StudyLeaveRequest.prototype, "institute_name", void 0);
79
+ __decorate([
80
+ (0, typeorm_1.Column)({ type: "varchar", length: 255, nullable: true }),
81
+ __metadata("design:type", Object)
82
+ ], StudyLeaveRequest.prototype, "duration_of_course", void 0);
83
+ __decorate([
84
+ (0, typeorm_1.Column)({ type: "date", nullable: false }),
85
+ __metadata("design:type", Date)
86
+ ], StudyLeaveRequest.prototype, "course_start_date", void 0);
87
+ __decorate([
88
+ (0, typeorm_1.Column)({ type: "date", nullable: false }),
89
+ __metadata("design:type", Date)
90
+ ], StudyLeaveRequest.prototype, "course_end_date", void 0);
91
+ __decorate([
92
+ (0, typeorm_1.Column)({ type: "varchar", length: 255, nullable: false }),
93
+ __metadata("design:type", String)
94
+ ], StudyLeaveRequest.prototype, "location", void 0);
95
+ __decorate([
96
+ (0, typeorm_1.Column)({ type: "text", nullable: false }),
97
+ __metadata("design:type", String)
98
+ ], StudyLeaveRequest.prototype, "description", void 0);
99
+ __decorate([
100
+ (0, typeorm_1.Column)({
101
+ type: "enum",
102
+ enum: StudyLeaveRequestStatus,
103
+ default: StudyLeaveRequestStatus.PENDING,
104
+ nullable: false
105
+ }),
106
+ __metadata("design:type", String)
107
+ ], StudyLeaveRequest.prototype, "status", void 0);
108
+ __decorate([
109
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
110
+ __metadata("design:type", Object)
111
+ ], StudyLeaveRequest.prototype, "reviewer_user_id", void 0);
112
+ __decorate([
113
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
114
+ __metadata("design:type", Object)
115
+ ], StudyLeaveRequest.prototype, "assigned_to_user_id", void 0);
116
+ __decorate([
117
+ (0, typeorm_1.Column)({ type: "timestamp", nullable: true }),
118
+ __metadata("design:type", Object)
119
+ ], StudyLeaveRequest.prototype, "assigned_at", void 0);
120
+ __decorate([
121
+ (0, typeorm_1.Column)({ type: "varchar", length: 255, nullable: true }),
122
+ __metadata("design:type", Object)
123
+ ], StudyLeaveRequest.prototype, "workflow_execution_id", void 0);
124
+ exports.StudyLeaveRequest = StudyLeaveRequest = __decorate([
125
+ (0, typeorm_1.Entity)({ name: "study_leave_requests" }),
126
+ __metadata("design:paramtypes", [Number, String, String, Date,
127
+ Date, String, String, String, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object])
128
+ ], StudyLeaveRequest);
@@ -0,0 +1,19 @@
1
+ import { BaseModel } from "./BaseModel";
2
+ export declare enum StudyLeaveWorkFlowStatus {
3
+ COMPLETED = "Completed",
4
+ NOT_YET_STARTED = "Not Yet Started",
5
+ PENDING = "Pending",
6
+ REJECTED = "Rejected"
7
+ }
8
+ export declare class StudyLeaveWorkFlow extends BaseModel {
9
+ request_id: number;
10
+ service_id: number | null;
11
+ sub_service_id: number | null;
12
+ order: number | null;
13
+ content: string;
14
+ approver_role_id: number | null;
15
+ approver_user_id: number | null;
16
+ approved_by: number | null;
17
+ status: StudyLeaveWorkFlowStatus;
18
+ constructor(request_id: number, content: string, status: StudyLeaveWorkFlowStatus, service_id?: number | null, sub_service_id?: number | null, order?: number, approver_role_id?: number | null, approver_user_id?: number | null, approved_by?: number | null);
19
+ }
@@ -0,0 +1,81 @@
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.StudyLeaveWorkFlow = exports.StudyLeaveWorkFlowStatus = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ var StudyLeaveWorkFlowStatus;
16
+ (function (StudyLeaveWorkFlowStatus) {
17
+ StudyLeaveWorkFlowStatus["COMPLETED"] = "Completed";
18
+ StudyLeaveWorkFlowStatus["NOT_YET_STARTED"] = "Not Yet Started";
19
+ StudyLeaveWorkFlowStatus["PENDING"] = "Pending";
20
+ StudyLeaveWorkFlowStatus["REJECTED"] = "Rejected";
21
+ })(StudyLeaveWorkFlowStatus || (exports.StudyLeaveWorkFlowStatus = StudyLeaveWorkFlowStatus = {}));
22
+ let StudyLeaveWorkFlow = class StudyLeaveWorkFlow extends BaseModel_1.BaseModel {
23
+ constructor(request_id, content, status, service_id, sub_service_id, order, approver_role_id, approver_user_id, approved_by) {
24
+ super();
25
+ this.request_id = request_id;
26
+ this.service_id = service_id || null;
27
+ this.sub_service_id = sub_service_id || null;
28
+ this.content = content;
29
+ this.status = status;
30
+ this.order = order || null;
31
+ this.approver_role_id = approver_role_id || null;
32
+ this.approver_user_id = approver_user_id || null;
33
+ this.approved_by = approved_by || null;
34
+ }
35
+ };
36
+ exports.StudyLeaveWorkFlow = StudyLeaveWorkFlow;
37
+ __decorate([
38
+ (0, typeorm_1.Column)({ type: "int", nullable: false }),
39
+ __metadata("design:type", Number)
40
+ ], StudyLeaveWorkFlow.prototype, "request_id", void 0);
41
+ __decorate([
42
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
43
+ __metadata("design:type", Object)
44
+ ], StudyLeaveWorkFlow.prototype, "service_id", void 0);
45
+ __decorate([
46
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
47
+ __metadata("design:type", Object)
48
+ ], StudyLeaveWorkFlow.prototype, "sub_service_id", void 0);
49
+ __decorate([
50
+ (0, typeorm_1.Column)({ type: "int", nullable: true }),
51
+ __metadata("design:type", Object)
52
+ ], StudyLeaveWorkFlow.prototype, "order", void 0);
53
+ __decorate([
54
+ (0, typeorm_1.Column)({ type: "varchar", length: 255, nullable: false }),
55
+ __metadata("design:type", String)
56
+ ], StudyLeaveWorkFlow.prototype, "content", void 0);
57
+ __decorate([
58
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
59
+ __metadata("design:type", Object)
60
+ ], StudyLeaveWorkFlow.prototype, "approver_role_id", void 0);
61
+ __decorate([
62
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
63
+ __metadata("design:type", Object)
64
+ ], StudyLeaveWorkFlow.prototype, "approver_user_id", void 0);
65
+ __decorate([
66
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
67
+ __metadata("design:type", Object)
68
+ ], StudyLeaveWorkFlow.prototype, "approved_by", void 0);
69
+ __decorate([
70
+ (0, typeorm_1.Column)({
71
+ type: "enum",
72
+ enum: StudyLeaveWorkFlowStatus,
73
+ default: StudyLeaveWorkFlowStatus.PENDING,
74
+ nullable: false
75
+ }),
76
+ __metadata("design:type", String)
77
+ ], StudyLeaveWorkFlow.prototype, "status", void 0);
78
+ exports.StudyLeaveWorkFlow = StudyLeaveWorkFlow = __decorate([
79
+ (0, typeorm_1.Entity)({ name: "study_leave_workflows" }),
80
+ __metadata("design:paramtypes", [Number, String, String, Object, Object, Number, Object, Object, Object])
81
+ ], StudyLeaveWorkFlow);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platform-modules/civil-aviation-authority",
3
- "version": "2.2.325",
3
+ "version": "2.2.1000",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
@@ -1,181 +1,189 @@
1
- // src/data-source.ts
2
- import 'reflect-metadata';
3
- import { DataSource } from 'typeorm';
4
- import 'dotenv/config';
5
- import { User } from './models/user'; // import all entities here
6
- import { userSessions } from './models/user-sessions';
7
- import { Role } from './models/role';
8
- import { ITHelpDeskRequests } from './models/ITHelpDeskModel';
9
- // import { ITServicesTypesSalalah } from './models/ITServicesTypesSalalahModel'; // REMOVED - table no longer used
10
- // import { ITServicesTypesMuscat } from './models/ITServicesTypesMuscatModel'; // REMOVED - table no longer used
11
- import { ServiceType } from './models/ServiceTypeModel';
12
- import { CAAServices } from './models/CAAServices';
13
- import { CAASubServices } from './models/CAASubServices';
14
- // import { ITApprovalSettings } from './models/ITApprovalSettings'; // REMOVED - table no longer used
15
- // import { Workflows } from './models/Workflows';
16
- import { ItApprovalDetails } from './models/ItApprovalsModel';
17
- import { ItWorkFlow } from './models/ItWorkflowModel';
18
- import { WorkflowDefinitions } from './models/WorkflowDefinitions';
19
- import { WorkflowTask } from './models/WorkflowTask';
20
- import { Departments } from './models/DepartmentsModel';
21
- import { Sections } from './models/SectionModel';
22
- import { WorkflowHierarchy } from './models/WorkflowHierarchy';
23
- import { WorkflowTaskNames } from './models/WorkflowTaskNames';
24
- import { Directorate } from './models/DirectorateModel';
25
- import { Position } from './models/PositionModel';
26
- import { ServiceBookmarks } from './models/serviceBookmarksModel';
27
- import { ContactInfo } from './models/contactInfoModel';
28
- import { UserRole } from './models/userRolesModel';
29
- import { RoleRights } from './models/roleRightsModel';
30
- import { Notification } from './models/NotificationModel';
31
- import { ITRequestChat } from './models/ITRequestChatModel';
32
- import { ITRequestAttachment } from './models/ITRequestAttachmentModel';
33
- import { LogisticsRequests } from './models/LogisticsModel';
34
- import { LogisticsForeignVehicleRequests } from './models/LogisticsForeignVehicleModel';
35
- import { LogisticsForeignVehiclePassengers } from './models/LogisticsForeignVehiclePassengerModel';
36
- import { LogisticsApprovalDetails } from './models/LogisticsApprovalModel';
37
- import { LogisticsRequestChat } from './models/LogisticsChatModel';
38
- import { LogisticsRequestAttachment } from './models/LogisticsAttachmentModel';
39
- import { LogisticsWorkFlow } from './models/LogisticsWorkflowModel';
40
- import { ImportantLinks } from './models/importantLinksModel';
41
- import { DelegateSettings } from './models/DelegateSettingsModel';
42
- import { Feedback } from './models/feedbackModel';
43
- import { PortalFeedback } from './models/PortalFeedbackModel';
44
- import { VpnRequest } from './models/VpnRequestModel';
45
- import { VpnApprovalDetails } from './models/VpnApprovalModel';
46
- import { VpnWorkFlow } from './models/VpnWorkflowModel';
47
- import { VpnRequestAttachment } from './models/VpnRequestAttachmentModel';
48
- import { VpnRequestChat } from './models/VpnRequestChatModel';
49
- import { AccessCardRequest } from './models/AccessCardRequestModel';
50
- import { AccessCardApproval } from './models/AccessCardApprovalModel';
51
- import { AccessCardAttachment } from './models/AccessCardAttachmentModel';
52
- import { AccessCardRequestChat } from './models/AccessCardChatModel';
53
- import { AccessCardWorkflow } from './models/AccessCardWorkflowModel';
54
-
55
- import { HotelReservation } from './models/HotelreservationModel'
56
- import { HotelApprovalDetails } from './models/HotelApprovalModel';
57
- import { HotelWorkFlow } from './models/HotelWorkFlowModel';
58
- import { HotelRequestChat } from './models/HotelChatModel';
59
- import { HotelRequestAttachment } from './models/HotelAttachedModel';
60
- import { SecurityThreatRequest } from './models/SecurityThreatRequestModel';
61
- import { SecurityThreatApproval } from './models/SecurityThreatApprovalModel';
62
- import { SecurityThreatAttachment } from './models/SecurityThreatAttachmentModel';
63
- import { SecurityThreatChat } from './models/SecurityThreatChatModel';
64
- import { SecurityThreatWorkFlow } from './models/SecurityThreatWorkflowModel';
65
- import { SecurityAwarenessRequest } from './models/SecurityAwarenessRequestModel';
66
- import { SecurityAwarenessApproval } from './models/SecurityAwarenessApprovalModel';
67
- import { SecurityAwarenessAttachment } from './models/SecurityAwarenessAttachmentModel';
68
- import { SecurityAwarenessChat } from './models/SecurityAwarenessChatModel';
69
- import { SecurityAwarenessWorkFlow } from './models/SecurityAwarenessWorkflowModel';
70
- import { AirportEntryPermit } from './models/AirportEntryPermitModel';
71
- import { AirportEntryPermitApproval } from './models/AirportEntryPermitApprovalModel';
72
- import { AirportEntryPermitWorkFlow } from './models/AirportEntryPermitWorkflowModel';
73
- import { AirportEntryPermitChat } from './models/AirportEntryPermitChatModel';
74
- import { AirportEntryPermitAttachment } from './models/AirportEntryPermitAttachmentModel';
75
- import { GroupNames } from './models/GroupNamesModel';
76
- import { Group } from './models/GroupModel';
77
- import { HrServiceRequest } from './models/HrServiceRequestModel';
78
- import { HrServiceApprovalDetails } from './models/HrServiceApprovalModel';
79
- import { HrServiceWorkFlow } from './models/HrServiceWorkflowModel';
80
- import { HrServiceRequestAttachment } from './models/HrServiceAttachmentModel';
81
- import { HrServiceRequestChat } from './models/HrServiceChatModel';
82
- import { TrainingRequest } from './models/TrainingRequestModel';
83
- import { TrainingWorkFlow } from './models/TrainingWorkflowModel';
84
- import { TrainingApprovalDetails } from './models/TrainingApprovalModel';
85
- import { TrainingRequestChat } from './models/TrainingChatModel';
86
- import { TrainingRequestAttachment } from './models/TrainingAttachmentModel';
87
- import { SecondmentRequest } from './models/SecondmentRequestModel';
88
-
89
- export const AppDataSource = new DataSource({
90
- type: 'postgres',
91
- host: process.env.DB_HOST || 'localhost',
92
- port: +(process.env.DB_PORT || 5432),
93
- username: process.env.DB_USER || 'postgres',
94
- password: process.env.DB_PASS || 'postgres',
95
- database: process.env.DB_NAME || 'common_models',
96
- synchronize: true, // auto-create tables (disable in prod)
97
- logging: false,
98
- entities: [
99
- User,userSessions,
100
- Role,
101
- ITHelpDeskRequests,
102
- // ITServicesTypesSalalah, // REMOVED - table no longer used
103
- // ITServicesTypesMuscat, // REMOVED - table no longer used
104
- ServiceType,
105
- CAAServices,
106
- CAASubServices,
107
- // ITApprovalSettings, // REMOVED - table no longer used
108
- // Workflows,
109
- ItApprovalDetails,
110
- ItWorkFlow,
111
- WorkflowDefinitions,
112
- WorkflowTask,
113
- Departments,
114
- Sections,
115
- WorkflowHierarchy,
116
- WorkflowTaskNames,
117
- Directorate,
118
- Position,
119
- ServiceBookmarks,
120
- ContactInfo,
121
- UserRole,
122
- RoleRights,
123
- Notification,
124
- ITRequestChat,
125
- ITRequestAttachment,
126
- LogisticsRequests,
127
- LogisticsForeignVehicleRequests,
128
- LogisticsForeignVehiclePassengers,
129
- LogisticsApprovalDetails,
130
- LogisticsRequestChat,
131
- LogisticsRequestAttachment,
132
- LogisticsWorkFlow,
133
- AccessCardRequest,
134
- AccessCardApproval,
135
- AccessCardAttachment,
136
- AccessCardRequestChat,
137
- AccessCardWorkflow,
138
- ImportantLinks,
139
- DelegateSettings,
140
- Feedback,
141
- PortalFeedback,
142
- VpnRequest,
143
- VpnApprovalDetails,
144
- VpnWorkFlow,
145
- VpnRequestAttachment,
146
- VpnRequestChat,
147
- HotelReservation,
148
- HotelApprovalDetails,
149
- HotelWorkFlow,
150
- HotelRequestChat,
151
- HotelRequestAttachment,
152
- SecurityThreatRequest,
153
- SecurityThreatApproval,
154
- SecurityThreatAttachment,
155
- SecurityThreatChat,
156
- SecurityThreatWorkFlow,
157
- SecurityAwarenessRequest,
158
- SecurityAwarenessApproval,
159
- SecurityAwarenessAttachment,
160
- SecurityAwarenessChat,
161
- SecurityAwarenessWorkFlow,
162
- GroupNames,
163
- Group,
164
- AirportEntryPermit,
165
- AirportEntryPermitApproval,
166
- AirportEntryPermitWorkFlow,
167
- AirportEntryPermitChat,
168
- AirportEntryPermitAttachment,
169
- HrServiceRequest,
170
- HrServiceApprovalDetails,
171
- HrServiceWorkFlow,
172
- HrServiceRequestAttachment,
173
- HrServiceRequestChat,
174
- TrainingRequest,
175
- TrainingWorkFlow,
176
- TrainingApprovalDetails,
177
- TrainingRequestChat,
178
- TrainingRequestAttachment,
179
- SecondmentRequest
180
- ],
181
- });
1
+ // src/data-source.ts
2
+ import 'reflect-metadata';
3
+ import { DataSource } from 'typeorm';
4
+ import 'dotenv/config';
5
+ import { User } from './models/user'; // import all entities here
6
+ import { userSessions } from './models/user-sessions';
7
+ import { Role } from './models/role';
8
+ import { ITHelpDeskRequests } from './models/ITHelpDeskModel';
9
+ // import { ITServicesTypesSalalah } from './models/ITServicesTypesSalalahModel'; // REMOVED - table no longer used
10
+ // import { ITServicesTypesMuscat } from './models/ITServicesTypesMuscatModel'; // REMOVED - table no longer used
11
+ import { ServiceType } from './models/ServiceTypeModel';
12
+ import { CAAServices } from './models/CAAServices';
13
+ import { CAASubServices } from './models/CAASubServices';
14
+ // import { ITApprovalSettings } from './models/ITApprovalSettings'; // REMOVED - table no longer used
15
+ // import { Workflows } from './models/Workflows';
16
+ import { ItApprovalDetails } from './models/ItApprovalsModel';
17
+ import { ItWorkFlow } from './models/ItWorkflowModel';
18
+ import { WorkflowDefinitions } from './models/WorkflowDefinitions';
19
+ import { WorkflowTask } from './models/WorkflowTask';
20
+ import { Departments } from './models/DepartmentsModel';
21
+ import { Sections } from './models/SectionModel';
22
+ import { WorkflowHierarchy } from './models/WorkflowHierarchy';
23
+ import { WorkflowTaskNames } from './models/WorkflowTaskNames';
24
+ import { Directorate } from './models/DirectorateModel';
25
+ import { Position } from './models/PositionModel';
26
+ import { ServiceBookmarks } from './models/serviceBookmarksModel';
27
+ import { ContactInfo } from './models/contactInfoModel';
28
+ import { UserRole } from './models/userRolesModel';
29
+ import { RoleRights } from './models/roleRightsModel';
30
+ import { Notification } from './models/NotificationModel';
31
+ import { ITRequestChat } from './models/ITRequestChatModel';
32
+ import { ITRequestAttachment } from './models/ITRequestAttachmentModel';
33
+ import { LogisticsRequests } from './models/LogisticsModel';
34
+ import { LogisticsForeignVehicleRequests } from './models/LogisticsForeignVehicleModel';
35
+ import { LogisticsForeignVehiclePassengers } from './models/LogisticsForeignVehiclePassengerModel';
36
+ import { LogisticsApprovalDetails } from './models/LogisticsApprovalModel';
37
+ import { LogisticsRequestChat } from './models/LogisticsChatModel';
38
+ import { LogisticsRequestAttachment } from './models/LogisticsAttachmentModel';
39
+ import { LogisticsWorkFlow } from './models/LogisticsWorkflowModel';
40
+ import { ImportantLinks } from './models/importantLinksModel';
41
+ import { DelegateSettings } from './models/DelegateSettingsModel';
42
+ import { Feedback } from './models/feedbackModel';
43
+ import { PortalFeedback } from './models/PortalFeedbackModel';
44
+ import { VpnRequest } from './models/VpnRequestModel';
45
+ import { VpnApprovalDetails } from './models/VpnApprovalModel';
46
+ import { VpnWorkFlow } from './models/VpnWorkflowModel';
47
+ import { VpnRequestAttachment } from './models/VpnRequestAttachmentModel';
48
+ import { VpnRequestChat } from './models/VpnRequestChatModel';
49
+ import { AccessCardRequest } from './models/AccessCardRequestModel';
50
+ import { AccessCardApproval } from './models/AccessCardApprovalModel';
51
+ import { AccessCardAttachment } from './models/AccessCardAttachmentModel';
52
+ import { AccessCardRequestChat } from './models/AccessCardChatModel';
53
+ import { AccessCardWorkflow } from './models/AccessCardWorkflowModel';
54
+
55
+ import { HotelReservation } from './models/HotelreservationModel'
56
+ import { HotelApprovalDetails } from './models/HotelApprovalModel';
57
+ import { HotelWorkFlow } from './models/HotelWorkFlowModel';
58
+ import { HotelRequestChat } from './models/HotelChatModel';
59
+ import { HotelRequestAttachment } from './models/HotelAttachedModel';
60
+ import { SecurityThreatRequest } from './models/SecurityThreatRequestModel';
61
+ import { SecurityThreatApproval } from './models/SecurityThreatApprovalModel';
62
+ import { SecurityThreatAttachment } from './models/SecurityThreatAttachmentModel';
63
+ import { SecurityThreatChat } from './models/SecurityThreatChatModel';
64
+ import { SecurityThreatWorkFlow } from './models/SecurityThreatWorkflowModel';
65
+ import { SecurityAwarenessRequest } from './models/SecurityAwarenessRequestModel';
66
+ import { SecurityAwarenessApproval } from './models/SecurityAwarenessApprovalModel';
67
+ import { SecurityAwarenessAttachment } from './models/SecurityAwarenessAttachmentModel';
68
+ import { SecurityAwarenessChat } from './models/SecurityAwarenessChatModel';
69
+ import { SecurityAwarenessWorkFlow } from './models/SecurityAwarenessWorkflowModel';
70
+ import { AirportEntryPermit } from './models/AirportEntryPermitModel';
71
+ import { AirportEntryPermitApproval } from './models/AirportEntryPermitApprovalModel';
72
+ import { AirportEntryPermitWorkFlow } from './models/AirportEntryPermitWorkflowModel';
73
+ import { AirportEntryPermitChat } from './models/AirportEntryPermitChatModel';
74
+ import { AirportEntryPermitAttachment } from './models/AirportEntryPermitAttachmentModel';
75
+ import { GroupNames } from './models/GroupNamesModel';
76
+ import { Group } from './models/GroupModel';
77
+ import { HrServiceRequest } from './models/HrServiceRequestModel';
78
+ import { HrServiceApprovalDetails } from './models/HrServiceApprovalModel';
79
+ import { HrServiceWorkFlow } from './models/HrServiceWorkflowModel';
80
+ import { HrServiceRequestAttachment } from './models/HrServiceAttachmentModel';
81
+ import { HrServiceRequestChat } from './models/HrServiceChatModel';
82
+ import { TrainingRequest } from './models/TrainingRequestModel';
83
+ import { TrainingWorkFlow } from './models/TrainingWorkflowModel';
84
+ import { TrainingApprovalDetails } from './models/TrainingApprovalModel';
85
+ import { TrainingRequestChat } from './models/TrainingChatModel';
86
+ import { TrainingRequestAttachment } from './models/TrainingAttachmentModel';
87
+ import { StudyLeaveRequest } from './models/StudyLeaveRequestModel';
88
+ import { StudyLeaveWorkFlow } from './models/StudyLeaveWorkflowModel';
89
+ import { StudyLeaveApprovalDetails } from './models/StudyLeaveApprovalModel';
90
+ import { StudyLeaveRequestChat } from './models/StudyLeaveChatModel';
91
+ import { StudyLeaveRequestAttachment } from './models/StudyLeaveAttachmentModel';
92
+
93
+ export const AppDataSource = new DataSource({
94
+ type: 'postgres',
95
+ host: process.env.DB_HOST || 'localhost',
96
+ port: +(process.env.DB_PORT || 5432),
97
+ username: process.env.DB_USER || 'postgres',
98
+ password: process.env.DB_PASS || 'postgres',
99
+ database: process.env.DB_NAME || 'common_models',
100
+ synchronize: true, // auto-create tables (disable in prod)
101
+ logging: false,
102
+ entities: [
103
+ User,userSessions,
104
+ Role,
105
+ ITHelpDeskRequests,
106
+ // ITServicesTypesSalalah, // REMOVED - table no longer used
107
+ // ITServicesTypesMuscat, // REMOVED - table no longer used
108
+ ServiceType,
109
+ CAAServices,
110
+ CAASubServices,
111
+ // ITApprovalSettings, // REMOVED - table no longer used
112
+ // Workflows,
113
+ ItApprovalDetails,
114
+ ItWorkFlow,
115
+ WorkflowDefinitions,
116
+ WorkflowTask,
117
+ Departments,
118
+ Sections,
119
+ WorkflowHierarchy,
120
+ WorkflowTaskNames,
121
+ Directorate,
122
+ Position,
123
+ ServiceBookmarks,
124
+ ContactInfo,
125
+ UserRole,
126
+ RoleRights,
127
+ Notification,
128
+ ITRequestChat,
129
+ ITRequestAttachment,
130
+ LogisticsRequests,
131
+ LogisticsForeignVehicleRequests,
132
+ LogisticsForeignVehiclePassengers,
133
+ LogisticsApprovalDetails,
134
+ LogisticsRequestChat,
135
+ LogisticsRequestAttachment,
136
+ LogisticsWorkFlow,
137
+ AccessCardRequest,
138
+ AccessCardApproval,
139
+ AccessCardAttachment,
140
+ AccessCardRequestChat,
141
+ AccessCardWorkflow,
142
+ ImportantLinks,
143
+ DelegateSettings,
144
+ Feedback,
145
+ PortalFeedback,
146
+ VpnRequest,
147
+ VpnApprovalDetails,
148
+ VpnWorkFlow,
149
+ VpnRequestAttachment,
150
+ VpnRequestChat,
151
+ HotelReservation,
152
+ HotelApprovalDetails,
153
+ HotelWorkFlow,
154
+ HotelRequestChat,
155
+ HotelRequestAttachment,
156
+ SecurityThreatRequest,
157
+ SecurityThreatApproval,
158
+ SecurityThreatAttachment,
159
+ SecurityThreatChat,
160
+ SecurityThreatWorkFlow,
161
+ SecurityAwarenessRequest,
162
+ SecurityAwarenessApproval,
163
+ SecurityAwarenessAttachment,
164
+ SecurityAwarenessChat,
165
+ SecurityAwarenessWorkFlow,
166
+ GroupNames,
167
+ Group,
168
+ AirportEntryPermit,
169
+ AirportEntryPermitApproval,
170
+ AirportEntryPermitWorkFlow,
171
+ AirportEntryPermitChat,
172
+ AirportEntryPermitAttachment,
173
+ HrServiceRequest,
174
+ HrServiceApprovalDetails,
175
+ HrServiceWorkFlow,
176
+ HrServiceRequestAttachment,
177
+ HrServiceRequestChat,
178
+ TrainingRequest,
179
+ TrainingWorkFlow,
180
+ TrainingApprovalDetails,
181
+ TrainingRequestChat,
182
+ TrainingRequestAttachment,
183
+ StudyLeaveRequest,
184
+ StudyLeaveWorkFlow,
185
+ StudyLeaveApprovalDetails,
186
+ StudyLeaveRequestChat,
187
+ StudyLeaveRequestAttachment
188
+ ],
189
+ });