@platform-modules/civil-aviation-authority 2.0.81 → 2.0.82

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 (42) hide show
  1. package/dist/data-source.js +11 -1
  2. package/dist/index.d.ts +5 -0
  3. package/dist/index.js +5 -0
  4. package/dist/models/HotelApprovalModel.d.ts +22 -0
  5. package/dist/models/HotelApprovalModel.js +91 -0
  6. package/dist/models/HotelAttachedModel.d.ts +14 -0
  7. package/dist/models/HotelAttachedModel.js +74 -0
  8. package/dist/models/HotelChatModel.d.ts +17 -0
  9. package/dist/models/HotelChatModel.js +67 -0
  10. package/dist/models/HotelWorkFlowModel.d.ts +14 -0
  11. package/dist/models/HotelWorkFlowModel.js +56 -0
  12. package/dist/models/HotelreservationModal.d.ts +30 -0
  13. package/dist/models/HotelreservationModal.js +119 -0
  14. package/dist/models/HotelreservationModel.d.ts +44 -0
  15. package/dist/models/HotelreservationModel.js +172 -0
  16. package/dist/models/ITHelpDeskModel.d.ts +1 -5
  17. package/dist/models/ITHelpDeskModel.js +2 -22
  18. package/dist/models/ITRequestAttachmentModel.d.ts +1 -3
  19. package/dist/models/ITRequestAttachmentModel.js +2 -12
  20. package/dist/models/ItApprovalsModel.d.ts +1 -3
  21. package/dist/models/ItApprovalsModel.js +2 -12
  22. package/dist/models/ItWorkflowModel.d.ts +1 -3
  23. package/dist/models/ItWorkflowModel.js +2 -12
  24. package/dist/models/VpnApprovalModel.d.ts +2 -4
  25. package/dist/models/VpnApprovalModel.js +2 -8
  26. package/dist/models/WorkflowTask.d.ts +1 -4
  27. package/dist/models/WorkflowTask.js +2 -17
  28. package/package.json +1 -1
  29. package/src/data-source.ts +11 -1
  30. package/src/index.ts +5 -0
  31. package/src/models/HotelApprovalModel.ts +79 -0
  32. package/src/models/HotelAttachedModel.ts +64 -0
  33. package/src/models/HotelChatModel.ts +55 -0
  34. package/src/models/HotelWorkFlowModel.ts +42 -0
  35. package/src/models/HotelreservationModel.ts +161 -0
  36. package/src/models/ITHelpDeskModel.ts +1 -21
  37. package/src/models/ITRequestAttachmentModel.ts +1 -11
  38. package/src/models/ItApprovalsModel.ts +1 -11
  39. package/src/models/ItWorkflowModel.ts +1 -9
  40. package/src/models/VpnApprovalModel.ts +2 -8
  41. package/src/models/WorkflowTask.ts +1 -16
  42. package/src/models/user.ts +0 -1
@@ -0,0 +1,64 @@
1
+ import { Column, Entity, ManyToOne, JoinColumn } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+
5
+ @Entity({ name: 'hotel_request_attachments' })
6
+ export class HotelRequestAttachment extends BaseModel {
7
+
8
+ @Column({ type: 'integer', nullable: false })
9
+ request_id: number;
10
+
11
+ @Column({ type: 'integer', nullable: true })
12
+ service_id: number | null;
13
+
14
+ @Column({ type: 'integer', nullable: true })
15
+ sub_service_id: number | null;
16
+
17
+ @Column({ type: 'varchar', length: 500, nullable: false })
18
+ file_url: string;
19
+
20
+ @Column({ type: 'varchar', length: 255, nullable: true })
21
+ file_name: string;
22
+
23
+ @Column({ type: 'varchar', length: 100, nullable: true })
24
+ file_type: string;
25
+
26
+ @Column({ type: 'bigint', nullable: true })
27
+ file_size: number | null;
28
+
29
+ @Column({ type: 'integer', nullable: true })
30
+ chat_id: number | null;
31
+
32
+ @Column({ type: "integer", nullable: false })
33
+ uploaded_by: number;
34
+
35
+ @Column({ type: "text", nullable: true })
36
+ description: string;
37
+
38
+
39
+ constructor(
40
+ request_id: number,
41
+ uploaded_by: number,
42
+ file_url: string,
43
+ file_name?: string,
44
+ file_type?: string,
45
+ file_size?: number,
46
+ service_id?: number,
47
+ sub_service_id?: number,
48
+ chat_id?: number,
49
+ description?: string
50
+ ) {
51
+ super();
52
+ this.request_id = request_id;
53
+ this.service_id = service_id || null;
54
+ this.sub_service_id = sub_service_id || null;
55
+ this.file_url = file_url;
56
+ this.file_name = file_name || '';
57
+ this.file_type = file_type || '';
58
+ this.file_size = file_size || null;
59
+ this.chat_id = chat_id || null;
60
+ this.uploaded_by = uploaded_by;
61
+ this.description = description || '';
62
+ }
63
+ }
64
+
@@ -0,0 +1,55 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum HotelMessageTypes {
5
+ TEXT = "text",
6
+ IMAGE = "image",
7
+ VIDEO = "video",
8
+ FILE = "file",
9
+ LINK = "link"
10
+ }
11
+
12
+ @Entity({ name: 'Hotel_request_chat' })
13
+ export class HotelRequestChat extends BaseModel {
14
+
15
+ @Column({ type: 'integer', nullable: false })
16
+ request_id: number;
17
+
18
+ @Column({ type: 'integer', nullable: true })
19
+ service_id: number | null;
20
+
21
+ @Column({ type: 'integer', nullable: true })
22
+ sub_service_id: number | null;
23
+
24
+ @Column({ type: 'integer', nullable: false })
25
+ user_id: number;
26
+
27
+ @Column({ type: 'text', nullable: false })
28
+ message: string;
29
+
30
+ @Column({
31
+ type: 'enum',
32
+ enum: HotelMessageTypes,
33
+ default: HotelMessageTypes.TEXT,
34
+ nullable: false
35
+ })
36
+ messageType: HotelMessageTypes;
37
+
38
+ constructor(
39
+ request_id: number,
40
+ user_id: number,
41
+ message: string,
42
+ service_id?: number,
43
+ sub_service_id?: number,
44
+ messageType?: HotelMessageTypes
45
+ ) {
46
+ super();
47
+ this.request_id = request_id;
48
+ this.service_id = service_id || null;
49
+ this.sub_service_id = sub_service_id || null;
50
+ this.user_id = user_id;
51
+ this.message = message;
52
+ this.messageType = messageType || HotelMessageTypes.TEXT;
53
+ }
54
+ }
55
+
@@ -0,0 +1,42 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum HotelWorkFlowStatus {
5
+ COMPLETED = "Completed",
6
+ NOT_YET_STARTED = "Not Yet Started",
7
+ PENDING = "Pending"
8
+ }
9
+
10
+ //This model is used to store the logistics workflow status and activity logs
11
+ @Entity({ name: 'hotel_workflows' })
12
+ export class HotelWorkFlow 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: 'varchar', length: 500, nullable: false })
23
+ content: string;
24
+
25
+ @Column({ type: 'enum', enum: HotelWorkFlowStatus, default: HotelWorkFlowStatus.NOT_YET_STARTED, nullable: false })
26
+ status: HotelWorkFlowStatus;
27
+
28
+ constructor(
29
+ request_id: number,
30
+ content: string,
31
+ status: HotelWorkFlowStatus,
32
+ service_id?: number,
33
+ sub_service_id?: number
34
+ ) {
35
+ super();
36
+ this.request_id = request_id;
37
+ this.service_id = service_id || null;
38
+ this.sub_service_id = sub_service_id || null;
39
+ this.content = content;
40
+ this.status = status;
41
+ }
42
+ }
@@ -0,0 +1,161 @@
1
+ import { Entity, Column } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum MealType {
5
+ BREAKFAST = "Breakfast",
6
+ LUNCH = "Lunch",
7
+ DINNER = "Dinner",
8
+ }
9
+
10
+ export enum ServiceTypes {
11
+ LAUNDRY = "Laundry",
12
+ TELEPHONE = "Telephone Service",
13
+ }
14
+
15
+ export enum HotelReservationStatus {
16
+ PENDING = "Pending",
17
+ APPROVED = "Approved",
18
+ REJECTED = "Rejected",
19
+ IN_PROGRESS = "In Progress"
20
+ }
21
+
22
+ @Entity({ name:'hotelreservations'})
23
+ export class HotelReservation extends BaseModel {
24
+ // Workflow fields (similar to IT Help Desk)
25
+ @Column({ type: 'int', nullable: true })
26
+ req_user_department_id: number | null;
27
+
28
+ @Column({ type: 'int', nullable: true })
29
+ req_user_section_id: number | null;
30
+
31
+ @Column({ type: 'int', nullable: true })
32
+ service_id: number | null;
33
+
34
+ @Column({ type: 'int', nullable: true })
35
+ sub_service_id: number | null;
36
+
37
+ @Column({ type: 'varchar', length: 20, nullable: true })
38
+ service_type: string | null; // 'internal' or 'external'
39
+
40
+ @Column({ type: 'varchar', nullable: true })
41
+ workflow_execution_id: string | null;
42
+
43
+ @Column({
44
+ type: "enum",
45
+ enum: HotelReservationStatus,
46
+ default: HotelReservationStatus.PENDING,
47
+ nullable: false,
48
+ })
49
+ status: HotelReservationStatus;
50
+
51
+ @Column({ nullable: false })
52
+ user_id: number;
53
+
54
+ // Hotel reservation specific fields
55
+ @Column({ type: 'varchar', length: 50 })
56
+ type_of_accommodation: string;
57
+
58
+ @Column({ type: 'decimal', precision: 10, scale: 2, nullable: false })
59
+ price: number;
60
+
61
+ @Column({ type: 'enum', enum: MealType, nullable: false, })
62
+ meal: MealType;
63
+
64
+ @Column({ type: 'enum', enum: ServiceTypes, nullable: false, })
65
+ service: ServiceTypes;
66
+
67
+ @Column({ type: 'timestamptz', nullable: false })
68
+ date_of_request: Date;
69
+
70
+ @Column({ type: 'varchar', length: 100, nullable: false })
71
+ hotel_name: string;
72
+
73
+ @Column({ type: 'date', nullable: false })
74
+ check_in_date: Date;
75
+
76
+ @Column({ type: 'time', nullable: false })
77
+ check_in_time: string;
78
+
79
+ @Column({ type: 'date', nullable: false })
80
+ check_out_date: Date;
81
+
82
+ @Column({ type: 'time', nullable: false })
83
+ check_out_time: string;
84
+
85
+ @Column({ type: 'int', nullable: false })
86
+ number_of_guests: number;
87
+
88
+ @Column({ type: 'text', nullable: true })
89
+ description: string;
90
+
91
+ @Column({ type: 'text', nullable: true })
92
+ attachment_url: string | null;
93
+
94
+ @Column({ type: 'varchar', length: 100, nullable: false })
95
+ requested_by: string;
96
+
97
+ @Column({ type: 'varchar', length: 100, nullable: false })
98
+ visitor_name: string;
99
+
100
+ @Column({ type: 'boolean', default: false })
101
+ hr_approval: boolean;
102
+
103
+ @Column({ type: 'boolean', default: false })
104
+ pr_approval: boolean;
105
+
106
+
107
+ constructor(
108
+ type_of_accommodation: string,
109
+ price: number,
110
+ meal: MealType,
111
+ service: ServiceTypes,
112
+ date_of_request: Date,
113
+ hotel_name: string,
114
+ check_in_date: Date,
115
+ check_in_time: string,
116
+ check_out_date: Date,
117
+ check_out_time: string,
118
+ number_of_guests: number,
119
+ description: string,
120
+ requested_by: string,
121
+ visitor_name: string,
122
+ user_id: number,
123
+ status: HotelReservationStatus = HotelReservationStatus.PENDING,
124
+ hr_approval: boolean = false,
125
+ pr_approval: boolean = false,
126
+ service_id?: number | null,
127
+ sub_service_id?: number | null,
128
+ service_type?: string | null,
129
+ workflow_execution_id?: string | null,
130
+ req_user_department_id?: number | null,
131
+ req_user_section_id?: number | null,
132
+ attachment_url?: string | null
133
+ ) {
134
+ super();
135
+ this.type_of_accommodation = type_of_accommodation;
136
+ this.price = price;
137
+ this.meal = meal;
138
+ this.service = service;
139
+ this.date_of_request = date_of_request;
140
+ this.hotel_name = hotel_name;
141
+ this.check_in_date = check_in_date;
142
+ this.check_in_time = check_in_time;
143
+ this.check_out_date = check_out_date;
144
+ this.check_out_time = check_out_time;
145
+ this.number_of_guests = number_of_guests;
146
+ this.description = description;
147
+ this.requested_by = requested_by;
148
+ this.visitor_name = visitor_name;
149
+ this.user_id = user_id;
150
+ this.status = status;
151
+ this.hr_approval = hr_approval;
152
+ this.pr_approval = pr_approval;
153
+ this.service_id = service_id ?? null;
154
+ this.sub_service_id = sub_service_id ?? null;
155
+ this.service_type = service_type ?? null;
156
+ this.workflow_execution_id = workflow_execution_id ?? null;
157
+ this.req_user_department_id = req_user_department_id ?? null;
158
+ this.req_user_section_id = req_user_section_id ?? null;
159
+ this.attachment_url = attachment_url ?? null;
160
+ }
161
+ }
@@ -50,18 +50,6 @@ export class ITHelpDeskRequests extends BaseModel {
50
50
  @Column({ nullable: false })
51
51
  contact_num: string;
52
52
 
53
- @Column({ type: 'varchar', length: 255, nullable: true })
54
- email: string | null;
55
-
56
- @Column({ type: 'varchar', length: 30, nullable: true })
57
- request_type: string;
58
-
59
- @Column({ type: 'varchar', length: 255, nullable: true })
60
- person_name: string | null;
61
-
62
- @Column({ type: 'varchar', length: 20, nullable: true })
63
- person_contact_number: string | null;
64
-
65
53
  @Column({ type: "date", nullable: false })
66
54
  request_date: Date;
67
55
 
@@ -93,11 +81,7 @@ export class ITHelpDeskRequests extends BaseModel {
93
81
  workflow_execution_id?: string,
94
82
  req_user_department_id?: number | null,
95
83
  req_user_section_id?: number | null,
96
- service_type_id?: number | null,
97
- person_name?: string | null,
98
- person_contact_number?: string | null,
99
- email?: string | null,
100
- request_type?: string
84
+ service_type_id?: number | null
101
85
  ) {
102
86
  super();
103
87
  this.service_id = service_id;
@@ -107,10 +91,6 @@ export class ITHelpDeskRequests extends BaseModel {
107
91
  this.description = description;
108
92
  this.extn_num = extn_num;
109
93
  this.contact_num = contact_num;
110
- this.email = email || null;
111
- this.request_type = request_type || 'internal';
112
- this.person_name = person_name || null;
113
- this.person_contact_number = person_contact_number || null;
114
94
  this.request_date = request_date;
115
95
  this.status = status;
116
96
  this.workflow_execution_id = workflow_execution_id || null;
@@ -13,12 +13,6 @@ export class ITRequestAttachment extends BaseModel {
13
13
  @JoinColumn({ name: 'request_id' })
14
14
  request: ITHelpDeskRequests;
15
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
16
  @Column({ type: 'integer', nullable: false })
23
17
  uploaded_by: number;
24
18
 
@@ -48,9 +42,7 @@ export class ITRequestAttachment extends BaseModel {
48
42
  file_name?: string,
49
43
  file_type?: string,
50
44
  file_size?: number,
51
- description?: string,
52
- service_id?: number | null,
53
- sub_service_id?: number | null
45
+ description?: string
54
46
  ) {
55
47
  super();
56
48
  this.request_id = request_id;
@@ -60,8 +52,6 @@ export class ITRequestAttachment extends BaseModel {
60
52
  this.file_type = file_type || '';
61
53
  this.file_size = file_size || null;
62
54
  this.description = description || '';
63
- this.service_id = service_id ?? null;
64
- this.sub_service_id = sub_service_id ?? null;
65
55
  }
66
56
  }
67
57
 
@@ -13,12 +13,6 @@ export class ItApprovalDetails extends BaseModel {
13
13
  @Column({ type: 'integer', nullable: false })
14
14
  request_id: number;
15
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
16
  @Column({ type: 'integer', nullable: false })
23
17
  level: number;
24
18
 
@@ -52,9 +46,7 @@ export class ItApprovalDetails extends BaseModel {
52
46
  level: number,
53
47
  department_id?: number | null,
54
48
  section_id?: number | null,
55
- approved_by?: number | null,
56
- service_id?: number | null,
57
- sub_service_id?: number | null
49
+ approved_by?: number | null
58
50
  ) {
59
51
  super();
60
52
  this.request_id = request_id;
@@ -66,7 +58,5 @@ export class ItApprovalDetails extends BaseModel {
66
58
  this.department_id = department_id || null;
67
59
  this.section_id = section_id || null;
68
60
  this.approved_by = approved_by || null;
69
- this.service_id = service_id ?? null;
70
- this.sub_service_id = sub_service_id ?? null;
71
61
  }
72
62
  }
@@ -13,12 +13,6 @@ export class ItWorkFlow extends BaseModel {
13
13
  @Column({ type: 'int', nullable: false })
14
14
  request_id: number;
15
15
 
16
- @Column({ type: 'int', nullable: true })
17
- service_id: number | null;
18
-
19
- @Column({ type: 'int', nullable: true })
20
- sub_service_id: number | null;
21
-
22
16
  @Column({ type: 'int', nullable: true })
23
17
  order: number | null;
24
18
 
@@ -28,13 +22,11 @@ export class ItWorkFlow extends BaseModel {
28
22
  @Column({ type: 'enum', enum: workFlowStatus, default: workFlowStatus.NOT_YET_STARTED, nullable: false })
29
23
  status: workFlowStatus;
30
24
 
31
- constructor(request_id: number, content: string, status: workFlowStatus, order?: number, service_id?: number | null, sub_service_id?: number | null) {
25
+ constructor(request_id: number, content: string, status: workFlowStatus, order?: number) {
32
26
  super();
33
27
  this.request_id = request_id;
34
28
  this.content = content;
35
29
  this.status = status;
36
30
  this.order = order || null;
37
- this.service_id = service_id ?? null;
38
- this.sub_service_id = sub_service_id ?? null;
39
31
  }
40
32
  }
@@ -5,8 +5,7 @@ export enum VpnApprovalStatus {
5
5
  PENDING = "Pending",
6
6
  IN_PROGRESS = "In Progress",
7
7
  APPROVED = "Approved",
8
- REJECTED = "Rejected",
9
- ASSIGNED = "Assigned"
8
+ REJECTED = "Rejected"
10
9
  }
11
10
 
12
11
  @Entity({ name: "vpn_approvals" })
@@ -43,9 +42,6 @@ export class VpnApprovalDetails extends BaseModel {
43
42
  })
44
43
  approval_status: VpnApprovalStatus;
45
44
 
46
- @Column({ type: "boolean", default: false, nullable: false })
47
- is_manager: boolean;
48
-
49
45
  constructor(
50
46
  request_id: number,
51
47
  approver_user_id: number | null,
@@ -55,8 +51,7 @@ export class VpnApprovalDetails extends BaseModel {
55
51
  level: number,
56
52
  department_id?: number | null,
57
53
  section_id?: number | null,
58
- approved_by?: number | null,
59
- is_manager?: boolean
54
+ approved_by?: number | null
60
55
  ) {
61
56
  super();
62
57
  this.request_id = request_id;
@@ -68,7 +63,6 @@ export class VpnApprovalDetails extends BaseModel {
68
63
  this.department_id = department_id || null;
69
64
  this.section_id = section_id || null;
70
65
  this.approved_by = approved_by || null;
71
- this.is_manager = is_manager ?? false;
72
66
  }
73
67
  }
74
68
 
@@ -24,15 +24,6 @@ export class WorkflowTask extends BaseModel {
24
24
  @Column({ type: 'varchar', length: 100, nullable: false })
25
25
  name: string;
26
26
 
27
- @Column({ type: 'int', nullable: true })
28
- service_id?: number | null;
29
-
30
- @Column({ type: 'int', nullable: true })
31
- sub_service_id?: number | null;
32
-
33
- @Column({ type: 'varchar', length: 50, nullable: true })
34
- service_type?: string | null;
35
-
36
27
  @Column({
37
28
  type: 'enum',
38
29
  enum: TaskType,
@@ -51,18 +42,12 @@ export class WorkflowTask extends BaseModel {
51
42
  name: string,
52
43
  task_id?: number,
53
44
  task_type?: TaskType,
54
- category?: CategoryType,
55
- service_id?: number | null,
56
- sub_service_id?: number | null,
57
- service_type?: string | null
45
+ category?: CategoryType
58
46
  ) {
59
47
  super();
60
48
  this.name = name;
61
49
  this.task_id = task_id || 0;
62
50
  this.task_type = task_type || TaskType.SIMPLE;
63
51
  this.category = category || CategoryType.CREATE;
64
- this.service_id = service_id ?? null;
65
- this.sub_service_id = sub_service_id ?? null;
66
- this.service_type = service_type ?? null;
67
52
  }
68
53
  }
@@ -132,7 +132,6 @@ export class User extends BaseModel {
132
132
 
133
133
  @Column({ nullable: true })
134
134
  religion?: string;
135
-
136
135
  constructor(
137
136
  employee_id?: number,
138
137
  civil_employee_id?: number,