Files
ots/routes/web.php
T
2026-10-03 09:05:30 +02:00

35 lines
1.6 KiB
PHP

<?php
use App\Http\Controllers\TeamController;
use App\Http\Controllers\TeamInviteAcceptController;
use App\Http\Controllers\TeamInviteController;
use App\Models\Team;
use Illuminate\Support\Facades\Route;
Route::inertia('/', 'Welcome')->name('home');
Route::middleware(['auth'])->group(function () {
Route::inertia('dashboard', 'Dashboard')->name('dashboard');
Route::controller(TeamController::class)->prefix('teams')->name('teams.')->group(function () {
Route::name('invite.')->group(function () {
Route::get('invite/accept', [TeamInviteAcceptController::class, 'create'])->name('create');
Route::post('invite/accept', [TeamInviteAcceptController::class, 'store'])->name('store');
Route::post('{team:slug}/invite', [TeamInviteController::class, 'store'])->name('invite');
Route::post('{team:slug}/invite/revoke', [TeamInviteController::class, 'destroy'])->name('revoke')->can('manage', 'team');
});
Route::get('/', 'index')->name('index');
Route::get('/create', 'create')->name('create')->can('create', Team::class);
Route::post('/', 'store')->name('store')->can('create', Team::class);
Route::get('/edit/{team:slug}', 'edit')->name('edit')->can('manage', 'team');
Route::patch('/{team:slug}', 'update')->name('update')->can('manage', 'team');
Route::post('/name-to-slug', 'nameToSlug')->name('nameToSlug');
Route::get('/{team:slug}', 'show')->name('show')->can('view', 'team');
Route::delete('/{team:slug}', 'destroy')->name('destroy')->can('delete', 'team');
});
});
require __DIR__.'/settings.php';