|
|
|
|
@ -1,19 +1,51 @@ |
|
|
|
|
import axios from 'axios'; |
|
|
|
|
import moment from 'moment'; |
|
|
|
|
import {showNotification} from "../../js/modules/notification"; |
|
|
|
|
|
|
|
|
|
axios.defaults.headers.post['Content-Type'] = 'application/json'; |
|
|
|
|
axios.defaults.headers.post['Accept'] = 'application/json'; |
|
|
|
|
|
|
|
|
|
export const api = { |
|
|
|
|
get: (url, params) => { |
|
|
|
|
let request = axios.get(url, params); |
|
|
|
|
request.catch(api.errorHandler); |
|
|
|
|
return request; |
|
|
|
|
}, |
|
|
|
|
post: (url, data, params) => { |
|
|
|
|
let request = axios.post(url, data, params); |
|
|
|
|
request.catch(api.errorHandler); |
|
|
|
|
return request; |
|
|
|
|
}, |
|
|
|
|
put: (url, data, params) => { |
|
|
|
|
let request = axios.put(url, data, params); |
|
|
|
|
request.catch(api.errorHandler); |
|
|
|
|
return request; |
|
|
|
|
}, |
|
|
|
|
patch: (url, data, params) => { |
|
|
|
|
let request = axios.patch(url, data, params); |
|
|
|
|
request.catch(api.errorHandler); |
|
|
|
|
return request; |
|
|
|
|
}, |
|
|
|
|
delete: (url, params) => { |
|
|
|
|
let request = axios.delete(url, params); |
|
|
|
|
request.catch(api.errorHandler); |
|
|
|
|
return request; |
|
|
|
|
}, |
|
|
|
|
errorHandler: (error) => { |
|
|
|
|
console.log('всё очень плохо', error, error.response); |
|
|
|
|
if(error.response.status >= 500) { |
|
|
|
|
showNotification("error", "Ошибка сервера "+error.toString()); |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
getCurrentUser: (accessToken) => { |
|
|
|
|
return axios.get('/api/v1/users/me/', { |
|
|
|
|
return api.get('/api/v1/users/me/', { |
|
|
|
|
headers: { |
|
|
|
|
'Authorization': `Token ${accessToken}`, |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
getUsers: (params, accessToken) => { |
|
|
|
|
return axios.get('/api/v1/users/', { |
|
|
|
|
return api.get('/api/v1/users/', { |
|
|
|
|
params: params, |
|
|
|
|
headers: { |
|
|
|
|
'Authorization': `Token ${accessToken}`, |
|
|
|
|
@ -21,14 +53,14 @@ export const api = { |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
getCategories: (accessToken) => { |
|
|
|
|
return axios.get('/api/v1/categories/', { |
|
|
|
|
return api.get('/api/v1/categories/', { |
|
|
|
|
headers: { |
|
|
|
|
'Authorization': `Token ${accessToken}`, |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
uploadImage: (imageData, accessToken) => { |
|
|
|
|
return axios.post('/api/v1/image-objects/', { |
|
|
|
|
return api.post('/api/v1/image-objects/', { |
|
|
|
|
image: imageData, |
|
|
|
|
}, { |
|
|
|
|
headers: { |
|
|
|
|
@ -37,21 +69,21 @@ export const api = { |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
removeImage: (imageId, accessToken) => { |
|
|
|
|
return axios.delete(`/api/v1/image-objects/${imageId}/`, { |
|
|
|
|
return api.delete(`/api/v1/image-objects/${imageId}/`, { |
|
|
|
|
headers: { |
|
|
|
|
'Authorization': `Token ${accessToken}`, |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
loadCourse: (courseId, accessToken) => { |
|
|
|
|
return axios.get(`/api/v1/courses/${courseId}/`, { |
|
|
|
|
return api.get(`/api/v1/courses/${courseId}/`, { |
|
|
|
|
headers: { |
|
|
|
|
'Authorization': `Token ${accessToken}`, |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
loadLive: (courseId, accessToken) => { |
|
|
|
|
return axios.get(`/api/v1/live-lesson/${courseId}/`, { |
|
|
|
|
return api.get(`/api/v1/live-lesson/${courseId}/`, { |
|
|
|
|
headers: { |
|
|
|
|
'Authorization': `Token ${accessToken}`, |
|
|
|
|
} |
|
|
|
|
@ -360,56 +392,56 @@ export const api = { |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
addCourse: (courseJson, accessToken) => { |
|
|
|
|
return axios.post('/api/v1/courses/', courseJson, { |
|
|
|
|
return api.post('/api/v1/courses/', courseJson, { |
|
|
|
|
headers: { |
|
|
|
|
'Authorization': `Token ${accessToken}`, |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
updateCourse: (courseId, courseJson, accessToken) => { |
|
|
|
|
return axios.put(`/api/v1/courses/${courseId}/`, courseJson, { |
|
|
|
|
return api.put(`/api/v1/courses/${courseId}/`, courseJson, { |
|
|
|
|
headers: { |
|
|
|
|
'Authorization': `Token ${accessToken}`, |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
addLive: (courseJson, accessToken) => { |
|
|
|
|
return axios.post('/api/v1/live-lesson/', courseJson, { |
|
|
|
|
return api.post('/api/v1/live-lesson/', courseJson, { |
|
|
|
|
headers: { |
|
|
|
|
'Authorization': `Token ${accessToken}`, |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
updateLive: (courseId, courseJson, accessToken) => { |
|
|
|
|
return axios.put(`/api/v1/live-lesson/${courseId}/`, courseJson, { |
|
|
|
|
return api.put(`/api/v1/live-lesson/${courseId}/`, courseJson, { |
|
|
|
|
headers: { |
|
|
|
|
'Authorization': `Token ${accessToken}`, |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
getCourseLessons: (courseId, accessToken) => { |
|
|
|
|
return axios.get(`/api/v1/lessons/?course=${courseId}`, { |
|
|
|
|
return api.get(`/api/v1/lessons/?course=${courseId}`, { |
|
|
|
|
headers: { |
|
|
|
|
'Authorization': `Token ${accessToken}`, |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
removeCourseLesson: (lessonId, accessToken) => { |
|
|
|
|
return axios.delete(`/api/v1/lessons/${lessonId}/`, { |
|
|
|
|
return api.delete(`/api/v1/lessons/${lessonId}/`, { |
|
|
|
|
headers: { |
|
|
|
|
'Authorization': `Token ${accessToken}`, |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
addLesson: (lessonJson, accessToken) => { |
|
|
|
|
return axios.post('/api/v1/lessons/', lessonJson, { |
|
|
|
|
return api.post('/api/v1/lessons/', lessonJson, { |
|
|
|
|
headers: { |
|
|
|
|
'Authorization': `Token ${accessToken}`, |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
updateLesson: (lessonId, lessonJson, accessToken) => { |
|
|
|
|
return axios.put(`/api/v1/lessons/${lessonId}/`, lessonJson, { |
|
|
|
|
return api.put(`/api/v1/lessons/${lessonId}/`, lessonJson, { |
|
|
|
|
headers: { |
|
|
|
|
'Authorization': `Token ${accessToken}`, |
|
|
|
|
} |
|
|
|
|
@ -437,28 +469,28 @@ export const api = { |
|
|
|
|
if (!removeUrl) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
return axios.delete(removeUrl, { |
|
|
|
|
return api.delete(removeUrl, { |
|
|
|
|
headers: { |
|
|
|
|
'Authorization': `Token ${accessToken}`, |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
getCourseDraft: (accessToken) => { |
|
|
|
|
return axios.get('/api/v1/courses/draft/', { |
|
|
|
|
return api.get('/api/v1/courses/draft/', { |
|
|
|
|
headers: { |
|
|
|
|
'Authorization': `Token ${accessToken}`, |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
publishCourse: (courseId, accessToken) => { |
|
|
|
|
return axios.patch(`/api/v1/courses/${courseId}/`, {status: 1}, { |
|
|
|
|
return api.patch(`/api/v1/courses/${courseId}/`, {status: 1}, { |
|
|
|
|
headers: { |
|
|
|
|
'Authorization': `Token ${accessToken}`, |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
getSchedule: (accessToken, params) => { |
|
|
|
|
return axios.get('/api/v1/school-schedules/', { |
|
|
|
|
return api.get('/api/v1/school-schedules/', { |
|
|
|
|
params: params, |
|
|
|
|
headers: { |
|
|
|
|
'Authorization': `Token ${accessToken}`, |
|
|
|
|
|