Files
frontend-app-learning/src/courseware/course/course-exit/data/thunks.js

30 lines
903 B
JavaScript

import { logError } from '@edx/frontend-platform/logging';
import {
fetchCourseRecommendationsFailure,
fetchCourseRecommendationsRequest,
fetchCourseRecommendationsSuccess,
} from './slice';
import getCourseRecommendations from './api';
import { updateModel } from '../../../../generic/model-store';
export default function fetchCourseRecommendations(courseKey, courseId) {
return async (dispatch) => {
dispatch(fetchCourseRecommendationsRequest({ courseId }));
try {
const recommendations = await getCourseRecommendations(courseKey);
dispatch(updateModel({
modelType: 'coursewareMeta',
model: {
id: courseId,
recommendations,
},
}));
dispatch(fetchCourseRecommendationsSuccess({ courseId }));
} catch (error) {
logError(error);
dispatch(fetchCourseRecommendationsFailure({ courseId }));
}
};
}