(This reintroduces the change in 9f84230c that was later reverted by
67b0b33a.)
frontend-platform supports runtime configuration since 2.5.0 (see the PR
that introduced it[1], but it requires MFE cooperation. This implements
just that: by avoiding making configuration values constant, it should
now be possible to change them after initialization.
Almost all changes here relate to the `LMS_BASE_URL` setting, which in
most places was treated as a constant.
[1] https://github.com/openedx/frontend-platform/pull/335
31 lines
886 B
JavaScript
31 lines
886 B
JavaScript
/* eslint-disable import/prefer-default-export */
|
|
|
|
import { ensureConfig, getConfig } from '@edx/frontend-platform';
|
|
import { getAuthenticatedHttpClient } from '@edx/frontend-platform/auth';
|
|
|
|
ensureConfig([
|
|
'LMS_BASE_URL',
|
|
], 'Posts API service');
|
|
|
|
export const getCourseConfigApiUrl = () => `${getConfig().LMS_BASE_URL}/api/discussion/v1/courses/`;
|
|
|
|
/**
|
|
* Get discussions course config
|
|
* @param {string} courseId
|
|
*/
|
|
export async function getDiscussionsConfig(courseId) {
|
|
const url = `${getCourseConfigApiUrl()}${courseId}/`;
|
|
const { data } = await getAuthenticatedHttpClient().get(url);
|
|
return data;
|
|
}
|
|
|
|
/**
|
|
* Get discussions course config
|
|
* @param {string} courseId
|
|
*/
|
|
export async function getDiscussionsSettings(courseId) {
|
|
const url = `${getCourseConfigApiUrl()}${courseId}/settings`;
|
|
const { data } = await getAuthenticatedHttpClient().get(url);
|
|
return data;
|
|
}
|