@platform-modules/civil-aviation-authority 2.3.260 → 2.3.261

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.
@@ -1,5 +1,3 @@
1
- /** Reuse the same `request_obj` key exclusions as my-requests. */
2
- export declare const SLA_APPROVALS_REQUEST_OBJ_EXCLUDED_KEYS: readonly ["id", "status", "role_id", "user_id", "createdBy", "created_at", "updated_by", "updated_at", "req_user_department_id", "workflow_execution_id", "department_id", "req_user_section_id", "service_type_id", "service_type", "created_by", "service_id", "sub_service_id", "attachments", "is_deleted", "sla_request", "sla_request_id"];
3
1
  /**
4
2
  * Read-only view for SLA approvals listings (TypeORM).
5
3
  * Approver matching (`sla_approval_matches_user` semantics) is applied in Reports_Service queries.
@@ -12,12 +10,12 @@ export declare class SlaApprovalsView {
12
10
  sub_service_id: number;
13
11
  service_name: string;
14
12
  sub_service_name: string;
15
- department_id: number;
16
- department_name: string;
17
- section_id: number;
18
- section_name: string;
19
- role_id: number;
20
- role_name: string;
13
+ approval_role_id: number;
14
+ approval_role_name: string;
15
+ approval_department_id: number;
16
+ approval_department_name: string;
17
+ approval_section_id: number;
18
+ approval_section_name: string;
21
19
  approval_status: string;
22
20
  request_status: string;
23
21
  level: number;
@@ -30,9 +28,4 @@ export declare class SlaApprovalsView {
30
28
  comment: string;
31
29
  created_at: Date;
32
30
  updated_at: Date;
33
- requester_user_id: number;
34
- requester_name: string;
35
- req_user_department_name: string;
36
- req_user_section_name: string;
37
- request_fields: Record<string, unknown>;
38
31
  }
@@ -9,36 +9,8 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.SlaApprovalsView = exports.SLA_APPROVALS_REQUEST_OBJ_EXCLUDED_KEYS = void 0;
12
+ exports.SlaApprovalsView = void 0;
13
13
  const typeorm_1 = require("typeorm");
14
- const SlaMyRequestsViewModel_1 = require("./SlaMyRequestsViewModel");
15
- /** Reuse the same `request_obj` key exclusions as my-requests. */
16
- exports.SLA_APPROVALS_REQUEST_OBJ_EXCLUDED_KEYS = SlaMyRequestsViewModel_1.SLA_MY_REQUESTS_REQUEST_OBJ_EXCLUDED_KEYS;
17
- const REQUEST_FIELDS_SQL = `
18
- (
19
- COALESCE(sr.request_obj, '{}'::jsonb)
20
- - 'id'
21
- - 'status'
22
- - 'role_id'
23
- - 'user_id'
24
- - 'createdBy'
25
- - 'created_at'
26
- - 'updated_by'
27
- - 'updated_at'
28
- - 'req_user_department_id'
29
- - 'workflow_execution_id'
30
- - 'department_id'
31
- - 'req_user_section_id'
32
- - 'service_type_id'
33
- - 'service_type'
34
- - 'created_by'
35
- - 'service_id'
36
- - 'sub_service_id'
37
- - 'attachments'
38
- - 'is_deleted'
39
- - 'sla_request'
40
- - 'sla_request_id'
41
- ) AS request_fields`;
42
14
  const VW_SLA_APPROVALS_SQL = `
43
15
  SELECT
44
16
  sa.id AS sla_approval_id,
@@ -48,12 +20,12 @@ SELECT
48
20
  sa.sub_service_id AS sub_service_id,
49
21
  TRIM(COALESCE(svc.name, ''))::TEXT AS service_name,
50
22
  TRIM(COALESCE(subsvc.sub_service_name, ''))::TEXT AS sub_service_name,
51
- sa.department_id AS department_id,
52
- TRIM(COALESCE(adpt.department_name, ''))::TEXT AS department_name,
53
- sa.section_id AS section_id,
54
- TRIM(COALESCE(asec.section_name, ''))::TEXT AS section_name,
55
- sa.approver_role_id AS role_id,
56
- TRIM(COALESCE(ar.name, ''))::TEXT AS role_name,
23
+ sa.approver_role_id AS approval_role_id,
24
+ TRIM(COALESCE(ar.name, ''))::TEXT AS approval_role_name,
25
+ sa.department_id AS approval_department_id,
26
+ TRIM(COALESCE(adpt.department_name, ''))::TEXT AS approval_department_name,
27
+ sa.section_id AS approval_section_id,
28
+ TRIM(COALESCE(asec.section_name, ''))::TEXT AS approval_section_name,
57
29
  sa.approval_status::TEXT AS approval_status,
58
30
  sr.status::TEXT AS request_status,
59
31
  sa.level AS level,
@@ -65,12 +37,7 @@ SELECT
65
37
  TRIM(COALESCE(ab.employee_name, ''))::TEXT AS approved_by_name,
66
38
  sa.comment::TEXT AS comment,
67
39
  sa.created_at AS created_at,
68
- sa.updated_at AS updated_at,
69
- sr.user_id AS requester_user_id,
70
- TRIM(COALESCE(ru.employee_name, ''))::TEXT AS requester_name,
71
- TRIM(COALESCE(rdept.department_name, ''))::TEXT AS req_user_department_name,
72
- TRIM(COALESCE(rsec.section_name, ''))::TEXT AS req_user_section_name,
73
- ${REQUEST_FIELDS_SQL}
40
+ sa.updated_at AS updated_at
74
41
  FROM sla_approval sa
75
42
  INNER JOIN sla_requests sr
76
43
  ON sr.request_id = sa.request_id AND COALESCE(sr.is_deleted, false) = false
@@ -90,12 +57,6 @@ LEFT JOIN users du
90
57
  ON du.id = sa.delegate_user_id AND COALESCE(du.is_deleted, false) = false
91
58
  LEFT JOIN users ab
92
59
  ON ab.id = sa.approved_by AND COALESCE(ab.is_deleted, false) = false
93
- LEFT JOIN users ru
94
- ON ru.id = sr.user_id AND COALESCE(ru.is_deleted, false) = false
95
- LEFT JOIN departments rdept
96
- ON rdept.id = sr.req_user_department_id AND COALESCE(rdept.is_deleted, false) = false
97
- LEFT JOIN sections rsec
98
- ON rsec.id = sr.req_user_section_id AND COALESCE(rsec.is_deleted, false) = false
99
60
  WHERE COALESCE(sa.is_deleted, false) = false
100
61
  `;
101
62
  /**
@@ -136,27 +97,27 @@ __decorate([
136
97
  __decorate([
137
98
  (0, typeorm_1.ViewColumn)(),
138
99
  __metadata("design:type", Number)
139
- ], SlaApprovalsView.prototype, "department_id", void 0);
100
+ ], SlaApprovalsView.prototype, "approval_role_id", void 0);
140
101
  __decorate([
141
102
  (0, typeorm_1.ViewColumn)(),
142
103
  __metadata("design:type", String)
143
- ], SlaApprovalsView.prototype, "department_name", void 0);
104
+ ], SlaApprovalsView.prototype, "approval_role_name", void 0);
144
105
  __decorate([
145
106
  (0, typeorm_1.ViewColumn)(),
146
107
  __metadata("design:type", Number)
147
- ], SlaApprovalsView.prototype, "section_id", void 0);
108
+ ], SlaApprovalsView.prototype, "approval_department_id", void 0);
148
109
  __decorate([
149
110
  (0, typeorm_1.ViewColumn)(),
150
111
  __metadata("design:type", String)
151
- ], SlaApprovalsView.prototype, "section_name", void 0);
112
+ ], SlaApprovalsView.prototype, "approval_department_name", void 0);
152
113
  __decorate([
153
114
  (0, typeorm_1.ViewColumn)(),
154
115
  __metadata("design:type", Number)
155
- ], SlaApprovalsView.prototype, "role_id", void 0);
116
+ ], SlaApprovalsView.prototype, "approval_section_id", void 0);
156
117
  __decorate([
157
118
  (0, typeorm_1.ViewColumn)(),
158
119
  __metadata("design:type", String)
159
- ], SlaApprovalsView.prototype, "role_name", void 0);
120
+ ], SlaApprovalsView.prototype, "approval_section_name", void 0);
160
121
  __decorate([
161
122
  (0, typeorm_1.ViewColumn)(),
162
123
  __metadata("design:type", String)
@@ -205,26 +166,6 @@ __decorate([
205
166
  (0, typeorm_1.ViewColumn)(),
206
167
  __metadata("design:type", Date)
207
168
  ], SlaApprovalsView.prototype, "updated_at", void 0);
208
- __decorate([
209
- (0, typeorm_1.ViewColumn)(),
210
- __metadata("design:type", Number)
211
- ], SlaApprovalsView.prototype, "requester_user_id", void 0);
212
- __decorate([
213
- (0, typeorm_1.ViewColumn)(),
214
- __metadata("design:type", String)
215
- ], SlaApprovalsView.prototype, "requester_name", void 0);
216
- __decorate([
217
- (0, typeorm_1.ViewColumn)(),
218
- __metadata("design:type", String)
219
- ], SlaApprovalsView.prototype, "req_user_department_name", void 0);
220
- __decorate([
221
- (0, typeorm_1.ViewColumn)(),
222
- __metadata("design:type", String)
223
- ], SlaApprovalsView.prototype, "req_user_section_name", void 0);
224
- __decorate([
225
- (0, typeorm_1.ViewColumn)(),
226
- __metadata("design:type", Object)
227
- ], SlaApprovalsView.prototype, "request_fields", void 0);
228
169
  exports.SlaApprovalsView = SlaApprovalsView = __decorate([
229
170
  (0, typeorm_1.ViewEntity)({
230
171
  name: "vw_sla_approvals",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platform-modules/civil-aviation-authority",
3
- "version": "2.3.260",
3
+ "version": "2.3.261",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
@@ -1,88 +1,54 @@
1
- -- SLA approvals read model: joined display names + filtered request_obj payload.
2
- -- Approver-scope filtering is applied in Reports_Service (TypeORM), not in this view.
3
- -- Run once against the EmpPortal PostgreSQL database:
4
- -- psql -U <user> -d <database> -f sql/vw_sla_approvals.sql
5
-
6
- DROP VIEW IF EXISTS vw_sla_approvals CASCADE;
7
-
8
- CREATE VIEW vw_sla_approvals AS
9
- SELECT
10
- sa.id AS sla_approval_id,
11
- sa.source_approval_id,
12
- sa.request_id,
13
- sa.service_id AS service_id,
14
- sa.sub_service_id AS sub_service_id,
15
- TRIM(COALESCE(svc.name, ''))::TEXT AS service_name,
16
- TRIM(COALESCE(subsvc.sub_service_name, ''))::TEXT AS sub_service_name,
17
- sa.department_id AS department_id,
18
- TRIM(COALESCE(adpt.department_name, ''))::TEXT AS department_name,
19
- sa.section_id AS section_id,
20
- TRIM(COALESCE(asec.section_name, ''))::TEXT AS section_name,
21
- sa.approver_role_id AS role_id,
22
- TRIM(COALESCE(ar.name, ''))::TEXT AS role_name,
23
- sa.approval_status::TEXT AS approval_status,
24
- sr.status::TEXT AS request_status,
25
- sa.level AS level,
26
- sa.approver_user_id AS approver_user_id,
27
- TRIM(COALESCE(au.employee_name, ''))::TEXT AS approver_user_name,
28
- sa.delegate_user_id AS delegate_user_id,
29
- TRIM(COALESCE(du.employee_name, ''))::TEXT AS delegate_user_name,
30
- sa.approved_by AS approved_by,
31
- TRIM(COALESCE(ab.employee_name, ''))::TEXT AS approved_by_name,
32
- sa.comment::TEXT AS comment,
33
- sa.created_at AS created_at,
34
- sa.updated_at AS updated_at,
35
- sr.user_id AS requester_user_id,
36
- TRIM(COALESCE(ru.employee_name, ''))::TEXT AS requester_name,
37
- TRIM(COALESCE(rdept.department_name, ''))::TEXT AS req_user_department_name,
38
- TRIM(COALESCE(rsec.section_name, ''))::TEXT AS req_user_section_name,
39
- (
40
- COALESCE(sr.request_obj, '{}'::jsonb)
41
- - 'id'
42
- - 'status'
43
- - 'role_id'
44
- - 'user_id'
45
- - 'createdBy'
46
- - 'created_at'
47
- - 'updated_by'
48
- - 'updated_at'
49
- - 'req_user_department_id'
50
- - 'workflow_execution_id'
51
- - 'department_id'
52
- - 'req_user_section_id'
53
- - 'service_type_id'
54
- - 'service_type'
55
- - 'created_by'
56
- - 'service_id'
57
- - 'sub_service_id'
58
- - 'attachments'
59
- - 'is_deleted'
60
- - 'sla_request'
61
- - 'sla_request_id'
62
- ) AS request_fields
63
- FROM sla_approval sa
64
- INNER JOIN sla_requests sr
65
- ON sr.request_id = sa.request_id AND COALESCE(sr.is_deleted, false) = false
66
- LEFT JOIN caa_services svc
67
- ON svc.id = sa.service_id AND COALESCE(svc.is_deleted, false) = false
68
- LEFT JOIN caa_sub_services subsvc
69
- ON subsvc.id = sa.sub_service_id AND COALESCE(subsvc.is_deleted, false) = false
70
- LEFT JOIN departments adpt
71
- ON adpt.id = sa.department_id AND COALESCE(adpt.is_deleted, false) = false
72
- LEFT JOIN sections asec
73
- ON asec.id = sa.section_id AND COALESCE(asec.is_deleted, false) = false
74
- LEFT JOIN role ar
75
- ON ar.id = sa.approver_role_id AND COALESCE(ar.is_deleted, false) = false
76
- LEFT JOIN users au
77
- ON au.id = sa.approver_user_id AND COALESCE(au.is_deleted, false) = false
78
- LEFT JOIN users du
79
- ON du.id = sa.delegate_user_id AND COALESCE(du.is_deleted, false) = false
80
- LEFT JOIN users ab
81
- ON ab.id = sa.approved_by AND COALESCE(ab.is_deleted, false) = false
82
- LEFT JOIN users ru
83
- ON ru.id = sr.user_id AND COALESCE(ru.is_deleted, false) = false
84
- LEFT JOIN departments rdept
85
- ON rdept.id = sr.req_user_department_id AND COALESCE(rdept.is_deleted, false) = false
86
- LEFT JOIN sections rsec
87
- ON rsec.id = sr.req_user_section_id AND COALESCE(rsec.is_deleted, false) = false
88
- WHERE COALESCE(sa.is_deleted, false) = false;
1
+ -- SLA approvals read model: joined display names for approval routing.
2
+ -- Approver-scope filtering is applied in Reports_Service (TypeORM), not in this view.
3
+ -- Run once against the EmpPortal PostgreSQL database:
4
+ -- psql -U <user> -d <database> -f sql/vw_sla_approvals.sql
5
+
6
+ DROP VIEW IF EXISTS vw_sla_approvals CASCADE;
7
+
8
+ CREATE VIEW vw_sla_approvals AS
9
+ SELECT
10
+ sa.id AS sla_approval_id,
11
+ sa.source_approval_id,
12
+ sa.request_id,
13
+ sa.service_id AS service_id,
14
+ sa.sub_service_id AS sub_service_id,
15
+ TRIM(COALESCE(svc.name, ''))::TEXT AS service_name,
16
+ TRIM(COALESCE(subsvc.sub_service_name, ''))::TEXT AS sub_service_name,
17
+ sa.approver_role_id AS approval_role_id,
18
+ TRIM(COALESCE(ar.name, ''))::TEXT AS approval_role_name,
19
+ sa.department_id AS approval_department_id,
20
+ TRIM(COALESCE(adpt.department_name, ''))::TEXT AS approval_department_name,
21
+ sa.section_id AS approval_section_id,
22
+ TRIM(COALESCE(asec.section_name, ''))::TEXT AS approval_section_name,
23
+ sa.approval_status::TEXT AS approval_status,
24
+ sr.status::TEXT AS request_status,
25
+ sa.level AS level,
26
+ sa.approver_user_id AS approver_user_id,
27
+ TRIM(COALESCE(au.employee_name, ''))::TEXT AS approver_user_name,
28
+ sa.delegate_user_id AS delegate_user_id,
29
+ TRIM(COALESCE(du.employee_name, ''))::TEXT AS delegate_user_name,
30
+ sa.approved_by AS approved_by,
31
+ TRIM(COALESCE(ab.employee_name, ''))::TEXT AS approved_by_name,
32
+ sa.comment::TEXT AS comment,
33
+ sa.created_at AS created_at,
34
+ sa.updated_at AS updated_at
35
+ FROM sla_approval sa
36
+ INNER JOIN sla_requests sr
37
+ ON sr.request_id = sa.request_id AND COALESCE(sr.is_deleted, false) = false
38
+ LEFT JOIN caa_services svc
39
+ ON svc.id = sa.service_id AND COALESCE(svc.is_deleted, false) = false
40
+ LEFT JOIN caa_sub_services subsvc
41
+ ON subsvc.id = sa.sub_service_id AND COALESCE(subsvc.is_deleted, false) = false
42
+ LEFT JOIN departments adpt
43
+ ON adpt.id = sa.department_id AND COALESCE(adpt.is_deleted, false) = false
44
+ LEFT JOIN sections asec
45
+ ON asec.id = sa.section_id AND COALESCE(asec.is_deleted, false) = false
46
+ LEFT JOIN role ar
47
+ ON ar.id = sa.approver_role_id AND COALESCE(ar.is_deleted, false) = false
48
+ LEFT JOIN users au
49
+ ON au.id = sa.approver_user_id AND COALESCE(au.is_deleted, false) = false
50
+ LEFT JOIN users du
51
+ ON du.id = sa.delegate_user_id AND COALESCE(du.is_deleted, false) = false
52
+ LEFT JOIN users ab
53
+ ON ab.id = sa.approved_by AND COALESCE(ab.is_deleted, false) = false
54
+ WHERE COALESCE(sa.is_deleted, false) = false;
@@ -1,34 +1,4 @@
1
1
  import { ViewColumn, ViewEntity } from "typeorm";
2
- import { SLA_MY_REQUESTS_REQUEST_OBJ_EXCLUDED_KEYS } from "./SlaMyRequestsViewModel";
3
-
4
- /** Reuse the same `request_obj` key exclusions as my-requests. */
5
- export const SLA_APPROVALS_REQUEST_OBJ_EXCLUDED_KEYS = SLA_MY_REQUESTS_REQUEST_OBJ_EXCLUDED_KEYS;
6
-
7
- const REQUEST_FIELDS_SQL = `
8
- (
9
- COALESCE(sr.request_obj, '{}'::jsonb)
10
- - 'id'
11
- - 'status'
12
- - 'role_id'
13
- - 'user_id'
14
- - 'createdBy'
15
- - 'created_at'
16
- - 'updated_by'
17
- - 'updated_at'
18
- - 'req_user_department_id'
19
- - 'workflow_execution_id'
20
- - 'department_id'
21
- - 'req_user_section_id'
22
- - 'service_type_id'
23
- - 'service_type'
24
- - 'created_by'
25
- - 'service_id'
26
- - 'sub_service_id'
27
- - 'attachments'
28
- - 'is_deleted'
29
- - 'sla_request'
30
- - 'sla_request_id'
31
- ) AS request_fields`;
32
2
 
33
3
  const VW_SLA_APPROVALS_SQL = `
34
4
  SELECT
@@ -39,12 +9,12 @@ SELECT
39
9
  sa.sub_service_id AS sub_service_id,
40
10
  TRIM(COALESCE(svc.name, ''))::TEXT AS service_name,
41
11
  TRIM(COALESCE(subsvc.sub_service_name, ''))::TEXT AS sub_service_name,
42
- sa.department_id AS department_id,
43
- TRIM(COALESCE(adpt.department_name, ''))::TEXT AS department_name,
44
- sa.section_id AS section_id,
45
- TRIM(COALESCE(asec.section_name, ''))::TEXT AS section_name,
46
- sa.approver_role_id AS role_id,
47
- TRIM(COALESCE(ar.name, ''))::TEXT AS role_name,
12
+ sa.approver_role_id AS approval_role_id,
13
+ TRIM(COALESCE(ar.name, ''))::TEXT AS approval_role_name,
14
+ sa.department_id AS approval_department_id,
15
+ TRIM(COALESCE(adpt.department_name, ''))::TEXT AS approval_department_name,
16
+ sa.section_id AS approval_section_id,
17
+ TRIM(COALESCE(asec.section_name, ''))::TEXT AS approval_section_name,
48
18
  sa.approval_status::TEXT AS approval_status,
49
19
  sr.status::TEXT AS request_status,
50
20
  sa.level AS level,
@@ -56,12 +26,7 @@ SELECT
56
26
  TRIM(COALESCE(ab.employee_name, ''))::TEXT AS approved_by_name,
57
27
  sa.comment::TEXT AS comment,
58
28
  sa.created_at AS created_at,
59
- sa.updated_at AS updated_at,
60
- sr.user_id AS requester_user_id,
61
- TRIM(COALESCE(ru.employee_name, ''))::TEXT AS requester_name,
62
- TRIM(COALESCE(rdept.department_name, ''))::TEXT AS req_user_department_name,
63
- TRIM(COALESCE(rsec.section_name, ''))::TEXT AS req_user_section_name,
64
- ${REQUEST_FIELDS_SQL}
29
+ sa.updated_at AS updated_at
65
30
  FROM sla_approval sa
66
31
  INNER JOIN sla_requests sr
67
32
  ON sr.request_id = sa.request_id AND COALESCE(sr.is_deleted, false) = false
@@ -81,12 +46,6 @@ LEFT JOIN users du
81
46
  ON du.id = sa.delegate_user_id AND COALESCE(du.is_deleted, false) = false
82
47
  LEFT JOIN users ab
83
48
  ON ab.id = sa.approved_by AND COALESCE(ab.is_deleted, false) = false
84
- LEFT JOIN users ru
85
- ON ru.id = sr.user_id AND COALESCE(ru.is_deleted, false) = false
86
- LEFT JOIN departments rdept
87
- ON rdept.id = sr.req_user_department_id AND COALESCE(rdept.is_deleted, false) = false
88
- LEFT JOIN sections rsec
89
- ON rsec.id = sr.req_user_section_id AND COALESCE(rsec.is_deleted, false) = false
90
49
  WHERE COALESCE(sa.is_deleted, false) = false
91
50
  `;
92
51
 
@@ -121,22 +80,22 @@ export class SlaApprovalsView {
121
80
  sub_service_name: string;
122
81
 
123
82
  @ViewColumn()
124
- department_id: number;
83
+ approval_role_id: number;
125
84
 
126
85
  @ViewColumn()
127
- department_name: string;
86
+ approval_role_name: string;
128
87
 
129
88
  @ViewColumn()
130
- section_id: number;
89
+ approval_department_id: number;
131
90
 
132
91
  @ViewColumn()
133
- section_name: string;
92
+ approval_department_name: string;
134
93
 
135
94
  @ViewColumn()
136
- role_id: number;
95
+ approval_section_id: number;
137
96
 
138
97
  @ViewColumn()
139
- role_name: string;
98
+ approval_section_name: string;
140
99
 
141
100
  @ViewColumn()
142
101
  approval_status: string;
@@ -173,19 +132,4 @@ export class SlaApprovalsView {
173
132
 
174
133
  @ViewColumn()
175
134
  updated_at: Date;
176
-
177
- @ViewColumn()
178
- requester_user_id: number;
179
-
180
- @ViewColumn()
181
- requester_name: string;
182
-
183
- @ViewColumn()
184
- req_user_department_name: string;
185
-
186
- @ViewColumn()
187
- req_user_section_name: string;
188
-
189
- @ViewColumn()
190
- request_fields: Record<string, unknown>;
191
135
  }