| 1 |
<?php |
| 2 |
|
| 3 |
defined('ABSPATH') || exit; |
| 4 |
|
| 5 |
/** |
| 6 |
* @var FluentCommunity\Framework\Http\Router $router |
| 7 |
*/ |
| 8 |
|
| 9 |
$router->prefix('courses')->namespace('FluentCommunity\Modules\Course\Http\Controllers')->withPolicy(\FluentCommunity\App\Http\Policies\PortalPolicy::class)->group(function ($router) { |
| 10 |
$router->get('/', 'CourseController@getCourses'); |
| 11 |
$router->get('/{course_id}', 'CourseController@getCourse')->int('course_id'); |
| 12 |
$router->get('/{course_slug}/by-slug', 'CourseController@getCourseBySlug')->alphaNumDash('course_slug'); |
| 13 |
$router->get('/{course_slug}/lessons/{lesson_slug}/by-slug', 'CourseController@getLessonBySlug')->alphaNumDash('course_slug')->alphaNumDash('lesson_slug'); |
| 14 |
$router->post('/{course_id}/enroll', 'CourseController@enrollCourse')->int('course_id'); |
| 15 |
$router->put('/{course_id}/lessons/{lesson_id}/completion', 'CourseController@updateCompletionLesson')->int('course_id')->int('lesson_id'); |
| 16 |
$router->post('/{course_id}/lessons/{lesson_id}/video-watched', 'CourseController@markLessonVideoWatched')->int('course_id')->int('lesson_id'); |
| 17 |
$router->delete('/{course_id}/progress', 'CourseController@resetMyProgress')->int('course_id'); |
| 18 |
$router->get('/all-courses', 'CourseController@getAllCourses'); |
| 19 |
}); |
| 20 |
|
| 21 |
$router->prefix('admin/courses')->namespace('FluentCommunity\Modules\Course\Http\Controllers')->withPolicy(\FluentCommunity\Modules\Course\Http\Policies\CourseAdminPolicy::class)->group(function ($router) { |
| 22 |
$router->get('/', 'CourseAdminController@getCourses'); |
| 23 |
$router->post('/', 'CourseAdminController@createCourse'); |
| 24 |
$router->get('/{course_id}', 'CourseAdminController@findCourse')->int('course_id'); |
| 25 |
$router->put('/{course_id}', 'CourseAdminController@updateCourse')->int('course_id'); |
| 26 |
$router->post('/{course_id}/duplicate', 'CourseAdminController@duplicateCourse')->int('course_id'); |
| 27 |
$router->delete('/{course_id}', 'CourseAdminController@deleteCourse')->int('course_id'); |
| 28 |
$router->get('/{course_id}/comments', 'CourseAdminController@getCourseComments')->int('course_id'); |
| 29 |
$router->get('/{course_id}/students', 'CourseAdminController@getCourseStudents')->int('course_id'); |
| 30 |
$router->post('/{course_id}/students', 'CourseAdminController@addStudent')->int('course_id'); |
| 31 |
$router->delete('/{course_id}/students/{student_id}', 'CourseAdminController@removeStudent')->int('course_id')->int('student_id'); |
| 32 |
$router->delete('/{course_id}/students/{student_id}/progress', 'CourseAdminController@resetStudentProgress') |
| 33 |
->int('course_id')->int('student_id'); |
| 34 |
|
| 35 |
$router->get('/{course_id}/users/search', 'CourseAdminController@getOtherUsers')->int('course_id'); |
| 36 |
|
| 37 |
$router->post('/{course_id}/links', 'CourseAdminController@updateLinks')->int('course_id'); |
| 38 |
|
| 39 |
$router->get('/{course_id}/meta-settings', 'CourseAdminController@getMetaSettings')->int('course_id'); |
| 40 |
|
| 41 |
$router->get('/{course_id}/instructors/search', 'CourseAdminController@getOtherInstructors')->int('course_id'); |
| 42 |
|
| 43 |
$router->get('/{course_id}/sections', 'CourseAdminController@getSections')->int('course_id'); |
| 44 |
$router->post('/{course_id}/sections', 'CourseAdminController@createSection')->int('course_id'); |
| 45 |
$router->patch('/{course_id}/sections/indexes', 'CourseAdminController@resetSectionIndexes')->int('course_id'); |
| 46 |
$router->get('/{course_id}/sections/{section_id}', 'CourseAdminController@getSection')->int('course_id')->int('section_id'); |
| 47 |
$router->put('/{course_id}/sections/{section_id}', 'CourseAdminController@updateSection')->int('course_id')->int('section_id'); |
| 48 |
$router->patch('/{course_id}/sections/{section_id}', 'CourseAdminController@patchSection')->int('course_id')->int('section_id'); |
| 49 |
$router->delete('/{course_id}/sections/{section_id}', 'CourseAdminController@deleteSection')->int('course_id')->int('section_id'); |
| 50 |
$router->patch('/{course_id}/sections/{section_id}/indexes', 'CourseAdminController@resetLessonIndexes')->int('course_id')->int('section_id'); |
| 51 |
|
| 52 |
$router->get('/{course_id}/lessons', 'CourseAdminController@getLessons')->int('course_id'); |
| 53 |
$router->post('/{course_id}/lessons', 'CourseAdminController@createLesson')->int('course_id'); |
| 54 |
$router->put('/{course_id}/copy-section', 'CourseAdminController@copySection')->int('course_id'); |
| 55 |
$router->put('/{course_id}/move-lesson', 'CourseAdminController@moveLesson')->int('course_id'); |
| 56 |
$router->get('/{course_id}/lessons/{lesson_id}', 'CourseAdminController@getLesson')->int('course_id')->int('lesson_id'); |
| 57 |
$router->put('/{course_id}/lessons/{lesson_id}', 'CourseAdminController@updateLesson')->int('course_id')->int('lesson_id'); |
| 58 |
$router->patch('/{course_id}/lessons/{lesson_id}', 'CourseAdminController@patchLesson')->int('course_id')->int('lesson_id'); |
| 59 |
$router->delete('/{course_id}/lessons/{lesson_id}', 'CourseAdminController@deleteLesson')->int('course_id')->int('lesson_id'); |
| 60 |
$router->post('/{course_id}/lessons/{lesson_id}/duplicate', 'CourseAdminController@duplicateLesson')->int('course_id')->int('lesson_id'); |
| 61 |
}); |
| 62 |
|