@platform-modules/civil-aviation-authority 2.3.333 → 2.3.335

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 (91) hide show
  1. package/dist/data-source.js +2 -0
  2. package/dist/helpers/cancellation-bilingual-persist.helper.d.ts +37 -0
  3. package/dist/helpers/cancellation-bilingual-persist.helper.js +77 -0
  4. package/dist/index.d.ts +1 -3
  5. package/dist/index.js +2 -3
  6. package/dist/models/AnnualPlanSubmissionRestrictionModel.d.ts +9 -0
  7. package/dist/models/AnnualPlanSubmissionRestrictionModel.js +47 -0
  8. package/dist/models/AnnualTrainingPlanRequestModel.d.ts +12 -21
  9. package/dist/models/AnnualTrainingPlanRequestModel.js +60 -75
  10. package/dist/models/CyberSecurityRiskManagementRiskModel.d.ts +4 -0
  11. package/dist/models/CyberSecurityRiskManagementRiskModel.js +16 -0
  12. package/dist/models/SlaApprovalsViewModel.js +54 -54
  13. package/package.json +1 -1
  14. package/scripts/sync-sla-reports-sql.js +92 -92
  15. package/sql/README.md +21 -21
  16. package/sql/add_csrm_risk_tracking_fields.sql +6 -0
  17. package/sql/add_training_request_reference_number.sql +9 -9
  18. package/sql/add_training_room_booking_records_reference.sql +19 -19
  19. package/sql/annual_training_plan_bulk_upload.sql +140 -140
  20. package/sql/annual_training_plan_department_plans.sql +80 -80
  21. package/sql/create_annual_plan_submission_restriction.sql +27 -0
  22. package/sql/sla_reports_admin_procedures.sql +322 -322
  23. package/sql/sla_reports_approvals_workbook.sql +427 -427
  24. package/sql/sla_reports_procedures.sql +883 -883
  25. package/sql/vw_sla_approvals.sql +115 -115
  26. package/sql/vw_sla_my_requests.sql +58 -58
  27. package/src/data-source.ts +2 -0
  28. package/src/index.ts +521 -518
  29. package/src/models/AccessCardRequestModel.ts +135 -135
  30. package/src/models/AirportEntryPermitModel.ts +276 -276
  31. package/src/models/AnnualPlanSubmissionRestrictionModel.ts +27 -0
  32. package/src/models/AnnualTrainingPlanDepartmentPlanDecisionModel.ts +33 -33
  33. package/src/models/AnnualTrainingPlanDepartmentPlanModel.ts +31 -31
  34. package/src/models/AnnualTrainingPlanItemModel.ts +71 -71
  35. package/src/models/AnnualTrainingPlanRequestModel.ts +156 -156
  36. package/src/models/CyberSecurityRiskManagementRiskModel.ts +12 -0
  37. package/src/models/DocumentDriveModel.ts +28 -28
  38. package/src/models/DocumentFolderModel.ts +45 -45
  39. package/src/models/HotelApprovalModel.ts +83 -83
  40. package/src/models/HousingContractCancelApprovalModel.ts +64 -64
  41. package/src/models/HousingContractRenewalApprovalModel.ts +64 -64
  42. package/src/models/ITRequestAttachmentModel.ts +73 -73
  43. package/src/models/ItApprovalsModel.ts +84 -84
  44. package/src/models/LegalConsultationApprovalModel.ts +65 -65
  45. package/src/models/MissionTravelPassportExpiryNotificationConfigModel.ts +36 -36
  46. package/src/models/NotificationModel.ts +89 -89
  47. package/src/models/ResidentialUnitRentalApprovalModel.ts +143 -143
  48. package/src/models/ServiceExtensionAfter60ApprovalModel.ts +87 -87
  49. package/src/models/ServiceSlaApprovalModel.ts +64 -64
  50. package/src/models/ServicesNotificationConfigModel.ts +55 -55
  51. package/src/models/SlaApprovalsViewModel.ts +142 -142
  52. package/src/models/StudyLeaveRequestModel.ts +173 -173
  53. package/src/models/TrainingRequestModel.ts +169 -169
  54. package/src/models/TrainingRoomBookingRequestModel.ts +178 -178
  55. package/src/models/TrainingRoomBookingWorkflowModel.ts +81 -81
  56. package/src/models/TrainingRoomNotificationConfigModel.ts +30 -30
  57. package/src/models/role.ts +34 -34
  58. package/src/scripts.ts +20 -20
  59. package/src/sla/sla-table-sync.service.ts +90 -90
  60. package/dist/models/AnnualTrainingPlanDepartmentPlanDecisionModel.d.ts +0 -10
  61. package/dist/models/AnnualTrainingPlanDepartmentPlanDecisionModel.js +0 -51
  62. package/dist/models/AnnualTrainingPlanDepartmentPlanModel.d.ts +0 -13
  63. package/dist/models/AnnualTrainingPlanDepartmentPlanModel.js +0 -50
  64. package/dist/models/AnnualTrainingPlanItemModel.d.ts +0 -22
  65. package/dist/models/AnnualTrainingPlanItemModel.js +0 -101
  66. package/dist/models/DocumentMetadataModel.d.ts +0 -45
  67. package/dist/models/DocumentMetadataModel.js +0 -171
  68. package/dist/models/DocumentationDepartmentsModel.d.ts +0 -13
  69. package/dist/models/DocumentationDepartmentsModel.js +0 -53
  70. package/dist/models/FolderModel.d.ts +0 -16
  71. package/dist/models/FolderModel.js +0 -85
  72. package/dist/models/ImportExportMaterialModels.d.ts +0 -92
  73. package/dist/models/ImportExportMaterialModels.js +0 -307
  74. package/dist/models/PermissionModel.d.ts +0 -18
  75. package/dist/models/PermissionModel.js +0 -68
  76. package/dist/models/SecurityAccessApprovalModel.d.ts +0 -23
  77. package/dist/models/SecurityAccessApprovalModel.js +0 -82
  78. package/dist/models/SecurityAccessAttachmentModel.d.ts +0 -12
  79. package/dist/models/SecurityAccessAttachmentModel.js +0 -56
  80. package/dist/models/SecurityAccessChatModel.d.ts +0 -12
  81. package/dist/models/SecurityAccessChatModel.js +0 -56
  82. package/dist/models/SecurityAccessRequestModel.d.ts +0 -25
  83. package/dist/models/SecurityAccessRequestModel.js +0 -80
  84. package/dist/models/SecurityAccessWorkflowModel.d.ts +0 -24
  85. package/dist/models/SecurityAccessWorkflowModel.js +0 -84
  86. package/dist/models/ServiceExtensionAfterAge60Models.d.ts +0 -93
  87. package/dist/models/ServiceExtensionAfterAge60Models.js +0 -312
  88. package/dist/models/UUIDBaseModel.d.ts +0 -14
  89. package/dist/models/UUIDBaseModel.js +0 -66
  90. package/dist/models/WorkingHoursExtensionModels.d.ts +0 -88
  91. package/dist/models/WorkingHoursExtensionModels.js +0 -295
@@ -1,144 +1,144 @@
1
- import { Column, Entity } from "typeorm";
2
-
3
- import { BaseModel } from "./BaseModel";
4
-
5
-
6
-
7
-
8
- export enum ResidentialUnitRentalApprovalStatus {
9
-
10
- PENDING = "Pending",
11
-
12
- IN_PROGRESS = "In Progress",
13
-
14
- APPROVED = "Approved",
15
-
16
- REJECTED = "Rejected"
17
-
18
-
19
-
20
- }
21
-
22
-
23
-
24
-
25
- @Entity({ name: 'residential_unit_rental_approvals' })
26
-
27
- export class ResidentialUnitRentalApproval extends BaseModel {
28
-
29
-
30
-
31
-
32
- @Column({ type: 'int', nullable: false })
33
-
34
- request_id: number;
35
-
36
-
37
-
38
-
39
- @Column({ type: 'int', nullable: false })
40
-
41
- service_id: number;
42
-
43
-
44
-
45
-
46
- @Column({ type: 'int', nullable: false })
47
-
48
- sub_service_id: number;
49
-
50
-
51
-
52
-
53
- @Column({ type: 'int', nullable: true })
54
-
55
- approver_role_id: number;
56
-
57
-
58
-
59
-
60
- @Column({ type: 'int', nullable: true })
61
-
62
- approver_user_id: number;
63
-
64
-
65
-
66
-
67
- @Column({ type: 'int', nullable: true })
68
-
69
- delegate_user_id: number;
70
-
71
-
72
-
73
-
74
- @Column({ type: 'int', nullable: true })
75
-
76
- approved_by: number;
77
-
78
-
79
-
80
-
81
- @Column({ type: 'int', nullable: true })
82
-
83
- department_id: number;
84
-
85
-
86
-
87
-
88
- @Column({ type: 'int', nullable: true })
89
-
90
- section_id: number;
91
-
92
-
93
-
94
-
95
- @Column({ type: 'int', nullable: false })
96
-
97
- level: number;
98
-
99
-
100
-
101
-
102
- @Column({
103
-
104
- type: 'enum',
105
-
106
- enum: ResidentialUnitRentalApprovalStatus,
107
-
108
- default: ResidentialUnitRentalApprovalStatus.PENDING,
109
-
110
- nullable: false
111
-
112
- })
113
-
114
- approval_status: ResidentialUnitRentalApprovalStatus; // Pending, In Progress, YES, ND, RFC
115
-
116
-
117
-
118
-
119
- @Column({ type: 'text', nullable: true })
120
-
121
- comment: string;
122
-
123
-
124
-
125
-
126
- @Column({ type: 'boolean', default: true, nullable: false })
127
- is_allowed: boolean;
128
-
129
- @Column({ type: 'int', nullable: false })
130
-
131
- created_by: number;
132
-
133
-
134
-
135
-
136
- constructor() {
137
-
138
- super();
139
-
140
- }
141
-
142
- }
143
-
1
+ import { Column, Entity } from "typeorm";
2
+
3
+ import { BaseModel } from "./BaseModel";
4
+
5
+
6
+
7
+
8
+ export enum ResidentialUnitRentalApprovalStatus {
9
+
10
+ PENDING = "Pending",
11
+
12
+ IN_PROGRESS = "In Progress",
13
+
14
+ APPROVED = "Approved",
15
+
16
+ REJECTED = "Rejected"
17
+
18
+
19
+
20
+ }
21
+
22
+
23
+
24
+
25
+ @Entity({ name: 'residential_unit_rental_approvals' })
26
+
27
+ export class ResidentialUnitRentalApproval extends BaseModel {
28
+
29
+
30
+
31
+
32
+ @Column({ type: 'int', nullable: false })
33
+
34
+ request_id: number;
35
+
36
+
37
+
38
+
39
+ @Column({ type: 'int', nullable: false })
40
+
41
+ service_id: number;
42
+
43
+
44
+
45
+
46
+ @Column({ type: 'int', nullable: false })
47
+
48
+ sub_service_id: number;
49
+
50
+
51
+
52
+
53
+ @Column({ type: 'int', nullable: true })
54
+
55
+ approver_role_id: number;
56
+
57
+
58
+
59
+
60
+ @Column({ type: 'int', nullable: true })
61
+
62
+ approver_user_id: number;
63
+
64
+
65
+
66
+
67
+ @Column({ type: 'int', nullable: true })
68
+
69
+ delegate_user_id: number;
70
+
71
+
72
+
73
+
74
+ @Column({ type: 'int', nullable: true })
75
+
76
+ approved_by: number;
77
+
78
+
79
+
80
+
81
+ @Column({ type: 'int', nullable: true })
82
+
83
+ department_id: number;
84
+
85
+
86
+
87
+
88
+ @Column({ type: 'int', nullable: true })
89
+
90
+ section_id: number;
91
+
92
+
93
+
94
+
95
+ @Column({ type: 'int', nullable: false })
96
+
97
+ level: number;
98
+
99
+
100
+
101
+
102
+ @Column({
103
+
104
+ type: 'enum',
105
+
106
+ enum: ResidentialUnitRentalApprovalStatus,
107
+
108
+ default: ResidentialUnitRentalApprovalStatus.PENDING,
109
+
110
+ nullable: false
111
+
112
+ })
113
+
114
+ approval_status: ResidentialUnitRentalApprovalStatus; // Pending, In Progress, YES, ND, RFC
115
+
116
+
117
+
118
+
119
+ @Column({ type: 'text', nullable: true })
120
+
121
+ comment: string;
122
+
123
+
124
+
125
+
126
+ @Column({ type: 'boolean', default: true, nullable: false })
127
+ is_allowed: boolean;
128
+
129
+ @Column({ type: 'int', nullable: false })
130
+
131
+ created_by: number;
132
+
133
+
134
+
135
+
136
+ constructor() {
137
+
138
+ super();
139
+
140
+ }
141
+
142
+ }
143
+
144
144
 
@@ -1,87 +1,87 @@
1
- import { Column, Entity } from "typeorm";
2
- import { BaseModel } from "./BaseModel";
3
-
4
- export enum ServiceExtensionAfter60ApprovalStatus {
5
- PENDING = "Pending",
6
- IN_PROGRESS = "In Progress",
7
- APPROVED = "Approved",
8
- REJECTED = "Rejected"
9
- }
10
-
11
- @Entity({ name: "service_extension_after_60_approvals" })
12
- export class ServiceExtensionAfter60Approval extends BaseModel {
13
- @Column({ type: "integer", nullable: false })
14
- request_id: number;
15
-
16
- @Column({ type: "integer", nullable: true })
17
- service_id: number | null;
18
-
19
- @Column({ type: "integer", nullable: true })
20
- sub_service_id: number | null;
21
-
22
- @Column({ type: "integer", nullable: false })
23
- level: number;
24
-
25
- @Column({ type: "integer", nullable: true })
26
- approver_role_id: number;
27
-
28
- @Column({ type: "integer", nullable: true })
29
- department_id: number | null;
30
-
31
- @Column({ type: "integer", nullable: true })
32
- section_id: number | null;
33
-
34
- @Column({ type: "integer", nullable: true })
35
- approver_user_id: number | null;
36
-
37
- @Column({ type: "integer", nullable: true })
38
- delegate_user_id: number | null;
39
-
40
- @Column({ type: "integer", nullable: true })
41
- approved_by: number | null;
42
-
43
- @Column({ type: "varchar", length: 500, nullable: true, default: "" })
44
- comment: string;
45
-
46
- @Column({
47
- type: "enum",
48
- enum: ServiceExtensionAfter60ApprovalStatus,
49
- default: ServiceExtensionAfter60ApprovalStatus.PENDING,
50
- nullable: false
51
- })
52
- approval_status: ServiceExtensionAfter60ApprovalStatus;
53
-
54
- @Column({ type: "boolean", default: true, nullable: false })
55
- is_allowed: boolean;
56
-
57
- constructor(
58
- request_id: number,
59
- approver_role_id: number,
60
- level: number,
61
- comment: string,
62
- approval_status: ServiceExtensionAfter60ApprovalStatus,
63
- service_id?: number,
64
- sub_service_id?: number,
65
- department_id?: number | null,
66
- section_id?: number | null,
67
- approver_user_id?: number | null,
68
- delegate_user_id?: number | null,
69
- approved_by?: number | null,
70
- is_allowed?: boolean
71
- ) {
72
- super();
73
- this.request_id = request_id;
74
- this.service_id = service_id ?? null;
75
- this.sub_service_id = sub_service_id ?? null;
76
- this.level = level;
77
- this.approver_role_id = approver_role_id;
78
- this.department_id = department_id ?? null;
79
- this.section_id = section_id ?? null;
80
- this.approver_user_id = approver_user_id ?? null;
81
- this.delegate_user_id = delegate_user_id ?? null;
82
- this.approved_by = approved_by ?? null;
83
- this.comment = comment;
84
- this.approval_status = approval_status;
85
- this.is_allowed = is_allowed !== undefined ? is_allowed : true;
86
- }
87
- }
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from "./BaseModel";
3
+
4
+ export enum ServiceExtensionAfter60ApprovalStatus {
5
+ PENDING = "Pending",
6
+ IN_PROGRESS = "In Progress",
7
+ APPROVED = "Approved",
8
+ REJECTED = "Rejected"
9
+ }
10
+
11
+ @Entity({ name: "service_extension_after_60_approvals" })
12
+ export class ServiceExtensionAfter60Approval extends BaseModel {
13
+ @Column({ type: "integer", nullable: false })
14
+ request_id: number;
15
+
16
+ @Column({ type: "integer", nullable: true })
17
+ service_id: number | null;
18
+
19
+ @Column({ type: "integer", nullable: true })
20
+ sub_service_id: number | null;
21
+
22
+ @Column({ type: "integer", nullable: false })
23
+ level: number;
24
+
25
+ @Column({ type: "integer", nullable: true })
26
+ approver_role_id: number;
27
+
28
+ @Column({ type: "integer", nullable: true })
29
+ department_id: number | null;
30
+
31
+ @Column({ type: "integer", nullable: true })
32
+ section_id: number | null;
33
+
34
+ @Column({ type: "integer", nullable: true })
35
+ approver_user_id: number | null;
36
+
37
+ @Column({ type: "integer", nullable: true })
38
+ delegate_user_id: number | null;
39
+
40
+ @Column({ type: "integer", nullable: true })
41
+ approved_by: number | null;
42
+
43
+ @Column({ type: "varchar", length: 500, nullable: true, default: "" })
44
+ comment: string;
45
+
46
+ @Column({
47
+ type: "enum",
48
+ enum: ServiceExtensionAfter60ApprovalStatus,
49
+ default: ServiceExtensionAfter60ApprovalStatus.PENDING,
50
+ nullable: false
51
+ })
52
+ approval_status: ServiceExtensionAfter60ApprovalStatus;
53
+
54
+ @Column({ type: "boolean", default: true, nullable: false })
55
+ is_allowed: boolean;
56
+
57
+ constructor(
58
+ request_id: number,
59
+ approver_role_id: number,
60
+ level: number,
61
+ comment: string,
62
+ approval_status: ServiceExtensionAfter60ApprovalStatus,
63
+ service_id?: number,
64
+ sub_service_id?: number,
65
+ department_id?: number | null,
66
+ section_id?: number | null,
67
+ approver_user_id?: number | null,
68
+ delegate_user_id?: number | null,
69
+ approved_by?: number | null,
70
+ is_allowed?: boolean
71
+ ) {
72
+ super();
73
+ this.request_id = request_id;
74
+ this.service_id = service_id ?? null;
75
+ this.sub_service_id = sub_service_id ?? null;
76
+ this.level = level;
77
+ this.approver_role_id = approver_role_id;
78
+ this.department_id = department_id ?? null;
79
+ this.section_id = section_id ?? null;
80
+ this.approver_user_id = approver_user_id ?? null;
81
+ this.delegate_user_id = delegate_user_id ?? null;
82
+ this.approved_by = approved_by ?? null;
83
+ this.comment = comment;
84
+ this.approval_status = approval_status;
85
+ this.is_allowed = is_allowed !== undefined ? is_allowed : true;
86
+ }
87
+ }
@@ -1,64 +1,64 @@
1
- import { Column, Entity, Index } 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
- @Index("idx_sla_approval_request_id", ["request_id"])
11
- @Index("idx_sla_approval_source_approval_id", ["source_approval_id"])
12
- @Index("idx_sla_approval_service_subservice", ["service_id", "sub_service_id"])
13
- @Index("idx_sla_approval_approval_status", ["approval_status"])
14
- @Index("idx_sla_approval_level", ["level"])
15
- @Index("idx_sla_approval_approver_user_id", ["approver_user_id"])
16
- @Index("idx_sla_approval_request_level", ["request_id", "level"])
17
- @Index("idx_sla_approval_svc_sub_status", ["service_id", "sub_service_id", "approval_status"])
18
- export class ServiceSlaApproval extends BaseModel {
19
- @Column({ type: "int" })
20
- request_id: number;
21
-
22
- @Column({ type: "int" })
23
- source_approval_id: number;
24
-
25
- @Column({ type: "int", nullable: true })
26
- service_id: number | null;
27
-
28
- @Column({ type: "int", nullable: true })
29
- sub_service_id: number | null;
30
-
31
- @Column({ type: "varchar", length: 64 })
32
- approval_status: string;
33
-
34
- @Column({ type: "int" })
35
- level: number;
36
-
37
- @Column({ type: "int", nullable: true })
38
- approver_user_id: number | null;
39
-
40
- @Column({ type: "int", nullable: true })
41
- approver_role_id: number | null;
42
-
43
- @Column({ type: "int", nullable: true })
44
- department_id: number | null;
45
-
46
- @Column({ type: "int", nullable: true })
47
- section_id: number | null;
48
-
49
- /** Mirrors native approval `delegate_user_id` (IT master tables may use `delegation_user_id`). */
50
- @Column({ type: "int", nullable: true })
51
- delegate_user_id: number | null;
52
-
53
- /** Mirrors native approval `approved_by` (acting user when status was last resolved). */
54
- @Column({ type: "int", nullable: true })
55
- approved_by: number | null;
56
-
57
- /** Mirrors native approval comment / rejection reason. */
58
- @Column({ type: "varchar", length: 255, nullable: true })
59
- comment: string | null;
60
-
61
- constructor() {
62
- super();
63
- }
64
- }
1
+ import { Column, Entity, Index } 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
+ @Index("idx_sla_approval_request_id", ["request_id"])
11
+ @Index("idx_sla_approval_source_approval_id", ["source_approval_id"])
12
+ @Index("idx_sla_approval_service_subservice", ["service_id", "sub_service_id"])
13
+ @Index("idx_sla_approval_approval_status", ["approval_status"])
14
+ @Index("idx_sla_approval_level", ["level"])
15
+ @Index("idx_sla_approval_approver_user_id", ["approver_user_id"])
16
+ @Index("idx_sla_approval_request_level", ["request_id", "level"])
17
+ @Index("idx_sla_approval_svc_sub_status", ["service_id", "sub_service_id", "approval_status"])
18
+ export class ServiceSlaApproval extends BaseModel {
19
+ @Column({ type: "int" })
20
+ request_id: number;
21
+
22
+ @Column({ type: "int" })
23
+ source_approval_id: number;
24
+
25
+ @Column({ type: "int", nullable: true })
26
+ service_id: number | null;
27
+
28
+ @Column({ type: "int", nullable: true })
29
+ sub_service_id: number | null;
30
+
31
+ @Column({ type: "varchar", length: 64 })
32
+ approval_status: string;
33
+
34
+ @Column({ type: "int" })
35
+ level: number;
36
+
37
+ @Column({ type: "int", nullable: true })
38
+ approver_user_id: number | null;
39
+
40
+ @Column({ type: "int", nullable: true })
41
+ approver_role_id: number | null;
42
+
43
+ @Column({ type: "int", nullable: true })
44
+ department_id: number | null;
45
+
46
+ @Column({ type: "int", nullable: true })
47
+ section_id: number | null;
48
+
49
+ /** Mirrors native approval `delegate_user_id` (IT master tables may use `delegation_user_id`). */
50
+ @Column({ type: "int", nullable: true })
51
+ delegate_user_id: number | null;
52
+
53
+ /** Mirrors native approval `approved_by` (acting user when status was last resolved). */
54
+ @Column({ type: "int", nullable: true })
55
+ approved_by: number | null;
56
+
57
+ /** Mirrors native approval comment / rejection reason. */
58
+ @Column({ type: "varchar", length: 255, nullable: true })
59
+ comment: string | null;
60
+
61
+ constructor() {
62
+ super();
63
+ }
64
+ }