@platform-modules/civil-aviation-authority 2.3.195 → 2.3.201

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 (130) hide show
  1. package/.env +9 -17
  2. package/dist/data-source.js +30 -0
  3. package/dist/index.d.ts +16 -0
  4. package/dist/index.js +17 -0
  5. package/dist/models/ContractServiceRequestModel.d.ts +23 -0
  6. package/dist/models/ContractServiceRequestModel.js +102 -0
  7. package/dist/models/ITApprovalSettings.d.ts +7 -0
  8. package/dist/models/ITApprovalSettings.js +40 -0
  9. package/dist/models/ITServicesTypesMuscatModel.d.ts +6 -0
  10. package/dist/models/ITServicesTypesMuscatModel.js +34 -0
  11. package/dist/models/ITServicesTypesSalalahModel.d.ts +6 -0
  12. package/dist/models/ITServicesTypesSalalahModel.js +34 -0
  13. package/dist/models/ImportExportMaterialApprovalModel.d.ts +23 -0
  14. package/dist/models/ImportExportMaterialApprovalModel.js +101 -0
  15. package/dist/models/ImportExportMaterialAttachmentModel.d.ts +12 -0
  16. package/dist/models/ImportExportMaterialAttachmentModel.js +64 -0
  17. package/dist/models/ImportExportMaterialChatModel.d.ts +28 -0
  18. package/dist/models/ImportExportMaterialChatModel.js +86 -0
  19. package/dist/models/ImportExportMaterialRequestModel.d.ts +33 -0
  20. package/dist/models/ImportExportMaterialRequestModel.js +118 -0
  21. package/dist/models/ImportExportMaterialWorkflowModel.d.ts +18 -0
  22. package/dist/models/ImportExportMaterialWorkflowModel.js +80 -0
  23. package/dist/models/ServiceExtensionAfter60ApprovalModel.d.ts +23 -0
  24. package/dist/models/ServiceExtensionAfter60ApprovalModel.js +101 -0
  25. package/dist/models/ServiceExtensionAfter60AttachmentModel.d.ts +12 -0
  26. package/dist/models/ServiceExtensionAfter60AttachmentModel.js +64 -0
  27. package/dist/models/ServiceExtensionAfter60ChatModel.d.ts +28 -0
  28. package/dist/models/ServiceExtensionAfter60ChatModel.js +86 -0
  29. package/dist/models/ServiceExtensionAfter60RequestModel.d.ts +28 -0
  30. package/dist/models/ServiceExtensionAfter60RequestModel.js +108 -0
  31. package/dist/models/ServiceExtensionAfter60WorkflowModel.d.ts +18 -0
  32. package/dist/models/ServiceExtensionAfter60WorkflowModel.js +80 -0
  33. package/dist/models/Workflows.d.ts +9 -0
  34. package/dist/models/Workflows.js +31 -0
  35. package/dist/models/WorkingHoursExtensionApprovalModel.d.ts +23 -0
  36. package/dist/models/WorkingHoursExtensionApprovalModel.js +101 -0
  37. package/dist/models/WorkingHoursExtensionAttachmentModel.d.ts +12 -0
  38. package/dist/models/WorkingHoursExtensionAttachmentModel.js +64 -0
  39. package/dist/models/WorkingHoursExtensionChatModel.d.ts +28 -0
  40. package/dist/models/WorkingHoursExtensionChatModel.js +86 -0
  41. package/dist/models/WorkingHoursExtensionRequestModel.d.ts +25 -0
  42. package/dist/models/WorkingHoursExtensionRequestModel.js +96 -0
  43. package/dist/models/WorkingHoursExtensionWorkflowModel.d.ts +18 -0
  44. package/dist/models/WorkingHoursExtensionWorkflowModel.js +80 -0
  45. package/package.json +24 -24
  46. package/src/data-source.ts +30 -0
  47. package/src/index.ts +18 -0
  48. package/src/models/AccessCardRequestModel.ts +135 -135
  49. package/src/models/AccommodationApprovalModel.ts +8 -8
  50. package/src/models/AccommodationRequestModel.ts +8 -8
  51. package/src/models/AirportEntryPermitModel.ts +276 -276
  52. package/src/models/AnnualIncrementRequestEmployeeModel.ts +65 -65
  53. package/src/models/AnnualIncrementRequestModel.ts +25 -25
  54. package/src/models/AnnualTrainingPlanRequestModel.ts +153 -153
  55. package/src/models/AppealAgainstAdministrativeDecisionRequestModel.ts +23 -23
  56. package/src/models/CAAServices.ts +33 -33
  57. package/src/models/CAASubServices.ts +33 -33
  58. package/src/models/CAIRatingMasterModel.ts +39 -39
  59. package/src/models/CSRMBusinessImpactRatingMasterModel.ts +25 -25
  60. package/src/models/CSRMLikelihoodMasterModel.ts +25 -25
  61. package/src/models/CashAllowanceLeaveRequestModel.ts +11 -11
  62. package/src/models/ContractServiceRequestModel.ts +68 -0
  63. package/src/models/DepartmentsModel.ts +25 -25
  64. package/src/models/DocumentDriveModel.ts +28 -28
  65. package/src/models/DocumentFolderModel.ts +45 -45
  66. package/src/models/HousingContractCancelChatModel.ts +56 -56
  67. package/src/models/HousingContractRenewalChatModel.ts +59 -59
  68. package/src/models/HrServiceRequestModel.ts +193 -193
  69. package/src/models/ITRequestAttachmentModel.ts +73 -73
  70. package/src/models/ITRequestChatModel.ts +74 -74
  71. package/src/models/ImportExportMaterialApprovalModel.ts +87 -0
  72. package/src/models/ImportExportMaterialAttachmentModel.ts +50 -0
  73. package/src/models/ImportExportMaterialChatModel.ts +61 -0
  74. package/src/models/ImportExportMaterialRequestModel.ts +85 -0
  75. package/src/models/ImportExportMaterialWorkflowModel.ts +51 -0
  76. package/src/models/ItApprovalsModel.ts +84 -84
  77. package/src/models/ItWorkflowModel.ts +55 -55
  78. package/src/models/MissionTravelPassportExpiryNotificationConfigModel.ts +36 -36
  79. package/src/models/PerformanceCyclePeriodModel.ts +26 -26
  80. package/src/models/PerformanceGoalMasterModel.ts +27 -27
  81. package/src/models/PerformanceManagementRequestGoalModel.ts +46 -46
  82. package/src/models/PerformanceManagementRequestModel.ts +14 -14
  83. package/src/models/PromotionRequestModel.ts +11 -11
  84. package/src/models/ResidentialUnitRentalChatModel.ts +56 -56
  85. package/src/models/ResidentialUnitRentalRequestModel.ts +218 -218
  86. package/src/models/RespondToEnquiriesRequestModel.ts +31 -31
  87. package/src/models/ServiceExtensionAfter60ApprovalModel.ts +87 -0
  88. package/src/models/ServiceExtensionAfter60AttachmentModel.ts +50 -0
  89. package/src/models/ServiceExtensionAfter60ChatModel.ts +61 -0
  90. package/src/models/ServiceExtensionAfter60RequestModel.ts +75 -0
  91. package/src/models/ServiceExtensionAfter60WorkflowModel.ts +51 -0
  92. package/src/models/ServicesNotificationConfigModel.ts +55 -55
  93. package/src/models/StudyLeaveRequestModel.ts +144 -144
  94. package/src/models/TrainingRequestModel.ts +164 -164
  95. package/src/models/TrainingRoomBookingRequestModel.ts +142 -142
  96. package/src/models/TrainingRoomNotificationConfigModel.ts +30 -30
  97. package/src/models/UserSkillModel.ts +56 -56
  98. package/src/models/WorkingHoursExtensionApprovalModel.ts +87 -0
  99. package/src/models/WorkingHoursExtensionAttachmentModel.ts +50 -0
  100. package/src/models/WorkingHoursExtensionChatModel.ts +61 -0
  101. package/src/models/WorkingHoursExtensionRequestModel.ts +66 -0
  102. package/src/models/WorkingHoursExtensionWorkflowModel.ts +51 -0
  103. package/src/models/role.ts +34 -34
  104. package/src/models/user.ts +233 -233
  105. package/dist/models/DocumentMetadataModel.d.ts +0 -45
  106. package/dist/models/DocumentMetadataModel.js +0 -171
  107. package/dist/models/DocumentationDepartmentsModel.d.ts +0 -13
  108. package/dist/models/DocumentationDepartmentsModel.js +0 -53
  109. package/dist/models/FolderModel.d.ts +0 -16
  110. package/dist/models/FolderModel.js +0 -85
  111. package/dist/models/ImportExportMaterialModels.d.ts +0 -92
  112. package/dist/models/ImportExportMaterialModels.js +0 -307
  113. package/dist/models/PermissionModel.d.ts +0 -18
  114. package/dist/models/PermissionModel.js +0 -68
  115. package/dist/models/SecurityAccessApprovalModel.d.ts +0 -23
  116. package/dist/models/SecurityAccessApprovalModel.js +0 -82
  117. package/dist/models/SecurityAccessAttachmentModel.d.ts +0 -12
  118. package/dist/models/SecurityAccessAttachmentModel.js +0 -56
  119. package/dist/models/SecurityAccessChatModel.d.ts +0 -12
  120. package/dist/models/SecurityAccessChatModel.js +0 -56
  121. package/dist/models/SecurityAccessRequestModel.d.ts +0 -25
  122. package/dist/models/SecurityAccessRequestModel.js +0 -80
  123. package/dist/models/SecurityAccessWorkflowModel.d.ts +0 -24
  124. package/dist/models/SecurityAccessWorkflowModel.js +0 -84
  125. package/dist/models/ServiceExtensionAfterAge60Models.d.ts +0 -93
  126. package/dist/models/ServiceExtensionAfterAge60Models.js +0 -312
  127. package/dist/models/UUIDBaseModel.d.ts +0 -14
  128. package/dist/models/UUIDBaseModel.js +0 -66
  129. package/dist/models/WorkingHoursExtensionModels.d.ts +0 -88
  130. package/dist/models/WorkingHoursExtensionModels.js +0 -295
@@ -0,0 +1,66 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from "./BaseModel";
3
+
4
+ export enum WorkingHoursExtensionRequestStatus {
5
+ PENDING = "Pending",
6
+ IN_PROGRESS = "In Progress",
7
+ APPROVED = "Approved",
8
+ REJECTED = "Rejected"
9
+ }
10
+
11
+ @Entity({ name: "working_hours_extension_requests" })
12
+ export class WorkingHoursExtensionRequest extends BaseModel {
13
+ @Column({ type: "int", nullable: true })
14
+ req_user_department_id: number | null;
15
+
16
+ @Column({ type: "int", nullable: true })
17
+ req_user_section_id: number | null;
18
+
19
+ @Column({ type: "int", nullable: true })
20
+ service_id: number | null;
21
+
22
+ @Column({ type: "int", nullable: true })
23
+ sub_service_id: number | null;
24
+
25
+ @Column({ type: "int", nullable: false })
26
+ user_id: number;
27
+
28
+ @Column({
29
+ type: "enum",
30
+ enum: WorkingHoursExtensionRequestStatus,
31
+ default: WorkingHoursExtensionRequestStatus.PENDING,
32
+ nullable: false
33
+ })
34
+ status: WorkingHoursExtensionRequestStatus;
35
+
36
+ @Column({ type: "varchar", length: 255, nullable: true })
37
+ workflow_execution_id: string | null;
38
+
39
+ @Column({ type: "date", nullable: true })
40
+ extension_date: Date | null;
41
+
42
+ @Column({ type: "varchar", length: 16, nullable: true })
43
+ requested_start_time: string | null;
44
+
45
+ @Column({ type: "varchar", length: 16, nullable: true })
46
+ requested_end_time: string | null;
47
+
48
+ @Column({ type: "text", nullable: false })
49
+ reason: string;
50
+
51
+ @Column({ type: "varchar", length: 255, nullable: true })
52
+ room_area: string | null;
53
+
54
+ @Column({ type: "text", nullable: true })
55
+ description: string | null;
56
+
57
+ @Column({ type: "int", nullable: false })
58
+ created_by: number;
59
+
60
+ @Column({ type: "varchar", length: 255, nullable: true })
61
+ reference_number: string | null;
62
+
63
+ constructor() {
64
+ super();
65
+ }
66
+ }
@@ -0,0 +1,51 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from "./BaseModel";
3
+
4
+ @Entity({ name: "working_hours_extension_workflow" })
5
+ export class WorkingHoursExtensionWorkflow extends BaseModel {
6
+ @Column({ type: "int", nullable: false })
7
+ request_id: number;
8
+
9
+ @Column({ type: "int", nullable: true })
10
+ service_id: number;
11
+
12
+ @Column({ type: "int", nullable: true })
13
+ sub_service_id: number;
14
+
15
+ @Column({ type: "int", nullable: true })
16
+ workflow_definition_id: number;
17
+
18
+ @Column({ type: "int", nullable: true })
19
+ current_level: number;
20
+
21
+ @Column({ type: "varchar", length: 500, nullable: true })
22
+ content: string;
23
+
24
+ @Column({ type: "varchar", length: 50, nullable: false })
25
+ status: string;
26
+
27
+ @Column({ type: "int", nullable: true })
28
+ step_order: number;
29
+
30
+ @Column({ type: "int", nullable: true })
31
+ user_id: number;
32
+
33
+ @Column({ type: "int", nullable: true })
34
+ role_id: number;
35
+
36
+ @Column({ type: "int", nullable: true })
37
+ department_id: number;
38
+
39
+ @Column({ type: "int", nullable: true })
40
+ section_id: number;
41
+
42
+ @Column({ type: "text", nullable: true })
43
+ workflow_data: string;
44
+
45
+ @Column({ type: "int", nullable: false })
46
+ created_by: number;
47
+
48
+ constructor() {
49
+ super();
50
+ }
51
+ }
@@ -1,34 +1,34 @@
1
- /** *
2
- @author
3
- Amnet Digital
4
- @date
5
- 2024-05-20
6
- @Model
7
- Role
8
- @usage
9
- Userrole Information will store
10
- */
11
-
12
- import { Column, Entity } from "typeorm";
13
- import { BaseModel } from './BaseModel';
14
-
15
- @Entity({ name: 'role' })
16
- export class Role extends BaseModel {
17
-
18
- @Column({ nullable: true })
19
- name: string;
20
-
21
- @Column({ type: 'varchar', length: 255, nullable: true })
22
- arabic_name: string | null;
23
-
24
- @Column({ nullable: true })
25
- is_deleted?: boolean;
26
-
27
-
28
- constructor(name: string, is_deleted: boolean, arabic_name: string | null = null) {
29
- super();
30
- this.name = name;
31
- this.is_deleted = is_deleted;
32
- this.arabic_name = arabic_name;
33
- }
34
- }
1
+ /** *
2
+ @author
3
+ Amnet Digital
4
+ @date
5
+ 2024-05-20
6
+ @Model
7
+ Role
8
+ @usage
9
+ Userrole Information will store
10
+ */
11
+
12
+ import { Column, Entity } from "typeorm";
13
+ import { BaseModel } from './BaseModel';
14
+
15
+ @Entity({ name: 'role' })
16
+ export class Role extends BaseModel {
17
+
18
+ @Column({ nullable: true })
19
+ name: string;
20
+
21
+ @Column({ type: 'varchar', length: 255, nullable: true })
22
+ arabic_name: string | null;
23
+
24
+ @Column({ nullable: true })
25
+ is_deleted?: boolean;
26
+
27
+
28
+ constructor(name: string, is_deleted: boolean, arabic_name: string | null = null) {
29
+ super();
30
+ this.name = name;
31
+ this.is_deleted = is_deleted;
32
+ this.arabic_name = arabic_name;
33
+ }
34
+ }
@@ -1,234 +1,234 @@
1
- import { Column, Entity } from "typeorm";
2
- import { BaseModel } from './BaseModel';
3
-
4
- @Entity({ name: 'users' })
5
- export class User extends BaseModel {
6
-
7
- @Column({ type: 'bigint', nullable: true })
8
- employee_id?: number;
9
-
10
- @Column({ type: 'bigint', nullable: true })
11
- civil_employee_id?: number;
12
-
13
- @Column({ nullable: true })
14
- employee_name?: string;
15
-
16
- @Column({ nullable: true })
17
- employee_arabic_name?: string;
18
-
19
- @Column({ nullable: true })
20
- person_type?: string;
21
-
22
- @Column({ nullable: true })
23
- date_of_birth?: string;
24
-
25
- @Column({ nullable: true })
26
- region_of_birth?: string;
27
-
28
- @Column({ nullable: true })
29
- country_of_birth?: string;
30
-
31
- @Column({ nullable: true })
32
- date_of_joining?: string;
33
-
34
- @Column({ nullable: true })
35
- last_promotion_date?: string;
36
-
37
- @Column({ nullable: true })
38
- gender?: string;
39
-
40
- @Column({ nullable: true })
41
- qualification?: string;
42
-
43
- @Column({ nullable: true })
44
- marital_status?: string;
45
-
46
- @Column({ nullable: true })
47
- nationality?: string;
48
-
49
- @Column({ nullable: true })
50
- email?: string;
51
-
52
- @Column({ nullable: true })
53
- blood_type?: string;
54
-
55
- @Column({ type: 'varchar', length: 100, nullable: true })
56
- national_id?: string;
57
-
58
- @Column({ type: 'varchar', length: 100, nullable: true })
59
- manpower_id?: string;
60
-
61
- @Column({ nullable: true })
62
- mobile?: string;
63
-
64
- @Column({ nullable: true })
65
- office_number?: string;
66
-
67
- @Column({ nullable: true })
68
- department?: number;
69
-
70
- @Column({ type: "enum", enum: ["CAA", "Embassy"], nullable: false, default: "CAA" })
71
- category: "CAA" | "Embassy"; // Mandatory
72
-
73
- @Column({ nullable: true })
74
- directorate?: string;
75
-
76
- @Column({ nullable: true })
77
- section?: number;
78
-
79
- @Column({ nullable: true })
80
- position?: number;
81
-
82
- @Column({ nullable: true })
83
- arabic_position?: string;
84
-
85
- @Column({ nullable: true })
86
- grade?: number;
87
-
88
- @Column({ nullable: true })
89
- location?: string;
90
-
91
- @Column({ type: 'bigint', nullable: true })
92
- supervisor_emp_id?: number;
93
-
94
- @Column({ nullable: true })
95
- supervisor_emp_name?: string;
96
-
97
- @Column({ nullable: true , default: false})
98
- is_admin?: boolean;
99
-
100
- @Column({ nullable: true })
101
- passport_number?: string;
102
-
103
- @Column({ nullable: true })
104
- personal_email?: string;
105
-
106
- @Column({ nullable: true })
107
- extension_number?: number;
108
-
109
- @Column({ type: "varchar", length: 20, nullable: true })
110
- fax_number?: string; // Optional
111
-
112
- @Column({ nullable: true })
113
- diplomatic_name?: string;
114
-
115
- @Column({ nullable: true })
116
- avatar?: string;
117
-
118
- @Column({ nullable: true })
119
- father_name?: string;
120
-
121
- @Column({ nullable: true })
122
- spouse_name?: string;
123
-
124
- @Column({ nullable: true })
125
- children1_name?: string;
126
-
127
- @Column({ nullable: true })
128
- children2_name?: string;
129
-
130
- @Column({ nullable: true })
131
- address?: string;
132
-
133
- @Column({ nullable: true })
134
- religion?: string;
135
-
136
- @Column({ type: "decimal", precision: 10, scale: 3, nullable: true })
137
- current_basic_salary: number;
138
-
139
- @Column({ type: "decimal", precision: 10, scale: 3, nullable: true })
140
- previous_basic_salary: number;
141
-
142
- constructor(
143
- employee_id?: number,
144
- civil_employee_id?: number,
145
- employee_name?: string,
146
- employee_arabic_name?: string,
147
- person_type?: string,
148
- date_of_birth?: string,
149
- region_of_birth?: string,
150
- country_of_birth?: string,
151
- date_of_joining?: string,
152
- last_promotion_date?: string,
153
- gender?: string,
154
- qualification?: string,
155
- marital_status?: string,
156
- nationality?: string,
157
- email?: string,
158
- blood_type?: string,
159
- national_id?: string,
160
- manpower_id?: string,
161
- mobile?: string,
162
- office_number?: string,
163
- department?: number,
164
- category?: "CAA" | "Embassy",
165
- directorate?: string,
166
- section?: number,
167
- position?: number,
168
- arabic_position?: string,
169
- grade?: number,
170
- location?: string,
171
- supervisor_emp_id?: number,
172
- supervisor_emp_name?: string,
173
- passport_number?: string,
174
- personal_email?: string,
175
- extension_number?: number,
176
- fax_number?: string,
177
- diplomatic_name?: string,
178
- avatar?: string,
179
- father_name?: string,
180
- spouse_name?: string,
181
- children1_name?: string,
182
- children2_name?: string,
183
- address?: string,
184
- religion?: string,
185
- current_basic_salary?: number,
186
- previous_basic_salary?: number
187
- ) {
188
- super();
189
- this.employee_id = employee_id;
190
- this.civil_employee_id = civil_employee_id;
191
- this.employee_name = employee_name;
192
- this.employee_arabic_name = employee_arabic_name;
193
- this.person_type = person_type;
194
- this.date_of_birth = date_of_birth;
195
- this.region_of_birth = region_of_birth;
196
- this.country_of_birth = country_of_birth;
197
- this.date_of_joining = date_of_joining;
198
- this.last_promotion_date = last_promotion_date;
199
- this.gender = gender;
200
- this.qualification = qualification;
201
- this.marital_status = marital_status;
202
- this.nationality = nationality;
203
- this.email = email;
204
- this.blood_type = blood_type;
205
- this.national_id = national_id;
206
- this.manpower_id = manpower_id;
207
- this.mobile = mobile;
208
- this.office_number = office_number;
209
- this.department = department;
210
- this.category = category || "CAA";
211
- this.directorate = directorate;
212
- this.section = section;
213
- this.position = position;
214
- this.arabic_position = arabic_position;
215
- this.grade = grade;
216
- this.location = location;
217
- this.supervisor_emp_id = supervisor_emp_id;
218
- this.supervisor_emp_name = supervisor_emp_name;
219
- this.passport_number = passport_number;
220
- this.personal_email = personal_email;
221
- this.extension_number = extension_number;
222
- this.fax_number = fax_number;
223
- this.diplomatic_name = diplomatic_name;
224
- this.avatar = avatar;
225
- this.father_name = father_name;
226
- this.spouse_name = spouse_name;
227
- this.children1_name = children1_name;
228
- this.children2_name = children2_name;
229
- this.address = address;
230
- this.religion = religion;
231
- this.current_basic_salary = current_basic_salary || 0;
232
- this.previous_basic_salary = previous_basic_salary || 0;
233
- }
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ @Entity({ name: 'users' })
5
+ export class User extends BaseModel {
6
+
7
+ @Column({ type: 'bigint', nullable: true })
8
+ employee_id?: number;
9
+
10
+ @Column({ type: 'bigint', nullable: true })
11
+ civil_employee_id?: number;
12
+
13
+ @Column({ nullable: true })
14
+ employee_name?: string;
15
+
16
+ @Column({ nullable: true })
17
+ employee_arabic_name?: string;
18
+
19
+ @Column({ nullable: true })
20
+ person_type?: string;
21
+
22
+ @Column({ nullable: true })
23
+ date_of_birth?: string;
24
+
25
+ @Column({ nullable: true })
26
+ region_of_birth?: string;
27
+
28
+ @Column({ nullable: true })
29
+ country_of_birth?: string;
30
+
31
+ @Column({ nullable: true })
32
+ date_of_joining?: string;
33
+
34
+ @Column({ nullable: true })
35
+ last_promotion_date?: string;
36
+
37
+ @Column({ nullable: true })
38
+ gender?: string;
39
+
40
+ @Column({ nullable: true })
41
+ qualification?: string;
42
+
43
+ @Column({ nullable: true })
44
+ marital_status?: string;
45
+
46
+ @Column({ nullable: true })
47
+ nationality?: string;
48
+
49
+ @Column({ nullable: true })
50
+ email?: string;
51
+
52
+ @Column({ nullable: true })
53
+ blood_type?: string;
54
+
55
+ @Column({ type: 'varchar', length: 100, nullable: true })
56
+ national_id?: string;
57
+
58
+ @Column({ type: 'varchar', length: 100, nullable: true })
59
+ manpower_id?: string;
60
+
61
+ @Column({ nullable: true })
62
+ mobile?: string;
63
+
64
+ @Column({ nullable: true })
65
+ office_number?: string;
66
+
67
+ @Column({ nullable: true })
68
+ department?: number;
69
+
70
+ @Column({ type: "enum", enum: ["CAA", "Embassy"], nullable: false, default: "CAA" })
71
+ category: "CAA" | "Embassy"; // Mandatory
72
+
73
+ @Column({ nullable: true })
74
+ directorate?: string;
75
+
76
+ @Column({ nullable: true })
77
+ section?: number;
78
+
79
+ @Column({ nullable: true })
80
+ position?: number;
81
+
82
+ @Column({ nullable: true })
83
+ arabic_position?: string;
84
+
85
+ @Column({ nullable: true })
86
+ grade?: number;
87
+
88
+ @Column({ nullable: true })
89
+ location?: string;
90
+
91
+ @Column({ type: 'bigint', nullable: true })
92
+ supervisor_emp_id?: number;
93
+
94
+ @Column({ nullable: true })
95
+ supervisor_emp_name?: string;
96
+
97
+ @Column({ nullable: true , default: false})
98
+ is_admin?: boolean;
99
+
100
+ @Column({ nullable: true })
101
+ passport_number?: string;
102
+
103
+ @Column({ nullable: true })
104
+ personal_email?: string;
105
+
106
+ @Column({ nullable: true })
107
+ extension_number?: number;
108
+
109
+ @Column({ type: "varchar", length: 20, nullable: true })
110
+ fax_number?: string; // Optional
111
+
112
+ @Column({ nullable: true })
113
+ diplomatic_name?: string;
114
+
115
+ @Column({ nullable: true })
116
+ avatar?: string;
117
+
118
+ @Column({ nullable: true })
119
+ father_name?: string;
120
+
121
+ @Column({ nullable: true })
122
+ spouse_name?: string;
123
+
124
+ @Column({ nullable: true })
125
+ children1_name?: string;
126
+
127
+ @Column({ nullable: true })
128
+ children2_name?: string;
129
+
130
+ @Column({ nullable: true })
131
+ address?: string;
132
+
133
+ @Column({ nullable: true })
134
+ religion?: string;
135
+
136
+ @Column({ type: "decimal", precision: 10, scale: 3, nullable: true })
137
+ current_basic_salary: number;
138
+
139
+ @Column({ type: "decimal", precision: 10, scale: 3, nullable: true })
140
+ previous_basic_salary: number;
141
+
142
+ constructor(
143
+ employee_id?: number,
144
+ civil_employee_id?: number,
145
+ employee_name?: string,
146
+ employee_arabic_name?: string,
147
+ person_type?: string,
148
+ date_of_birth?: string,
149
+ region_of_birth?: string,
150
+ country_of_birth?: string,
151
+ date_of_joining?: string,
152
+ last_promotion_date?: string,
153
+ gender?: string,
154
+ qualification?: string,
155
+ marital_status?: string,
156
+ nationality?: string,
157
+ email?: string,
158
+ blood_type?: string,
159
+ national_id?: string,
160
+ manpower_id?: string,
161
+ mobile?: string,
162
+ office_number?: string,
163
+ department?: number,
164
+ category?: "CAA" | "Embassy",
165
+ directorate?: string,
166
+ section?: number,
167
+ position?: number,
168
+ arabic_position?: string,
169
+ grade?: number,
170
+ location?: string,
171
+ supervisor_emp_id?: number,
172
+ supervisor_emp_name?: string,
173
+ passport_number?: string,
174
+ personal_email?: string,
175
+ extension_number?: number,
176
+ fax_number?: string,
177
+ diplomatic_name?: string,
178
+ avatar?: string,
179
+ father_name?: string,
180
+ spouse_name?: string,
181
+ children1_name?: string,
182
+ children2_name?: string,
183
+ address?: string,
184
+ religion?: string,
185
+ current_basic_salary?: number,
186
+ previous_basic_salary?: number
187
+ ) {
188
+ super();
189
+ this.employee_id = employee_id;
190
+ this.civil_employee_id = civil_employee_id;
191
+ this.employee_name = employee_name;
192
+ this.employee_arabic_name = employee_arabic_name;
193
+ this.person_type = person_type;
194
+ this.date_of_birth = date_of_birth;
195
+ this.region_of_birth = region_of_birth;
196
+ this.country_of_birth = country_of_birth;
197
+ this.date_of_joining = date_of_joining;
198
+ this.last_promotion_date = last_promotion_date;
199
+ this.gender = gender;
200
+ this.qualification = qualification;
201
+ this.marital_status = marital_status;
202
+ this.nationality = nationality;
203
+ this.email = email;
204
+ this.blood_type = blood_type;
205
+ this.national_id = national_id;
206
+ this.manpower_id = manpower_id;
207
+ this.mobile = mobile;
208
+ this.office_number = office_number;
209
+ this.department = department;
210
+ this.category = category || "CAA";
211
+ this.directorate = directorate;
212
+ this.section = section;
213
+ this.position = position;
214
+ this.arabic_position = arabic_position;
215
+ this.grade = grade;
216
+ this.location = location;
217
+ this.supervisor_emp_id = supervisor_emp_id;
218
+ this.supervisor_emp_name = supervisor_emp_name;
219
+ this.passport_number = passport_number;
220
+ this.personal_email = personal_email;
221
+ this.extension_number = extension_number;
222
+ this.fax_number = fax_number;
223
+ this.diplomatic_name = diplomatic_name;
224
+ this.avatar = avatar;
225
+ this.father_name = father_name;
226
+ this.spouse_name = spouse_name;
227
+ this.children1_name = children1_name;
228
+ this.children2_name = children2_name;
229
+ this.address = address;
230
+ this.religion = religion;
231
+ this.current_basic_salary = current_basic_salary || 0;
232
+ this.previous_basic_salary = previous_basic_salary || 0;
233
+ }
234
234
  }