name('videos.index'); Route::get('/videos/search', [VideoController::class, 'search'])->name('videos.search'); Route::get('/videos/create', [VideoController::class, 'create'])->name('videos.create'); Route::get('/videos/{video}', [VideoController::class, 'show'])->name('videos.show'); Route::get('/videos/{video}/stream', [VideoController::class, 'stream'])->name('videos.stream'); Route::get('/videos/{video}/download', [VideoController::class, 'download'])->name('videos.download'); // Video routes - auth required Route::middleware('auth')->group(function () { Route::get('/videos/create', [VideoController::class, 'create'])->name('videos.create'); Route::post('/videos', [VideoController::class, 'store'])->name('videos.store'); Route::get('/videos/{video}/edit', [VideoController::class, 'edit'])->name('videos.edit'); Route::put('/videos/{video}', [VideoController::class, 'update'])->name('videos.update'); Route::delete('/videos/{video}', [VideoController::class, 'destroy'])->name('videos.destroy'); // Like/unlike routes Route::post('/videos/{video}/like', [UserController::class, 'like'])->name('videos.like'); Route::post('/videos/{video}/unlike', [UserController::class, 'unlike'])->name('videos.unlike'); Route::post('/videos/{video}/toggle-like', [UserController::class, 'toggleLike'])->name('videos.toggleLike'); }); // Comment routes Route::get('/videos/{video}/comments', [CommentController::class, 'index'])->name('comments.index'); Route::middleware('auth')->group(function () { Route::post('/videos/{video}/comments', [CommentController::class, 'store'])->name('comments.store'); Route::put('/comments/{comment}', [CommentController::class, 'update'])->name('comments.update'); Route::delete('/comments/{comment}', [CommentController::class, 'destroy'])->name('comments.destroy'); }); // User routes Route::middleware('auth')->group(function () { // Profile Route::get('/profile', [UserController::class, 'profile'])->name('profile'); Route::put('/profile', [UserController::class, 'updateProfile'])->name('profile.update'); // Settings Route::get('/settings', [UserController::class, 'settings'])->name('settings'); Route::put('/settings', [UserController::class, 'updateSettings'])->name('settings.update'); // History & Liked Route::get('/history', [UserController::class, 'history'])->name('history'); Route::get('/liked', [UserController::class, 'liked'])->name('liked'); }); // Channel - public for viewing, own channel requires auth Route::get('/channel/{userId?}', [UserController::class, 'channel'])->name('channel'); // Authentication Routes require __DIR__.'/auth.php'; // Super Admin Routes Route::middleware(['auth', 'super_admin'])->prefix('admin')->name('admin.')->group(function () { // Dashboard Route::get('/dashboard', [SuperAdminController::class, 'dashboard'])->name('dashboard'); // User Management Route::get('/users', [SuperAdminController::class, 'users'])->name('users'); Route::get('/users/{user}/edit', [SuperAdminController::class, 'editUser'])->name('users.edit'); Route::put('/users/{user}', [SuperAdminController::class, 'updateUser'])->name('users.update'); Route::delete('/users/{user}', [SuperAdminController::class, 'deleteUser'])->name('users.delete'); // Video Management Route::get('/videos', [SuperAdminController::class, 'videos'])->name('videos'); Route::get('/videos/{video}/edit', [SuperAdminController::class, 'editVideo'])->name('videos.edit'); Route::put('/videos/{video}', [SuperAdminController::class, 'updateVideo'])->name('videos.update'); Route::delete('/videos/{video}', [SuperAdminController::class, 'deleteVideo'])->name('videos.delete'); });