@platform-modules/civil-aviation-authority 2.3.41 → 2.3.43

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 (42) hide show
  1. package/dist/index.d.ts +9 -0
  2. package/dist/index.js +19 -1
  3. package/dist/models/CountryMasterModel.d.ts +11 -0
  4. package/dist/models/CountryMasterModel.js +55 -0
  5. package/dist/models/ITApprovalSettings.d.ts +7 -0
  6. package/dist/models/ITApprovalSettings.js +40 -0
  7. package/dist/models/ITServicesTypesMuscatModel.d.ts +6 -0
  8. package/dist/models/ITServicesTypesMuscatModel.js +34 -0
  9. package/dist/models/ITServicesTypesSalalahModel.d.ts +6 -0
  10. package/dist/models/ITServicesTypesSalalahModel.js +34 -0
  11. package/dist/models/JobTransferRequestModel.d.ts +31 -0
  12. package/dist/models/JobTransferRequestModel.js +128 -0
  13. package/dist/models/LocationModel.d.ts +12 -0
  14. package/dist/models/LocationModel.js +62 -0
  15. package/dist/models/LogisticsForeignVehicleModel.js +1 -0
  16. package/dist/models/LogisticsVehicleMaintenanceRequestModel.js +2 -0
  17. package/dist/models/NationalityMasterModel.d.ts +10 -0
  18. package/dist/models/NationalityMasterModel.js +51 -0
  19. package/dist/models/NewResourceRequestModel.d.ts +32 -0
  20. package/dist/models/NewResourceRequestModel.js +133 -0
  21. package/dist/models/ServiceTransferRequestModel.d.ts +3 -3
  22. package/dist/models/ServiceTransferRequestModel.js +7 -8
  23. package/dist/models/ShiftAllowanceRequestModel.d.ts +37 -0
  24. package/dist/models/ShiftAllowanceRequestModel.js +140 -0
  25. package/dist/models/Workflows.d.ts +9 -0
  26. package/dist/models/Workflows.js +31 -0
  27. package/package.json +1 -1
  28. package/src/index.ts +20 -0
  29. package/src/models/CountryMasterModel.ts +33 -0
  30. package/src/models/HrServiceRequestModel.ts +167 -167
  31. package/src/models/ITRequestChatModel.ts +62 -62
  32. package/src/models/ItApprovalsModel.ts +84 -84
  33. package/src/models/ItWorkflowModel.ts +55 -55
  34. package/src/models/JobTransferRequestModel.ts +115 -0
  35. package/src/models/LocationModel.ts +42 -0
  36. package/src/models/LogisticsForeignVehicleModel.ts +1 -0
  37. package/src/models/LogisticsVehicleMaintenanceRequestModel.ts +2 -0
  38. package/src/models/NationalityMasterModel.ts +30 -0
  39. package/src/models/NewResourceRequestModel.ts +120 -0
  40. package/src/models/RequestForCoverageRequestModel.ts +174 -174
  41. package/src/models/ServiceTransferRequestModel.ts +8 -8
  42. package/src/models/ShiftAllowanceRequestModel.ts +126 -0
@@ -1,56 +1,56 @@
1
- import { Column, Entity } from "typeorm";
2
- import { BaseModel } from './BaseModel';
3
-
4
- export enum workFlowStatus {
5
- COMPLETED = "Completed",
6
- NOT_YET_STARTED = "Not Yet Started",
7
- PENDING = "Pending"
8
- }
9
-
10
- //This model is used to store the store the leave apporval matrix(HOD, Manager, HR, Director) based on leave type along with the levels
11
- @Entity({ name: 'it_work_flows' })
12
- export class ItWorkFlow extends BaseModel {
13
- @Column({ type: 'int', nullable: false })
14
- request_id: number;
15
-
16
- @Column({ type: 'int', nullable: true })
17
- service_id: number | null;
18
-
19
- @Column({ type: 'int', nullable: true })
20
- sub_service_id: number | null;
21
-
22
- @Column({ type: 'int', nullable: true })
23
- order: number | null;
24
-
25
- @Column({ type: 'varchar', length: 255, nullable: false })
26
- content: string;
27
-
28
- @Column({ type: 'enum', enum: workFlowStatus, default: workFlowStatus.NOT_YET_STARTED, nullable: false })
29
- status: workFlowStatus;
30
-
31
- @Column({ type: 'integer', nullable: true })
32
- user_id: number | null;
33
-
34
- @Column({ type: 'integer', nullable: true })
35
- role_id: number | null;
36
-
37
- @Column({ type: 'integer', nullable: true })
38
- department_id: number | null;
39
-
40
- @Column({ type: 'integer', nullable: true })
41
- section_id: number | null;
42
-
43
- constructor(request_id: number, content: string, status: workFlowStatus, order?: number, service_id?: number | null, sub_service_id?: number | null, user_id?: number | null, role_id?: number | null, department_id?: number | null, section_id?: number | null) {
44
- super();
45
- this.request_id = request_id;
46
- this.content = content;
47
- this.status = status;
48
- this.order = order || null;
49
- this.service_id = service_id ?? null;
50
- this.sub_service_id = sub_service_id ?? null;
51
- this.user_id = user_id || null;
52
- this.role_id = role_id || null;
53
- this.department_id = department_id || null;
54
- this.section_id = section_id || null;
55
- }
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum workFlowStatus {
5
+ COMPLETED = "Completed",
6
+ NOT_YET_STARTED = "Not Yet Started",
7
+ PENDING = "Pending"
8
+ }
9
+
10
+ //This model is used to store the store the leave apporval matrix(HOD, Manager, HR, Director) based on leave type along with the levels
11
+ @Entity({ name: 'it_work_flows' })
12
+ export class ItWorkFlow extends BaseModel {
13
+ @Column({ type: 'int', nullable: false })
14
+ request_id: number;
15
+
16
+ @Column({ type: 'int', nullable: true })
17
+ service_id: number | null;
18
+
19
+ @Column({ type: 'int', nullable: true })
20
+ sub_service_id: number | null;
21
+
22
+ @Column({ type: 'int', nullable: true })
23
+ order: number | null;
24
+
25
+ @Column({ type: 'varchar', length: 255, nullable: false })
26
+ content: string;
27
+
28
+ @Column({ type: 'enum', enum: workFlowStatus, default: workFlowStatus.NOT_YET_STARTED, nullable: false })
29
+ status: workFlowStatus;
30
+
31
+ @Column({ type: 'integer', nullable: true })
32
+ user_id: number | null;
33
+
34
+ @Column({ type: 'integer', nullable: true })
35
+ role_id: number | null;
36
+
37
+ @Column({ type: 'integer', nullable: true })
38
+ department_id: number | null;
39
+
40
+ @Column({ type: 'integer', nullable: true })
41
+ section_id: number | null;
42
+
43
+ constructor(request_id: number, content: string, status: workFlowStatus, order?: number, service_id?: number | null, sub_service_id?: number | null, user_id?: number | null, role_id?: number | null, department_id?: number | null, section_id?: number | null) {
44
+ super();
45
+ this.request_id = request_id;
46
+ this.content = content;
47
+ this.status = status;
48
+ this.order = order || null;
49
+ this.service_id = service_id ?? null;
50
+ this.sub_service_id = sub_service_id ?? null;
51
+ this.user_id = user_id || null;
52
+ this.role_id = role_id || null;
53
+ this.department_id = department_id || null;
54
+ this.section_id = section_id || null;
55
+ }
56
56
  }
@@ -0,0 +1,115 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from "./BaseModel";
3
+
4
+ export enum JobTransferRequestStatus {
5
+ PENDING = "Pending",
6
+ ASSIGNED = "Assigned",
7
+ IN_PROGRESS = "In Progress",
8
+ COMPLETED = "Completed",
9
+ APPROVED = "Approved",
10
+ REJECTED = "Rejected"
11
+ }
12
+
13
+ @Entity({ name: "job_transfer_requests" })
14
+ export class JobTransferRequest extends BaseModel {
15
+ @Column({ type: "integer", nullable: true })
16
+ req_user_department_id: number | null;
17
+
18
+ @Column({ type: "integer", nullable: true })
19
+ req_user_section_id: number | null;
20
+
21
+ @Column({ type: "integer", nullable: true })
22
+ req_user_position_id: number | null;
23
+
24
+ @Column({ type: "integer", nullable: true })
25
+ service_id: number | null;
26
+
27
+ @Column({ type: "integer", nullable: true })
28
+ sub_service_id: number | null;
29
+
30
+ @Column({ type: "integer", nullable: false })
31
+ user_id: number;
32
+
33
+ @Column({ type: "text", nullable: true })
34
+ description: string | null;
35
+
36
+ @Column({ type: "enum", enum: JobTransferRequestStatus, default: JobTransferRequestStatus.PENDING, nullable: false })
37
+ status: JobTransferRequestStatus;
38
+
39
+ @Column({ type: "integer", nullable: true })
40
+ reviewer_user_id: number | null;
41
+
42
+ @Column({ type: "integer", nullable: true })
43
+ assigned_to_user_id: number | null;
44
+
45
+ @Column({ type: "timestamp", nullable: true })
46
+ assigned_at: Date | null;
47
+
48
+ @Column({ type: "varchar", length: 255, nullable: true })
49
+ workflow_execution_id: string | null;
50
+
51
+ // Job Transfer specific fields
52
+ @Column({ type: "text", nullable: false })
53
+ reason_for_request: string;
54
+
55
+ @Column({ type: "varchar", length: 255, nullable: false })
56
+ assigned_employee_name: string;
57
+
58
+ @Column({ type: "varchar", length: 50, nullable: true })
59
+ civil_id_card_number: string | null;
60
+
61
+ @Column({ type: "varchar", length: 100, nullable: false })
62
+ employee_id: string;
63
+
64
+ @Column({ type: "varchar", length: 255, nullable: false })
65
+ current_job_position: string;
66
+
67
+ @Column({ type: "varchar", length: 255, nullable: false })
68
+ position_to_be_transferred: string;
69
+
70
+ @Column({ type: "date", nullable: false })
71
+ effective_from_date: Date;
72
+
73
+ constructor(
74
+ user_id: number,
75
+ status: JobTransferRequestStatus = JobTransferRequestStatus.PENDING,
76
+ service_id?: number | null,
77
+ sub_service_id?: number | null,
78
+ req_user_department_id?: number | null,
79
+ req_user_section_id?: number | null,
80
+ req_user_position_id?: number | null,
81
+ description?: string | null,
82
+ reviewer_user_id?: number | null,
83
+ assigned_to_user_id?: number | null,
84
+ assigned_at?: Date | null,
85
+ workflow_execution_id?: string | null,
86
+ reason_for_request?: string,
87
+ assigned_employee_name?: string,
88
+ civil_id_card_number?: string | null,
89
+ employee_id?: string,
90
+ current_job_position?: string,
91
+ position_to_be_transferred?: string,
92
+ effective_from_date?: Date
93
+ ) {
94
+ super();
95
+ this.user_id = user_id;
96
+ this.status = status;
97
+ this.service_id = service_id || null;
98
+ this.sub_service_id = sub_service_id || null;
99
+ this.req_user_department_id = req_user_department_id || null;
100
+ this.req_user_section_id = req_user_section_id || null;
101
+ this.req_user_position_id = req_user_position_id || null;
102
+ this.description = description || null;
103
+ this.reviewer_user_id = reviewer_user_id || null;
104
+ this.assigned_to_user_id = assigned_to_user_id || null;
105
+ this.assigned_at = assigned_at || null;
106
+ this.workflow_execution_id = workflow_execution_id || null;
107
+ this.reason_for_request = reason_for_request || "";
108
+ this.assigned_employee_name = assigned_employee_name || "";
109
+ this.civil_id_card_number = civil_id_card_number || null;
110
+ this.employee_id = employee_id || "";
111
+ this.current_job_position = current_job_position || "";
112
+ this.position_to_be_transferred = position_to_be_transferred || "";
113
+ this.effective_from_date = effective_from_date || new Date();
114
+ }
115
+ }
@@ -0,0 +1,42 @@
1
+ import {
2
+ Entity,
3
+ PrimaryGeneratedColumn,
4
+ Column,
5
+ CreateDateColumn,
6
+ UpdateDateColumn
7
+ } from 'typeorm';
8
+
9
+ @Entity('locations')
10
+ export class Location {
11
+ @PrimaryGeneratedColumn()
12
+ id: number;
13
+
14
+ @Column({ type: 'varchar', length: 255, nullable: false })
15
+ name: string;
16
+
17
+ @Column({ type: 'text', nullable: true })
18
+ description: string;
19
+
20
+ @Column({ type: 'boolean', default: true })
21
+ is_active: boolean;
22
+
23
+ @Column({ type: 'boolean', default: false })
24
+ is_deleted: boolean;
25
+
26
+ @Column({ type: 'varchar', nullable: true })
27
+ created_by: string;
28
+
29
+ @Column({ type: 'varchar', nullable: true })
30
+ updated_by: string;
31
+
32
+ @CreateDateColumn({ type: 'timestamp', default: () => 'CURRENT_TIMESTAMP' })
33
+ created_at: Date;
34
+
35
+ @UpdateDateColumn({ type: 'timestamp', default: () => 'CURRENT_TIMESTAMP' })
36
+ updated_at: Date;
37
+
38
+ constructor(name?: string, description?: string) {
39
+ if (name) this.name = name;
40
+ if (description) this.description = description;
41
+ }
42
+ }
@@ -57,6 +57,7 @@ export class LogisticsForeignVehicleRequests extends BaseModel {
57
57
  @Column({
58
58
  type: "enum",
59
59
  enum: Foreign_Vehicle_Required_Location,
60
+ enumName: 'foreign_vehicle_required_location_en',
60
61
  default: Foreign_Vehicle_Required_Location.INSIDE,
61
62
  nullable: false,
62
63
  })
@@ -40,6 +40,8 @@ export class LogisticsVehicleMaintenanceRequests extends BaseModel {
40
40
  type: "enum",
41
41
  enum: VehicleMaintenanceType,
42
42
  nullable: false,
43
+ enumName: 'logistics_vehicle_maintenance_requests_en',
44
+ default:VehicleMaintenanceType.CORRECTIVE
43
45
  })
44
46
  type_of_maintenance_required: VehicleMaintenanceType;
45
47
 
@@ -0,0 +1,30 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ @Entity({ name: 'nationality_master' })
5
+ export class NationalityMaster extends BaseModel {
6
+ @Column({ type: 'varchar', length: 255, nullable: false })
7
+ nationality_name: string; // Nationality name
8
+
9
+ @Column({ type: 'varchar', length: 255, nullable: true })
10
+ nationality_name_arabic: string | null; // Arabic translation
11
+
12
+ @Column({ type: 'varchar', length: 10, nullable: true })
13
+ country_code: string | null; // Associated country code
14
+
15
+ @Column({ type: 'text', nullable: true })
16
+ description: string | null; // Description of the nationality
17
+
18
+ @Column({ type: 'boolean', default: true })
19
+ is_active: boolean; // Whether the nationality is active
20
+
21
+ @Column({ type: 'int', default: 0 })
22
+ display_order: number; // Order for display in dropdowns
23
+
24
+ constructor(nationality_name: string) {
25
+ super();
26
+ this.nationality_name = nationality_name;
27
+ this.is_active = true;
28
+ this.display_order = 0;
29
+ }
30
+ }
@@ -0,0 +1,120 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from "./BaseModel";
3
+
4
+ export enum NewResourceRequestStatus {
5
+ PENDING = "Pending",
6
+ ASSIGNED = "Assigned",
7
+ IN_PROGRESS = "In Progress",
8
+ COMPLETED = "Completed",
9
+ APPROVED = "Approved",
10
+ REJECTED = "Rejected"
11
+ }
12
+
13
+ @Entity({ name: "new_resource_requests" })
14
+ export class NewResourceRequest extends BaseModel {
15
+ @Column({ type: "integer", nullable: true })
16
+ req_user_department_id: number | null;
17
+
18
+ @Column({ type: "integer", nullable: true })
19
+ req_user_section_id: number | null;
20
+
21
+ @Column({ type: "integer", nullable: true })
22
+ req_user_position_id: number | null;
23
+
24
+ @Column({ type: "integer", nullable: true })
25
+ service_id: number | null;
26
+
27
+ @Column({ type: "integer", nullable: true })
28
+ sub_service_id: number | null;
29
+
30
+ @Column({ type: "integer", nullable: false })
31
+ user_id: number;
32
+
33
+ @Column({ type: "text", nullable: true })
34
+ description: string | null;
35
+
36
+ @Column({ type: "enum", enum: NewResourceRequestStatus, default: NewResourceRequestStatus.PENDING, nullable: false })
37
+ status: NewResourceRequestStatus;
38
+
39
+ @Column({ type: "integer", nullable: true })
40
+ reviewer_user_id: number | null;
41
+
42
+ @Column({ type: "integer", nullable: true })
43
+ assigned_to_user_id: number | null;
44
+
45
+ @Column({ type: "timestamp", nullable: true })
46
+ assigned_at: Date | null;
47
+
48
+ @Column({ type: "varchar", length: 255, nullable: true })
49
+ workflow_execution_id: string | null;
50
+
51
+ // New Resource specific fields
52
+ @Column({ type: "varchar", length: 255, nullable: false })
53
+ position_to_be_filled: string;
54
+
55
+ @Column({ type: "varchar", length: 100, nullable: false })
56
+ grade: string;
57
+
58
+ @Column({ type: "varchar", length: 255, nullable: false })
59
+ role_title: string;
60
+
61
+ @Column({ type: "text", nullable: false })
62
+ education_requirement: string;
63
+
64
+ @Column({ type: "text", nullable: false })
65
+ required_skills: string;
66
+
67
+ @Column({ type: "varchar", length: 50, nullable: false })
68
+ years_of_experience: string;
69
+
70
+ @Column({ type: "varchar", length: 255, nullable: true })
71
+ location: string | null;
72
+
73
+ @Column({ type: "text", nullable: false })
74
+ job_description: string;
75
+
76
+ constructor(
77
+ user_id: number,
78
+ status: NewResourceRequestStatus = NewResourceRequestStatus.PENDING,
79
+ service_id?: number | null,
80
+ sub_service_id?: number | null,
81
+ req_user_department_id?: number | null,
82
+ req_user_section_id?: number | null,
83
+ req_user_position_id?: number | null,
84
+ description?: string | null,
85
+ reviewer_user_id?: number | null,
86
+ assigned_to_user_id?: number | null,
87
+ assigned_at?: Date | null,
88
+ workflow_execution_id?: string | null,
89
+ position_to_be_filled?: string,
90
+ grade?: string,
91
+ role_title?: string,
92
+ education_requirement?: string,
93
+ required_skills?: string,
94
+ years_of_experience?: string,
95
+ location?: string | null,
96
+ job_description?: string
97
+ ) {
98
+ super();
99
+ this.user_id = user_id;
100
+ this.status = status;
101
+ this.service_id = service_id || null;
102
+ this.sub_service_id = sub_service_id || null;
103
+ this.req_user_department_id = req_user_department_id || null;
104
+ this.req_user_section_id = req_user_section_id || null;
105
+ this.req_user_position_id = req_user_position_id || null;
106
+ this.description = description || null;
107
+ this.reviewer_user_id = reviewer_user_id || null;
108
+ this.assigned_to_user_id = assigned_to_user_id || null;
109
+ this.assigned_at = assigned_at || null;
110
+ this.workflow_execution_id = workflow_execution_id || null;
111
+ this.position_to_be_filled = position_to_be_filled || "";
112
+ this.grade = grade || "";
113
+ this.role_title = role_title || "";
114
+ this.education_requirement = education_requirement || "";
115
+ this.required_skills = required_skills || "";
116
+ this.years_of_experience = years_of_experience || "";
117
+ this.location = location || null;
118
+ this.job_description = job_description || "";
119
+ }
120
+ }