nyaabooru/routes/web.php
Jaiden f60ae41bf6
Some checks failed
Docker / build (push) Has been cancelled
better image uploading & user roles
2025-08-09 23:01:27 -04:00

53 lines
2 KiB
PHP

<?php
use App\Http\Controllers\DeletionController;
use App\Livewire\App\Home as AppHome;
use App\Livewire\Pages\Profile as ProfilePage;
use App\Livewire\Pages\Upload as UploadPage;
use App\Livewire\Pages\Users as UsersPage;
use App\Livewire\Posts\Index as PostsPage;
use App\Livewire\Posts\Edit as EditPost;
use App\Livewire\Posts\View as ViewPost;
use App\Livewire\Tags\Index as TagsIndexPage;
use App\Livewire\Tags\Groups as TagGroupsPage;
use App\Livewire\Tags\View as TagViewPage;
use App\Models\Post;
use Illuminate\Support\Facades\Route;
use Illuminate\Support\Facades\Storage;
Route::get('/', AppHome::class)->name('home');
// Authenticated routes
Route::middleware('auth')->group(function () {
Route::get('/upload', UploadPage::class)->name('upload');
Route::get('/profiles', UsersPage::class)->name('users');
Route::get('/profiles/{user}', ProfilePage::class);
Route::get('/phpinfo', function () { return phpinfo(); });
});
// Post routes
Route::middleware('auth')->prefix('posts')->group(function () {
Route::get('/', PostsPage::class)->name('posts.home');
Route::get('/{post}', ViewPost::class);
Route::get('/{post}/edit', EditPost::class);
Route::get('/{post}/download', function(Post $post) {
return Storage::download("posts/$post->id/full", config('app.name') . "_$post->id.$post->extension");
});
});
// Tag routes
Route::middleware('auth')->prefix('tags')->group(function () {
Route::get('/', TagsIndexPage::class)->name('tags.home');
Route::get('/view', TagViewPage::class)->name('tags.view-untagged');
Route::get('/view/{tag}', TagViewPage::class)->name('tags.view');
Route::get('/groups', TagGroupsPage::class)->name('tags.groups');
});
// Object deletion routes
Route::middleware('auth')->prefix('delete')->controller(DeletionController::class)->group(function () {
Route::get('comment/{comment}', 'deleteComment');
Route::get('post/{post}', 'deletePost');
Route::get('post/{post}/tag/{tag}', 'deletePostTag');
Route::get('tag/{tag}', 'deleteTag');
Route::get('group/{tagGroup}', 'deleteTagGroup');
});