Login Container - Copy this React, Mui Component to your project
import axiosInstance from './axiosConfig'; const courseApi = { getAllCourses: async (params) => { const response = await axiosInstance.get('/courses', { params }); return response.data; }, getCourseById: async (id) => { const response = await axiosInstance.get(`/courses/${id}`); return response.data; }, createCourse: async (courseData) => { const response = await axiosInstance.post('/courses', courseData); return response.data; }, updateCourse: async (id, courseData) => { const response = await axiosInstance.put(`/courses/${id}`, courseData); return response.data; }, deleteCourse: async (id) => { const response = await axiosInstance.delete(`/courses/${id}`); return response.data; }, getCourseStructure: async (id) => { const response = await axiosInstance.get(`/courses/${id}/structure`); return response.data; }, createLevel: async (courseId, levelData) => { const response = await axiosInstance.post( `/courses/${courseId}/levels`, levelData ); return response.data; }, updateLevel: async (levelId, levelData) => { const response = await axiosInstance.put(`/levels/${levelId}`, levelData); return response.data; }, deleteLevel: async (levelId) => { const response = await axiosInstance.delete(`/levels/${levelId}`); return response.data; }, createUnit: async (levelId, unitData) => { const response = await axiosInstance.post( `/levels/${levelId}/units`, unitData ); return response.data; }, updateUnit: async (unitId, unitData) => { const response = await axiosInstance.put(`/units/${unitId}`, unitData); return response.data; }, deleteUnit: async (unitId) => { const response = await axiosInstance.delete(`/units/${unitId}`); return response.data; }, createLesson: async (unitId, lessonData) => { console.log(unitId, lessonData); const response = await axiosInstance.post( `/units/${unitId}/lessons`, lessonData ); return response.data; }, updateLesson: async (lessonId, lessonData) => { const response = await axiosInstance.put( `/lessons/${lessonId}`, lessonData ); return response.data; }, deleteLesson: async (lessonId) => { const response = await axiosInstance.delete(`/lessons/${lessonId}`); return response.data; }, createLessonPart: async (lessonId, lessonPartData) => { const response = await axiosInstance.post( `/lessons/${lessonId}/parts`, lessonPartData ); return response.data; }, updateLessonPart: async (lessonPartId, lessonPartData) => { const response = await axiosInstance.put( `/lessonparts/${lessonPartId}`, lessonPartData ); return response.data; }, deleteLessonPart: async (lessonPartId) => { const response = await axiosInstance.delete(`/lessonparts/${lessonPartId}`); return response.data; }, reorderLevels: async (courseId, levels) => { const response = await axiosInstance.put( `/courses/${courseId}/levels/reorder`, { levels } ); return response.data; }, reorderUnits: async (levelId, units) => { const response = await axiosInstance.put( `/levels/${levelId}/units/reorder`, { units } ); return response.data; }, reorderLessons: async (unitId, lessons) => { const response = await axiosInstance.put( `/units/${unitId}/lessons/reorder`, { lessons } ); return response.data; }, reorderLessonParts: async (lessonId, lessonParts) => { const response = await axiosInstance.put( `/lessons/${lessonId}/parts/reorder`, { lessonParts } ); return response.data; }, }; export default courseApi;
