@platform-modules/civil-aviation-authority 2.3.138 → 2.3.141
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/data-source.js +20 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.js +11 -0
- package/dist/models/LegalConsultationApprovalModel.d.ts +23 -0
- package/dist/models/LegalConsultationApprovalModel.js +88 -0
- package/dist/models/LegalConsultationAttachmentModel.d.ts +12 -0
- package/dist/models/LegalConsultationAttachmentModel.js +56 -0
- package/dist/models/LegalConsultationChatModel.d.ts +28 -0
- package/dist/models/LegalConsultationChatModel.js +80 -0
- package/dist/models/LegalConsultationRequestModel.d.ts +24 -0
- package/dist/models/LegalConsultationRequestModel.js +83 -0
- package/dist/models/LegalConsultationWorkflowModel.d.ts +25 -0
- package/dist/models/LegalConsultationWorkflowModel.js +88 -0
- package/dist/models/ScholarshipApprovalModel.d.ts +22 -0
- package/dist/models/ScholarshipApprovalModel.js +84 -0
- package/dist/models/ScholarshipAttachmentModel.d.ts +12 -0
- package/dist/models/ScholarshipAttachmentModel.js +56 -0
- package/dist/models/ScholarshipChatModel.d.ts +18 -0
- package/dist/models/ScholarshipChatModel.js +65 -0
- package/dist/models/ScholarshipRequestModel.d.ts +30 -0
- package/dist/models/ScholarshipRequestModel.js +94 -0
- package/dist/models/ScholarshipWorkflowModel.d.ts +19 -0
- package/dist/models/ScholarshipWorkflowModel.js +66 -0
- package/package.json +1 -1
- package/src/data-source.ts +20 -0
- package/src/index.ts +12 -0
- package/src/models/AccommodationApprovalModel.ts +8 -8
- package/src/models/AnnualIncrementRequestEmployeeModel.ts +65 -65
- package/src/models/AnnualIncrementRequestModel.ts +25 -25
- package/src/models/AppealAgainstAdministrativeDecisionRequestModel.ts +23 -23
- package/src/models/CAAServices.ts +33 -33
- package/src/models/CAASubServices.ts +33 -33
- package/src/models/CAIRatingMasterModel.ts +39 -39
- package/src/models/CSRMBusinessImpactRatingMasterModel.ts +25 -25
- package/src/models/CSRMLikelihoodMasterModel.ts +25 -25
- package/src/models/CashAllowanceLeaveRequestModel.ts +11 -11
- package/src/models/CyberSecurityAuditRequestModel.ts +32 -32
- package/src/models/HrServiceRequestModel.ts +193 -193
- package/src/models/LegalConsultationApprovalModel.ts +60 -0
- package/src/models/LegalConsultationAttachmentModel.ts +33 -0
- package/src/models/LegalConsultationChatModel.ts +55 -0
- package/src/models/LegalConsultationRequestModel.ts +56 -0
- package/src/models/LegalConsultationWorkflowModel.ts +59 -0
- package/src/models/PerformanceCyclePeriodModel.ts +26 -26
- package/src/models/PerformanceGoalMasterModel.ts +27 -27
- package/src/models/PerformanceManagementRequestGoalModel.ts +46 -46
- package/src/models/PerformanceManagementRequestModel.ts +14 -14
- package/src/models/PromotionRequestModel.ts +11 -11
- package/src/models/ScholarshipApprovalModel.ts +56 -0
- package/src/models/ScholarshipAttachmentModel.ts +32 -0
- package/src/models/ScholarshipChatModel.ts +42 -0
- package/src/models/ScholarshipRequestModel.ts +64 -0
- package/src/models/ScholarshipWorkflowModel.ts +42 -0
- package/src/models/UserSkillModel.ts +56 -56
- package/dist/models/ITApprovalSettings.d.ts +0 -7
- package/dist/models/ITApprovalSettings.js +0 -40
- package/dist/models/ITServicesTypesMuscatModel.d.ts +0 -6
- package/dist/models/ITServicesTypesMuscatModel.js +0 -34
- package/dist/models/ITServicesTypesSalalahModel.d.ts +0 -6
- package/dist/models/ITServicesTypesSalalahModel.js +0 -34
- package/dist/models/Workflows.d.ts +0 -9
- package/dist/models/Workflows.js +0 -31
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Column, Entity } from 'typeorm';
|
|
2
|
+
import { BaseModel } from './BaseModel';
|
|
3
|
+
|
|
4
|
+
export enum LegalConsultationRequestStatus {
|
|
5
|
+
Pending = 'Pending',
|
|
6
|
+
Approved = 'Approved',
|
|
7
|
+
Rejected = 'Rejected',
|
|
8
|
+
RFC = 'RFC',
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
@Entity({ name: 'legal_consultation_requests' })
|
|
12
|
+
export class LegalConsultationRequest extends BaseModel {
|
|
13
|
+
/** Business reference (populated by create worker / workflow) */
|
|
14
|
+
@Column({ type: 'varchar', length: 20, nullable: true })
|
|
15
|
+
request_id: string | null;
|
|
16
|
+
|
|
17
|
+
@Column({ type: 'date', nullable: false })
|
|
18
|
+
request_date: Date;
|
|
19
|
+
|
|
20
|
+
@Column({ type: 'varchar', length: 500, nullable: false })
|
|
21
|
+
title: string;
|
|
22
|
+
|
|
23
|
+
@Column({ type: 'text', nullable: false })
|
|
24
|
+
description: string;
|
|
25
|
+
|
|
26
|
+
@Column({ type: 'varchar', length: 20, nullable: false, default: 'Pending' })
|
|
27
|
+
status: string;
|
|
28
|
+
|
|
29
|
+
@Column({ type: 'int', nullable: true })
|
|
30
|
+
user_id: number;
|
|
31
|
+
|
|
32
|
+
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
33
|
+
workflow_execution_id: string;
|
|
34
|
+
|
|
35
|
+
@Column({ type: 'int', nullable: false })
|
|
36
|
+
created_by: number;
|
|
37
|
+
|
|
38
|
+
@Column({ type: 'int', nullable: true })
|
|
39
|
+
approved_by: number;
|
|
40
|
+
|
|
41
|
+
@Column({ type: 'date', nullable: true })
|
|
42
|
+
approved_at: Date;
|
|
43
|
+
|
|
44
|
+
@Column({ type: 'text', nullable: true })
|
|
45
|
+
approver_comment: string;
|
|
46
|
+
|
|
47
|
+
@Column({ type: 'int', nullable: false })
|
|
48
|
+
service_id: number;
|
|
49
|
+
|
|
50
|
+
@Column({ type: 'int', nullable: false })
|
|
51
|
+
sub_service_id: number;
|
|
52
|
+
|
|
53
|
+
constructor() {
|
|
54
|
+
super();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Column, Entity } from 'typeorm';
|
|
2
|
+
import { BaseModel } from './BaseModel';
|
|
3
|
+
|
|
4
|
+
export enum LegalConsultationWorkFlowStatus {
|
|
5
|
+
Pending = 'Pending',
|
|
6
|
+
InProgress = 'In Progress',
|
|
7
|
+
Approved = 'Approved',
|
|
8
|
+
Rejected = 'Rejected',
|
|
9
|
+
RFC = 'RFC',
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
@Entity({ name: 'legal_consultation_workflow' })
|
|
13
|
+
export class LegalConsultationWorkflow extends BaseModel {
|
|
14
|
+
@Column({ type: 'int', nullable: false })
|
|
15
|
+
request_id: number;
|
|
16
|
+
|
|
17
|
+
@Column({ type: 'int', nullable: true })
|
|
18
|
+
service_id: number;
|
|
19
|
+
|
|
20
|
+
@Column({ type: 'int', nullable: true })
|
|
21
|
+
sub_service_id: number;
|
|
22
|
+
|
|
23
|
+
@Column({ type: 'int', nullable: true })
|
|
24
|
+
workflow_definition_id: number;
|
|
25
|
+
|
|
26
|
+
@Column({ type: 'int', nullable: true })
|
|
27
|
+
current_level: number;
|
|
28
|
+
|
|
29
|
+
@Column({ type: 'varchar', length: 500, nullable: true })
|
|
30
|
+
content: string;
|
|
31
|
+
|
|
32
|
+
@Column({ type: 'varchar', length: 50, nullable: false })
|
|
33
|
+
status: string;
|
|
34
|
+
|
|
35
|
+
@Column({ type: 'int', nullable: true })
|
|
36
|
+
step_order: number;
|
|
37
|
+
|
|
38
|
+
@Column({ type: 'int', nullable: true })
|
|
39
|
+
user_id: number;
|
|
40
|
+
|
|
41
|
+
@Column({ type: 'int', nullable: true })
|
|
42
|
+
role_id: number;
|
|
43
|
+
|
|
44
|
+
@Column({ type: 'int', nullable: true })
|
|
45
|
+
department_id: number;
|
|
46
|
+
|
|
47
|
+
@Column({ type: 'int', nullable: true })
|
|
48
|
+
section_id: number;
|
|
49
|
+
|
|
50
|
+
@Column({ type: 'text', nullable: true })
|
|
51
|
+
workflow_data: string;
|
|
52
|
+
|
|
53
|
+
@Column({ type: 'int', nullable: false })
|
|
54
|
+
created_by: number;
|
|
55
|
+
|
|
56
|
+
constructor() {
|
|
57
|
+
super();
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import { Column, Entity, Index } from "typeorm";
|
|
2
|
-
import { BaseModel } from "./BaseModel";
|
|
3
|
-
|
|
4
|
-
@Entity({ name: "performance_cycle_periods" })
|
|
5
|
-
@Index("uq_performance_cycle_period", ["cycle_period", "cycle_year"], { unique: true })
|
|
6
|
-
export class PerformanceCyclePeriod extends BaseModel {
|
|
7
|
-
@Column({ type: "varchar", length: 50, nullable: false })
|
|
8
|
-
cycle_period: string;
|
|
9
|
-
|
|
10
|
-
@Column({ type: "integer", nullable: false })
|
|
11
|
-
cycle_year: number;
|
|
12
|
-
|
|
13
|
-
@Column({ type: "varchar", length: 255, nullable: false, default: "" })
|
|
14
|
-
title: string;
|
|
15
|
-
|
|
16
|
-
@Column({ type: "boolean", default: false })
|
|
17
|
-
is_active: boolean;
|
|
18
|
-
|
|
19
|
-
constructor(cycle_period?: string, cycle_year?: number, title?: string) {
|
|
20
|
-
super();
|
|
21
|
-
this.cycle_period = cycle_period || "";
|
|
22
|
-
this.cycle_year = cycle_year || new Date().getFullYear();
|
|
23
|
-
this.title = title || "";
|
|
24
|
-
this.is_active = false;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
1
|
+
import { Column, Entity, Index } from "typeorm";
|
|
2
|
+
import { BaseModel } from "./BaseModel";
|
|
3
|
+
|
|
4
|
+
@Entity({ name: "performance_cycle_periods" })
|
|
5
|
+
@Index("uq_performance_cycle_period", ["cycle_period", "cycle_year"], { unique: true })
|
|
6
|
+
export class PerformanceCyclePeriod extends BaseModel {
|
|
7
|
+
@Column({ type: "varchar", length: 50, nullable: false })
|
|
8
|
+
cycle_period: string;
|
|
9
|
+
|
|
10
|
+
@Column({ type: "integer", nullable: false })
|
|
11
|
+
cycle_year: number;
|
|
12
|
+
|
|
13
|
+
@Column({ type: "varchar", length: 255, nullable: false, default: "" })
|
|
14
|
+
title: string;
|
|
15
|
+
|
|
16
|
+
@Column({ type: "boolean", default: false })
|
|
17
|
+
is_active: boolean;
|
|
18
|
+
|
|
19
|
+
constructor(cycle_period?: string, cycle_year?: number, title?: string) {
|
|
20
|
+
super();
|
|
21
|
+
this.cycle_period = cycle_period || "";
|
|
22
|
+
this.cycle_year = cycle_year || new Date().getFullYear();
|
|
23
|
+
this.title = title || "";
|
|
24
|
+
this.is_active = false;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import { Column, Entity, Index } from "typeorm";
|
|
2
|
-
import { BaseModel } from "./BaseModel";
|
|
3
|
-
|
|
4
|
-
@Entity({ name: "performance_management_goals" })
|
|
5
|
-
export class PerformanceGoalMaster extends BaseModel {
|
|
6
|
-
@Column({ type: "varchar", length: 255, nullable: false })
|
|
7
|
-
goal_title: string;
|
|
8
|
-
|
|
9
|
-
@Column({ type: "text", nullable: true })
|
|
10
|
-
goal_description: string | null;
|
|
11
|
-
|
|
12
|
-
@Column({ type: "integer", nullable: false })
|
|
13
|
-
@Index("idx_performance_goal_cycle_period_id")
|
|
14
|
-
cycle_period_id: number;
|
|
15
|
-
|
|
16
|
-
@Column({ type: "boolean", default: true })
|
|
17
|
-
is_active: boolean;
|
|
18
|
-
|
|
19
|
-
constructor(goal_title?: string, goal_description?: string | null, cycle_period_id?: number) {
|
|
20
|
-
super();
|
|
21
|
-
this.goal_title = goal_title || "";
|
|
22
|
-
this.goal_description = goal_description || null;
|
|
23
|
-
this.cycle_period_id = cycle_period_id || 0;
|
|
24
|
-
this.is_active = true;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
1
|
+
import { Column, Entity, Index } from "typeorm";
|
|
2
|
+
import { BaseModel } from "./BaseModel";
|
|
3
|
+
|
|
4
|
+
@Entity({ name: "performance_management_goals" })
|
|
5
|
+
export class PerformanceGoalMaster extends BaseModel {
|
|
6
|
+
@Column({ type: "varchar", length: 255, nullable: false })
|
|
7
|
+
goal_title: string;
|
|
8
|
+
|
|
9
|
+
@Column({ type: "text", nullable: true })
|
|
10
|
+
goal_description: string | null;
|
|
11
|
+
|
|
12
|
+
@Column({ type: "integer", nullable: false })
|
|
13
|
+
@Index("idx_performance_goal_cycle_period_id")
|
|
14
|
+
cycle_period_id: number;
|
|
15
|
+
|
|
16
|
+
@Column({ type: "boolean", default: true })
|
|
17
|
+
is_active: boolean;
|
|
18
|
+
|
|
19
|
+
constructor(goal_title?: string, goal_description?: string | null, cycle_period_id?: number) {
|
|
20
|
+
super();
|
|
21
|
+
this.goal_title = goal_title || "";
|
|
22
|
+
this.goal_description = goal_description || null;
|
|
23
|
+
this.cycle_period_id = cycle_period_id || 0;
|
|
24
|
+
this.is_active = true;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
import { Column, Entity, Index } from "typeorm";
|
|
2
|
-
import { BaseModel } from "./BaseModel";
|
|
3
|
-
|
|
4
|
-
@Entity({ name: "performance_management_request_goals" })
|
|
5
|
-
export class PerformanceManagementRequestGoal extends BaseModel {
|
|
6
|
-
@Index("idx_pm_request_goals_request_id")
|
|
7
|
-
@Column({ type: "integer", nullable: false })
|
|
8
|
-
request_id: number;
|
|
9
|
-
|
|
10
|
-
@Column({ type: "varchar", length: 255, nullable: false })
|
|
11
|
-
goal_title: string;
|
|
12
|
-
|
|
13
|
-
@Column({ type: "varchar", length: 100, nullable: false })
|
|
14
|
-
goal_id: string;
|
|
15
|
-
|
|
16
|
-
@Column({ type: "text", nullable: false })
|
|
17
|
-
goal_description: string;
|
|
18
|
-
|
|
19
|
-
@Column({ type: "integer", nullable: false, default: 0 })
|
|
20
|
-
goal_weight: number;
|
|
21
|
-
|
|
22
|
-
@Column({ type: "integer", nullable: true, default: null })
|
|
23
|
-
rating: number | null;
|
|
24
|
-
|
|
25
|
-
@Column({ type: "text", nullable: true, default: null })
|
|
26
|
-
remark: string | null;
|
|
27
|
-
|
|
28
|
-
constructor(
|
|
29
|
-
request_id?: number,
|
|
30
|
-
goal_title?: string,
|
|
31
|
-
goal_id?: string,
|
|
32
|
-
goal_description?: string,
|
|
33
|
-
goal_weight?: number,
|
|
34
|
-
rating?: number | null,
|
|
35
|
-
remark?: string | null
|
|
36
|
-
) {
|
|
37
|
-
super();
|
|
38
|
-
this.request_id = request_id || 0;
|
|
39
|
-
this.goal_title = goal_title || "";
|
|
40
|
-
this.goal_id = goal_id || "";
|
|
41
|
-
this.goal_description = goal_description || "";
|
|
42
|
-
this.goal_weight = goal_weight || 0;
|
|
43
|
-
this.rating = rating ?? null;
|
|
44
|
-
this.remark = remark ?? null;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
1
|
+
import { Column, Entity, Index } from "typeorm";
|
|
2
|
+
import { BaseModel } from "./BaseModel";
|
|
3
|
+
|
|
4
|
+
@Entity({ name: "performance_management_request_goals" })
|
|
5
|
+
export class PerformanceManagementRequestGoal extends BaseModel {
|
|
6
|
+
@Index("idx_pm_request_goals_request_id")
|
|
7
|
+
@Column({ type: "integer", nullable: false })
|
|
8
|
+
request_id: number;
|
|
9
|
+
|
|
10
|
+
@Column({ type: "varchar", length: 255, nullable: false })
|
|
11
|
+
goal_title: string;
|
|
12
|
+
|
|
13
|
+
@Column({ type: "varchar", length: 100, nullable: false })
|
|
14
|
+
goal_id: string;
|
|
15
|
+
|
|
16
|
+
@Column({ type: "text", nullable: false })
|
|
17
|
+
goal_description: string;
|
|
18
|
+
|
|
19
|
+
@Column({ type: "integer", nullable: false, default: 0 })
|
|
20
|
+
goal_weight: number;
|
|
21
|
+
|
|
22
|
+
@Column({ type: "integer", nullable: true, default: null })
|
|
23
|
+
rating: number | null;
|
|
24
|
+
|
|
25
|
+
@Column({ type: "text", nullable: true, default: null })
|
|
26
|
+
remark: string | null;
|
|
27
|
+
|
|
28
|
+
constructor(
|
|
29
|
+
request_id?: number,
|
|
30
|
+
goal_title?: string,
|
|
31
|
+
goal_id?: string,
|
|
32
|
+
goal_description?: string,
|
|
33
|
+
goal_weight?: number,
|
|
34
|
+
rating?: number | null,
|
|
35
|
+
remark?: string | null
|
|
36
|
+
) {
|
|
37
|
+
super();
|
|
38
|
+
this.request_id = request_id || 0;
|
|
39
|
+
this.goal_title = goal_title || "";
|
|
40
|
+
this.goal_id = goal_id || "";
|
|
41
|
+
this.goal_description = goal_description || "";
|
|
42
|
+
this.goal_weight = goal_weight || 0;
|
|
43
|
+
this.rating = rating ?? null;
|
|
44
|
+
this.remark = remark ?? null;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -53,8 +53,8 @@ export class PerformanceManagementRequest extends BaseModel {
|
|
|
53
53
|
@Column({ type: "text", nullable: true })
|
|
54
54
|
description: string | null;
|
|
55
55
|
|
|
56
|
-
@Column({ type: "enum", enum: PerformanceManagementCyclePeriod, nullable: false })
|
|
57
|
-
cycle_period: PerformanceManagementCyclePeriod;
|
|
56
|
+
@Column({ type: "enum", enum: PerformanceManagementCyclePeriod, nullable: false })
|
|
57
|
+
cycle_period: PerformanceManagementCyclePeriod;
|
|
58
58
|
|
|
59
59
|
@Column({ type: "integer", nullable: true })
|
|
60
60
|
cycle_year: number | null;
|
|
@@ -70,11 +70,11 @@ export class PerformanceManagementRequest extends BaseModel {
|
|
|
70
70
|
description?: string | null,
|
|
71
71
|
reviewer_user_id?: number | null,
|
|
72
72
|
assigned_to_user_id?: number | null,
|
|
73
|
-
assigned_at?: Date | null,
|
|
74
|
-
workflow_execution_id?: string | null,
|
|
75
|
-
cycle_period?: PerformanceManagementCyclePeriod,
|
|
76
|
-
cycle_year?: number | null
|
|
77
|
-
) {
|
|
73
|
+
assigned_at?: Date | null,
|
|
74
|
+
workflow_execution_id?: string | null,
|
|
75
|
+
cycle_period?: PerformanceManagementCyclePeriod,
|
|
76
|
+
cycle_year?: number | null
|
|
77
|
+
) {
|
|
78
78
|
super();
|
|
79
79
|
this.user_id = user_id;
|
|
80
80
|
this.status = status;
|
|
@@ -85,10 +85,10 @@ export class PerformanceManagementRequest extends BaseModel {
|
|
|
85
85
|
this.req_user_position_id = req_user_position_id || null;
|
|
86
86
|
this.description = description || null;
|
|
87
87
|
this.reviewer_user_id = reviewer_user_id || null;
|
|
88
|
-
this.assigned_to_user_id = assigned_to_user_id || null;
|
|
89
|
-
this.assigned_at = assigned_at || null;
|
|
90
|
-
this.workflow_execution_id = workflow_execution_id || null;
|
|
91
|
-
this.cycle_period = cycle_period || PerformanceManagementCyclePeriod.JAN_JUN;
|
|
92
|
-
this.cycle_year = cycle_year || null;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
88
|
+
this.assigned_to_user_id = assigned_to_user_id || null;
|
|
89
|
+
this.assigned_at = assigned_at || null;
|
|
90
|
+
this.workflow_execution_id = workflow_execution_id || null;
|
|
91
|
+
this.cycle_period = cycle_period || PerformanceManagementCyclePeriod.JAN_JUN;
|
|
92
|
+
this.cycle_year = cycle_year || null;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
@@ -45,12 +45,12 @@ export class PromotionRequest extends BaseModel {
|
|
|
45
45
|
@Column({ type: "timestamp", nullable: true })
|
|
46
46
|
assigned_at: Date | null;
|
|
47
47
|
|
|
48
|
-
@Column({ type: "varchar", length: 255, nullable: true })
|
|
49
|
-
workflow_execution_id: string | null;
|
|
50
|
-
|
|
51
|
-
@Column({ type: "varchar", length: 255, nullable: true })
|
|
52
|
-
reference_number: string | null;
|
|
53
|
-
|
|
48
|
+
@Column({ type: "varchar", length: 255, nullable: true })
|
|
49
|
+
workflow_execution_id: string | null;
|
|
50
|
+
|
|
51
|
+
@Column({ type: "varchar", length: 255, nullable: true })
|
|
52
|
+
reference_number: string | null;
|
|
53
|
+
|
|
54
54
|
// Promotion Decision specific fields
|
|
55
55
|
@Column({ type: "varchar", length: 255, nullable: false })
|
|
56
56
|
employee_name: string;
|
|
@@ -108,11 +108,11 @@ export class PromotionRequest extends BaseModel {
|
|
|
108
108
|
this.req_user_position_id = req_user_position_id || null;
|
|
109
109
|
this.description = description || null;
|
|
110
110
|
this.reviewer_user_id = reviewer_user_id || null;
|
|
111
|
-
this.assigned_to_user_id = assigned_to_user_id || null;
|
|
112
|
-
this.assigned_at = assigned_at || null;
|
|
113
|
-
this.workflow_execution_id = workflow_execution_id || null;
|
|
114
|
-
this.reference_number = null;
|
|
115
|
-
this.employee_name = employee_name || "";
|
|
111
|
+
this.assigned_to_user_id = assigned_to_user_id || null;
|
|
112
|
+
this.assigned_at = assigned_at || null;
|
|
113
|
+
this.workflow_execution_id = workflow_execution_id || null;
|
|
114
|
+
this.reference_number = null;
|
|
115
|
+
this.employee_name = employee_name || "";
|
|
116
116
|
this.employee_id = employee_id || "";
|
|
117
117
|
this.current_job_title = current_job_title || "";
|
|
118
118
|
this.proposed_job_title = proposed_job_title || "";
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Column, Entity } from "typeorm";
|
|
2
|
+
import { BaseModel } from "./BaseModel";
|
|
3
|
+
|
|
4
|
+
export enum ScholarshipApprovalStatus {
|
|
5
|
+
PENDING = "Pending",
|
|
6
|
+
IN_PROGRESS = "In Progress",
|
|
7
|
+
APPROVED = "Approved",
|
|
8
|
+
REJECTED = "Rejected",
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
@Entity({ name: "scholarship_approvals" })
|
|
12
|
+
export class ScholarshipApprovalDetails 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: "integer", nullable: false })
|
|
23
|
+
level: number;
|
|
24
|
+
|
|
25
|
+
@Column({ type: "integer", nullable: true })
|
|
26
|
+
approver_role_id: number | null;
|
|
27
|
+
|
|
28
|
+
@Column({ type: "integer", nullable: true })
|
|
29
|
+
department_id: number | null;
|
|
30
|
+
|
|
31
|
+
@Column({ type: "integer", nullable: true })
|
|
32
|
+
section_id: number | null;
|
|
33
|
+
|
|
34
|
+
@Column({ type: "integer", nullable: true })
|
|
35
|
+
approver_user_id: number | null;
|
|
36
|
+
|
|
37
|
+
@Column({ type: "integer", nullable: true })
|
|
38
|
+
delegate_user_id: number | null;
|
|
39
|
+
|
|
40
|
+
@Column({ type: "integer", nullable: true })
|
|
41
|
+
approved_by: number | null;
|
|
42
|
+
|
|
43
|
+
@Column({ type: "varchar", length: 500, nullable: true, default: "" })
|
|
44
|
+
comment: string;
|
|
45
|
+
|
|
46
|
+
@Column({
|
|
47
|
+
type: "enum",
|
|
48
|
+
enum: ScholarshipApprovalStatus,
|
|
49
|
+
default: ScholarshipApprovalStatus.PENDING,
|
|
50
|
+
nullable: false,
|
|
51
|
+
})
|
|
52
|
+
approval_status: ScholarshipApprovalStatus;
|
|
53
|
+
|
|
54
|
+
@Column({ type: "boolean", default: true, nullable: false })
|
|
55
|
+
is_allowed: boolean;
|
|
56
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Column, Entity } from "typeorm";
|
|
2
|
+
import { BaseModel } from "./BaseModel";
|
|
3
|
+
|
|
4
|
+
@Entity({ name: "scholarship_attachments" })
|
|
5
|
+
export class ScholarshipRequestAttachment extends BaseModel {
|
|
6
|
+
@Column({ type: "integer", nullable: false })
|
|
7
|
+
request_id: number;
|
|
8
|
+
|
|
9
|
+
@Column({ type: "integer", nullable: true })
|
|
10
|
+
service_id: number | null;
|
|
11
|
+
|
|
12
|
+
@Column({ type: "integer", nullable: true })
|
|
13
|
+
sub_service_id: number | null;
|
|
14
|
+
|
|
15
|
+
@Column({ type: "varchar", length: 500, nullable: false })
|
|
16
|
+
file_url: string;
|
|
17
|
+
|
|
18
|
+
@Column({ type: "varchar", length: 255, nullable: true })
|
|
19
|
+
file_name: string;
|
|
20
|
+
|
|
21
|
+
@Column({ type: "varchar", length: 100, nullable: true })
|
|
22
|
+
file_type: string;
|
|
23
|
+
|
|
24
|
+
@Column({ type: "bigint", nullable: true })
|
|
25
|
+
file_size: number | null;
|
|
26
|
+
|
|
27
|
+
@Column({ type: "integer", nullable: true })
|
|
28
|
+
chat_id: number | null;
|
|
29
|
+
|
|
30
|
+
@Column({ type: "varchar", length: 255, nullable: true })
|
|
31
|
+
attachment_for: string | null;
|
|
32
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Column, Entity } from "typeorm";
|
|
2
|
+
import { BaseModel } from "./BaseModel";
|
|
3
|
+
|
|
4
|
+
export enum ScholarshipMessageType {
|
|
5
|
+
TEXT = "text",
|
|
6
|
+
IMAGE = "image",
|
|
7
|
+
VIDEO = "video",
|
|
8
|
+
FILE = "file",
|
|
9
|
+
LINK = "link",
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
@Entity({ name: "scholarship_chats" })
|
|
13
|
+
export class ScholarshipRequestChat extends BaseModel {
|
|
14
|
+
@Column({ type: "integer", nullable: false })
|
|
15
|
+
request_id: number;
|
|
16
|
+
|
|
17
|
+
@Column({ type: "integer", nullable: true })
|
|
18
|
+
service_id: number | null;
|
|
19
|
+
|
|
20
|
+
@Column({ type: "integer", nullable: true })
|
|
21
|
+
sub_service_id: number | null;
|
|
22
|
+
|
|
23
|
+
@Column({ type: "integer", nullable: false })
|
|
24
|
+
user_id: number;
|
|
25
|
+
|
|
26
|
+
@Column({ type: "integer", nullable: true })
|
|
27
|
+
role_id: number | null;
|
|
28
|
+
|
|
29
|
+
@Column({ type: "text", nullable: false })
|
|
30
|
+
message: string;
|
|
31
|
+
|
|
32
|
+
@Column({
|
|
33
|
+
type: "enum",
|
|
34
|
+
enum: ScholarshipMessageType,
|
|
35
|
+
default: ScholarshipMessageType.TEXT,
|
|
36
|
+
nullable: false,
|
|
37
|
+
})
|
|
38
|
+
messageType: ScholarshipMessageType;
|
|
39
|
+
|
|
40
|
+
@Column({ type: "text", nullable: true })
|
|
41
|
+
status: string | null;
|
|
42
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { Column, Entity } from "typeorm";
|
|
2
|
+
import { BaseModel } from "./BaseModel";
|
|
3
|
+
|
|
4
|
+
export enum ScholarshipRequestStatus {
|
|
5
|
+
PENDING = "Pending",
|
|
6
|
+
ASSIGNED = "Assigned",
|
|
7
|
+
IN_PROGRESS = "In Progress",
|
|
8
|
+
APPROVED = "Approved",
|
|
9
|
+
REJECTED = "Rejected",
|
|
10
|
+
CANCELLED = "Cancelled",
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export enum ScholarshipType {
|
|
14
|
+
PLANNED = "Planned",
|
|
15
|
+
UNPLANNED = "Unplanned",
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
@Entity({ name: "scholarship_requests" })
|
|
19
|
+
export class ScholarshipRequests 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
|
+
service_id: number | null;
|
|
28
|
+
|
|
29
|
+
@Column({ type: "integer", nullable: true })
|
|
30
|
+
sub_service_id: number | null;
|
|
31
|
+
|
|
32
|
+
@Column({ type: "integer", nullable: false })
|
|
33
|
+
user_id: number;
|
|
34
|
+
|
|
35
|
+
@Column({ type: "enum", enum: ScholarshipRequestStatus, default: ScholarshipRequestStatus.PENDING, nullable: false })
|
|
36
|
+
status: ScholarshipRequestStatus;
|
|
37
|
+
|
|
38
|
+
@Column({ type: "varchar", nullable: true })
|
|
39
|
+
workflow_execution_id: string | null;
|
|
40
|
+
|
|
41
|
+
@Column({ type: "varchar", length: 500, nullable: true })
|
|
42
|
+
scholarship_name: string | null;
|
|
43
|
+
|
|
44
|
+
@Column({ type: "enum", enum: ScholarshipType, nullable: false })
|
|
45
|
+
type: ScholarshipType;
|
|
46
|
+
|
|
47
|
+
@Column({ type: "text", nullable: true })
|
|
48
|
+
reason: string | null;
|
|
49
|
+
|
|
50
|
+
@Column({ type: "text", nullable: true })
|
|
51
|
+
description: string | null;
|
|
52
|
+
|
|
53
|
+
@Column({ type: "date", nullable: true })
|
|
54
|
+
start_date: string | null;
|
|
55
|
+
|
|
56
|
+
@Column({ type: "date", nullable: true })
|
|
57
|
+
end_date: string | null;
|
|
58
|
+
|
|
59
|
+
@Column({ type: "integer", nullable: true })
|
|
60
|
+
number_of_attendees: number | null;
|
|
61
|
+
|
|
62
|
+
@Column({ type: "varchar", length: 500, nullable: true })
|
|
63
|
+
place: string | null;
|
|
64
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Column, Entity } from "typeorm";
|
|
2
|
+
import { BaseModel } from "./BaseModel";
|
|
3
|
+
|
|
4
|
+
export enum ScholarshipWorkFlowStatus {
|
|
5
|
+
COMPLETED = "Completed",
|
|
6
|
+
NOT_YET_STARTED = "Not Yet Started",
|
|
7
|
+
PENDING = "Pending",
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
@Entity({ name: "scholarship_workflows" })
|
|
11
|
+
export class ScholarshipWorkFlow extends BaseModel {
|
|
12
|
+
@Column({ type: "integer", nullable: false })
|
|
13
|
+
request_id: number;
|
|
14
|
+
|
|
15
|
+
@Column({ type: "integer", nullable: true })
|
|
16
|
+
service_id: number | null;
|
|
17
|
+
|
|
18
|
+
@Column({ type: "integer", nullable: true })
|
|
19
|
+
sub_service_id: number | null;
|
|
20
|
+
|
|
21
|
+
@Column({ type: "varchar", length: 500, nullable: false })
|
|
22
|
+
content: string;
|
|
23
|
+
|
|
24
|
+
@Column({ type: "enum", enum: ScholarshipWorkFlowStatus, default: ScholarshipWorkFlowStatus.NOT_YET_STARTED, nullable: false })
|
|
25
|
+
status: ScholarshipWorkFlowStatus;
|
|
26
|
+
|
|
27
|
+
@Column({ type: "integer", nullable: true })
|
|
28
|
+
user_id: number | null;
|
|
29
|
+
|
|
30
|
+
@Column({ type: "integer", nullable: true })
|
|
31
|
+
role_id: number | null;
|
|
32
|
+
|
|
33
|
+
@Column({ type: "integer", nullable: true })
|
|
34
|
+
department_id: number | null;
|
|
35
|
+
|
|
36
|
+
@Column({ type: "integer", nullable: true })
|
|
37
|
+
section_id: number | null;
|
|
38
|
+
|
|
39
|
+
/** Aligns with workflow hierarchy step_order / Conductor human stepOrder */
|
|
40
|
+
@Column({ type: "integer", nullable: true })
|
|
41
|
+
step_order: number | null;
|
|
42
|
+
}
|