@platform-modules/civil-aviation-authority 2.3.264 → 2.3.266

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 (80) hide show
  1. package/.env +0 -15
  2. package/dist/models/AnnualIncrementRequestEmployeeModel.d.ts +2 -1
  3. package/dist/models/AnnualIncrementRequestEmployeeModel.js +7 -2
  4. package/dist/models/AnnualIncrementRequestModel.d.ts +2 -1
  5. package/dist/models/AnnualIncrementRequestModel.js +7 -2
  6. package/dist/models/SlaApprovalsViewModel.js +47 -47
  7. package/dist/models/SlaMyRequestsViewModel.js +50 -50
  8. package/package.json +3 -2
  9. package/scripts/sync-sla-reports-sql.js +98 -0
  10. package/sql/README.md +21 -0
  11. package/sql/sla-reports-sync.manifest.json +7 -0
  12. package/sql/sla_reports_admin_procedures.sql +283 -0
  13. package/sql/sla_reports_approvals_workbook.sql +383 -0
  14. package/sql/sla_reports_procedures.sql +874 -0
  15. package/sql/vw_sla_approvals.sql +108 -108
  16. package/sql/vw_sla_my_requests.sql +53 -54
  17. package/src/data-source.ts +517 -517
  18. package/src/index.ts +495 -495
  19. package/src/models/AccessCardRequestModel.ts +135 -135
  20. package/src/models/AirportEntryPermitModel.ts +276 -276
  21. package/src/models/AnnualIncrementRequestEmployeeModel.ts +6 -1
  22. package/src/models/AnnualIncrementRequestModel.ts +6 -1
  23. package/src/models/AnnualTrainingPlanRequestModel.ts +153 -153
  24. package/src/models/DepartmentsModel.ts +25 -25
  25. package/src/models/DocumentDriveModel.ts +28 -28
  26. package/src/models/DocumentFolderModel.ts +45 -45
  27. package/src/models/HotelApprovalModel.ts +83 -83
  28. package/src/models/HousingContractCancelApprovalModel.ts +64 -64
  29. package/src/models/HousingContractCancelChatModel.ts +56 -56
  30. package/src/models/HousingContractRenewalApprovalModel.ts +64 -64
  31. package/src/models/HousingContractRenewalChatModel.ts +59 -59
  32. package/src/models/ITRequestAttachmentModel.ts +73 -73
  33. package/src/models/ITRequestChatModel.ts +74 -74
  34. package/src/models/ItApprovalsModel.ts +84 -84
  35. package/src/models/ItWorkflowModel.ts +55 -55
  36. package/src/models/LegalConsultationApprovalModel.ts +65 -65
  37. package/src/models/MissionTravelPassportExpiryNotificationConfigModel.ts +36 -36
  38. package/src/models/NotificationModel.ts +89 -89
  39. package/src/models/ResidentialUnitRentalApprovalModel.ts +143 -143
  40. package/src/models/ResidentialUnitRentalChatModel.ts +56 -56
  41. package/src/models/ResidentialUnitRentalRequestModel.ts +218 -218
  42. package/src/models/ServiceExtensionAfter60ApprovalModel.ts +87 -87
  43. package/src/models/ServiceSlaApprovalModel.ts +64 -64
  44. package/src/models/ServicesNotificationConfigModel.ts +55 -55
  45. package/src/models/SlaApprovalsViewModel.ts +135 -135
  46. package/src/models/SlaMyRequestsViewModel.ts +170 -170
  47. package/src/models/SlaRequestModel.ts +65 -65
  48. package/src/models/StudyLeaveRequestModel.ts +144 -144
  49. package/src/models/TrainingRequestModel.ts +164 -164
  50. package/src/models/TrainingRoomBookingRequestModel.ts +142 -142
  51. package/src/models/TrainingRoomNotificationConfigModel.ts +30 -30
  52. package/src/models/role.ts +34 -34
  53. package/src/models/user.ts +233 -233
  54. package/src/sla/sla-table-sync.service.ts +90 -90
  55. package/dist/models/DocumentMetadataModel.d.ts +0 -45
  56. package/dist/models/DocumentMetadataModel.js +0 -171
  57. package/dist/models/DocumentationDepartmentsModel.d.ts +0 -13
  58. package/dist/models/DocumentationDepartmentsModel.js +0 -53
  59. package/dist/models/FolderModel.d.ts +0 -16
  60. package/dist/models/FolderModel.js +0 -85
  61. package/dist/models/ImportExportMaterialModels.d.ts +0 -92
  62. package/dist/models/ImportExportMaterialModels.js +0 -307
  63. package/dist/models/PermissionModel.d.ts +0 -18
  64. package/dist/models/PermissionModel.js +0 -68
  65. package/dist/models/SecurityAccessApprovalModel.d.ts +0 -23
  66. package/dist/models/SecurityAccessApprovalModel.js +0 -82
  67. package/dist/models/SecurityAccessAttachmentModel.d.ts +0 -12
  68. package/dist/models/SecurityAccessAttachmentModel.js +0 -56
  69. package/dist/models/SecurityAccessChatModel.d.ts +0 -12
  70. package/dist/models/SecurityAccessChatModel.js +0 -56
  71. package/dist/models/SecurityAccessRequestModel.d.ts +0 -25
  72. package/dist/models/SecurityAccessRequestModel.js +0 -80
  73. package/dist/models/SecurityAccessWorkflowModel.d.ts +0 -24
  74. package/dist/models/SecurityAccessWorkflowModel.js +0 -84
  75. package/dist/models/ServiceExtensionAfterAge60Models.d.ts +0 -93
  76. package/dist/models/ServiceExtensionAfterAge60Models.js +0 -312
  77. package/dist/models/UUIDBaseModel.d.ts +0 -14
  78. package/dist/models/UUIDBaseModel.js +0 -66
  79. package/dist/models/WorkingHoursExtensionModels.d.ts +0 -88
  80. package/dist/models/WorkingHoursExtensionModels.js +0 -295
@@ -1,276 +1,276 @@
1
- import { Entity, Column } from 'typeorm';
2
- import { BaseModel } from './BaseModel';
3
-
4
- export enum AirportEntryPermitCategory {
5
- ISSUING_NEW_PERMIT = "Issuing New Permit",
6
- RENEWAL_OF_PERMIT = "Renewal of Permit",
7
- AMENDING = "Amending",
8
- REPLACING_LOST = "Replacing lost",
9
- CANCELLING_AIRPORT_SECURITY_PERMITS = "Cancelling airport security permits"
10
- }
11
-
12
- export enum AirportEntryPermitType {
13
- PERMANENT = "Permanent",
14
- TEMPORARY = "Temporary"
15
- }
16
-
17
- export enum AirportEntryPermitLocation {
18
- MUSCAT = "Muscat",
19
- SALALAH = "Salalah",
20
- MARMUL = "Marmul",
21
- DURUM = "Durum",
22
- SOHAR = "Sohar",
23
- FUHUD = "Fuhud",
24
- MUKHAZINA = "Mukhazina"
25
- }
26
-
27
- export enum AirportEntryPermitArea {
28
- PURPLE = "VIP Building",
29
- HEAVENLY = "Cargo Building (Imports & Exports)",
30
- ORANGE = "Arrivals Hall / Arrivals Building",
31
- GREEN = "Departures Hall / Departures Building",
32
- YELLOW = "Information Center / Control Tower",
33
- BLUE = "Aircraft Parking Area, Aircraft Maintenance Building, Vehicle Repair Workshop, Fire Station, and Fueling Stations",
34
- PINK = "Baggage Sorting Area",
35
- GRAY = "Catering Building",
36
- BLACK = "Aircraft Maintenance Building",
37
- GOLD = "Gold Building",
38
- RED = "All Civil Airports"
39
- }
40
-
41
- export enum AirportEntryPermitStatus {
42
- PENDING = "Pending",
43
- APPROVED = "Approved",
44
- REJECTED = "Rejected",
45
- IN_PROGRESS = "In Progress"
46
- }
47
-
48
- export enum VisitorOption {
49
- VISA_TYPE = "Visa Type",
50
- VISA_NO = "Visa No",
51
- DATE_EXPIRY_VISA = "Date Expiry Visa"
52
- }
53
-
54
- export enum AdditionalServices {
55
- LAPTOP_TABLET = "Laptop / Tablet",
56
- BOARDING_THE_AIRCRAFT = "Boarding the Aircraft",
57
- EMPLOYEE_ASSISTING_PEOPLE_WITH_SPECIAL_NEEDS = "Employee Assisting People with Special Needs"
58
- }
59
-
60
- @Entity({ name: 'airport_entry_permits' })
61
- export class AirportEntryPermit extends BaseModel {
62
- // Workflow fields
63
- @Column({ type: 'int', nullable: true })
64
- req_user_department_id: number | null;
65
-
66
- @Column({ type: 'int', nullable: true })
67
- req_user_section_id: number | null;
68
-
69
- @Column({ type: 'int', nullable: true })
70
- service_id: number | null;
71
-
72
- @Column({ type: 'int', nullable: true })
73
- sub_service_id: number | null;
74
-
75
- @Column({ type: 'varchar', length: 20, nullable: true })
76
- service_type: string | null;
77
-
78
- @Column({ type: 'varchar', nullable: true })
79
- workflow_execution_id: string | null;
80
-
81
- @Column({
82
- type: "enum",
83
- enum: AirportEntryPermitStatus,
84
- default: AirportEntryPermitStatus.PENDING,
85
- nullable: false,
86
- })
87
- status: AirportEntryPermitStatus;
88
-
89
- @Column({ nullable: false })
90
- user_id: number;
91
-
92
- // Request ID - Auto generated
93
- @Column({ type: 'varchar', length: 50, nullable: true, unique: true })
94
- request_id: string | null;
95
-
96
- // User fields from requirements
97
- @Column({ type: 'varchar', length: 255, nullable: false })
98
- name_full_family_name: string;
99
-
100
- @Column({ type: 'varchar', length: 100, nullable: false })
101
- nationality: string;
102
-
103
- @Column({ type: 'date', nullable: false })
104
- dob: Date;
105
-
106
- @Column({ type: 'varchar', length: 255, nullable: false })
107
- place: string;
108
-
109
- @Column({ type: 'varchar', length: 50, nullable: false })
110
- passport_id_card_no: string;
111
-
112
- @Column({
113
- type: "enum",
114
- enum: AirportEntryPermitCategory,
115
- nullable: false,
116
- })
117
- category_of_permit: AirportEntryPermitCategory;
118
-
119
- @Column({ type: 'date', nullable: false })
120
- date_of_submission: Date;
121
-
122
- @Column({ type: 'varchar', length: 20, nullable: false })
123
- phone_number: string;
124
-
125
- @Column({
126
- type: "enum",
127
- enum: AirportEntryPermitLocation,
128
- nullable: false,
129
- })
130
- location: AirportEntryPermitLocation;
131
-
132
- @Column({
133
- type: "enum",
134
- enum: AirportEntryPermitType,
135
- nullable: false,
136
- })
137
- type_of_permit: AirportEntryPermitType;
138
-
139
- @Column({ type: 'date', nullable: true })
140
- temporary_start_time: Date | null;
141
-
142
- @Column({ type: 'varchar', length: 100, nullable: true })
143
- temporary_duration: string | null;
144
-
145
- @Column({ type: 'jsonb', nullable: true })
146
- permission_to_required_areas: Array<{ permit: string; text: string }>;
147
-
148
- @Column({ type: 'text', nullable: true })
149
- attachment_url: string | null;
150
-
151
- @Column({ type: 'text', nullable: false })
152
- details: string;
153
-
154
- @Column({ type: 'varchar', length: 255, nullable: false })
155
- occupation_staff: string;
156
-
157
- // Visitor fields (optional)
158
- @Column({ type: 'text', array: true, nullable: true })
159
- for_visitor: VisitorOption[] | null;
160
-
161
- // Additional Services (optional)
162
- @Column({ type: 'text', array: true, nullable: true })
163
- additional_services: AdditionalServices[] | null;
164
-
165
- // Acknowledgement fields (from form checkboxes)
166
- @Column({ type: 'boolean', default: false })
167
- acknowledge_security_policies: boolean;
168
-
169
- @Column({ type: 'boolean', default: false })
170
- acknowledge_disciplinary_action: boolean;
171
-
172
- // Consent fields (for approvers - not in create form)
173
- @Column({ type: 'boolean', default: false })
174
- consent_approve_to_issue_permit: boolean;
175
-
176
- @Column({ type: 'boolean', default: false })
177
- consent_do_not_approve_to_issue_permit: boolean;
178
-
179
- @Column({ type: 'text', nullable: true })
180
- consent_justification: string | null;
181
-
182
- @Column({ type: 'varchar', length: 100, nullable: false })
183
- requested_by: string;
184
-
185
- @Column({ type: 'date', nullable: true })
186
- expiration_date: Date | null;
187
-
188
- @Column({ type: 'timestamptz', nullable: true })
189
- end_date: Date | null;
190
-
191
- @Column({ type: 'varchar', length: 255, nullable: true })
192
- device_serial_number: string | null;
193
-
194
- @Column({ type: 'varchar', length: 500, nullable: true })
195
- new_permit_issuance_file: string | null;
196
-
197
- @Column({ type: 'varchar', length: 500, nullable: true })
198
- forms_attachment_file: string | null;
199
-
200
- @Column({ type: 'varchar', length: 500, nullable: true })
201
- permit_renewal_file: string | null;
202
-
203
- constructor(
204
- name_full_family_name: string,
205
- nationality: string,
206
- dob: Date,
207
- place: string,
208
- passport_id_card_no: string,
209
- category_of_permit: AirportEntryPermitCategory,
210
- date_of_submission: Date,
211
- phone_number: string,
212
- location: AirportEntryPermitLocation,
213
- type_of_permit: AirportEntryPermitType,
214
- permission_to_required_areas: Array<{ permit: string; text: string }>,
215
- details: string,
216
- occupation_staff: string,
217
- requested_by: string,
218
- user_id: number,
219
- status: AirportEntryPermitStatus = AirportEntryPermitStatus.PENDING,
220
- service_id?: number | null,
221
- sub_service_id?: number | null,
222
- service_type?: string | null,
223
- workflow_execution_id?: string | null,
224
- req_user_department_id?: number | null,
225
- req_user_section_id?: number | null,
226
- attachment_url?: string | null,
227
- temporary_start_time?: Date | null,
228
- temporary_duration?: string | null,
229
- for_visitor?: VisitorOption[] | null,
230
- additional_services?: AdditionalServices[] | null,
231
- acknowledge_security_policies: boolean = false,
232
- acknowledge_disciplinary_action: boolean = false,
233
- consent_approve_to_issue_permit: boolean = false,
234
- consent_do_not_approve_to_issue_permit: boolean = false,
235
- consent_justification?: string | null,
236
- request_id?: string | null,
237
- expiration_date?: Date | null
238
- ) {
239
- super();
240
- this.name_full_family_name = name_full_family_name;
241
- this.nationality = nationality;
242
- this.dob = dob;
243
- this.place = place;
244
- this.passport_id_card_no = passport_id_card_no;
245
- this.category_of_permit = category_of_permit;
246
- this.date_of_submission = date_of_submission;
247
- this.phone_number = phone_number;
248
- this.location = location;
249
- this.type_of_permit = type_of_permit;
250
- this.permission_to_required_areas = permission_to_required_areas;
251
- this.details = details;
252
- this.occupation_staff = occupation_staff;
253
- this.requested_by = requested_by;
254
- this.user_id = user_id;
255
- this.status = status;
256
- this.service_id = service_id ?? null;
257
- this.sub_service_id = sub_service_id ?? null;
258
- this.service_type = service_type ?? null;
259
- this.workflow_execution_id = workflow_execution_id ?? null;
260
- this.req_user_department_id = req_user_department_id ?? null;
261
- this.req_user_section_id = req_user_section_id ?? null;
262
- this.attachment_url = attachment_url ?? null;
263
- this.temporary_start_time = temporary_start_time ?? null;
264
- this.temporary_duration = temporary_duration ?? null;
265
- this.for_visitor = for_visitor ?? null;
266
- this.additional_services = additional_services ?? null;
267
- this.acknowledge_security_policies = acknowledge_security_policies;
268
- this.acknowledge_disciplinary_action = acknowledge_disciplinary_action;
269
- this.consent_approve_to_issue_permit = consent_approve_to_issue_permit;
270
- this.consent_do_not_approve_to_issue_permit = consent_do_not_approve_to_issue_permit;
271
- this.consent_justification = consent_justification ?? null;
272
- this.request_id = request_id ?? null;
273
- this.expiration_date = expiration_date ?? null;
274
- }
275
- }
276
-
1
+ import { Entity, Column } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum AirportEntryPermitCategory {
5
+ ISSUING_NEW_PERMIT = "Issuing New Permit",
6
+ RENEWAL_OF_PERMIT = "Renewal of Permit",
7
+ AMENDING = "Amending",
8
+ REPLACING_LOST = "Replacing lost",
9
+ CANCELLING_AIRPORT_SECURITY_PERMITS = "Cancelling airport security permits"
10
+ }
11
+
12
+ export enum AirportEntryPermitType {
13
+ PERMANENT = "Permanent",
14
+ TEMPORARY = "Temporary"
15
+ }
16
+
17
+ export enum AirportEntryPermitLocation {
18
+ MUSCAT = "Muscat",
19
+ SALALAH = "Salalah",
20
+ MARMUL = "Marmul",
21
+ DURUM = "Durum",
22
+ SOHAR = "Sohar",
23
+ FUHUD = "Fuhud",
24
+ MUKHAZINA = "Mukhazina"
25
+ }
26
+
27
+ export enum AirportEntryPermitArea {
28
+ PURPLE = "VIP Building",
29
+ HEAVENLY = "Cargo Building (Imports & Exports)",
30
+ ORANGE = "Arrivals Hall / Arrivals Building",
31
+ GREEN = "Departures Hall / Departures Building",
32
+ YELLOW = "Information Center / Control Tower",
33
+ BLUE = "Aircraft Parking Area, Aircraft Maintenance Building, Vehicle Repair Workshop, Fire Station, and Fueling Stations",
34
+ PINK = "Baggage Sorting Area",
35
+ GRAY = "Catering Building",
36
+ BLACK = "Aircraft Maintenance Building",
37
+ GOLD = "Gold Building",
38
+ RED = "All Civil Airports"
39
+ }
40
+
41
+ export enum AirportEntryPermitStatus {
42
+ PENDING = "Pending",
43
+ APPROVED = "Approved",
44
+ REJECTED = "Rejected",
45
+ IN_PROGRESS = "In Progress"
46
+ }
47
+
48
+ export enum VisitorOption {
49
+ VISA_TYPE = "Visa Type",
50
+ VISA_NO = "Visa No",
51
+ DATE_EXPIRY_VISA = "Date Expiry Visa"
52
+ }
53
+
54
+ export enum AdditionalServices {
55
+ LAPTOP_TABLET = "Laptop / Tablet",
56
+ BOARDING_THE_AIRCRAFT = "Boarding the Aircraft",
57
+ EMPLOYEE_ASSISTING_PEOPLE_WITH_SPECIAL_NEEDS = "Employee Assisting People with Special Needs"
58
+ }
59
+
60
+ @Entity({ name: 'airport_entry_permits' })
61
+ export class AirportEntryPermit extends BaseModel {
62
+ // Workflow fields
63
+ @Column({ type: 'int', nullable: true })
64
+ req_user_department_id: number | null;
65
+
66
+ @Column({ type: 'int', nullable: true })
67
+ req_user_section_id: number | null;
68
+
69
+ @Column({ type: 'int', nullable: true })
70
+ service_id: number | null;
71
+
72
+ @Column({ type: 'int', nullable: true })
73
+ sub_service_id: number | null;
74
+
75
+ @Column({ type: 'varchar', length: 20, nullable: true })
76
+ service_type: string | null;
77
+
78
+ @Column({ type: 'varchar', nullable: true })
79
+ workflow_execution_id: string | null;
80
+
81
+ @Column({
82
+ type: "enum",
83
+ enum: AirportEntryPermitStatus,
84
+ default: AirportEntryPermitStatus.PENDING,
85
+ nullable: false,
86
+ })
87
+ status: AirportEntryPermitStatus;
88
+
89
+ @Column({ nullable: false })
90
+ user_id: number;
91
+
92
+ // Request ID - Auto generated
93
+ @Column({ type: 'varchar', length: 50, nullable: true, unique: true })
94
+ request_id: string | null;
95
+
96
+ // User fields from requirements
97
+ @Column({ type: 'varchar', length: 255, nullable: false })
98
+ name_full_family_name: string;
99
+
100
+ @Column({ type: 'varchar', length: 100, nullable: false })
101
+ nationality: string;
102
+
103
+ @Column({ type: 'date', nullable: false })
104
+ dob: Date;
105
+
106
+ @Column({ type: 'varchar', length: 255, nullable: false })
107
+ place: string;
108
+
109
+ @Column({ type: 'varchar', length: 50, nullable: false })
110
+ passport_id_card_no: string;
111
+
112
+ @Column({
113
+ type: "enum",
114
+ enum: AirportEntryPermitCategory,
115
+ nullable: false,
116
+ })
117
+ category_of_permit: AirportEntryPermitCategory;
118
+
119
+ @Column({ type: 'date', nullable: false })
120
+ date_of_submission: Date;
121
+
122
+ @Column({ type: 'varchar', length: 20, nullable: false })
123
+ phone_number: string;
124
+
125
+ @Column({
126
+ type: "enum",
127
+ enum: AirportEntryPermitLocation,
128
+ nullable: false,
129
+ })
130
+ location: AirportEntryPermitLocation;
131
+
132
+ @Column({
133
+ type: "enum",
134
+ enum: AirportEntryPermitType,
135
+ nullable: false,
136
+ })
137
+ type_of_permit: AirportEntryPermitType;
138
+
139
+ @Column({ type: 'date', nullable: true })
140
+ temporary_start_time: Date | null;
141
+
142
+ @Column({ type: 'varchar', length: 100, nullable: true })
143
+ temporary_duration: string | null;
144
+
145
+ @Column({ type: 'jsonb', nullable: true })
146
+ permission_to_required_areas: Array<{ permit: string; text: string }>;
147
+
148
+ @Column({ type: 'text', nullable: true })
149
+ attachment_url: string | null;
150
+
151
+ @Column({ type: 'text', nullable: false })
152
+ details: string;
153
+
154
+ @Column({ type: 'varchar', length: 255, nullable: false })
155
+ occupation_staff: string;
156
+
157
+ // Visitor fields (optional)
158
+ @Column({ type: 'text', array: true, nullable: true })
159
+ for_visitor: VisitorOption[] | null;
160
+
161
+ // Additional Services (optional)
162
+ @Column({ type: 'text', array: true, nullable: true })
163
+ additional_services: AdditionalServices[] | null;
164
+
165
+ // Acknowledgement fields (from form checkboxes)
166
+ @Column({ type: 'boolean', default: false })
167
+ acknowledge_security_policies: boolean;
168
+
169
+ @Column({ type: 'boolean', default: false })
170
+ acknowledge_disciplinary_action: boolean;
171
+
172
+ // Consent fields (for approvers - not in create form)
173
+ @Column({ type: 'boolean', default: false })
174
+ consent_approve_to_issue_permit: boolean;
175
+
176
+ @Column({ type: 'boolean', default: false })
177
+ consent_do_not_approve_to_issue_permit: boolean;
178
+
179
+ @Column({ type: 'text', nullable: true })
180
+ consent_justification: string | null;
181
+
182
+ @Column({ type: 'varchar', length: 100, nullable: false })
183
+ requested_by: string;
184
+
185
+ @Column({ type: 'date', nullable: true })
186
+ expiration_date: Date | null;
187
+
188
+ @Column({ type: 'timestamptz', nullable: true })
189
+ end_date: Date | null;
190
+
191
+ @Column({ type: 'varchar', length: 255, nullable: true })
192
+ device_serial_number: string | null;
193
+
194
+ @Column({ type: 'varchar', length: 500, nullable: true })
195
+ new_permit_issuance_file: string | null;
196
+
197
+ @Column({ type: 'varchar', length: 500, nullable: true })
198
+ forms_attachment_file: string | null;
199
+
200
+ @Column({ type: 'varchar', length: 500, nullable: true })
201
+ permit_renewal_file: string | null;
202
+
203
+ constructor(
204
+ name_full_family_name: string,
205
+ nationality: string,
206
+ dob: Date,
207
+ place: string,
208
+ passport_id_card_no: string,
209
+ category_of_permit: AirportEntryPermitCategory,
210
+ date_of_submission: Date,
211
+ phone_number: string,
212
+ location: AirportEntryPermitLocation,
213
+ type_of_permit: AirportEntryPermitType,
214
+ permission_to_required_areas: Array<{ permit: string; text: string }>,
215
+ details: string,
216
+ occupation_staff: string,
217
+ requested_by: string,
218
+ user_id: number,
219
+ status: AirportEntryPermitStatus = AirportEntryPermitStatus.PENDING,
220
+ service_id?: number | null,
221
+ sub_service_id?: number | null,
222
+ service_type?: string | null,
223
+ workflow_execution_id?: string | null,
224
+ req_user_department_id?: number | null,
225
+ req_user_section_id?: number | null,
226
+ attachment_url?: string | null,
227
+ temporary_start_time?: Date | null,
228
+ temporary_duration?: string | null,
229
+ for_visitor?: VisitorOption[] | null,
230
+ additional_services?: AdditionalServices[] | null,
231
+ acknowledge_security_policies: boolean = false,
232
+ acknowledge_disciplinary_action: boolean = false,
233
+ consent_approve_to_issue_permit: boolean = false,
234
+ consent_do_not_approve_to_issue_permit: boolean = false,
235
+ consent_justification?: string | null,
236
+ request_id?: string | null,
237
+ expiration_date?: Date | null
238
+ ) {
239
+ super();
240
+ this.name_full_family_name = name_full_family_name;
241
+ this.nationality = nationality;
242
+ this.dob = dob;
243
+ this.place = place;
244
+ this.passport_id_card_no = passport_id_card_no;
245
+ this.category_of_permit = category_of_permit;
246
+ this.date_of_submission = date_of_submission;
247
+ this.phone_number = phone_number;
248
+ this.location = location;
249
+ this.type_of_permit = type_of_permit;
250
+ this.permission_to_required_areas = permission_to_required_areas;
251
+ this.details = details;
252
+ this.occupation_staff = occupation_staff;
253
+ this.requested_by = requested_by;
254
+ this.user_id = user_id;
255
+ this.status = status;
256
+ this.service_id = service_id ?? null;
257
+ this.sub_service_id = sub_service_id ?? null;
258
+ this.service_type = service_type ?? null;
259
+ this.workflow_execution_id = workflow_execution_id ?? null;
260
+ this.req_user_department_id = req_user_department_id ?? null;
261
+ this.req_user_section_id = req_user_section_id ?? null;
262
+ this.attachment_url = attachment_url ?? null;
263
+ this.temporary_start_time = temporary_start_time ?? null;
264
+ this.temporary_duration = temporary_duration ?? null;
265
+ this.for_visitor = for_visitor ?? null;
266
+ this.additional_services = additional_services ?? null;
267
+ this.acknowledge_security_policies = acknowledge_security_policies;
268
+ this.acknowledge_disciplinary_action = acknowledge_disciplinary_action;
269
+ this.consent_approve_to_issue_permit = consent_approve_to_issue_permit;
270
+ this.consent_do_not_approve_to_issue_permit = consent_do_not_approve_to_issue_permit;
271
+ this.consent_justification = consent_justification ?? null;
272
+ this.request_id = request_id ?? null;
273
+ this.expiration_date = expiration_date ?? null;
274
+ }
275
+ }
276
+
@@ -34,6 +34,9 @@ export class AnnualIncrementRequestEmployee extends BaseModel {
34
34
  @Column({ type: "decimal", precision: 10, scale: 3, nullable: true })
35
35
  new_basic_salary: number | null;
36
36
 
37
+ @Column({ type: "decimal", precision: 10, scale: 3, nullable: true })
38
+ annual_periodic_allowance: number | null;
39
+
37
40
  @ManyToOne(() => AnnualIncrementRequest, { onDelete: "CASCADE" })
38
41
  @JoinColumn({ name: "request_id", referencedColumnName: "id" })
39
42
  request: AnnualIncrementRequest;
@@ -48,7 +51,8 @@ export class AnnualIncrementRequestEmployee extends BaseModel {
48
51
  sub_service_id?: number | null,
49
52
  current_basic_salary?: number | null,
50
53
  increment_percentage?: number | null,
51
- new_basic_salary?: number | null
54
+ new_basic_salary?: number | null,
55
+ annual_periodic_allowance?: number | null
52
56
  ) {
53
57
  super();
54
58
  this.request_id = request_id;
@@ -61,5 +65,6 @@ export class AnnualIncrementRequestEmployee extends BaseModel {
61
65
  this.current_basic_salary = current_basic_salary ?? null;
62
66
  this.increment_percentage = increment_percentage ?? null;
63
67
  this.new_basic_salary = new_basic_salary ?? null;
68
+ this.annual_periodic_allowance = annual_periodic_allowance ?? null;
64
69
  }
65
70
  }
@@ -73,6 +73,9 @@ export class AnnualIncrementRequest extends BaseModel {
73
73
  @Column({ type: "decimal", precision: 10, scale: 3, nullable: true })
74
74
  new_basic_salary: number | null;
75
75
 
76
+ @Column({ type: "decimal", precision: 10, scale: 3, nullable: true })
77
+ annual_periodic_allowance: number | null;
78
+
76
79
  constructor(
77
80
  user_id: number,
78
81
  status: AnnualIncrementRequestStatus = AnnualIncrementRequestStatus.PENDING,
@@ -92,7 +95,8 @@ export class AnnualIncrementRequest extends BaseModel {
92
95
  effective_date?: Date,
93
96
  current_basic_salary?: number | null,
94
97
  increment_percentage?: number | null,
95
- new_basic_salary?: number | null
98
+ new_basic_salary?: number | null,
99
+ annual_periodic_allowance?: number | null
96
100
  ) {
97
101
  super();
98
102
  this.user_id = user_id;
@@ -115,5 +119,6 @@ export class AnnualIncrementRequest extends BaseModel {
115
119
  this.current_basic_salary = current_basic_salary || null;
116
120
  this.increment_percentage = increment_percentage || null;
117
121
  this.new_basic_salary = new_basic_salary || null;
122
+ this.annual_periodic_allowance = annual_periodic_allowance || null;
118
123
  }
119
124
  }