@platform-modules/civil-aviation-authority 2.3.210 → 2.3.211

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 (39) hide show
  1. package/.env +10 -10
  2. package/dist/index.d.ts +2 -0
  3. package/dist/index.js +2 -0
  4. package/dist/models/ITApprovalSettings.d.ts +7 -0
  5. package/dist/models/ITApprovalSettings.js +40 -0
  6. package/dist/models/ITServicesTypesMuscatModel.d.ts +6 -0
  7. package/dist/models/ITServicesTypesMuscatModel.js +34 -0
  8. package/dist/models/ITServicesTypesSalalahModel.d.ts +6 -0
  9. package/dist/models/ITServicesTypesSalalahModel.js +34 -0
  10. package/dist/models/ServiceSlaApprovalModel.d.ts +19 -0
  11. package/dist/models/ServiceSlaApprovalModel.js +69 -0
  12. package/dist/models/SlaConfigModel.d.ts +22 -0
  13. package/dist/models/SlaConfigModel.js +67 -0
  14. package/dist/models/Workflows.d.ts +9 -0
  15. package/dist/models/Workflows.js +31 -0
  16. package/package.json +1 -1
  17. package/src/index.ts +4 -1
  18. package/src/models/AccommodationApprovalModel.ts +8 -8
  19. package/src/models/AccommodationRequestModel.ts +8 -8
  20. package/src/models/AnnualIncrementRequestEmployeeModel.ts +65 -65
  21. package/src/models/AnnualIncrementRequestModel.ts +25 -25
  22. package/src/models/AppealAgainstAdministrativeDecisionRequestModel.ts +23 -23
  23. package/src/models/CAAServices.ts +33 -33
  24. package/src/models/CAASubServices.ts +33 -33
  25. package/src/models/CAIRatingMasterModel.ts +39 -39
  26. package/src/models/CSRMBusinessImpactRatingMasterModel.ts +25 -25
  27. package/src/models/CSRMLikelihoodMasterModel.ts +25 -25
  28. package/src/models/CashAllowanceLeaveRequestModel.ts +11 -11
  29. package/src/models/HrServiceRequestModel.ts +193 -193
  30. package/src/models/PerformanceCyclePeriodModel.ts +26 -26
  31. package/src/models/PerformanceGoalMasterModel.ts +27 -27
  32. package/src/models/PerformanceManagementRequestGoalModel.ts +46 -46
  33. package/src/models/PerformanceManagementRequestModel.ts +14 -14
  34. package/src/models/PromotionRequestModel.ts +11 -11
  35. package/src/models/RespondToEnquiriesRequestModel.ts +31 -31
  36. package/src/models/ServiceSlaApprovalModel.ts +44 -0
  37. package/src/models/SkillsEnhancementRequestModel.ts +17 -17
  38. package/src/models/SlaConfigModel.ts +44 -0
  39. package/src/models/UserSkillModel.ts +56 -56
@@ -45,12 +45,12 @@ export class PromotionRequest extends BaseModel {
45
45
  @Column({ type: "timestamp", nullable: true })
46
46
  assigned_at: Date | null;
47
47
 
48
- @Column({ type: "varchar", length: 255, nullable: true })
49
- workflow_execution_id: string | null;
50
-
51
- @Column({ type: "varchar", length: 255, nullable: true })
52
- reference_number: string | null;
53
-
48
+ @Column({ type: "varchar", length: 255, nullable: true })
49
+ workflow_execution_id: string | null;
50
+
51
+ @Column({ type: "varchar", length: 255, nullable: true })
52
+ reference_number: string | null;
53
+
54
54
  // Promotion Decision specific fields
55
55
  @Column({ type: "varchar", length: 255, nullable: false })
56
56
  employee_name: string;
@@ -108,11 +108,11 @@ export class PromotionRequest extends BaseModel {
108
108
  this.req_user_position_id = req_user_position_id || null;
109
109
  this.description = description || null;
110
110
  this.reviewer_user_id = reviewer_user_id || null;
111
- this.assigned_to_user_id = assigned_to_user_id || null;
112
- this.assigned_at = assigned_at || null;
113
- this.workflow_execution_id = workflow_execution_id || null;
114
- this.reference_number = null;
115
- this.employee_name = employee_name || "";
111
+ this.assigned_to_user_id = assigned_to_user_id || null;
112
+ this.assigned_at = assigned_at || null;
113
+ this.workflow_execution_id = workflow_execution_id || null;
114
+ this.reference_number = null;
115
+ this.employee_name = employee_name || "";
116
116
  this.employee_id = employee_id || "";
117
117
  this.current_job_title = current_job_title || "";
118
118
  this.proposed_job_title = proposed_job_title || "";
@@ -1,17 +1,17 @@
1
1
  import { Column, Entity } from "typeorm";
2
2
  import { BaseModel } from "./BaseModel";
3
3
 
4
- export enum RespondToEnquiriesRequestStatus {
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: "respond_to_enquiries_requests" })
14
- export class RespondToEnquiriesRequest extends BaseModel {
4
+ export enum RespondToEnquiriesRequestStatus {
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: "respond_to_enquiries_requests" })
14
+ export class RespondToEnquiriesRequest extends BaseModel {
15
15
  @Column({ type: "integer", nullable: true })
16
16
  req_user_department_id: number | null;
17
17
 
@@ -65,11 +65,11 @@ export class RespondToEnquiriesRequest extends BaseModel {
65
65
  @Column({ type: "date", nullable: false })
66
66
  date_of_submission: Date;
67
67
 
68
- @Column({ type: "varchar", length: 30, nullable: false })
69
- phone: string;
70
-
71
- @Column({ type: "date", nullable: true })
72
- tender_date_of_submission: Date | null;
68
+ @Column({ type: "varchar", length: 30, nullable: false })
69
+ phone: string;
70
+
71
+ @Column({ type: "date", nullable: true })
72
+ tender_date_of_submission: Date | null;
73
73
 
74
74
  @Column({ type: "varchar", length: 30, nullable: true })
75
75
  tender_phone: string | null;
@@ -101,14 +101,14 @@ export class RespondToEnquiriesRequest extends BaseModel {
101
101
  req_user_department_id?: number | null,
102
102
  req_user_section_id?: number | null,
103
103
  req_user_position_id?: number | null,
104
- reviewer_user_id?: number | null,
105
- assigned_to_user_id?: number | null,
106
- assigned_at?: Date | null,
107
- workflow_execution_id?: string | null,
108
- request_id?: string | null,
109
- tender_date_of_submission?: Date | null,
110
- tender_phone?: string | null,
111
- budget_code?: string | null,
104
+ reviewer_user_id?: number | null,
105
+ assigned_to_user_id?: number | null,
106
+ assigned_at?: Date | null,
107
+ workflow_execution_id?: string | null,
108
+ request_id?: string | null,
109
+ tender_date_of_submission?: Date | null,
110
+ tender_phone?: string | null,
111
+ budget_code?: string | null,
112
112
  estimated_cost?: string | null,
113
113
  implementation_period?: string | null,
114
114
  requesting_entity?: string | null,
@@ -128,13 +128,13 @@ export class RespondToEnquiriesRequest extends BaseModel {
128
128
  this.req_user_position_id = req_user_position_id || null;
129
129
  this.reviewer_user_id = reviewer_user_id || null;
130
130
  this.assigned_to_user_id = assigned_to_user_id || null;
131
- this.assigned_at = assigned_at || null;
132
- this.workflow_execution_id = workflow_execution_id || null;
133
- this.reference_number = null;
134
- this.request_id = request_id || null;
135
- this.tender_date_of_submission = tender_date_of_submission ?? null;
136
- this.tender_phone = tender_phone ?? null;
137
- this.budget_code = budget_code ?? null;
131
+ this.assigned_at = assigned_at || null;
132
+ this.workflow_execution_id = workflow_execution_id || null;
133
+ this.reference_number = null;
134
+ this.request_id = request_id || null;
135
+ this.tender_date_of_submission = tender_date_of_submission ?? null;
136
+ this.tender_phone = tender_phone ?? null;
137
+ this.budget_code = budget_code ?? null;
138
138
  this.estimated_cost = estimated_cost ?? null;
139
139
  this.implementation_period = implementation_period ?? null;
140
140
  this.requesting_entity = requesting_entity ?? null;
@@ -0,0 +1,44 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from "./BaseModel";
3
+
4
+ /**
5
+ * Cross-service SLA tracking row for any microservice (HR, IT, Tender, …).
6
+ * Segregated by service_id, sub_service_id, request_id.
7
+ * source_approval_id = native approval row PK in the owning service (e.g. hr_service_approvals.id, vpn_approvals.id); not a DB FK.
8
+ */
9
+ @Entity({ name: "sla_approval" })
10
+ export class ServiceSlaApproval extends BaseModel {
11
+ @Column({ type: "int" })
12
+ request_id: number;
13
+
14
+ @Column({ type: "int" })
15
+ source_approval_id: number;
16
+
17
+ @Column({ type: "int", nullable: true })
18
+ service_id: number | null;
19
+
20
+ @Column({ type: "int", nullable: true })
21
+ sub_service_id: number | null;
22
+
23
+ @Column({ type: "varchar", length: 64 })
24
+ approval_status: string;
25
+
26
+ @Column({ type: "int" })
27
+ level: number;
28
+
29
+ @Column({ type: "int", nullable: true })
30
+ approver_user_id: number | null;
31
+
32
+ @Column({ type: "int", nullable: true })
33
+ approver_role_id: number | null;
34
+
35
+ @Column({ type: "int", nullable: true })
36
+ department_id: number | null;
37
+
38
+ @Column({ type: "int", nullable: true })
39
+ section_id: number | null;
40
+
41
+ constructor() {
42
+ super();
43
+ }
44
+ }
@@ -68,8 +68,8 @@ export class SkillsEnhancementRequest extends BaseModel {
68
68
  @Column({ type: "varchar", length: 255, nullable: false })
69
69
  issuing_authority: string;
70
70
 
71
- @Column({ type: "text", nullable: true })
72
- skill_summary: string | null;
71
+ @Column({ type: "text", nullable: true })
72
+ skill_summary: string | null;
73
73
 
74
74
  @Column({ type: "text", nullable: true })
75
75
  additional_info_requested: string | null;
@@ -86,13 +86,13 @@ export class SkillsEnhancementRequest extends BaseModel {
86
86
  reviewer_user_id?: number | null,
87
87
  assigned_to_user_id?: number | null,
88
88
  assigned_at?: Date | null,
89
- workflow_execution_id?: string | null,
90
- certification_title?: string,
91
- skill_category?: SkillCategory,
92
- issuing_authority?: string,
93
- skill_summary?: string | null,
94
- additional_info_requested?: string | null
95
- ) {
89
+ workflow_execution_id?: string | null,
90
+ certification_title?: string,
91
+ skill_category?: SkillCategory,
92
+ issuing_authority?: string,
93
+ skill_summary?: string | null,
94
+ additional_info_requested?: string | null
95
+ ) {
96
96
  super();
97
97
  this.user_id = user_id;
98
98
  this.status = status;
@@ -105,11 +105,11 @@ export class SkillsEnhancementRequest extends BaseModel {
105
105
  this.reviewer_user_id = reviewer_user_id || null;
106
106
  this.assigned_to_user_id = assigned_to_user_id || null;
107
107
  this.assigned_at = assigned_at || null;
108
- this.workflow_execution_id = workflow_execution_id || null;
109
- this.certification_title = certification_title || "";
110
- this.skill_category = skill_category || SkillCategory.TECHNICAL;
111
- this.issuing_authority = issuing_authority || "";
112
- this.skill_summary = skill_summary || null;
113
- this.additional_info_requested = additional_info_requested || null;
114
- }
115
- }
108
+ this.workflow_execution_id = workflow_execution_id || null;
109
+ this.certification_title = certification_title || "";
110
+ this.skill_category = skill_category || SkillCategory.TECHNICAL;
111
+ this.issuing_authority = issuing_authority || "";
112
+ this.skill_summary = skill_summary || null;
113
+ this.additional_info_requested = additional_info_requested || null;
114
+ }
115
+ }
@@ -0,0 +1,44 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from "./BaseModel";
3
+
4
+ /** How SLA reminders are delivered (any microservice). */
5
+ export enum SlaDeliveryType {
6
+ EMAIL = "EMAIL",
7
+ NOTIFICATION = "NOTIFICATION",
8
+ BOTH = "BOTH"
9
+ }
10
+
11
+ /**
12
+ * Cross-service SLA rule: match tracking rows by service_id / sub_service_id, status[], days, optional level.
13
+ * Admin CRUD from User Service; central SLA cron reads this table.
14
+ */
15
+ @Entity({ name: "sla_config" })
16
+ export class SlaConfig extends BaseModel {
17
+ @Column({ type: "int", nullable: true })
18
+ service_id: number | null;
19
+
20
+ @Column({ type: "int", nullable: true })
21
+ sub_service_id: number | null;
22
+
23
+ @Column({ type: "jsonb", default: () => "'[]'::jsonb" })
24
+ status: string[];
25
+
26
+ @Column({ type: "varchar", length: 20, default: SlaDeliveryType.NOTIFICATION })
27
+ type: SlaDeliveryType;
28
+
29
+ @Column({ type: "int", name: "days" })
30
+ days: number;
31
+
32
+ @Column({ type: "text" })
33
+ content: string;
34
+
35
+ @Column({ type: "int", nullable: true })
36
+ level: number | null;
37
+
38
+ @Column({ type: "boolean", default: true })
39
+ is_active: boolean;
40
+
41
+ constructor() {
42
+ super();
43
+ }
44
+ }
@@ -1,56 +1,56 @@
1
- import { Column, Entity } from "typeorm";
2
- import { BaseModel } from "./BaseModel";
3
- import { SkillCategory } from "./SkillsEnhancementRequestModel";
4
-
5
- @Entity({ name: "user_skills" })
6
- export class UserSkill extends BaseModel {
7
- @Column({ type: "integer", nullable: false })
8
- user_id: number;
9
-
10
- @Column({ type: "varchar", length: 255, nullable: false })
11
- skill_name: string;
12
-
13
- @Column({ type: "enum", enum: SkillCategory, nullable: true })
14
- skill_category: SkillCategory | null;
15
-
16
- @Column({ type: "varchar", length: 255, nullable: true })
17
- issuing_authority: string | null;
18
-
19
- @Column({ type: "date", nullable: true })
20
- completion_date: Date | null;
21
-
22
- @Column({ type: "text", nullable: true })
23
- skill_summary: string | null;
24
-
25
- @Column({ type: "integer", nullable: true })
26
- source_request_id: number | null;
27
-
28
- @Column({ type: "varchar", length: 50, nullable: true })
29
- source_request_type: string | null;
30
-
31
- @Column({ type: "boolean", nullable: false, default: true })
32
- is_active: boolean;
33
-
34
- constructor(
35
- user_id: number,
36
- skill_name: string,
37
- skill_category?: SkillCategory | null,
38
- issuing_authority?: string | null,
39
- completion_date?: Date | null,
40
- skill_summary?: string | null,
41
- source_request_id?: number | null,
42
- source_request_type?: string | null,
43
- is_active?: boolean
44
- ) {
45
- super();
46
- this.user_id = user_id;
47
- this.skill_name = skill_name;
48
- this.skill_category = skill_category || null;
49
- this.issuing_authority = issuing_authority || null;
50
- this.completion_date = completion_date || null;
51
- this.skill_summary = skill_summary || null;
52
- this.source_request_id = source_request_id || null;
53
- this.source_request_type = source_request_type || null;
54
- this.is_active = is_active !== undefined ? is_active : true;
55
- }
56
- }
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from "./BaseModel";
3
+ import { SkillCategory } from "./SkillsEnhancementRequestModel";
4
+
5
+ @Entity({ name: "user_skills" })
6
+ export class UserSkill extends BaseModel {
7
+ @Column({ type: "integer", nullable: false })
8
+ user_id: number;
9
+
10
+ @Column({ type: "varchar", length: 255, nullable: false })
11
+ skill_name: string;
12
+
13
+ @Column({ type: "enum", enum: SkillCategory, nullable: true })
14
+ skill_category: SkillCategory | null;
15
+
16
+ @Column({ type: "varchar", length: 255, nullable: true })
17
+ issuing_authority: string | null;
18
+
19
+ @Column({ type: "date", nullable: true })
20
+ completion_date: Date | null;
21
+
22
+ @Column({ type: "text", nullable: true })
23
+ skill_summary: string | null;
24
+
25
+ @Column({ type: "integer", nullable: true })
26
+ source_request_id: number | null;
27
+
28
+ @Column({ type: "varchar", length: 50, nullable: true })
29
+ source_request_type: string | null;
30
+
31
+ @Column({ type: "boolean", nullable: false, default: true })
32
+ is_active: boolean;
33
+
34
+ constructor(
35
+ user_id: number,
36
+ skill_name: string,
37
+ skill_category?: SkillCategory | null,
38
+ issuing_authority?: string | null,
39
+ completion_date?: Date | null,
40
+ skill_summary?: string | null,
41
+ source_request_id?: number | null,
42
+ source_request_type?: string | null,
43
+ is_active?: boolean
44
+ ) {
45
+ super();
46
+ this.user_id = user_id;
47
+ this.skill_name = skill_name;
48
+ this.skill_category = skill_category || null;
49
+ this.issuing_authority = issuing_authority || null;
50
+ this.completion_date = completion_date || null;
51
+ this.skill_summary = skill_summary || null;
52
+ this.source_request_id = source_request_id || null;
53
+ this.source_request_type = source_request_type || null;
54
+ this.is_active = is_active !== undefined ? is_active : true;
55
+ }
56
+ }