Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 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 | 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x | export enum UserRole {
ADMIN = "ADMIN",
INSTRUCTOR = "INSTRUCTOR",
STUDENT = "STUDENT",
DEV = "DEVELOPER",
}
export interface User {
id: string;
email: string;
first_name?: string;
last_name?: string;
created_at?: string;
auth_token?: string;
code_context_id?: string;
isAuthenticated: boolean;
isLocked: boolean;
}
export interface UserData {
id: string;
createdAt: string;
firstName: string;
lastName: string;
email: string;
status?: string;
role: UserRole;
settings: UserSettings;
last_updated_at?: string;
auth_created_at?: string;
last_sign_in?: string;
source?: string;
avatar_url?: string;
}
export const AUTH_CONTEXT = "authContext";
export type SettingsData = {
user_id: string;
settings: UserSettings;
};
export type UserSettings = {
bug_percentage: number;
show_notifications: boolean;
give_suggestions: boolean;
// enable_cooldown: boolean;
// cooldown_time: number;
enable_quiz: boolean;
active_threshold: number;
suspend_threshold: number;
pass_rate: number;
suspend_rate: number;
};
export interface UserActivityLogItem {
id: number;
event: string;
timestamp: string;
timeLapse: number;
metadata: {
userId?: string;
hasBug?: boolean;
suggestionId?: number;
userSectionId?: string;
userClassId?: string;
};
}
export interface UserClass {
id?: string;
classTitle: string;
classCode: string;
instructorId?: string;
classHexColor?: string;
classImageCover?: string | null;
classDescription?: string | null;
createdAt?: string;
}
export enum StudentStatus {
ACTIVE = "ACTIVE",
SUSPENDED = "SUSPENDED",
LOCKED = "LOCKED",
}
|