PluginProbe
FluentCommunity – Ultra-Fast High-Performance Social Network, Community, LMS & Online Courses / trunk
FluentCommunity – Ultra-Fast High-Performance Social Network, Community, LMS & Online Courses vtrunk
2.9.1 2.9.0 2.8.1 2.8.0 2.7.7 2.7.5 2.7.0 2.6.01 2.6.0 2.5.0 2.4.01 trunk 1.0.90 1.0.91 1.0.92 1.0.93 1.0.94 1.0.95 1.0.96 1.0.97 1.0.98 1.0.99 1.1.0 1.1.10 1.1.11 All 75 releases
fluent-community / Modules / Course / Http / course_api.php

course_api.php in FluentCommunity – Ultra-Fast High-Performance Social Network, Community, LMS & Online Courses trunk, at Modules/Course/Http/course_api.php

62 lines 4.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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