@platform-modules/civil-aviation-authority 2.3.95 → 2.3.96

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 (30) hide show
  1. package/.env +10 -13
  2. package/dist/data-source.js +10 -0
  3. package/dist/index.d.ts +5 -0
  4. package/dist/index.js +6 -0
  5. package/dist/models/ResidentialUnitRentalApprovalModel.d.ts +23 -0
  6. package/dist/models/ResidentialUnitRentalApprovalModel.js +88 -0
  7. package/dist/models/ResidentialUnitRentalAttachmentModel.d.ts +12 -0
  8. package/dist/models/ResidentialUnitRentalAttachmentModel.js +56 -0
  9. package/dist/models/ResidentialUnitRentalChatModel.d.ts +18 -0
  10. package/dist/models/ResidentialUnitRentalChatModel.js +60 -0
  11. package/dist/models/ResidentialUnitRentalRequestModel.d.ts +48 -0
  12. package/dist/models/ResidentialUnitRentalRequestModel.js +123 -0
  13. package/dist/models/ResidentialUnitRentalWorkflowModel.d.ts +25 -0
  14. package/dist/models/ResidentialUnitRentalWorkflowModel.js +88 -0
  15. package/package.json +1 -2
  16. package/src/data-source.ts +10 -0
  17. package/src/index.ts +8 -1
  18. package/src/models/ResidentialUnitRentalApprovalModel.ts +141 -0
  19. package/src/models/ResidentialUnitRentalAttachmentModel.ts +79 -0
  20. package/src/models/ResidentialUnitRentalChatModel.ts +89 -0
  21. package/src/models/ResidentialUnitRentalRequestModel.ts +229 -0
  22. package/src/models/ResidentialUnitRentalWorkflowModel.ts +138 -0
  23. package/dist/models/ITApprovalSettings.d.ts +0 -7
  24. package/dist/models/ITApprovalSettings.js +0 -40
  25. package/dist/models/ITServicesTypesMuscatModel.d.ts +0 -6
  26. package/dist/models/ITServicesTypesMuscatModel.js +0 -34
  27. package/dist/models/ITServicesTypesSalalahModel.d.ts +0 -6
  28. package/dist/models/ITServicesTypesSalalahModel.js +0 -34
  29. package/dist/models/Workflows.d.ts +0 -0
  30. package/dist/models/Workflows.js +0 -31
@@ -133,6 +133,11 @@ import { PromotionRequest } from './models/PromotionRequestModel';
133
133
  import { AnnualIncrementRequest } from './models/AnnualIncrementRequestModel';
134
134
  import { SkillsEnhancementRequest } from './models/SkillsEnhancementRequestModel';
135
135
  import { CityMaster } from './models/CityMasterModel';
136
+ import { ResidentialUnitRentalRequest } from './models/ResidentialUnitRentalRequestModel';
137
+ import { ResidentialUnitRentalWorkflow } from './models/ResidentialUnitRentalWorkflowModel';
138
+ import { ResidentialUnitRentalApproval } from './models/ResidentialUnitRentalApprovalModel';
139
+ import { ResidentialUnitRentalChat } from './models/ResidentialUnitRentalChatModel';
140
+ import { ResidentialUnitRentalAttachment } from './models/ResidentialUnitRentalAttachmentModel';
136
141
 
137
142
  export const AppDataSource = new DataSource({
138
143
  type: 'postgres',
@@ -267,6 +272,11 @@ export const AppDataSource = new DataSource({
267
272
  AnnualIncrementRequest,
268
273
  SkillsEnhancementRequest,
269
274
  CityMaster,
275
+ ResidentialUnitRentalRequest,
276
+ ResidentialUnitRentalWorkflow,
277
+ ResidentialUnitRentalApproval,
278
+ ResidentialUnitRentalChat,
279
+ ResidentialUnitRentalAttachment,
270
280
  Document,
271
281
  DocumentFolder,
272
282
  DocumentType,
package/src/index.ts CHANGED
@@ -257,4 +257,11 @@ export * from './models/DocumentTypeModel';
257
257
  export * from './models/DocumentFolderModel';
258
258
  export * from './models/DocumentPermissionModel';
259
259
  export * from './models/DocumentAuditLogModel';
260
- export * from './models/DepartmentDocumentOwnerModel';
260
+ export * from './models/DepartmentDocumentOwnerModel';
261
+
262
+ // Residential Unit Rental Service
263
+ export * from './models/ResidentialUnitRentalRequestModel';
264
+ export * from './models/ResidentialUnitRentalWorkflowModel';
265
+ export * from './models/ResidentialUnitRentalApprovalModel';
266
+ export * from './models/ResidentialUnitRentalChatModel';
267
+ export * from './models/ResidentialUnitRentalAttachmentModel';
@@ -0,0 +1,141 @@
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: 'int', nullable: false })
127
+
128
+ created_by: number;
129
+
130
+
131
+
132
+
133
+ constructor() {
134
+
135
+ super();
136
+
137
+ }
138
+
139
+ }
140
+
141
+
@@ -0,0 +1,79 @@
1
+ import { Column, Entity } from "typeorm";
2
+
3
+ import { BaseModel } from "./BaseModel";
4
+
5
+
6
+
7
+
8
+ @Entity({ name: 'residential_unit_rental_attachments' })
9
+
10
+ export class ResidentialUnitRentalAttachment extends BaseModel {
11
+
12
+
13
+
14
+
15
+ @Column({ type: 'int', nullable: false })
16
+
17
+ request_id: number;
18
+
19
+
20
+
21
+
22
+ @Column({ type: 'int', nullable: false })
23
+
24
+ service_id: number;
25
+
26
+
27
+
28
+
29
+ @Column({ type: 'int', nullable: false })
30
+
31
+ sub_service_id: number;
32
+
33
+
34
+
35
+
36
+ @Column({ type: 'varchar', length: 255, nullable: false })
37
+
38
+ file_name: string;
39
+
40
+
41
+
42
+
43
+ @Column({ type: 'varchar', length: 500, nullable: false })
44
+
45
+ file_url: string;
46
+
47
+
48
+
49
+
50
+ @Column({ type: 'varchar', length: 50, nullable: false })
51
+
52
+ file_type: string;
53
+
54
+
55
+
56
+
57
+ @Column({ type: 'int', nullable: false })
58
+
59
+ file_size: number;
60
+
61
+
62
+
63
+
64
+ @Column({ type: 'int', nullable: false })
65
+
66
+ created_by: number;
67
+
68
+
69
+
70
+
71
+ constructor() {
72
+
73
+ super();
74
+
75
+ }
76
+
77
+ }
78
+
79
+
@@ -0,0 +1,89 @@
1
+ import { Column, Entity } from "typeorm";
2
+
3
+ import { BaseModel } from "./BaseModel";
4
+
5
+
6
+
7
+
8
+ export enum ResidentialUnitRentalMessageType {
9
+
10
+ text = 'text',
11
+
12
+ image = 'image',
13
+
14
+ video = 'video',
15
+
16
+ file = 'file',
17
+
18
+ link = 'link'
19
+
20
+ }
21
+
22
+
23
+
24
+
25
+ @Entity({ name: 'residential_unit_rental_chat' })
26
+
27
+ export class ResidentialUnitRentalChat 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: 'text', nullable: false })
54
+
55
+ message: string;
56
+
57
+
58
+
59
+
60
+ @Column({ type: 'varchar', length: 20, nullable: false })
61
+
62
+ message_type: string; // text, image, video, file, link
63
+
64
+
65
+
66
+
67
+ @Column({ type: 'boolean', nullable: false, default: false })
68
+
69
+ is_internal: boolean;
70
+
71
+
72
+
73
+
74
+ @Column({ type: 'int', nullable: false })
75
+
76
+ created_by: number;
77
+
78
+
79
+
80
+
81
+ constructor() {
82
+
83
+ super();
84
+
85
+ }
86
+
87
+ }
88
+
89
+
@@ -0,0 +1,229 @@
1
+ import { Column, Entity } from "typeorm";
2
+
3
+ import { BaseModel } from "./BaseModel";
4
+
5
+
6
+
7
+
8
+ export enum ResidentialUnitRentalRequestStatus {
9
+
10
+ Pending = 'Pending',
11
+
12
+ Approved = 'Approved',
13
+
14
+ Rejected = 'Rejected',
15
+
16
+ RFC = 'RFC'
17
+
18
+ }
19
+
20
+
21
+
22
+
23
+ @Entity({ name: 'residential_unit_rental_requests' })
24
+
25
+ export class ResidentialUnitRentalRequest extends BaseModel {
26
+
27
+
28
+
29
+
30
+ @Column({ type: 'varchar', length: 20, nullable: false })
31
+
32
+ request_id: string;
33
+
34
+
35
+
36
+
37
+ @Column({ type: 'int', nullable: false })
38
+
39
+ service_id: number;
40
+
41
+
42
+
43
+
44
+ @Column({ type: 'int', nullable: false })
45
+
46
+ sub_service_id: number;
47
+
48
+
49
+
50
+
51
+ @Column({ type: 'varchar', length: 50, nullable: false })
52
+
53
+ requested_unit_type: string; // Apartment, Villa
54
+
55
+
56
+
57
+
58
+ /** BRD: Apartment options with OMR rates - Studio 100, 1BHK 150, 2BHK 200, 3BHK 250 */
59
+
60
+ @Column({ type: 'json', nullable: true })
61
+
62
+ apartment_type: {
63
+
64
+ studio?: boolean;
65
+
66
+ one_bhk?: boolean;
67
+
68
+ two_bhk?: boolean;
69
+
70
+ three_bhk?: boolean;
71
+
72
+ };
73
+
74
+
75
+
76
+
77
+ /** BRD: Villa options with OMR rates - 1 ROOM 201, 2 ROOM 350, 3 ROOM 400 */
78
+
79
+ @Column({ type: 'json', nullable: true })
80
+
81
+ villa_type: {
82
+
83
+ one_room?: boolean;
84
+
85
+ two_room?: boolean;
86
+
87
+ three_room?: boolean;
88
+
89
+ };
90
+
91
+
92
+
93
+
94
+ @Column({ type: 'varchar', length: 20, nullable: true })
95
+
96
+ extension_number: string;
97
+
98
+
99
+
100
+
101
+ @Column({ type: 'date', nullable: false })
102
+
103
+ preferred_start_date: Date;
104
+
105
+
106
+
107
+
108
+ @Column({ type: 'int', nullable: false })
109
+
110
+ family_size: number;
111
+
112
+
113
+
114
+
115
+ @Column({ type: 'varchar', length: 50, nullable: false })
116
+
117
+ duration_of_stay: string; // Months/Years
118
+
119
+
120
+
121
+
122
+ @Column({ type: 'varchar', length: 255, nullable: true })
123
+
124
+ location_of_unit: string;
125
+
126
+
127
+
128
+
129
+ @Column({ type: 'text', nullable: true })
130
+
131
+ comment: string;
132
+
133
+
134
+
135
+
136
+ @Column({ type: 'varchar', length: 20, nullable: false, default: 'Pending' })
137
+
138
+ status: string;
139
+
140
+
141
+
142
+
143
+ @Column({ type: 'int', nullable: true })
144
+
145
+ user_id: number;
146
+
147
+
148
+
149
+
150
+ @Column({ type: 'varchar', length: 255, nullable: true })
151
+
152
+ workflow_execution_id: string;
153
+
154
+
155
+
156
+
157
+ @Column({ type: 'int', nullable: false })
158
+
159
+ created_by: number;
160
+
161
+
162
+
163
+
164
+ @Column({ type: 'int', nullable: true })
165
+
166
+ approved_by: number;
167
+
168
+
169
+
170
+
171
+ @Column({ type: 'date', nullable: true })
172
+
173
+ approved_at: Date;
174
+
175
+
176
+
177
+
178
+ @Column({ type: 'text', nullable: true })
179
+
180
+ approver_comment: string;
181
+
182
+
183
+
184
+
185
+ @Column({ type: 'json', nullable: true })
186
+
187
+ unit_details: {
188
+
189
+ type: string;
190
+
191
+ specifications: any;
192
+
193
+ rate: number;
194
+
195
+ };
196
+
197
+
198
+
199
+
200
+ @Column({ type: 'date', nullable: true })
201
+
202
+ rental_start_date: Date;
203
+
204
+
205
+
206
+
207
+ @Column({ type: 'date', nullable: true })
208
+
209
+ rental_end_date: Date;
210
+
211
+
212
+
213
+
214
+ @Column({ type: 'text', nullable: true })
215
+
216
+ rental_agreement_url: string;
217
+
218
+
219
+
220
+
221
+ constructor() {
222
+
223
+ super();
224
+
225
+ }
226
+
227
+ }
228
+
229
+
@@ -0,0 +1,138 @@
1
+ import { Column, Entity } from "typeorm";
2
+
3
+ import { BaseModel } from "./BaseModel";
4
+
5
+
6
+
7
+
8
+ export enum ResidentialUnitRentalWorkFlowStatus {
9
+
10
+ Pending = 'Pending',
11
+
12
+ InProgress = 'In Progress',
13
+
14
+ Approved = 'Approved',
15
+
16
+ Rejected = 'Rejected',
17
+
18
+ RFC = 'RFC' // Request for change / Modification (flowchart)
19
+
20
+ }
21
+
22
+
23
+
24
+
25
+ @Entity({ name: 'residential_unit_rental_workflow' })
26
+
27
+ export class ResidentialUnitRentalWorkflow 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: true })
40
+
41
+ service_id: number;
42
+
43
+
44
+
45
+
46
+ @Column({ type: 'int', nullable: true })
47
+
48
+ sub_service_id: number;
49
+
50
+
51
+
52
+
53
+ @Column({ type: 'int', nullable: true })
54
+
55
+ workflow_definition_id: number;
56
+
57
+
58
+
59
+
60
+ @Column({ type: 'int', nullable: true })
61
+
62
+ current_level: number;
63
+
64
+
65
+
66
+
67
+ @Column({ type: 'varchar', length: 500, nullable: true })
68
+
69
+ content: string;
70
+
71
+
72
+
73
+
74
+ @Column({ type: 'varchar', length: 50, nullable: false })
75
+
76
+ status: string;
77
+
78
+
79
+
80
+
81
+ @Column({ type: 'int', nullable: true })
82
+
83
+ step_order: number;
84
+
85
+
86
+
87
+
88
+ @Column({ type: 'int', nullable: true })
89
+
90
+ user_id: number;
91
+
92
+
93
+
94
+
95
+ @Column({ type: 'int', nullable: true })
96
+
97
+ role_id: number;
98
+
99
+
100
+
101
+
102
+ @Column({ type: 'int', nullable: true })
103
+
104
+ department_id: number;
105
+
106
+
107
+
108
+
109
+ @Column({ type: 'int', nullable: true })
110
+
111
+ section_id: number;
112
+
113
+
114
+
115
+
116
+ @Column({ type: 'text', nullable: true })
117
+
118
+ workflow_data: string; // JSON string
119
+
120
+
121
+
122
+
123
+ @Column({ type: 'int', nullable: false })
124
+
125
+ created_by: number;
126
+
127
+
128
+
129
+
130
+ constructor() {
131
+
132
+ super();
133
+
134
+ }
135
+
136
+ }
137
+
138
+
@@ -1,7 +0,0 @@
1
- import { BaseModel } from './BaseModel';
2
- export declare class ITApprovalSettings extends BaseModel {
3
- level: number;
4
- approval_role_id: number;
5
- workflow_id: number;
6
- constructor(level: number, approval_role_id: number, workflow_id: number);
7
- }