Files
examjam-frontend/types/exam.d.ts

44 lines
945 B
TypeScript

export interface Metadata {
attempt_id: string;
test_id: string;
type: string;
total_possible_score: number;
deduction?: string;
num_questions: number;
name: string;
start_time: string; // keep ISO string for consistency
time_limit_minutes?: number;
}
export type Question = {
question_id: string;
question: string;
options: string[];
type: "Single" | "Multiple";
};
export interface Test {
metadata: Metadata;
questions: Question[];
}
export type Answer = number | null;
export type AnswersMap = Record<string, Answer>;
export interface ExamResult {
user_id: string;
test_id: string;
subject_id: string;
topic_id: string;
test_type: string;
attempt_id: string;
start_time: string;
end_time: string;
user_questions: Question[];
user_answers: (number | null)[];
correct_answers: number[];
correct_answers_count: number;
wrong_answers_count: number;
skipped_questions_count: number;
}