feat: configure lti exam providers (#356)
Allows setting a course exam provider to integrations managed by edx-exams. This option is gated by the CourseWaffleFlag course_apps.exams_ida in edx-platform.
This commit is contained in:
34
src/data/services/ExamsApiService.js
Normal file
34
src/data/services/ExamsApiService.js
Normal file
@@ -0,0 +1,34 @@
|
||||
import { getAuthenticatedHttpClient } from '@edx/frontend-platform/auth';
|
||||
import { getConfig } from '@edx/frontend-platform';
|
||||
|
||||
class ExamsApiService {
|
||||
static isAvailable() {
|
||||
return !!this.getExamsBaseUrl();
|
||||
}
|
||||
|
||||
static getExamsBaseUrl() {
|
||||
return getConfig().EXAMS_BASE_URL;
|
||||
}
|
||||
|
||||
static getExamConfigurationUrl(courseId) {
|
||||
return `${ExamsApiService.getExamsBaseUrl()}/api/v1/configs/course_id/${courseId}`;
|
||||
}
|
||||
|
||||
static getAvailableProviders() {
|
||||
const apiClient = getAuthenticatedHttpClient();
|
||||
const providersUrl = `${ExamsApiService.getExamsBaseUrl()}/api/v1/providers`;
|
||||
return apiClient.get(providersUrl);
|
||||
}
|
||||
|
||||
static getCourseExamConfiguration(courseId) {
|
||||
const apiClient = getAuthenticatedHttpClient();
|
||||
return apiClient.get(this.getExamConfigurationUrl(courseId));
|
||||
}
|
||||
|
||||
static saveCourseExamConfiguration(courseId, dataToSave) {
|
||||
const apiClient = getAuthenticatedHttpClient();
|
||||
return apiClient.patch(this.getExamConfigurationUrl(courseId), dataToSave);
|
||||
}
|
||||
}
|
||||
|
||||
export default ExamsApiService;
|
||||
Reference in New Issue
Block a user