@platform-modules/civil-aviation-authority 2.3.251 → 2.3.258

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 (70) hide show
  1. package/.env +15 -0
  2. package/dist/data-source.js +8 -0
  3. package/dist/index.d.ts +1 -0
  4. package/dist/index.js +1 -0
  5. package/dist/models/DocumentMetadataModel.d.ts +45 -0
  6. package/dist/models/DocumentMetadataModel.js +171 -0
  7. package/dist/models/DocumentationDepartmentsModel.d.ts +13 -0
  8. package/dist/models/DocumentationDepartmentsModel.js +53 -0
  9. package/dist/models/FolderModel.d.ts +16 -0
  10. package/dist/models/FolderModel.js +85 -0
  11. package/dist/models/ImportExportMaterialModels.d.ts +92 -0
  12. package/dist/models/ImportExportMaterialModels.js +307 -0
  13. package/dist/models/PermissionModel.d.ts +18 -0
  14. package/dist/models/PermissionModel.js +68 -0
  15. package/dist/models/SecurityAccessApprovalModel.d.ts +23 -0
  16. package/dist/models/SecurityAccessApprovalModel.js +82 -0
  17. package/dist/models/SecurityAccessAttachmentModel.d.ts +12 -0
  18. package/dist/models/SecurityAccessAttachmentModel.js +56 -0
  19. package/dist/models/SecurityAccessChatModel.d.ts +12 -0
  20. package/dist/models/SecurityAccessChatModel.js +56 -0
  21. package/dist/models/SecurityAccessRequestModel.d.ts +25 -0
  22. package/dist/models/SecurityAccessRequestModel.js +80 -0
  23. package/dist/models/SecurityAccessWorkflowModel.d.ts +24 -0
  24. package/dist/models/SecurityAccessWorkflowModel.js +84 -0
  25. package/dist/models/ServiceExtensionAfterAge60Models.d.ts +93 -0
  26. package/dist/models/ServiceExtensionAfterAge60Models.js +312 -0
  27. package/dist/models/SlaMyRequestsViewModel.d.ts +25 -0
  28. package/dist/models/SlaMyRequestsViewModel.js +156 -0
  29. package/dist/models/UUIDBaseModel.d.ts +14 -0
  30. package/dist/models/UUIDBaseModel.js +66 -0
  31. package/dist/models/WorkingHoursExtensionModels.d.ts +88 -0
  32. package/dist/models/WorkingHoursExtensionModels.js +295 -0
  33. package/package.json +1 -1
  34. package/sql/vw_sla_my_requests.sql +49 -0
  35. package/src/data-source.ts +8 -0
  36. package/src/index.ts +1 -0
  37. package/src/models/AccessCardRequestModel.ts +135 -135
  38. package/src/models/AirportEntryPermitModel.ts +276 -276
  39. package/src/models/AnnualTrainingPlanRequestModel.ts +153 -153
  40. package/src/models/DepartmentsModel.ts +25 -25
  41. package/src/models/DocumentDriveModel.ts +28 -28
  42. package/src/models/DocumentFolderModel.ts +45 -45
  43. package/src/models/HotelApprovalModel.ts +83 -83
  44. package/src/models/HousingContractCancelApprovalModel.ts +64 -64
  45. package/src/models/HousingContractCancelChatModel.ts +56 -56
  46. package/src/models/HousingContractRenewalApprovalModel.ts +64 -64
  47. package/src/models/HousingContractRenewalChatModel.ts +59 -59
  48. package/src/models/ITRequestAttachmentModel.ts +73 -73
  49. package/src/models/ITRequestChatModel.ts +74 -74
  50. package/src/models/ItApprovalsModel.ts +84 -84
  51. package/src/models/ItWorkflowModel.ts +55 -55
  52. package/src/models/LegalConsultationApprovalModel.ts +65 -65
  53. package/src/models/MissionTravelPassportExpiryNotificationConfigModel.ts +36 -36
  54. package/src/models/NotificationModel.ts +89 -89
  55. package/src/models/ResidentialUnitRentalApprovalModel.ts +143 -143
  56. package/src/models/ResidentialUnitRentalChatModel.ts +56 -56
  57. package/src/models/ResidentialUnitRentalRequestModel.ts +218 -218
  58. package/src/models/ServiceExtensionAfter60ApprovalModel.ts +87 -87
  59. package/src/models/ServiceSlaApprovalModel.ts +64 -64
  60. package/src/models/ServicesNotificationConfigModel.ts +55 -55
  61. package/src/models/SlaMyRequestsViewModel.ts +150 -0
  62. package/src/models/SlaRequestModel.ts +65 -65
  63. package/src/models/StudyLeaveRequestModel.ts +144 -144
  64. package/src/models/TrainingRequestModel.ts +164 -164
  65. package/src/models/TrainingRoomBookingRequestModel.ts +142 -142
  66. package/src/models/TrainingRoomNotificationConfigModel.ts +30 -30
  67. package/src/models/role.ts +34 -34
  68. package/src/models/user.ts +233 -233
  69. package/src/sla/sla-table-sync.service.ts +90 -90
  70. package/migrations/add_sla_approval_mirror_columns.sql +0 -11
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SlaMyRequestsView = exports.SLA_MY_REQUESTS_REQUEST_OBJ_EXCLUDED_KEYS = void 0;
13
+ exports.flattenSlaMyRequestsViewRow = flattenSlaMyRequestsViewRow;
14
+ const typeorm_1 = require("typeorm");
15
+ /** Top-level `request_obj` keys omitted from `request_fields` (see sql/vw_sla_my_requests.sql). */
16
+ exports.SLA_MY_REQUESTS_REQUEST_OBJ_EXCLUDED_KEYS = [
17
+ "id",
18
+ "status",
19
+ "role_id",
20
+ "user_id",
21
+ "createdBy",
22
+ "created_at",
23
+ "updated_by",
24
+ "updated_at",
25
+ "req_user_department_id",
26
+ "workflow_execution_id",
27
+ "department_id",
28
+ "req_user_section_id",
29
+ "service_type_id",
30
+ "service_type",
31
+ "created_by",
32
+ "service_id",
33
+ "sub_service_id",
34
+ "attachments",
35
+ ];
36
+ const VW_SLA_MY_REQUESTS_SQL = `
37
+ SELECT
38
+ sr.id AS sla_request_id,
39
+ sr.user_id,
40
+ TRIM(COALESCE(creator.employee_name, ''))::TEXT AS created_by,
41
+ sr.created_at,
42
+ TRIM(COALESCE(dept.department_name, ''))::TEXT AS req_user_department_id,
43
+ TRIM(COALESCE(sec.section_name, ''))::TEXT AS req_user_section_id,
44
+ TRIM(COALESCE(svc.name, ''))::TEXT AS service_id,
45
+ TRIM(COALESCE(subsvc.sub_service_name, ''))::TEXT AS sub_service_id,
46
+ sr.status::TEXT AS status,
47
+ sr.request_id,
48
+ (
49
+ COALESCE(sr.request_obj, '{}'::jsonb)
50
+ - 'id'
51
+ - 'status'
52
+ - 'role_id'
53
+ - 'user_id'
54
+ - 'createdBy'
55
+ - 'created_at'
56
+ - 'updated_by'
57
+ - 'updated_at'
58
+ - 'req_user_department_id'
59
+ - 'workflow_execution_id'
60
+ - 'department_id'
61
+ - 'req_user_section_id'
62
+ - 'service_type_id'
63
+ - 'service_type'
64
+ - 'created_by'
65
+ - 'service_id'
66
+ - 'sub_service_id'
67
+ - 'attachments'
68
+ ) AS request_fields
69
+ FROM sla_requests sr
70
+ LEFT JOIN users creator
71
+ ON creator.id = sr.created_by AND COALESCE(creator.is_deleted, false) = false
72
+ LEFT JOIN departments dept
73
+ ON dept.id = sr.req_user_department_id AND COALESCE(dept.is_deleted, false) = false
74
+ LEFT JOIN sections sec
75
+ ON sec.id = sr.req_user_section_id AND COALESCE(sec.is_deleted, false) = false
76
+ LEFT JOIN caa_services svc
77
+ ON svc.id = sr.service_id AND COALESCE(svc.is_deleted, false) = false
78
+ LEFT JOIN caa_sub_services subsvc
79
+ ON subsvc.id = sr.sub_service_id AND COALESCE(subsvc.is_deleted, false) = false
80
+ WHERE COALESCE(sr.is_deleted, false) = false
81
+ `;
82
+ /**
83
+ * Read-only view for SLA "my requests" listings.
84
+ * Display-name columns reuse sla_requests field names; values come from joined lookup tables.
85
+ * Service-specific payload keys live in `request_fields` (filtered `request_obj`).
86
+ */
87
+ let SlaMyRequestsView = class SlaMyRequestsView {
88
+ };
89
+ exports.SlaMyRequestsView = SlaMyRequestsView;
90
+ __decorate([
91
+ (0, typeorm_1.ViewColumn)(),
92
+ __metadata("design:type", Number)
93
+ ], SlaMyRequestsView.prototype, "sla_request_id", void 0);
94
+ __decorate([
95
+ (0, typeorm_1.ViewColumn)(),
96
+ __metadata("design:type", Number)
97
+ ], SlaMyRequestsView.prototype, "user_id", void 0);
98
+ __decorate([
99
+ (0, typeorm_1.ViewColumn)(),
100
+ __metadata("design:type", String)
101
+ ], SlaMyRequestsView.prototype, "created_by", void 0);
102
+ __decorate([
103
+ (0, typeorm_1.ViewColumn)(),
104
+ __metadata("design:type", Date)
105
+ ], SlaMyRequestsView.prototype, "created_at", void 0);
106
+ __decorate([
107
+ (0, typeorm_1.ViewColumn)(),
108
+ __metadata("design:type", String)
109
+ ], SlaMyRequestsView.prototype, "req_user_department_id", void 0);
110
+ __decorate([
111
+ (0, typeorm_1.ViewColumn)(),
112
+ __metadata("design:type", String)
113
+ ], SlaMyRequestsView.prototype, "req_user_section_id", void 0);
114
+ __decorate([
115
+ (0, typeorm_1.ViewColumn)(),
116
+ __metadata("design:type", String)
117
+ ], SlaMyRequestsView.prototype, "service_id", void 0);
118
+ __decorate([
119
+ (0, typeorm_1.ViewColumn)(),
120
+ __metadata("design:type", String)
121
+ ], SlaMyRequestsView.prototype, "sub_service_id", void 0);
122
+ __decorate([
123
+ (0, typeorm_1.ViewColumn)(),
124
+ __metadata("design:type", String)
125
+ ], SlaMyRequestsView.prototype, "status", void 0);
126
+ __decorate([
127
+ (0, typeorm_1.ViewColumn)(),
128
+ __metadata("design:type", Number)
129
+ ], SlaMyRequestsView.prototype, "request_id", void 0);
130
+ __decorate([
131
+ (0, typeorm_1.ViewColumn)(),
132
+ __metadata("design:type", Object)
133
+ ], SlaMyRequestsView.prototype, "request_fields", void 0);
134
+ exports.SlaMyRequestsView = SlaMyRequestsView = __decorate([
135
+ (0, typeorm_1.ViewEntity)({
136
+ name: "vw_sla_my_requests",
137
+ expression: VW_SLA_MY_REQUESTS_SQL,
138
+ })
139
+ ], SlaMyRequestsView);
140
+ /** Flatten view row: fixed columns plus each entry in `request_fields`. */
141
+ function flattenSlaMyRequestsViewRow(row) {
142
+ const { sla_request_id, user_id, created_by, created_at, req_user_department_id, req_user_section_id, service_id, sub_service_id, status, request_id, request_fields, } = row;
143
+ return {
144
+ sla_request_id,
145
+ user_id,
146
+ created_by,
147
+ created_at,
148
+ req_user_department_id,
149
+ req_user_section_id,
150
+ service_id,
151
+ sub_service_id,
152
+ status,
153
+ request_id,
154
+ ...(request_fields ?? {}),
155
+ };
156
+ }
@@ -0,0 +1,14 @@
1
+ export declare abstract class UUIDModel0 {
2
+ jsonIgnore: string[];
3
+ created_by?: string;
4
+ created_at?: Date;
5
+ updated_by?: string;
6
+ updated_at?: Date;
7
+ insertCreated(): void;
8
+ is_deleted?: boolean;
9
+ constructor();
10
+ }
11
+ export declare abstract class UUIDBaseModel extends UUIDModel0 {
12
+ id: string;
13
+ constructor();
14
+ }
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.UUIDBaseModel = exports.UUIDModel0 = void 0;
16
+ const moment_timezone_1 = __importDefault(require("moment-timezone"));
17
+ const typeorm_1 = require("typeorm");
18
+ class UUIDModel0 {
19
+ insertCreated() {
20
+ const currentTime = (0, moment_timezone_1.default)().utc().tz('Asia/Kolkata').toDate();
21
+ this.created_at = currentTime;
22
+ this.updated_at = currentTime;
23
+ }
24
+ constructor() {
25
+ this.jsonIgnore = ['logicalDelete', 'is_deleted', 'jsonIgnore'];
26
+ this.is_deleted = false;
27
+ }
28
+ }
29
+ exports.UUIDModel0 = UUIDModel0;
30
+ __decorate([
31
+ (0, typeorm_1.Column)({ type: 'uuid', nullable: true }),
32
+ __metadata("design:type", String)
33
+ ], UUIDModel0.prototype, "created_by", void 0);
34
+ __decorate([
35
+ (0, typeorm_1.CreateDateColumn)({ type: "timestamptz", default: () => "CURRENT_TIMESTAMP" }),
36
+ __metadata("design:type", Date)
37
+ ], UUIDModel0.prototype, "created_at", void 0);
38
+ __decorate([
39
+ (0, typeorm_1.Column)({ type: 'uuid', nullable: true }),
40
+ __metadata("design:type", String)
41
+ ], UUIDModel0.prototype, "updated_by", void 0);
42
+ __decorate([
43
+ (0, typeorm_1.UpdateDateColumn)({ type: "timestamptz", default: () => "CURRENT_TIMESTAMP" }),
44
+ __metadata("design:type", Date)
45
+ ], UUIDModel0.prototype, "updated_at", void 0);
46
+ __decorate([
47
+ (0, typeorm_1.BeforeInsert)(),
48
+ __metadata("design:type", Function),
49
+ __metadata("design:paramtypes", []),
50
+ __metadata("design:returntype", void 0)
51
+ ], UUIDModel0.prototype, "insertCreated", null);
52
+ __decorate([
53
+ (0, typeorm_1.Column)({ nullable: true, default: false }),
54
+ __metadata("design:type", Boolean)
55
+ ], UUIDModel0.prototype, "is_deleted", void 0);
56
+ class UUIDBaseModel extends UUIDModel0 {
57
+ constructor() {
58
+ super();
59
+ this.id = ''; // This will be set by the database when the entity is saved
60
+ }
61
+ }
62
+ exports.UUIDBaseModel = UUIDBaseModel;
63
+ __decorate([
64
+ (0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
65
+ __metadata("design:type", String)
66
+ ], UUIDBaseModel.prototype, "id", void 0);
@@ -0,0 +1,88 @@
1
+ import { BaseModel } from "./BaseModel";
2
+ export declare enum WorkingHoursExtensionRequestStatus {
3
+ Pending = "Pending",
4
+ Approved = "Approved",
5
+ Rejected = "Rejected",
6
+ RFC = "RFC"
7
+ }
8
+ export declare enum WorkingHoursExtensionWorkflowStatus {
9
+ Pending = "Pending",
10
+ InProgress = "In Progress",
11
+ Completed = "Completed",
12
+ Approved = "Approved",
13
+ Rejected = "Rejected"
14
+ }
15
+ export declare class WorkingHoursExtensionRequest extends BaseModel {
16
+ req_user_department_id: number | null;
17
+ req_user_section_id: number | null;
18
+ service_id: number | null;
19
+ sub_service_id: number | null;
20
+ user_id: number;
21
+ requested_extension_date: Date;
22
+ requested_start_time: string;
23
+ requested_end_time: string;
24
+ reason_for_extension: string;
25
+ room_or_area: string;
26
+ description: string | null;
27
+ status: string;
28
+ workflow_execution_id: string | null;
29
+ created_by: number;
30
+ }
31
+ export declare enum WorkingHoursExtensionApprovalStatus {
32
+ Pending = "Pending",
33
+ InProgress = "In Progress",
34
+ Approved = "Approved",
35
+ Rejected = "Rejected",
36
+ Reassigned = "Reassigned"
37
+ }
38
+ export declare class WorkingHoursExtensionApproval extends BaseModel {
39
+ request_id: number;
40
+ service_id: number | null;
41
+ sub_service_id: number | null;
42
+ level: number;
43
+ approver_user_id: number | null;
44
+ approver_role_id: number | null;
45
+ department_id: number | null;
46
+ section_id: number | null;
47
+ delegate_user_id: number | null;
48
+ comment: string;
49
+ approval_status: string;
50
+ }
51
+ export declare class WorkingHoursExtensionWorkflow extends BaseModel {
52
+ request_id: number;
53
+ service_id: number | null;
54
+ sub_service_id: number | null;
55
+ workflow_definition_id: number | null;
56
+ current_level: number | null;
57
+ content: string | null;
58
+ status: string;
59
+ step_order: number | null;
60
+ user_id: number | null;
61
+ role_id: number | null;
62
+ department_id: number | null;
63
+ section_id: number | null;
64
+ workflow_data: string | null;
65
+ created_by: number;
66
+ }
67
+ export declare class WorkingHoursExtensionChat extends BaseModel {
68
+ request_id: number;
69
+ service_id: number;
70
+ sub_service_id: number;
71
+ user_id: number;
72
+ approver_role_id: number | null;
73
+ message: string;
74
+ message_type: string;
75
+ status: string | null;
76
+ is_internal: boolean;
77
+ created_by: number;
78
+ }
79
+ export declare class WorkingHoursExtensionAttachment extends BaseModel {
80
+ request_id: number;
81
+ service_id: number;
82
+ sub_service_id: number;
83
+ file_name: string;
84
+ file_url: string;
85
+ file_type: string | null;
86
+ file_size: number | null;
87
+ created_by: number;
88
+ }
@@ -0,0 +1,295 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.WorkingHoursExtensionAttachment = exports.WorkingHoursExtensionChat = exports.WorkingHoursExtensionWorkflow = exports.WorkingHoursExtensionApproval = exports.WorkingHoursExtensionApprovalStatus = exports.WorkingHoursExtensionRequest = exports.WorkingHoursExtensionWorkflowStatus = exports.WorkingHoursExtensionRequestStatus = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ var WorkingHoursExtensionRequestStatus;
16
+ (function (WorkingHoursExtensionRequestStatus) {
17
+ WorkingHoursExtensionRequestStatus["Pending"] = "Pending";
18
+ WorkingHoursExtensionRequestStatus["Approved"] = "Approved";
19
+ WorkingHoursExtensionRequestStatus["Rejected"] = "Rejected";
20
+ WorkingHoursExtensionRequestStatus["RFC"] = "RFC";
21
+ })(WorkingHoursExtensionRequestStatus || (exports.WorkingHoursExtensionRequestStatus = WorkingHoursExtensionRequestStatus = {}));
22
+ var WorkingHoursExtensionWorkflowStatus;
23
+ (function (WorkingHoursExtensionWorkflowStatus) {
24
+ WorkingHoursExtensionWorkflowStatus["Pending"] = "Pending";
25
+ WorkingHoursExtensionWorkflowStatus["InProgress"] = "In Progress";
26
+ WorkingHoursExtensionWorkflowStatus["Completed"] = "Completed";
27
+ WorkingHoursExtensionWorkflowStatus["Approved"] = "Approved";
28
+ WorkingHoursExtensionWorkflowStatus["Rejected"] = "Rejected";
29
+ })(WorkingHoursExtensionWorkflowStatus || (exports.WorkingHoursExtensionWorkflowStatus = WorkingHoursExtensionWorkflowStatus = {}));
30
+ let WorkingHoursExtensionRequest = class WorkingHoursExtensionRequest extends BaseModel_1.BaseModel {
31
+ };
32
+ exports.WorkingHoursExtensionRequest = WorkingHoursExtensionRequest;
33
+ __decorate([
34
+ (0, typeorm_1.Column)({ type: "int", nullable: true }),
35
+ __metadata("design:type", Object)
36
+ ], WorkingHoursExtensionRequest.prototype, "req_user_department_id", void 0);
37
+ __decorate([
38
+ (0, typeorm_1.Column)({ type: "int", nullable: true }),
39
+ __metadata("design:type", Object)
40
+ ], WorkingHoursExtensionRequest.prototype, "req_user_section_id", void 0);
41
+ __decorate([
42
+ (0, typeorm_1.Column)({ type: "int", nullable: true }),
43
+ __metadata("design:type", Object)
44
+ ], WorkingHoursExtensionRequest.prototype, "service_id", void 0);
45
+ __decorate([
46
+ (0, typeorm_1.Column)({ type: "int", nullable: true }),
47
+ __metadata("design:type", Object)
48
+ ], WorkingHoursExtensionRequest.prototype, "sub_service_id", void 0);
49
+ __decorate([
50
+ (0, typeorm_1.Column)({ type: "int", nullable: false }),
51
+ __metadata("design:type", Number)
52
+ ], WorkingHoursExtensionRequest.prototype, "user_id", void 0);
53
+ __decorate([
54
+ (0, typeorm_1.Column)({ type: "date", nullable: false }),
55
+ __metadata("design:type", Date)
56
+ ], WorkingHoursExtensionRequest.prototype, "requested_extension_date", void 0);
57
+ __decorate([
58
+ (0, typeorm_1.Column)({ type: "varchar", length: 20, nullable: false }),
59
+ __metadata("design:type", String)
60
+ ], WorkingHoursExtensionRequest.prototype, "requested_start_time", void 0);
61
+ __decorate([
62
+ (0, typeorm_1.Column)({ type: "varchar", length: 20, nullable: false }),
63
+ __metadata("design:type", String)
64
+ ], WorkingHoursExtensionRequest.prototype, "requested_end_time", void 0);
65
+ __decorate([
66
+ (0, typeorm_1.Column)({ type: "text", nullable: false }),
67
+ __metadata("design:type", String)
68
+ ], WorkingHoursExtensionRequest.prototype, "reason_for_extension", void 0);
69
+ __decorate([
70
+ (0, typeorm_1.Column)({ type: "varchar", length: 255, nullable: false }),
71
+ __metadata("design:type", String)
72
+ ], WorkingHoursExtensionRequest.prototype, "room_or_area", void 0);
73
+ __decorate([
74
+ (0, typeorm_1.Column)({ type: "text", nullable: true }),
75
+ __metadata("design:type", Object)
76
+ ], WorkingHoursExtensionRequest.prototype, "description", void 0);
77
+ __decorate([
78
+ (0, typeorm_1.Column)({ type: "varchar", length: 50, nullable: false, default: WorkingHoursExtensionRequestStatus.Pending }),
79
+ __metadata("design:type", String)
80
+ ], WorkingHoursExtensionRequest.prototype, "status", void 0);
81
+ __decorate([
82
+ (0, typeorm_1.Column)({ type: "varchar", length: 255, nullable: true }),
83
+ __metadata("design:type", Object)
84
+ ], WorkingHoursExtensionRequest.prototype, "workflow_execution_id", void 0);
85
+ __decorate([
86
+ (0, typeorm_1.Column)({ type: "int", nullable: false }),
87
+ __metadata("design:type", Number)
88
+ ], WorkingHoursExtensionRequest.prototype, "created_by", void 0);
89
+ exports.WorkingHoursExtensionRequest = WorkingHoursExtensionRequest = __decorate([
90
+ (0, typeorm_1.Entity)({ name: "working_hours_extension_requests" })
91
+ ], WorkingHoursExtensionRequest);
92
+ var WorkingHoursExtensionApprovalStatus;
93
+ (function (WorkingHoursExtensionApprovalStatus) {
94
+ WorkingHoursExtensionApprovalStatus["Pending"] = "Pending";
95
+ WorkingHoursExtensionApprovalStatus["InProgress"] = "In Progress";
96
+ WorkingHoursExtensionApprovalStatus["Approved"] = "Approved";
97
+ WorkingHoursExtensionApprovalStatus["Rejected"] = "Rejected";
98
+ WorkingHoursExtensionApprovalStatus["Reassigned"] = "Reassigned";
99
+ })(WorkingHoursExtensionApprovalStatus || (exports.WorkingHoursExtensionApprovalStatus = WorkingHoursExtensionApprovalStatus = {}));
100
+ let WorkingHoursExtensionApproval = class WorkingHoursExtensionApproval extends BaseModel_1.BaseModel {
101
+ };
102
+ exports.WorkingHoursExtensionApproval = WorkingHoursExtensionApproval;
103
+ __decorate([
104
+ (0, typeorm_1.Column)({ type: "int", nullable: false }),
105
+ __metadata("design:type", Number)
106
+ ], WorkingHoursExtensionApproval.prototype, "request_id", void 0);
107
+ __decorate([
108
+ (0, typeorm_1.Column)({ type: "int", nullable: true }),
109
+ __metadata("design:type", Object)
110
+ ], WorkingHoursExtensionApproval.prototype, "service_id", void 0);
111
+ __decorate([
112
+ (0, typeorm_1.Column)({ type: "int", nullable: true }),
113
+ __metadata("design:type", Object)
114
+ ], WorkingHoursExtensionApproval.prototype, "sub_service_id", void 0);
115
+ __decorate([
116
+ (0, typeorm_1.Column)({ type: "int", nullable: false }),
117
+ __metadata("design:type", Number)
118
+ ], WorkingHoursExtensionApproval.prototype, "level", void 0);
119
+ __decorate([
120
+ (0, typeorm_1.Column)({ type: "int", nullable: true }),
121
+ __metadata("design:type", Object)
122
+ ], WorkingHoursExtensionApproval.prototype, "approver_user_id", void 0);
123
+ __decorate([
124
+ (0, typeorm_1.Column)({ type: "int", nullable: true }),
125
+ __metadata("design:type", Object)
126
+ ], WorkingHoursExtensionApproval.prototype, "approver_role_id", void 0);
127
+ __decorate([
128
+ (0, typeorm_1.Column)({ type: "int", nullable: true }),
129
+ __metadata("design:type", Object)
130
+ ], WorkingHoursExtensionApproval.prototype, "department_id", void 0);
131
+ __decorate([
132
+ (0, typeorm_1.Column)({ type: "int", nullable: true }),
133
+ __metadata("design:type", Object)
134
+ ], WorkingHoursExtensionApproval.prototype, "section_id", void 0);
135
+ __decorate([
136
+ (0, typeorm_1.Column)({ type: "int", nullable: true }),
137
+ __metadata("design:type", Object)
138
+ ], WorkingHoursExtensionApproval.prototype, "delegate_user_id", void 0);
139
+ __decorate([
140
+ (0, typeorm_1.Column)({ type: "varchar", length: 255, nullable: true, default: "" }),
141
+ __metadata("design:type", String)
142
+ ], WorkingHoursExtensionApproval.prototype, "comment", void 0);
143
+ __decorate([
144
+ (0, typeorm_1.Column)({ type: "varchar", length: 50, nullable: false, default: WorkingHoursExtensionApprovalStatus.Pending }),
145
+ __metadata("design:type", String)
146
+ ], WorkingHoursExtensionApproval.prototype, "approval_status", void 0);
147
+ exports.WorkingHoursExtensionApproval = WorkingHoursExtensionApproval = __decorate([
148
+ (0, typeorm_1.Entity)({ name: "working_hours_extension_approvals" })
149
+ ], WorkingHoursExtensionApproval);
150
+ let WorkingHoursExtensionWorkflow = class WorkingHoursExtensionWorkflow extends BaseModel_1.BaseModel {
151
+ };
152
+ exports.WorkingHoursExtensionWorkflow = WorkingHoursExtensionWorkflow;
153
+ __decorate([
154
+ (0, typeorm_1.Column)({ type: "int", nullable: false }),
155
+ __metadata("design:type", Number)
156
+ ], WorkingHoursExtensionWorkflow.prototype, "request_id", void 0);
157
+ __decorate([
158
+ (0, typeorm_1.Column)({ type: "int", nullable: true }),
159
+ __metadata("design:type", Object)
160
+ ], WorkingHoursExtensionWorkflow.prototype, "service_id", void 0);
161
+ __decorate([
162
+ (0, typeorm_1.Column)({ type: "int", nullable: true }),
163
+ __metadata("design:type", Object)
164
+ ], WorkingHoursExtensionWorkflow.prototype, "sub_service_id", void 0);
165
+ __decorate([
166
+ (0, typeorm_1.Column)({ type: "int", nullable: true }),
167
+ __metadata("design:type", Object)
168
+ ], WorkingHoursExtensionWorkflow.prototype, "workflow_definition_id", void 0);
169
+ __decorate([
170
+ (0, typeorm_1.Column)({ type: "int", nullable: true }),
171
+ __metadata("design:type", Object)
172
+ ], WorkingHoursExtensionWorkflow.prototype, "current_level", void 0);
173
+ __decorate([
174
+ (0, typeorm_1.Column)({ type: "varchar", length: 500, nullable: true }),
175
+ __metadata("design:type", Object)
176
+ ], WorkingHoursExtensionWorkflow.prototype, "content", void 0);
177
+ __decorate([
178
+ (0, typeorm_1.Column)({ type: "varchar", length: 50, nullable: false }),
179
+ __metadata("design:type", String)
180
+ ], WorkingHoursExtensionWorkflow.prototype, "status", void 0);
181
+ __decorate([
182
+ (0, typeorm_1.Column)({ type: "int", nullable: true }),
183
+ __metadata("design:type", Object)
184
+ ], WorkingHoursExtensionWorkflow.prototype, "step_order", void 0);
185
+ __decorate([
186
+ (0, typeorm_1.Column)({ type: "int", nullable: true }),
187
+ __metadata("design:type", Object)
188
+ ], WorkingHoursExtensionWorkflow.prototype, "user_id", void 0);
189
+ __decorate([
190
+ (0, typeorm_1.Column)({ type: "int", nullable: true }),
191
+ __metadata("design:type", Object)
192
+ ], WorkingHoursExtensionWorkflow.prototype, "role_id", void 0);
193
+ __decorate([
194
+ (0, typeorm_1.Column)({ type: "int", nullable: true }),
195
+ __metadata("design:type", Object)
196
+ ], WorkingHoursExtensionWorkflow.prototype, "department_id", void 0);
197
+ __decorate([
198
+ (0, typeorm_1.Column)({ type: "int", nullable: true }),
199
+ __metadata("design:type", Object)
200
+ ], WorkingHoursExtensionWorkflow.prototype, "section_id", void 0);
201
+ __decorate([
202
+ (0, typeorm_1.Column)({ type: "text", nullable: true }),
203
+ __metadata("design:type", Object)
204
+ ], WorkingHoursExtensionWorkflow.prototype, "workflow_data", void 0);
205
+ __decorate([
206
+ (0, typeorm_1.Column)({ type: "int", nullable: false }),
207
+ __metadata("design:type", Number)
208
+ ], WorkingHoursExtensionWorkflow.prototype, "created_by", void 0);
209
+ exports.WorkingHoursExtensionWorkflow = WorkingHoursExtensionWorkflow = __decorate([
210
+ (0, typeorm_1.Entity)({ name: "working_hours_extension_workflow" })
211
+ ], WorkingHoursExtensionWorkflow);
212
+ let WorkingHoursExtensionChat = class WorkingHoursExtensionChat extends BaseModel_1.BaseModel {
213
+ };
214
+ exports.WorkingHoursExtensionChat = WorkingHoursExtensionChat;
215
+ __decorate([
216
+ (0, typeorm_1.Column)({ type: "int", nullable: false }),
217
+ __metadata("design:type", Number)
218
+ ], WorkingHoursExtensionChat.prototype, "request_id", void 0);
219
+ __decorate([
220
+ (0, typeorm_1.Column)({ type: "int", nullable: false }),
221
+ __metadata("design:type", Number)
222
+ ], WorkingHoursExtensionChat.prototype, "service_id", void 0);
223
+ __decorate([
224
+ (0, typeorm_1.Column)({ type: "int", nullable: false }),
225
+ __metadata("design:type", Number)
226
+ ], WorkingHoursExtensionChat.prototype, "sub_service_id", void 0);
227
+ __decorate([
228
+ (0, typeorm_1.Column)({ type: "int", nullable: false }),
229
+ __metadata("design:type", Number)
230
+ ], WorkingHoursExtensionChat.prototype, "user_id", void 0);
231
+ __decorate([
232
+ (0, typeorm_1.Column)({ type: "int", nullable: true }),
233
+ __metadata("design:type", Object)
234
+ ], WorkingHoursExtensionChat.prototype, "approver_role_id", void 0);
235
+ __decorate([
236
+ (0, typeorm_1.Column)({ type: "text", nullable: false }),
237
+ __metadata("design:type", String)
238
+ ], WorkingHoursExtensionChat.prototype, "message", void 0);
239
+ __decorate([
240
+ (0, typeorm_1.Column)({ type: "varchar", length: 50, nullable: false, default: "text" }),
241
+ __metadata("design:type", String)
242
+ ], WorkingHoursExtensionChat.prototype, "message_type", void 0);
243
+ __decorate([
244
+ (0, typeorm_1.Column)({ type: "varchar", length: 50, nullable: true }),
245
+ __metadata("design:type", Object)
246
+ ], WorkingHoursExtensionChat.prototype, "status", void 0);
247
+ __decorate([
248
+ (0, typeorm_1.Column)({ type: "boolean", nullable: false, default: false }),
249
+ __metadata("design:type", Boolean)
250
+ ], WorkingHoursExtensionChat.prototype, "is_internal", void 0);
251
+ __decorate([
252
+ (0, typeorm_1.Column)({ type: "int", nullable: false }),
253
+ __metadata("design:type", Number)
254
+ ], WorkingHoursExtensionChat.prototype, "created_by", void 0);
255
+ exports.WorkingHoursExtensionChat = WorkingHoursExtensionChat = __decorate([
256
+ (0, typeorm_1.Entity)({ name: "working_hours_extension_chat" })
257
+ ], WorkingHoursExtensionChat);
258
+ let WorkingHoursExtensionAttachment = class WorkingHoursExtensionAttachment extends BaseModel_1.BaseModel {
259
+ };
260
+ exports.WorkingHoursExtensionAttachment = WorkingHoursExtensionAttachment;
261
+ __decorate([
262
+ (0, typeorm_1.Column)({ type: "int", nullable: false }),
263
+ __metadata("design:type", Number)
264
+ ], WorkingHoursExtensionAttachment.prototype, "request_id", void 0);
265
+ __decorate([
266
+ (0, typeorm_1.Column)({ type: "int", nullable: false }),
267
+ __metadata("design:type", Number)
268
+ ], WorkingHoursExtensionAttachment.prototype, "service_id", void 0);
269
+ __decorate([
270
+ (0, typeorm_1.Column)({ type: "int", nullable: false }),
271
+ __metadata("design:type", Number)
272
+ ], WorkingHoursExtensionAttachment.prototype, "sub_service_id", void 0);
273
+ __decorate([
274
+ (0, typeorm_1.Column)({ type: "varchar", length: 255, nullable: false }),
275
+ __metadata("design:type", String)
276
+ ], WorkingHoursExtensionAttachment.prototype, "file_name", void 0);
277
+ __decorate([
278
+ (0, typeorm_1.Column)({ type: "text", nullable: false }),
279
+ __metadata("design:type", String)
280
+ ], WorkingHoursExtensionAttachment.prototype, "file_url", void 0);
281
+ __decorate([
282
+ (0, typeorm_1.Column)({ type: "varchar", length: 120, nullable: true }),
283
+ __metadata("design:type", Object)
284
+ ], WorkingHoursExtensionAttachment.prototype, "file_type", void 0);
285
+ __decorate([
286
+ (0, typeorm_1.Column)({ type: "int", nullable: true }),
287
+ __metadata("design:type", Object)
288
+ ], WorkingHoursExtensionAttachment.prototype, "file_size", void 0);
289
+ __decorate([
290
+ (0, typeorm_1.Column)({ type: "int", nullable: false }),
291
+ __metadata("design:type", Number)
292
+ ], WorkingHoursExtensionAttachment.prototype, "created_by", void 0);
293
+ exports.WorkingHoursExtensionAttachment = WorkingHoursExtensionAttachment = __decorate([
294
+ (0, typeorm_1.Entity)({ name: "working_hours_extension_attachments" })
295
+ ], WorkingHoursExtensionAttachment);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platform-modules/civil-aviation-authority",
3
- "version": "2.3.251",
3
+ "version": "2.3.258",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
@@ -0,0 +1,49 @@
1
+ -- SLA "my requests" read model: joined display names + filtered request_obj payload.
2
+ -- Run once against the EmpPortal PostgreSQL database:
3
+ -- psql -U <user> -d <database> -f sql/vw_sla_my_requests.sql
4
+
5
+ CREATE OR REPLACE VIEW vw_sla_my_requests AS
6
+ SELECT
7
+ sr.id AS sla_request_id,
8
+ sr.user_id,
9
+ TRIM(COALESCE(creator.employee_name, ''))::TEXT AS created_by,
10
+ sr.created_at,
11
+ TRIM(COALESCE(dept.department_name, ''))::TEXT AS req_user_department_id,
12
+ TRIM(COALESCE(sec.section_name, ''))::TEXT AS req_user_section_id,
13
+ TRIM(COALESCE(svc.name, ''))::TEXT AS service_id,
14
+ TRIM(COALESCE(subsvc.sub_service_name, ''))::TEXT AS sub_service_id,
15
+ sr.status::TEXT AS status,
16
+ sr.request_id,
17
+ (
18
+ COALESCE(sr.request_obj, '{}'::jsonb)
19
+ - 'id'
20
+ - 'status'
21
+ - 'role_id'
22
+ - 'user_id'
23
+ - 'createdBy'
24
+ - 'created_at'
25
+ - 'updated_by'
26
+ - 'updated_at'
27
+ - 'req_user_department_id'
28
+ - 'workflow_execution_id'
29
+ - 'department_id'
30
+ - 'req_user_section_id'
31
+ - 'service_type_id'
32
+ - 'service_type'
33
+ - 'created_by'
34
+ - 'service_id'
35
+ - 'sub_service_id'
36
+ - 'attachments'
37
+ ) AS request_fields
38
+ FROM sla_requests sr
39
+ LEFT JOIN users creator
40
+ ON creator.id = sr.created_by AND COALESCE(creator.is_deleted, false) = false
41
+ LEFT JOIN departments dept
42
+ ON dept.id = sr.req_user_department_id AND COALESCE(dept.is_deleted, false) = false
43
+ LEFT JOIN sections sec
44
+ ON sec.id = sr.req_user_section_id AND COALESCE(sec.is_deleted, false) = false
45
+ LEFT JOIN caa_services svc
46
+ ON svc.id = sr.service_id AND COALESCE(svc.is_deleted, false) = false
47
+ LEFT JOIN caa_sub_services subsvc
48
+ ON subsvc.id = sr.sub_service_id AND COALESCE(subsvc.is_deleted, false) = false
49
+ WHERE COALESCE(sr.is_deleted, false) = false;