-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtypes.ts
More file actions
95 lines (85 loc) · 1.65 KB
/
types.ts
File metadata and controls
95 lines (85 loc) · 1.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
export enum Role {
STUDENT = 'STUDENT',
STAFF = 'STAFF',
HOD = 'HOD',
ADMIN = 'ADMIN'
}
export enum ComplaintStatus {
PENDING = 'PENDING',
IN_PROGRESS = 'IN_PROGRESS',
RESOLVED = 'RESOLVED',
ESCALATED = 'ESCALATED'
}
export enum ComplaintCategory {
INFRASTRUCTURE = 'INFRASTRUCTURE',
ACADEMICS = 'ACADEMICS',
RAGGING = 'RAGGING',
STAFF_RELATED = 'STAFF_RELATED',
OTHERS = 'OTHERS'
}
export enum Priority {
LOW = 'LOW',
MEDIUM = 'MEDIUM',
HIGH = 'HIGH'
}
export enum Department {
MAINTENANCE = 'MAINTENANCE',
ANTI_RAGGING = 'ANTI_RAGGING',
ADMINISTRATION = 'ADMINISTRATION',
CSE = 'CSE',
ECE = 'ECE',
EEE = 'EEE',
MECH = 'MECH',
CIVIL = 'CIVIL',
AIDS = 'AIDS',
CSBS = 'CSBS',
IT = 'IT'
}
export enum StudentDept {
CSE = 'CSE',
ECE = 'ECE',
EEE = 'EEE',
MECH = 'MECH',
CIVIL = 'CIVIL',
AIDS = 'AIDS',
CSBS = 'CSBS',
IT = 'IT'
}
export interface EscalationLog {
id: string;
complaintId: string;
escalatedBy: string;
reason: string;
timestamp: string;
targetRole: Role;
}
export interface Feedback {
rating: number;
comment: string;
}
export interface Complaint {
id: string;
studentId: string;
studentName: string;
studentDept: StudentDept;
title: string;
description: string;
category: ComplaintCategory;
priority: Priority;
status: ComplaintStatus;
department: Department;
createdAt: string;
updatedAt: string;
escalatedToAdmin: boolean;
escalatedToHOD: boolean;
resolvedByRole?: Role;
feedback?: Feedback;
adminRemarks?: string;
staffRemarks?: string;
}
export interface UserSession {
id: string;
name: string;
role: Role;
department?: Department;
}