chore: commit remaining workspace changes

This commit is contained in:
2026-05-08 21:51:29 +02:00
parent 8d108b8a76
commit ff96ef796e
97 changed files with 18020 additions and 2196 deletions

View File

@@ -45,6 +45,9 @@ use App\Http\Controllers\DashboardController;
use App\Http\Controllers\Community\LatestController;
use App\Http\Controllers\Academy\AcademyChallengeController;
use App\Http\Controllers\Academy\AcademyChallengeSubmissionController;
use App\Http\Controllers\Academy\AcademyCourseController;
use App\Http\Controllers\Academy\AcademyCourseEnrollmentController;
use App\Http\Controllers\Academy\AcademyCourseLessonController;
use App\Http\Controllers\Academy\AcademyHomeController;
use App\Http\Controllers\Academy\AcademyLessonController;
use App\Http\Controllers\Academy\AcademyProgressController;
@@ -55,6 +58,7 @@ use App\Http\Controllers\Academy\AcademyCheckoutController;
use App\Http\Controllers\Academy\AcademyPricingController;
use App\Http\Controllers\User\MembersController;
use App\Http\Controllers\Settings\AcademyAdminController;
use App\Http\Controllers\Settings\AcademyCourseBuilderController;
use App\Http\Controllers\User\TodayDownloadsController;
use App\Http\Controllers\User\MonthlyCommentatorsController;
use App\Http\Controllers\User\ProfileCollectionController;
@@ -144,6 +148,9 @@ Route::get('/academy', [AcademyHomeController::class, 'index'])->name('academy.i
Route::get('/academy/pricing', [AcademyPricingController::class, 'index'])->name('academy.pricing');
Route::prefix('academy')->name('academy.')->group(function () {
Route::get('/courses', [AcademyCourseController::class, 'index'])->name('courses.index');
Route::get('/courses/{course:slug}', [AcademyCourseController::class, 'show'])->name('courses.show');
Route::get('/courses/{course:slug}/lessons/{lesson:slug}', [AcademyCourseLessonController::class, 'show'])->name('courses.lessons.show');
Route::get('/lessons', [AcademyLessonController::class, 'index'])->name('lessons.index');
Route::get('/lessons/{slug}', [AcademyLessonController::class, 'show'])->name('lessons.show');
@@ -157,6 +164,7 @@ Route::prefix('academy')->name('academy.')->group(function () {
Route::get('/challenges/{slug}', [AcademyChallengeController::class, 'show'])->name('challenges.show');
Route::middleware(['auth'])->group(function () {
Route::post('/courses/{course:slug}/start', [AcademyCourseEnrollmentController::class, 'start'])->name('courses.start');
Route::post('/lessons/{lesson}/complete', [AcademyProgressController::class, 'complete'])->name('lessons.complete');
Route::post('/prompts/{prompt}/save', [AcademyPromptSaveController::class, 'store'])->name('prompts.save');
Route::delete('/prompts/{prompt}/save', [AcademyPromptSaveController::class, 'destroy'])->name('prompts.unsave');
@@ -1086,6 +1094,23 @@ Route::middleware(['auth', 'admin.access'])
Route::redirect('/', '/moderation/academy/dashboard')->name('root');
Route::get('/dashboard', [AcademyAdminController::class, 'dashboard'])->name('dashboard');
Route::prefix('courses')->name('courses.')->group(function () {
Route::get('/', [AcademyAdminController::class, 'coursesIndex'])->name('index');
Route::get('/create', [AcademyAdminController::class, 'coursesCreate'])->name('create');
Route::post('/', [AcademyAdminController::class, 'coursesStore'])->name('store');
Route::get('/{academyCourse}/edit', [AcademyAdminController::class, 'coursesEdit'])->whereNumber('academyCourse')->name('edit');
Route::match(['put', 'patch'], '/{academyCourse}', [AcademyAdminController::class, 'coursesUpdate'])->whereNumber('academyCourse')->name('update');
Route::delete('/{academyCourse}', [AcademyAdminController::class, 'coursesDestroy'])->whereNumber('academyCourse')->name('destroy');
Route::get('/{academyCourse}/builder', [AcademyCourseBuilderController::class, 'edit'])->whereNumber('academyCourse')->name('builder.edit');
Route::post('/{academyCourse}/sections', [AcademyCourseBuilderController::class, 'storeSection'])->whereNumber('academyCourse')->name('sections.store');
Route::patch('/{academyCourse}/sections/{academyCourseSection}', [AcademyCourseBuilderController::class, 'updateSection'])->whereNumber('academyCourse')->whereNumber('academyCourseSection')->name('sections.update');
Route::delete('/{academyCourse}/sections/{academyCourseSection}', [AcademyCourseBuilderController::class, 'destroySection'])->whereNumber('academyCourse')->whereNumber('academyCourseSection')->name('sections.destroy');
Route::post('/{academyCourse}/lessons', [AcademyCourseBuilderController::class, 'attachLesson'])->whereNumber('academyCourse')->name('lessons.attach');
Route::patch('/{academyCourse}/lessons/{academyCourseLesson}', [AcademyCourseBuilderController::class, 'updateCourseLesson'])->whereNumber('academyCourse')->whereNumber('academyCourseLesson')->name('lessons.update');
Route::delete('/{academyCourse}/lessons/{academyCourseLesson}', [AcademyCourseBuilderController::class, 'detachLesson'])->whereNumber('academyCourse')->whereNumber('academyCourseLesson')->name('lessons.destroy');
Route::patch('/{academyCourse}/reorder', [AcademyCourseBuilderController::class, 'reorder'])->whereNumber('academyCourse')->name('reorder');
});
Route::prefix('categories')->name('categories.')->group(function () {
Route::get('/', [AcademyAdminController::class, 'categoriesIndex'])->name('index');
Route::get('/create', [AcademyAdminController::class, 'categoriesCreate'])->name('create');
@@ -1101,6 +1126,7 @@ Route::middleware(['auth', 'admin.access'])
Route::post('/', [AcademyAdminController::class, 'lessonsStore'])->name('store');
Route::get('/{academyLesson}/edit', [AcademyAdminController::class, 'lessonsEdit'])->whereNumber('academyLesson')->name('edit');
Route::match(['put', 'patch'], '/{academyLesson}', [AcademyAdminController::class, 'lessonsUpdate'])->whereNumber('academyLesson')->name('update');
Route::post('/{academyLesson}/revisions/{academyLessonRevision}/restore', [AcademyAdminController::class, 'lessonsRestoreRevision'])->whereNumber('academyLesson')->whereNumber('academyLessonRevision')->name('revisions.restore');
Route::delete('/{academyLesson}', [AcademyAdminController::class, 'lessonsDestroy'])->whereNumber('academyLesson')->name('destroy');
});