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", } |