From 28c2a93a63ee2a9427465130ccddda9dd9a3062a Mon Sep 17 00:00:00 2001 From: Kshitij Sobti Date: Fri, 29 Oct 2021 13:34:08 +0000 Subject: [PATCH] fix: Update the API path and fix saving setting (#197) The discussions configuration API is now exposed via studio to allow saving course settings to the modulestore. The anonymous posts settings were also set up in a way that meant they were only saved if true, that is now fixed. --- src/pages-and-resources/discussions/data/api.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/pages-and-resources/discussions/data/api.js b/src/pages-and-resources/discussions/data/api.js index 0ca7115e3..52620ed1d 100644 --- a/src/pages-and-resources/discussions/data/api.js +++ b/src/pages-and-resources/discussions/data/api.js @@ -1,4 +1,4 @@ -import { getConfig, camelCaseObject } from '@edx/frontend-platform'; +import { ensureConfig, getConfig, camelCaseObject } from '@edx/frontend-platform'; import { getAuthenticatedHttpClient } from '@edx/frontend-platform/auth'; import _ from 'lodash'; import { v4 as uuid } from 'uuid'; @@ -13,6 +13,10 @@ import { } from '../app-config-form/utils'; import { blackoutDatesStatus as constants } from './constants'; +ensureConfig([ + 'STUDIO_BASE_URL', +], 'Course Apps API service'); + function normalizeLtiConfig(data) { if (!data || Object.keys(data).length < 1) { return {}; @@ -141,10 +145,10 @@ export function denormalizeBlackoutDate(blackoutPeriod) { function denormalizeData(courseId, appId, data) { const pluginConfiguration = {}; - if (data.allowAnonymousPosts) { + if ('allowAnonymousPosts' in data) { pluginConfiguration.allow_anonymous = data.allowAnonymousPosts; } - if (data.allowAnonymousPostsPeers) { + if ('allowAnonymousPostsPeers' in data) { pluginConfiguration.allow_anonymous_to_peers = data.allowAnonymousPostsPeers; } if (data.blackoutDates?.length) { @@ -199,7 +203,7 @@ function denormalizeData(courseId, appId, data) { } export function getAppsUrl(courseId) { - return `${getConfig().LMS_BASE_URL}/discussions/api/v0/${courseId}`; + return `${getConfig().STUDIO_BASE_URL}/api/discussions/v0/${courseId}`; } export async function getApps(courseId) {