Files
Tasks/frontend/src/app/core/models/bookmark.model.ts
2025-11-14 21:48:47 +02:00

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;
}