feat: created Grading page (#557)

This commit is contained in:
Peter Kulko
2023-08-14 21:44:01 +03:00
committed by GitHub
parent 484b141328
commit f9bc5c4927
77 changed files with 3521 additions and 94 deletions

View File

@@ -0,0 +1,43 @@
/* eslint-disable import/prefer-default-export */
import { camelCaseObject, getConfig } from '@edx/frontend-platform';
import { getAuthenticatedHttpClient } from '@edx/frontend-platform/auth';
import { deepConvertingKeysToSnakeCase } from '../../utils';
const getApiBaseUrl = () => getConfig().STUDIO_BASE_URL;
export const getGradingSettingsApiUrl = (courseId) => `${getApiBaseUrl()}/api/contentstore/v1/course_grading/${courseId}`;
export const getCourseSettingsApiUrl = (courseId) => `${getApiBaseUrl()}/api/contentstore/v1/course_settings/${courseId}`;
/**
* Get's grading setting for a course.
* @param {string} courseId
* @returns {Promise<Object>}
*/
export async function getGradingSettings(courseId) {
const { data } = await getAuthenticatedHttpClient()
.get(getGradingSettingsApiUrl(courseId));
return camelCaseObject(data);
}
/**
* Send`s grading setting for a course.
* @param {string} courseId
* @param {object} settings
* @returns {Promise<Object>}
*/
export async function sendGradingSettings(courseId, settings) {
const { data } = await getAuthenticatedHttpClient()
.post(getGradingSettingsApiUrl(courseId), deepConvertingKeysToSnakeCase(settings));
return camelCaseObject(data);
}
/**
* Get course settings.
* @param {string} courseId
* @returns {Promise<Object>}
*/
export async function getCourseSettings(courseId) {
const { data } = await getAuthenticatedHttpClient()
.get(getCourseSettingsApiUrl(courseId));
return camelCaseObject(data);
}