Chamilo is a learning management system focused on ease of use and accessibility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
chamilo-lms/assets/vue/services/courseService.js

79 lines
1.7 KiB

import { ENTRYPOINT } from "../config/entrypoint"
import axios from "axios"
const courseService = {
/**
* @param {number} courseId
* @param {number=} sessionId
* @returns {Promise<Object>}
*/
loadTools: async (courseId, sessionId = 0) => {
const { data } = await axios.get(ENTRYPOINT + `../course/${courseId}/home.json?sid=${sessionId}`)
return data
},
loadCTools: async (courseId, sessionId = 0) => {
const { data } = await axios.get(ENTRYPOINT + 'c_tools', {
params: {
cid: courseId,
sid: sessionId,
order: {
position: 'asc'
}
},
})
return data["hydra:member"]
},
/**
* @param {Object} tool
* @param {number} newIndex
* @param {number} courseId
* @param {number=} sessionId
* @returns {Promise<Object>}
*/
updateToolOrder: async (tool, newIndex, courseId, sessionId = 0) => {
const { data } = await axios.post(
ENTRYPOINT + `../course/${courseId}/home.json?sid=${sessionId}`,
{
index: newIndex,
toolItem: tool,
}
)
return data
},
/**
* @param {number} courseId
* @param {number=} sessionId
* @returns {Promise<{Object}>}
*/
loadHomeIntro: async (courseId, sessionId = 0) => {
const { data } = await axios.get(
ENTRYPOINT + `../course/${courseId}/getToolIntro`,
{
params: {
sid: sessionId,
},
}
)
return data
},
/**
* @param {number} courseId
* @returns {Promise<Object>}
*/
checkLegal: async (courseId) => {
const { data } = await axios.get(ENTRYPOINT + `../course/${courseId}/checkLegal.json`)
return data
},
}
export default courseService