@platform-modules/civil-aviation-authority 2.3.41 → 2.3.43
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.
- package/dist/index.d.ts +9 -0
- package/dist/index.js +19 -1
- package/dist/models/CountryMasterModel.d.ts +11 -0
- package/dist/models/CountryMasterModel.js +55 -0
- package/dist/models/ITApprovalSettings.d.ts +7 -0
- package/dist/models/ITApprovalSettings.js +40 -0
- package/dist/models/ITServicesTypesMuscatModel.d.ts +6 -0
- package/dist/models/ITServicesTypesMuscatModel.js +34 -0
- package/dist/models/ITServicesTypesSalalahModel.d.ts +6 -0
- package/dist/models/ITServicesTypesSalalahModel.js +34 -0
- package/dist/models/JobTransferRequestModel.d.ts +31 -0
- package/dist/models/JobTransferRequestModel.js +128 -0
- package/dist/models/LocationModel.d.ts +12 -0
- package/dist/models/LocationModel.js +62 -0
- package/dist/models/LogisticsForeignVehicleModel.js +1 -0
- package/dist/models/LogisticsVehicleMaintenanceRequestModel.js +2 -0
- package/dist/models/NationalityMasterModel.d.ts +10 -0
- package/dist/models/NationalityMasterModel.js +51 -0
- package/dist/models/NewResourceRequestModel.d.ts +32 -0
- package/dist/models/NewResourceRequestModel.js +133 -0
- package/dist/models/ServiceTransferRequestModel.d.ts +3 -3
- package/dist/models/ServiceTransferRequestModel.js +7 -8
- package/dist/models/ShiftAllowanceRequestModel.d.ts +37 -0
- package/dist/models/ShiftAllowanceRequestModel.js +140 -0
- package/dist/models/Workflows.d.ts +9 -0
- package/dist/models/Workflows.js +31 -0
- package/package.json +1 -1
- package/src/index.ts +20 -0
- package/src/models/CountryMasterModel.ts +33 -0
- package/src/models/HrServiceRequestModel.ts +167 -167
- package/src/models/ITRequestChatModel.ts +62 -62
- package/src/models/ItApprovalsModel.ts +84 -84
- package/src/models/ItWorkflowModel.ts +55 -55
- package/src/models/JobTransferRequestModel.ts +115 -0
- package/src/models/LocationModel.ts +42 -0
- package/src/models/LogisticsForeignVehicleModel.ts +1 -0
- package/src/models/LogisticsVehicleMaintenanceRequestModel.ts +2 -0
- package/src/models/NationalityMasterModel.ts +30 -0
- package/src/models/NewResourceRequestModel.ts +120 -0
- package/src/models/RequestForCoverageRequestModel.ts +174 -174
- package/src/models/ServiceTransferRequestModel.ts +8 -8
- package/src/models/ShiftAllowanceRequestModel.ts +126 -0
|
@@ -1,174 +1,174 @@
|
|
|
1
|
-
import { Column, Entity } from "typeorm";
|
|
2
|
-
import { BaseModel } from "./BaseModel";
|
|
3
|
-
|
|
4
|
-
export enum RequestForCoverageRequestStatus {
|
|
5
|
-
PENDING = "Pending",
|
|
6
|
-
IN_PROGRESS = "In Progress",
|
|
7
|
-
COMPLETED = "Completed",
|
|
8
|
-
APPROVED = "Approved",
|
|
9
|
-
REJECTED = "Rejected"
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export enum RequestForCoverageNewsSize {
|
|
13
|
-
SMALL = "Small",
|
|
14
|
-
MEDIUM = "Medium",
|
|
15
|
-
LARGE = "Large"
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
@Entity({ name: "request_for_coverage_requests" })
|
|
19
|
-
export class RequestForCoverageRequest extends BaseModel {
|
|
20
|
-
@Column({ type: "integer", nullable: true })
|
|
21
|
-
req_user_department_id: number | null;
|
|
22
|
-
|
|
23
|
-
@Column({ type: "integer", nullable: true })
|
|
24
|
-
req_user_section_id: number | null;
|
|
25
|
-
|
|
26
|
-
@Column({ type: "integer", nullable: true })
|
|
27
|
-
req_user_position_id: number | null;
|
|
28
|
-
|
|
29
|
-
@Column({ type: "integer", nullable: true })
|
|
30
|
-
service_id: number | null;
|
|
31
|
-
|
|
32
|
-
@Column({ type: "integer", nullable: true })
|
|
33
|
-
sub_service_id: number | null;
|
|
34
|
-
|
|
35
|
-
@Column({ type: "integer", nullable: false })
|
|
36
|
-
user_id: number;
|
|
37
|
-
|
|
38
|
-
@Column({ type: "boolean", default: false, nullable: false })
|
|
39
|
-
required_for_president: boolean;
|
|
40
|
-
|
|
41
|
-
@Column({ type: "varchar", length: 255, nullable: false })
|
|
42
|
-
directorate_name: string;
|
|
43
|
-
|
|
44
|
-
@Column({ type: "integer", nullable: true })
|
|
45
|
-
department_id: number | null;
|
|
46
|
-
|
|
47
|
-
@Column({ type: "varchar", length: 50, nullable: true })
|
|
48
|
-
extension_number: string | null;
|
|
49
|
-
|
|
50
|
-
@Column({ type: "varchar", length: 255, nullable: true })
|
|
51
|
-
suggested_photography: string | null;
|
|
52
|
-
|
|
53
|
-
@Column({ type: "date", nullable: false })
|
|
54
|
-
event_date: Date;
|
|
55
|
-
|
|
56
|
-
@Column({ type: "time", nullable: false })
|
|
57
|
-
event_time: string;
|
|
58
|
-
|
|
59
|
-
@Column({ type: "varchar", length: 255, nullable: false })
|
|
60
|
-
event_location: string;
|
|
61
|
-
|
|
62
|
-
@Column({
|
|
63
|
-
type: "enum",
|
|
64
|
-
enum: RequestForCoverageNewsSize,
|
|
65
|
-
nullable: true
|
|
66
|
-
})
|
|
67
|
-
news_size: RequestForCoverageNewsSize | null;
|
|
68
|
-
|
|
69
|
-
@Column({ type: "text", nullable: true })
|
|
70
|
-
event_objective: string | null;
|
|
71
|
-
|
|
72
|
-
@Column({ type: "varchar", length: 255, nullable: true })
|
|
73
|
-
organizing_entity: string | null;
|
|
74
|
-
|
|
75
|
-
@Column({ type: "varchar", length: 255, nullable: true })
|
|
76
|
-
hosted_person: string | null;
|
|
77
|
-
|
|
78
|
-
@Column({ type: "text", nullable: true })
|
|
79
|
-
audience: string | null;
|
|
80
|
-
|
|
81
|
-
@Column({ type: "text", nullable: false })
|
|
82
|
-
event_details: string;
|
|
83
|
-
|
|
84
|
-
@Column({ type: "text", nullable: false })
|
|
85
|
-
importance_of_publishing: string;
|
|
86
|
-
|
|
87
|
-
@Column({ type: "text", nullable: true })
|
|
88
|
-
document_event: string | null;
|
|
89
|
-
|
|
90
|
-
@Column({
|
|
91
|
-
type: "enum",
|
|
92
|
-
enum: RequestForCoverageRequestStatus,
|
|
93
|
-
default: RequestForCoverageRequestStatus.PENDING,
|
|
94
|
-
nullable: false
|
|
95
|
-
})
|
|
96
|
-
status: RequestForCoverageRequestStatus;
|
|
97
|
-
|
|
98
|
-
@Column({ type: "integer", nullable: true })
|
|
99
|
-
reviewer_user_id: number | null;
|
|
100
|
-
|
|
101
|
-
@Column({ type: "integer", nullable: true })
|
|
102
|
-
assigned_to_user_id: number | null;
|
|
103
|
-
|
|
104
|
-
@Column({ type: "timestamp", nullable: true })
|
|
105
|
-
assigned_at: Date | null;
|
|
106
|
-
|
|
107
|
-
@Column({ type: "varchar", length: 255, nullable: true })
|
|
108
|
-
workflow_execution_id: string | null;
|
|
109
|
-
|
|
110
|
-
@Column({ type: "varchar", length: 500, nullable: true })
|
|
111
|
-
rejection_reason: string | null;
|
|
112
|
-
|
|
113
|
-
constructor(
|
|
114
|
-
user_id: number,
|
|
115
|
-
event_date: Date,
|
|
116
|
-
event_time: string,
|
|
117
|
-
event_location: string,
|
|
118
|
-
event_details: string,
|
|
119
|
-
importance_of_publishing: string,
|
|
120
|
-
directorate_name: string,
|
|
121
|
-
required_for_president: boolean = false,
|
|
122
|
-
status: RequestForCoverageRequestStatus = RequestForCoverageRequestStatus.PENDING,
|
|
123
|
-
service_id?: number | null,
|
|
124
|
-
sub_service_id?: number | null,
|
|
125
|
-
req_user_department_id?: number | null,
|
|
126
|
-
req_user_section_id?: number | null,
|
|
127
|
-
req_user_position_id?: number | null,
|
|
128
|
-
department_id?: number | null,
|
|
129
|
-
extension_number?: string | null,
|
|
130
|
-
suggested_photography?: string | null,
|
|
131
|
-
news_size?: RequestForCoverageNewsSize | null,
|
|
132
|
-
event_objective?: string | null,
|
|
133
|
-
organizing_entity?: string | null,
|
|
134
|
-
hosted_person?: string | null,
|
|
135
|
-
audience?: string | null,
|
|
136
|
-
document_event?: string | null,
|
|
137
|
-
reviewer_user_id?: number | null,
|
|
138
|
-
assigned_to_user_id?: number | null,
|
|
139
|
-
assigned_at?: Date | null,
|
|
140
|
-
workflow_execution_id?: string | null,
|
|
141
|
-
rejection_reason?: string | null
|
|
142
|
-
) {
|
|
143
|
-
super();
|
|
144
|
-
this.user_id = user_id;
|
|
145
|
-
this.event_date = event_date;
|
|
146
|
-
this.event_time = event_time;
|
|
147
|
-
this.event_location = event_location;
|
|
148
|
-
this.event_details = event_details;
|
|
149
|
-
this.importance_of_publishing = importance_of_publishing;
|
|
150
|
-
this.directorate_name = directorate_name;
|
|
151
|
-
this.required_for_president = required_for_president;
|
|
152
|
-
this.status = status;
|
|
153
|
-
this.service_id = service_id || null;
|
|
154
|
-
this.sub_service_id = sub_service_id || null;
|
|
155
|
-
this.req_user_department_id = req_user_department_id || null;
|
|
156
|
-
this.req_user_section_id = req_user_section_id || null;
|
|
157
|
-
this.req_user_position_id = req_user_position_id || null;
|
|
158
|
-
this.department_id = department_id || null;
|
|
159
|
-
this.extension_number = extension_number || null;
|
|
160
|
-
this.suggested_photography = suggested_photography || null;
|
|
161
|
-
this.news_size = news_size || null;
|
|
162
|
-
this.event_objective = event_objective || null;
|
|
163
|
-
this.organizing_entity = organizing_entity || null;
|
|
164
|
-
this.hosted_person = hosted_person || null;
|
|
165
|
-
this.audience = audience || null;
|
|
166
|
-
this.document_event = document_event || null;
|
|
167
|
-
this.reviewer_user_id = reviewer_user_id || null;
|
|
168
|
-
this.assigned_to_user_id = assigned_to_user_id || null;
|
|
169
|
-
this.assigned_at = assigned_at || null;
|
|
170
|
-
this.workflow_execution_id = workflow_execution_id || null;
|
|
171
|
-
this.rejection_reason = rejection_reason || null;
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
|
|
1
|
+
import { Column, Entity } from "typeorm";
|
|
2
|
+
import { BaseModel } from "./BaseModel";
|
|
3
|
+
|
|
4
|
+
export enum RequestForCoverageRequestStatus {
|
|
5
|
+
PENDING = "Pending",
|
|
6
|
+
IN_PROGRESS = "In Progress",
|
|
7
|
+
COMPLETED = "Completed",
|
|
8
|
+
APPROVED = "Approved",
|
|
9
|
+
REJECTED = "Rejected"
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export enum RequestForCoverageNewsSize {
|
|
13
|
+
SMALL = "Small",
|
|
14
|
+
MEDIUM = "Medium",
|
|
15
|
+
LARGE = "Large"
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
@Entity({ name: "request_for_coverage_requests" })
|
|
19
|
+
export class RequestForCoverageRequest extends BaseModel {
|
|
20
|
+
@Column({ type: "integer", nullable: true })
|
|
21
|
+
req_user_department_id: number | null;
|
|
22
|
+
|
|
23
|
+
@Column({ type: "integer", nullable: true })
|
|
24
|
+
req_user_section_id: number | null;
|
|
25
|
+
|
|
26
|
+
@Column({ type: "integer", nullable: true })
|
|
27
|
+
req_user_position_id: number | null;
|
|
28
|
+
|
|
29
|
+
@Column({ type: "integer", nullable: true })
|
|
30
|
+
service_id: number | null;
|
|
31
|
+
|
|
32
|
+
@Column({ type: "integer", nullable: true })
|
|
33
|
+
sub_service_id: number | null;
|
|
34
|
+
|
|
35
|
+
@Column({ type: "integer", nullable: false })
|
|
36
|
+
user_id: number;
|
|
37
|
+
|
|
38
|
+
@Column({ type: "boolean", default: false, nullable: false })
|
|
39
|
+
required_for_president: boolean;
|
|
40
|
+
|
|
41
|
+
@Column({ type: "varchar", length: 255, nullable: false })
|
|
42
|
+
directorate_name: string;
|
|
43
|
+
|
|
44
|
+
@Column({ type: "integer", nullable: true })
|
|
45
|
+
department_id: number | null;
|
|
46
|
+
|
|
47
|
+
@Column({ type: "varchar", length: 50, nullable: true })
|
|
48
|
+
extension_number: string | null;
|
|
49
|
+
|
|
50
|
+
@Column({ type: "varchar", length: 255, nullable: true })
|
|
51
|
+
suggested_photography: string | null;
|
|
52
|
+
|
|
53
|
+
@Column({ type: "date", nullable: false })
|
|
54
|
+
event_date: Date;
|
|
55
|
+
|
|
56
|
+
@Column({ type: "time", nullable: false })
|
|
57
|
+
event_time: string;
|
|
58
|
+
|
|
59
|
+
@Column({ type: "varchar", length: 255, nullable: false })
|
|
60
|
+
event_location: string;
|
|
61
|
+
|
|
62
|
+
@Column({
|
|
63
|
+
type: "enum",
|
|
64
|
+
enum: RequestForCoverageNewsSize,
|
|
65
|
+
nullable: true
|
|
66
|
+
})
|
|
67
|
+
news_size: RequestForCoverageNewsSize | null;
|
|
68
|
+
|
|
69
|
+
@Column({ type: "text", nullable: true })
|
|
70
|
+
event_objective: string | null;
|
|
71
|
+
|
|
72
|
+
@Column({ type: "varchar", length: 255, nullable: true })
|
|
73
|
+
organizing_entity: string | null;
|
|
74
|
+
|
|
75
|
+
@Column({ type: "varchar", length: 255, nullable: true })
|
|
76
|
+
hosted_person: string | null;
|
|
77
|
+
|
|
78
|
+
@Column({ type: "text", nullable: true })
|
|
79
|
+
audience: string | null;
|
|
80
|
+
|
|
81
|
+
@Column({ type: "text", nullable: false })
|
|
82
|
+
event_details: string;
|
|
83
|
+
|
|
84
|
+
@Column({ type: "text", nullable: false })
|
|
85
|
+
importance_of_publishing: string;
|
|
86
|
+
|
|
87
|
+
@Column({ type: "text", nullable: true })
|
|
88
|
+
document_event: string | null;
|
|
89
|
+
|
|
90
|
+
@Column({
|
|
91
|
+
type: "enum",
|
|
92
|
+
enum: RequestForCoverageRequestStatus,
|
|
93
|
+
default: RequestForCoverageRequestStatus.PENDING,
|
|
94
|
+
nullable: false
|
|
95
|
+
})
|
|
96
|
+
status: RequestForCoverageRequestStatus;
|
|
97
|
+
|
|
98
|
+
@Column({ type: "integer", nullable: true })
|
|
99
|
+
reviewer_user_id: number | null;
|
|
100
|
+
|
|
101
|
+
@Column({ type: "integer", nullable: true })
|
|
102
|
+
assigned_to_user_id: number | null;
|
|
103
|
+
|
|
104
|
+
@Column({ type: "timestamp", nullable: true })
|
|
105
|
+
assigned_at: Date | null;
|
|
106
|
+
|
|
107
|
+
@Column({ type: "varchar", length: 255, nullable: true })
|
|
108
|
+
workflow_execution_id: string | null;
|
|
109
|
+
|
|
110
|
+
@Column({ type: "varchar", length: 500, nullable: true })
|
|
111
|
+
rejection_reason: string | null;
|
|
112
|
+
|
|
113
|
+
constructor(
|
|
114
|
+
user_id: number,
|
|
115
|
+
event_date: Date,
|
|
116
|
+
event_time: string,
|
|
117
|
+
event_location: string,
|
|
118
|
+
event_details: string,
|
|
119
|
+
importance_of_publishing: string,
|
|
120
|
+
directorate_name: string,
|
|
121
|
+
required_for_president: boolean = false,
|
|
122
|
+
status: RequestForCoverageRequestStatus = RequestForCoverageRequestStatus.PENDING,
|
|
123
|
+
service_id?: number | null,
|
|
124
|
+
sub_service_id?: number | null,
|
|
125
|
+
req_user_department_id?: number | null,
|
|
126
|
+
req_user_section_id?: number | null,
|
|
127
|
+
req_user_position_id?: number | null,
|
|
128
|
+
department_id?: number | null,
|
|
129
|
+
extension_number?: string | null,
|
|
130
|
+
suggested_photography?: string | null,
|
|
131
|
+
news_size?: RequestForCoverageNewsSize | null,
|
|
132
|
+
event_objective?: string | null,
|
|
133
|
+
organizing_entity?: string | null,
|
|
134
|
+
hosted_person?: string | null,
|
|
135
|
+
audience?: string | null,
|
|
136
|
+
document_event?: string | null,
|
|
137
|
+
reviewer_user_id?: number | null,
|
|
138
|
+
assigned_to_user_id?: number | null,
|
|
139
|
+
assigned_at?: Date | null,
|
|
140
|
+
workflow_execution_id?: string | null,
|
|
141
|
+
rejection_reason?: string | null
|
|
142
|
+
) {
|
|
143
|
+
super();
|
|
144
|
+
this.user_id = user_id;
|
|
145
|
+
this.event_date = event_date;
|
|
146
|
+
this.event_time = event_time;
|
|
147
|
+
this.event_location = event_location;
|
|
148
|
+
this.event_details = event_details;
|
|
149
|
+
this.importance_of_publishing = importance_of_publishing;
|
|
150
|
+
this.directorate_name = directorate_name;
|
|
151
|
+
this.required_for_president = required_for_president;
|
|
152
|
+
this.status = status;
|
|
153
|
+
this.service_id = service_id || null;
|
|
154
|
+
this.sub_service_id = sub_service_id || null;
|
|
155
|
+
this.req_user_department_id = req_user_department_id || null;
|
|
156
|
+
this.req_user_section_id = req_user_section_id || null;
|
|
157
|
+
this.req_user_position_id = req_user_position_id || null;
|
|
158
|
+
this.department_id = department_id || null;
|
|
159
|
+
this.extension_number = extension_number || null;
|
|
160
|
+
this.suggested_photography = suggested_photography || null;
|
|
161
|
+
this.news_size = news_size || null;
|
|
162
|
+
this.event_objective = event_objective || null;
|
|
163
|
+
this.organizing_entity = organizing_entity || null;
|
|
164
|
+
this.hosted_person = hosted_person || null;
|
|
165
|
+
this.audience = audience || null;
|
|
166
|
+
this.document_event = document_event || null;
|
|
167
|
+
this.reviewer_user_id = reviewer_user_id || null;
|
|
168
|
+
this.assigned_to_user_id = assigned_to_user_id || null;
|
|
169
|
+
this.assigned_at = assigned_at || null;
|
|
170
|
+
this.workflow_execution_id = workflow_execution_id || null;
|
|
171
|
+
this.rejection_reason = rejection_reason || null;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
|
|
@@ -80,11 +80,11 @@ export class ServiceTransferRequest extends BaseModel {
|
|
|
80
80
|
@Column({ type: "varchar", length: 500, nullable: false })
|
|
81
81
|
transferred_to_entity: string;
|
|
82
82
|
|
|
83
|
-
@Column({ type: "date", nullable:
|
|
84
|
-
start_date: Date;
|
|
83
|
+
@Column({ type: "date", nullable: true })
|
|
84
|
+
start_date: Date | null;
|
|
85
85
|
|
|
86
|
-
@Column({ type: "date", nullable:
|
|
87
|
-
end_date: Date;
|
|
86
|
+
@Column({ type: "date", nullable: true })
|
|
87
|
+
end_date: Date | null;
|
|
88
88
|
|
|
89
89
|
@Column({ type: "varchar", length: 20, nullable: false })
|
|
90
90
|
phone_number: string;
|
|
@@ -123,8 +123,8 @@ export class ServiceTransferRequest extends BaseModel {
|
|
|
123
123
|
assigned_job_position?: string,
|
|
124
124
|
current_entity?: string,
|
|
125
125
|
transferred_to_entity?: string,
|
|
126
|
-
start_date?: Date,
|
|
127
|
-
end_date?: Date,
|
|
126
|
+
start_date?: Date | null,
|
|
127
|
+
end_date?: Date | null,
|
|
128
128
|
phone_number?: string,
|
|
129
129
|
reason_for_request?: string,
|
|
130
130
|
request_type?: ServiceTransferRequestType,
|
|
@@ -151,8 +151,8 @@ export class ServiceTransferRequest extends BaseModel {
|
|
|
151
151
|
this.assigned_job_position = assigned_job_position || "";
|
|
152
152
|
this.current_entity = current_entity || "";
|
|
153
153
|
this.transferred_to_entity = transferred_to_entity || "";
|
|
154
|
-
this.start_date = start_date ||
|
|
155
|
-
this.end_date = end_date ||
|
|
154
|
+
this.start_date = start_date || null;
|
|
155
|
+
this.end_date = end_date || null;
|
|
156
156
|
this.phone_number = phone_number || "";
|
|
157
157
|
this.reason_for_request = reason_for_request || "";
|
|
158
158
|
this.request_type = request_type || ServiceTransferRequestType.INTERNAL;
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { Column, Entity } from "typeorm";
|
|
2
|
+
import { BaseModel } from "./BaseModel";
|
|
3
|
+
|
|
4
|
+
export enum ShiftAllowanceRequestStatus {
|
|
5
|
+
PENDING = "Pending",
|
|
6
|
+
ASSIGNED = "Assigned",
|
|
7
|
+
IN_PROGRESS = "In Progress",
|
|
8
|
+
COMPLETED = "Completed",
|
|
9
|
+
APPROVED = "Approved",
|
|
10
|
+
REJECTED = "Rejected"
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export enum ShiftAllowanceValue {
|
|
14
|
+
TWENTY_TWO_PERCENT = "22%",
|
|
15
|
+
THIRTY_PERCENT = "30%",
|
|
16
|
+
SEVENTY_PERCENT = "70%"
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
@Entity({ name: "shift_allowance_requests" })
|
|
20
|
+
export class ShiftAllowanceRequest extends BaseModel {
|
|
21
|
+
@Column({ type: "integer", nullable: true })
|
|
22
|
+
req_user_department_id: number | null;
|
|
23
|
+
|
|
24
|
+
@Column({ type: "integer", nullable: true })
|
|
25
|
+
req_user_section_id: number | null;
|
|
26
|
+
|
|
27
|
+
@Column({ type: "integer", nullable: true })
|
|
28
|
+
req_user_position_id: number | null;
|
|
29
|
+
|
|
30
|
+
@Column({ type: "integer", nullable: true })
|
|
31
|
+
service_id: number | null;
|
|
32
|
+
|
|
33
|
+
@Column({ type: "integer", nullable: true })
|
|
34
|
+
sub_service_id: number | null;
|
|
35
|
+
|
|
36
|
+
@Column({ type: "integer", nullable: false })
|
|
37
|
+
user_id: number;
|
|
38
|
+
|
|
39
|
+
@Column({ type: "text", nullable: true })
|
|
40
|
+
description: string | null;
|
|
41
|
+
|
|
42
|
+
@Column({ type: "enum", enum: ShiftAllowanceRequestStatus, default: ShiftAllowanceRequestStatus.PENDING, nullable: false })
|
|
43
|
+
status: ShiftAllowanceRequestStatus;
|
|
44
|
+
|
|
45
|
+
@Column({ type: "integer", nullable: true })
|
|
46
|
+
reviewer_user_id: number | null;
|
|
47
|
+
|
|
48
|
+
@Column({ type: "integer", nullable: true })
|
|
49
|
+
assigned_to_user_id: number | null;
|
|
50
|
+
|
|
51
|
+
@Column({ type: "timestamp", nullable: true })
|
|
52
|
+
assigned_at: Date | null;
|
|
53
|
+
|
|
54
|
+
@Column({ type: "varchar", length: 255, nullable: true })
|
|
55
|
+
workflow_execution_id: string | null;
|
|
56
|
+
|
|
57
|
+
// Shift Allowance specific fields
|
|
58
|
+
@Column({ type: "varchar", length: 255, nullable: false })
|
|
59
|
+
employee_name: string;
|
|
60
|
+
|
|
61
|
+
@Column({ type: "varchar", length: 100, nullable: false })
|
|
62
|
+
employee_id: string;
|
|
63
|
+
|
|
64
|
+
@Column({ type: "varchar", length: 255, nullable: false })
|
|
65
|
+
job_title: string;
|
|
66
|
+
|
|
67
|
+
@Column({ type: "varchar", length: 100, nullable: false })
|
|
68
|
+
financial_grade: string;
|
|
69
|
+
|
|
70
|
+
@Column({ type: "enum", enum: ShiftAllowanceValue, nullable: false })
|
|
71
|
+
allowance_value: ShiftAllowanceValue;
|
|
72
|
+
|
|
73
|
+
@Column({ type: "date", nullable: false })
|
|
74
|
+
shift_start_date: Date;
|
|
75
|
+
|
|
76
|
+
@Column({ type: "date", nullable: false })
|
|
77
|
+
shift_end_date: Date;
|
|
78
|
+
|
|
79
|
+
@Column({ type: "text", nullable: true })
|
|
80
|
+
reason_for_request: string | null;
|
|
81
|
+
|
|
82
|
+
constructor(
|
|
83
|
+
user_id: number,
|
|
84
|
+
status: ShiftAllowanceRequestStatus = ShiftAllowanceRequestStatus.PENDING,
|
|
85
|
+
service_id?: number | null,
|
|
86
|
+
sub_service_id?: number | null,
|
|
87
|
+
req_user_department_id?: number | null,
|
|
88
|
+
req_user_section_id?: number | null,
|
|
89
|
+
req_user_position_id?: number | null,
|
|
90
|
+
description?: string | null,
|
|
91
|
+
reviewer_user_id?: number | null,
|
|
92
|
+
assigned_to_user_id?: number | null,
|
|
93
|
+
assigned_at?: Date | null,
|
|
94
|
+
workflow_execution_id?: string | null,
|
|
95
|
+
employee_name?: string,
|
|
96
|
+
employee_id?: string,
|
|
97
|
+
job_title?: string,
|
|
98
|
+
financial_grade?: string,
|
|
99
|
+
allowance_value?: ShiftAllowanceValue,
|
|
100
|
+
shift_start_date?: Date,
|
|
101
|
+
shift_end_date?: Date,
|
|
102
|
+
reason_for_request?: string | null
|
|
103
|
+
) {
|
|
104
|
+
super();
|
|
105
|
+
this.user_id = user_id;
|
|
106
|
+
this.status = status;
|
|
107
|
+
this.service_id = service_id || null;
|
|
108
|
+
this.sub_service_id = sub_service_id || null;
|
|
109
|
+
this.req_user_department_id = req_user_department_id || null;
|
|
110
|
+
this.req_user_section_id = req_user_section_id || null;
|
|
111
|
+
this.req_user_position_id = req_user_position_id || null;
|
|
112
|
+
this.description = description || null;
|
|
113
|
+
this.reviewer_user_id = reviewer_user_id || null;
|
|
114
|
+
this.assigned_to_user_id = assigned_to_user_id || null;
|
|
115
|
+
this.assigned_at = assigned_at || null;
|
|
116
|
+
this.workflow_execution_id = workflow_execution_id || null;
|
|
117
|
+
this.employee_name = employee_name || "";
|
|
118
|
+
this.employee_id = employee_id || "";
|
|
119
|
+
this.job_title = job_title || "";
|
|
120
|
+
this.financial_grade = financial_grade || "";
|
|
121
|
+
this.allowance_value = allowance_value || ShiftAllowanceValue.TWENTY_TWO_PERCENT;
|
|
122
|
+
this.shift_start_date = shift_start_date || new Date();
|
|
123
|
+
this.shift_end_date = shift_end_date || new Date();
|
|
124
|
+
this.reason_for_request = reason_for_request || null;
|
|
125
|
+
}
|
|
126
|
+
}
|