add new changes

This commit is contained in:
AD2025
2025-11-20 00:39:00 +02:00
parent 37b4d565b1
commit b2c564225e
12 changed files with 2734 additions and 34 deletions

View File

@@ -747,6 +747,46 @@ export class AdminService {
);
}
/**
* Get all questions with pagination, search, and filtering
* Endpoint: GET /api/admin/questions
*/
getAllQuestions(params: {
page?: number;
limit?: number;
search?: string;
category?: string;
difficulty?: string;
sortBy?: string;
order?: string;
}): Observable<{
success: boolean;
count: number;
total: number;
page: number;
totalPages: number;
limit: number;
filters: any;
data: Question[];
message: string;
}> {
let queryParams: any = {};
if (params.page) queryParams.page = params.page;
if (params.limit) queryParams.limit = params.limit;
if (params.search) queryParams.search = params.search;
if (params.category && params.category !== 'all') queryParams.category = params.category;
if (params.difficulty && params.difficulty !== 'all') queryParams.difficulty = params.difficulty;
if (params.sortBy) queryParams.sortBy = params.sortBy;
if (params.order) queryParams.order = params.order.toUpperCase();
return this.http.get<any>(`${this.apiUrl}/questions`, { params: queryParams }).pipe(
catchError((error: HttpErrorResponse) => this.handleQuestionError(error, 'Failed to load questions'))
);
}
/**
* Delete question (soft delete)
*/