58 lines
978 B
TypeScript
58 lines
978 B
TypeScript
/**
|
|
* Bookmark Interface
|
|
* Represents a bookmarked question
|
|
*/
|
|
export interface Bookmark {
|
|
id: string;
|
|
userId: string;
|
|
questionId: string;
|
|
question: BookmarkedQuestion;
|
|
createdAt: string;
|
|
}
|
|
|
|
/**
|
|
* Bookmarked Question Details
|
|
*/
|
|
export interface BookmarkedQuestion {
|
|
id: string;
|
|
questionText: string;
|
|
questionType: 'multiple-choice' | 'true-false' | 'written';
|
|
difficulty: 'easy' | 'medium' | 'hard';
|
|
categoryId: string;
|
|
categoryName: string;
|
|
options?: string[];
|
|
correctAnswer: string;
|
|
explanation?: string;
|
|
points: number;
|
|
tags?: string[];
|
|
}
|
|
|
|
/**
|
|
* Bookmarks Response
|
|
*/
|
|
export interface BookmarksResponse {
|
|
success: boolean;
|
|
data: {
|
|
bookmarks: Bookmark[];
|
|
total: number;
|
|
};
|
|
}
|
|
|
|
/**
|
|
* Add Bookmark Request
|
|
*/
|
|
export interface AddBookmarkRequest {
|
|
questionId: string;
|
|
}
|
|
|
|
/**
|
|
* Add Bookmark Response
|
|
*/
|
|
export interface AddBookmarkResponse {
|
|
success: boolean;
|
|
data: {
|
|
bookmark: Bookmark;
|
|
};
|
|
message: string;
|
|
}
|