@platform-modules/civil-aviation-authority 2.3.10 → 2.3.12

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.
@@ -0,0 +1,56 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from "./BaseModel";
3
+
4
+ @Entity({ name: "study_leave_request_attachments" })
5
+ export class StudyLeaveRequestAttachment 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: "integer", nullable: false })
16
+ uploaded_by: number;
17
+
18
+ @Column({ type: "varchar", length: 500, nullable: false })
19
+ file_url: string;
20
+
21
+ @Column({ type: "varchar", length: 255, nullable: true })
22
+ file_name: string;
23
+
24
+ @Column({ type: "varchar", length: 100, nullable: true })
25
+ file_type: string;
26
+
27
+ @Column({ type: "bigint", nullable: true })
28
+ file_size: number | null;
29
+
30
+ @Column({ type: "text", nullable: true })
31
+ description: string;
32
+
33
+ constructor(
34
+ request_id: number,
35
+ uploaded_by: number,
36
+ file_url: string,
37
+ service_id?: number | null,
38
+ sub_service_id?: number | null,
39
+ file_name?: string,
40
+ file_type?: string,
41
+ file_size?: number,
42
+ description?: string
43
+ ) {
44
+ super();
45
+ this.request_id = request_id;
46
+ this.service_id = service_id || null;
47
+ this.sub_service_id = sub_service_id || null;
48
+ this.uploaded_by = uploaded_by;
49
+ this.file_url = file_url;
50
+ this.file_name = file_name || "";
51
+ this.file_type = file_type || "";
52
+ this.file_size = file_size || null;
53
+ this.description = description || "";
54
+ }
55
+ }
56
+
@@ -0,0 +1,76 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from "./BaseModel";
3
+
4
+ export enum StudyLeaveMessageType {
5
+ TEXT = "text",
6
+ IMAGE = "image",
7
+ VIDEO = "video",
8
+ FILE = "file",
9
+ LINK = "link"
10
+ }
11
+
12
+ export enum StudyLeaveChatStatus {
13
+ PENDING = "Pending",
14
+ APPROVED = "Approved",
15
+ REJECTED = "Rejected",
16
+ IN_PROGRESS = "In Progress"
17
+ }
18
+
19
+ @Entity({ name: "study_leave_request_chat" })
20
+ export class StudyLeaveRequestChat extends BaseModel {
21
+ @Column({ type: "integer", nullable: false })
22
+ request_id: number;
23
+
24
+ @Column({ type: "integer", nullable: true })
25
+ service_id: number | null;
26
+
27
+ @Column({ type: "integer", nullable: true })
28
+ sub_service_id: number | null;
29
+
30
+ @Column({ type: "integer", nullable: false })
31
+ user_id: number;
32
+
33
+ @Column({ type: "text", nullable: false })
34
+ message: string;
35
+
36
+ @Column({ type: "integer", nullable: true })
37
+ approver_role_id: number | null;
38
+
39
+ @Column({
40
+ type: "enum",
41
+ enum: StudyLeaveMessageType,
42
+ default: StudyLeaveMessageType.TEXT,
43
+ nullable: false
44
+ })
45
+ messageType: StudyLeaveMessageType;
46
+
47
+ @Column({ type: "boolean", default: false })
48
+ is_internal: boolean;
49
+
50
+ @Column({ type: "text", nullable: false })
51
+ status: string;
52
+
53
+ constructor(
54
+ request_id: number,
55
+ user_id: number,
56
+ message: string,
57
+ service_id?: number | null,
58
+ sub_service_id?: number | null,
59
+ messageType?: StudyLeaveMessageType,
60
+ is_internal?: boolean,
61
+ status?: string,
62
+ approver_role_id?: number
63
+ ) {
64
+ super();
65
+ this.request_id = request_id;
66
+ this.service_id = service_id || null;
67
+ this.sub_service_id = sub_service_id || null;
68
+ this.user_id = user_id;
69
+ this.message = message;
70
+ this.messageType = messageType || StudyLeaveMessageType.TEXT;
71
+ this.is_internal = is_internal || false;
72
+ this.status = status || 'Pending';
73
+ this.approver_role_id = approver_role_id || null;
74
+ }
75
+ }
76
+
@@ -0,0 +1,114 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from "./BaseModel";
3
+
4
+ export enum StudyLeaveRequestStatus {
5
+ PENDING = "Pending",
6
+ IN_PROGRESS = "In Progress",
7
+ COMPLETED = "Completed",
8
+ APPROVED = "Approved",
9
+ REJECTED = "Rejected"
10
+ }
11
+
12
+ @Entity({ name: "study_leave_requests" })
13
+ export class StudyLeaveRequest extends BaseModel {
14
+ @Column({ type: "integer", nullable: true })
15
+ req_user_department_id: number | null;
16
+
17
+ @Column({ type: "integer", nullable: true })
18
+ req_user_section_id: number | null;
19
+
20
+ @Column({ type: "integer", nullable: true })
21
+ req_user_position_id: number | null;
22
+
23
+ @Column({ type: "integer", nullable: true })
24
+ service_id: number | null;
25
+
26
+ @Column({ type: "integer", nullable: true })
27
+ sub_service_id: number | null;
28
+
29
+ @Column({ type: "integer", nullable: false })
30
+ user_id: number;
31
+
32
+ @Column({ type: "varchar", length: 255, nullable: false })
33
+ course_name: string;
34
+
35
+ @Column({ type: "varchar", length: 255, nullable: false })
36
+ institute_name: string;
37
+
38
+ @Column({ type: "varchar", length: 255, nullable: true })
39
+ duration_of_course: string | null;
40
+
41
+ @Column({ type: "date", nullable: false })
42
+ course_start_date: Date;
43
+
44
+ @Column({ type: "date", nullable: false })
45
+ course_end_date: Date;
46
+
47
+ @Column({ type: "varchar", length: 255, nullable: false })
48
+ location: string;
49
+
50
+ @Column({ type: "text", nullable: false })
51
+ description: string;
52
+
53
+ @Column({
54
+ type: "enum",
55
+ enum: StudyLeaveRequestStatus,
56
+ default: StudyLeaveRequestStatus.PENDING,
57
+ nullable: false
58
+ })
59
+ status: StudyLeaveRequestStatus;
60
+
61
+ @Column({ type: "integer", nullable: true })
62
+ reviewer_user_id: number | null;
63
+
64
+ @Column({ type: "integer", nullable: true })
65
+ assigned_to_user_id: number | null;
66
+
67
+ @Column({ type: "timestamp", nullable: true })
68
+ assigned_at: Date | null;
69
+
70
+ @Column({ type: "varchar", length: 255, nullable: true })
71
+ workflow_execution_id: string | null;
72
+
73
+ constructor(
74
+ user_id: number,
75
+ course_name: string,
76
+ institute_name: string,
77
+ course_start_date: Date,
78
+ course_end_date: Date,
79
+ location: string,
80
+ description: string,
81
+ status: StudyLeaveRequestStatus = StudyLeaveRequestStatus.PENDING,
82
+ service_id?: number | null,
83
+ sub_service_id?: number | null,
84
+ req_user_department_id?: number | null,
85
+ req_user_section_id?: number | null,
86
+ req_user_position_id?: number | null,
87
+ duration_of_course?: string | null,
88
+ reviewer_user_id?: number | null,
89
+ assigned_to_user_id?: number | null,
90
+ assigned_at?: Date | null,
91
+ workflow_execution_id?: string | null
92
+ ) {
93
+ super();
94
+ this.user_id = user_id;
95
+ this.course_name = course_name;
96
+ this.institute_name = institute_name;
97
+ this.course_start_date = course_start_date;
98
+ this.course_end_date = course_end_date;
99
+ this.location = location;
100
+ this.description = description;
101
+ this.status = status;
102
+ this.service_id = service_id || null;
103
+ this.sub_service_id = sub_service_id || null;
104
+ this.req_user_department_id = req_user_department_id || null;
105
+ this.req_user_section_id = req_user_section_id || null;
106
+ this.req_user_position_id = req_user_position_id || null;
107
+ this.duration_of_course = duration_of_course || null;
108
+ this.reviewer_user_id = reviewer_user_id || null;
109
+ this.assigned_to_user_id = assigned_to_user_id || null;
110
+ this.assigned_at = assigned_at || null;
111
+ this.workflow_execution_id = workflow_execution_id || null;
112
+ }
113
+ }
114
+
@@ -0,0 +1,68 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from "./BaseModel";
3
+
4
+ export enum StudyLeaveWorkFlowStatus {
5
+ COMPLETED = "Completed",
6
+ NOT_YET_STARTED = "Not Yet Started",
7
+ PENDING = "Pending",
8
+ REJECTED = "Rejected"
9
+ }
10
+
11
+ @Entity({ name: "study_leave_workflows" })
12
+ export class StudyLeaveWorkFlow extends BaseModel {
13
+ @Column({ type: "int", 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: "int", nullable: true })
23
+ order: number | null;
24
+
25
+ @Column({ type: "varchar", length: 255, nullable: false })
26
+ content: string;
27
+
28
+ @Column({ type: "integer", nullable: true })
29
+ approver_role_id: number | null;
30
+
31
+ @Column({ type: "integer", nullable: true })
32
+ approver_user_id: number | null;
33
+
34
+ @Column({ type: "integer", nullable: true })
35
+ approved_by: number | null;
36
+
37
+ @Column({
38
+ type: "enum",
39
+ enum: StudyLeaveWorkFlowStatus,
40
+ default: StudyLeaveWorkFlowStatus.PENDING,
41
+ nullable: false
42
+ })
43
+ status: StudyLeaveWorkFlowStatus;
44
+
45
+ constructor(
46
+ request_id: number,
47
+ content: string,
48
+ status: StudyLeaveWorkFlowStatus,
49
+ service_id?: number | null,
50
+ sub_service_id?: number | null,
51
+ order?: number,
52
+ approver_role_id?: number | null,
53
+ approver_user_id?: number | null,
54
+ approved_by?: number | null
55
+ ) {
56
+ super();
57
+ this.request_id = request_id;
58
+ this.service_id = service_id || null;
59
+ this.sub_service_id = sub_service_id || null;
60
+ this.content = content;
61
+ this.status = status;
62
+ this.order = order || null;
63
+ this.approver_role_id = approver_role_id || null;
64
+ this.approver_user_id = approver_user_id || null;
65
+ this.approved_by = approved_by || null;
66
+ }
67
+ }
68
+