From c0be2e294a9b46e42a37e04f3f4ad532c1134a9d Mon Sep 17 00:00:00 2001 From: w33b Date: Fri, 16 Jan 2026 23:01:34 +0100 Subject: [PATCH] Refactor routes --- routes/admin.php | 62 ++++++++++++++++++++++++++++++++ routes/user.php | 45 +++++++++++++++++++++++ routes/web.php | 94 +++--------------------------------------------- 3 files changed, 112 insertions(+), 89 deletions(-) create mode 100644 routes/admin.php create mode 100644 routes/user.php diff --git a/routes/admin.php b/routes/admin.php new file mode 100644 index 0000000..8dc3a1a --- /dev/null +++ b/routes/admin.php @@ -0,0 +1,62 @@ + ['auth', 'auth.admin']], function () { + // Site alerts + Route::get('/admin/alert', [AlertController::class, 'index'])->name('admin.alert.index'); + Route::post('/admin/alert', [AlertController::class, 'store'])->name('admin.alert.create'); + Route::delete('/admin/alert/{alert_id}', [AlertController::class, 'delete'])->name('admin.alert.delete'); + + // Users + Route::get('/admin/users', [UserController::class, 'index'])->name('admin.user.index'); + Route::post('/admin/users', [UserController::class, 'update'])->name('admin.user.update'); + + // Comments + Route::get('/admin/comments', [CommentsController::class, 'index'])->name('admin.comments.index'); + + // Contact page overview + Route::get('/admin/contact', [ContactController::class, 'index'])->name('admin.contact.index'); + Route::delete('/admin/contact/{contact_id}', [ContactController::class, 'delete'])->name('admin.contact.delete'); + + // Site background settings + Route::get('/admin/background', [SiteBackgroundController::class, 'index'])->name('admin.background.index'); + Route::post('/admin/background', [SiteBackgroundController::class, 'create'])->name('admin.background.create'); + Route::put('/admin/background', [SiteBackgroundController::class, 'update'])->name('admin.background.update'); + Route::delete('/admin/background', [SiteBackgroundController::class, 'delete'])->name('admin.background.delete'); + + // Release + Route::get('/admin/release', [ReleaseController::class, 'index'])->name('admin.upload.index'); + Route::post('/admin/release/upload', [ReleaseController::class, 'store'])->name('admin.upload'); + + // Episode + Route::post('/admin/episode/upload', [EpisodeController::class, 'store'])->name('admin.upload.episode'); + Route::post('/admin/episode/edit', [EpisodeController::class, 'update'])->name('admin.edit'); + + // Get Tags used for Upload Form + Route::get('/admin/tags', [AdminApiController::class, 'getTags'])->name('admin.tags'); + Route::get('/admin/studios', [AdminApiController::class, 'getStudios'])->name('admin.studios'); + + // Get Tags for editing Episode + Route::get('/admin/tags/{episode_id}', [AdminApiController::class, 'getEpisodeTags'])->name('admin.tags.episode'); + Route::get('/admin/studio/{episode_id}', [AdminApiController::class, 'getEpisodeStudio'])->name('admin.studio.episode'); + + // Subtitles + Route::get('/admin/subtitles/{episode_id}', [AdminApiController::class, 'getSubtitles'])->name('admin.subtitles'); + Route::post('/admin/add-new-subtitle', [SubtitleController::class, 'store'])->name('admin.add.new.subtitle'); + Route::post('/admin/update-subtitles', [SubtitleController::class, 'update'])->name('admin.update.subtitles'); +}); \ No newline at end of file diff --git a/routes/user.php b/routes/user.php new file mode 100644 index 0000000..fa67864 --- /dev/null +++ b/routes/user.php @@ -0,0 +1,45 @@ +group(function () { + Route::get('/user/profile', [ProfileController::class, 'index'])->name('profile.show'); + Route::get('/user/comments', [ProfileController::class, 'comments'])->name('profile.comments'); + Route::get('/user/likes', [ProfileController::class, 'likes'])->name('profile.likes'); + Route::get('/user/watched', [ProfileController::class, 'watched'])->name('user.watched'); + + // Notifications + Route::get('/user/notifications', [App\Http\Controllers\NotificationController::class, 'index'])->name('profile.notifications'); + Route::delete('/user/notifications', [App\Http\Controllers\NotificationController::class, 'delete'])->name('profile.notifications.delete'); + + // User Profile Actions + Route::get('/user/settings', [ProfileController::class, 'settings'])->name('profile.settings'); + Route::patch('/user/settings', [ProfileController::class, 'update'])->name('profile.update'); + Route::delete('/user/delete', [ProfileController::class, 'destroy'])->name('profile.delete'); + Route::post('/user/settings', [ProfileController::class, 'saveSettings'])->name('profile.settings.save'); + Route::get('/user/blacklist', [UserApiController::class, 'getBlacklist'])->name('profile.blacklist'); + Route::post('/user/blacklist', [ProfileController::class, 'saveBlacklist'])->name('profile.blacklist.save'); + + // Playlist Routes for User Page + Route::get('/user/playlists', [PlaylistController::class, 'playlists'])->name('profile.playlists'); + Route::get('/user/playlist/{playlist_id}', [PlaylistController::class, 'showPlaylist'])->name('profile.playlist.show'); + Route::post('/create-playlist', [PlaylistController::class, 'createPlaylist'])->name('profile.playlists.create'); + Route::delete('/user/playlist/{playlist_id}', [PlaylistController::class, 'deletePlaylist'])->name('profile.playlist.delete'); + Route::post('/user/playlist-episode', [PlaylistController::class, 'deleteEpisodeFromPlaylist'])->name('playlist.delete.episode'); + + // Playlist Routes for Modals on Stream Page + Route::post('/hentai/add-to-playlist', [PlaylistController::class, 'addPlaylistApi'])->name('hentai.playlists.add'); + Route::post('/hentai/create-playlist', [PlaylistController::class, 'createPlaylistApi'])->name('hentai.playlists.create'); + + // Download Page + Route::get('/download-search', [HomeController::class, 'downloadSearch'])->name('download.search'); +}); \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index a22fc08..82c8eb0 100644 --- a/routes/web.php +++ b/routes/web.php @@ -3,14 +3,12 @@ use App\Http\Controllers\ContactController; use App\Http\Controllers\HomeController; use App\Http\Controllers\PlaylistController; -use App\Http\Controllers\ProfileController; + use App\Http\Controllers\StreamController; -use App\Http\Controllers\UserController; -use App\Http\Controllers\Api\AdminApiController; use App\Http\Controllers\Api\DownloadApiController; use App\Http\Controllers\Api\HentaiApiController; use App\Http\Controllers\Api\StreamApiController; -use App\Http\Controllers\Api\UserApiController; + use Illuminate\Support\Facades\Route; /* @@ -40,7 +38,7 @@ Route::post('/search', [HomeController::class, 'searchRedirect'])->name('hentai. Route::get('/contact', [ContactController::class, 'index'])->name('contact.index'); Route::post('/contact', [ContactController::class, 'store'])->name('contact.store'); -// Public Playlistts +// Public Playlists Route::get('/playlists', [PlaylistController::class, 'index'])->name('playlist.index'); Route::get('/playlist/{playlist_id}', [PlaylistController::class, 'show'])->name('playlist.show'); @@ -52,88 +50,6 @@ Route::post('/get-download', [DownloadApiController::class, 'getDownload']); Route::post('/update-language', [HomeController::class, 'updateLanguage'])->name('update.language'); -// User Routes -Route::middleware('auth')->group(function () { - Route::get('/user/profile', [ProfileController::class, 'index'])->name('profile.show'); - Route::get('/user/comments', [ProfileController::class, 'comments'])->name('profile.comments'); - Route::get('/user/likes', [ProfileController::class, 'likes'])->name('profile.likes'); - Route::get('/user/watched', [ProfileController::class, 'watched'])->name('user.watched'); - - // Notifications - Route::get('/user/notifications', [App\Http\Controllers\NotificationController::class, 'index'])->name('profile.notifications'); - Route::delete('/user/notifications', [App\Http\Controllers\NotificationController::class, 'delete'])->name('profile.notifications.delete'); - - // User Profile Actions - Route::get('/user/settings', [ProfileController::class, 'settings'])->name('profile.settings'); - Route::patch('/user/settings', [ProfileController::class, 'update'])->name('profile.update'); - Route::delete('/user/delete', [ProfileController::class, 'destroy'])->name('profile.delete'); - Route::post('/user/settings', [ProfileController::class, 'saveSettings'])->name('profile.settings.save'); - Route::get('/user/blacklist', [UserApiController::class, 'getBlacklist'])->name('profile.blacklist'); - Route::post('/user/blacklist', [ProfileController::class, 'saveBlacklist'])->name('profile.blacklist.save'); - - // Playlist Routes for User Page - Route::get('/user/playlists', [PlaylistController::class, 'playlists'])->name('profile.playlists'); - Route::get('/user/playlist/{playlist_id}', [PlaylistController::class, 'showPlaylist'])->name('profile.playlist.show'); - Route::post('/create-playlist', [PlaylistController::class, 'createPlaylist'])->name('profile.playlists.create'); - Route::delete('/user/playlist/{playlist_id}', [PlaylistController::class, 'deletePlaylist'])->name('profile.playlist.delete'); - Route::post('/user/playlist-episode', [PlaylistController::class, 'deleteEpisodeFromPlaylist'])->name('playlist.delete.episode'); - - // Playlist Routes for Modals on Stream Page - Route::post('/hentai/add-to-playlist', [PlaylistController::class, 'addPlaylistApi'])->name('hentai.playlists.add'); - Route::post('/hentai/create-playlist', [PlaylistController::class, 'createPlaylistApi'])->name('hentai.playlists.create'); - - // Download Page - Route::get('/download-search', [HomeController::class, 'downloadSearch'])->name('download.search'); -}); - -/* -|--------------------------------------------------------------------------------- -| Admin Pages -|--------------------------------------------------------------------------------- -*/ -Route::group(['middleware' => ['auth', 'auth.admin']], function () { - // Site alerts - Route::get('/admin/alert', [App\Http\Controllers\Admin\AlertController::class, 'index'])->name('admin.alert.index'); - Route::post('/admin/alert', [App\Http\Controllers\Admin\AlertController::class, 'store'])->name('admin.alert.create'); - Route::delete('/admin/alert/{alert_id}', [App\Http\Controllers\Admin\AlertController::class, 'delete'])->name('admin.alert.delete'); - - // Users - Route::get('/admin/users', [App\Http\Controllers\Admin\UserController::class, 'index'])->name('admin.user.index'); - Route::post('/admin/users', [App\Http\Controllers\Admin\UserController::class, 'update'])->name('admin.user.update'); - - // Comments - Route::get('/admin/comments', [App\Http\Controllers\Admin\CommentsController::class, 'index'])->name('admin.comments.index'); - - // Contact page overview - Route::get('/admin/contact', [App\Http\Controllers\Admin\ContactController::class, 'index'])->name('admin.contact.index'); - Route::delete('/admin/contact/{contact_id}', [App\Http\Controllers\Admin\ContactController::class, 'delete'])->name('admin.contact.delete'); - - // Site background settings - Route::get('/admin/background', [App\Http\Controllers\Admin\SiteBackgroundController::class, 'index'])->name('admin.background.index'); - Route::post('/admin/background', [App\Http\Controllers\Admin\SiteBackgroundController::class, 'create'])->name('admin.background.create'); - Route::put('/admin/background', [App\Http\Controllers\Admin\SiteBackgroundController::class, 'update'])->name('admin.background.update'); - Route::delete('/admin/background', [App\Http\Controllers\Admin\SiteBackgroundController::class, 'delete'])->name('admin.background.delete'); - - // Release - Route::get('/admin/release', [App\Http\Controllers\Admin\ReleaseController::class, 'index'])->name('admin.upload.index'); - Route::post('/admin/release/upload', [App\Http\Controllers\Admin\ReleaseController::class, 'store'])->name('admin.upload'); - - // Episode - Route::post('/admin/episode/upload', [App\Http\Controllers\Admin\EpisodeController::class, 'store'])->name('admin.upload.episode'); - Route::post('/admin/episode/edit', [App\Http\Controllers\Admin\EpisodeController::class, 'update'])->name('admin.edit'); - - // Get Tags used for Upload Form - Route::get('/admin/tags', [AdminApiController::class, 'getTags'])->name('admin.tags'); - Route::get('/admin/studios', [AdminApiController::class, 'getStudios'])->name('admin.studios'); - - // Get Tags for editing Episode - Route::get('/admin/tags/{episode_id}', [AdminApiController::class, 'getEpisodeTags'])->name('admin.tags.episode'); - Route::get('/admin/studio/{episode_id}', [AdminApiController::class, 'getEpisodeStudio'])->name('admin.studio.episode'); - - // Subtitles - Route::get('/admin/subtitles/{episode_id}', [AdminApiController::class, 'getSubtitles'])->name('admin.subtitles'); - Route::post('/admin/add-new-subtitle', [App\Http\Controllers\Admin\SubtitleController::class, 'store'])->name('admin.add.new.subtitle'); - Route::post('/admin/update-subtitles', [App\Http\Controllers\Admin\SubtitleController::class, 'update'])->name('admin.update.subtitles'); -}); - +require __DIR__.'/user.php'; +require __DIR__.'/admin.php'; require __DIR__.'/auth.php';