@ou-imdt/utils
Version:
Utility library for interactive media development
29 lines (28 loc) • 1.15 kB
JavaScript
/**
* Saves data to the VLE server.
* @param {object} options - Options for saving data.
* @param {boolean | string} options.user - User/global, or group identifier.
* @param {object} options.values - data to be saved on the server.
* @param {string} [options.activityId] - Optional activity ID.
* @param {string} [options.documentId] - Optional document ID.
* @param {string} [options.courseId] - Optional course ID.
* @param {object} [options.previousValues] - Previous data to compare.
* @param {function} [options.onRetry] - Callback funtion that is called if previous values changed
* @returns {Promise<any>} A promise that resolves with the saved data, or rejects on error.
*/
export default function saveVLEData(options) {
const {
user = true,
values={},
activityId,
documentId,
courseId,
previousValues,
onRetry
} = options;
return new Promise((resolve, reject) => {
const onSuccess = (values) => resolve(values);
const onError = (values) => reject(values);
VLE.set_server_data(user, values, onSuccess, onError, previousValues, onRetry, activityId, documentId, courseId);
});
}