33 lines
1.5 KiB
PHP
33 lines
1.5 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\TeamController;
|
|
use App\Http\Controllers\TeamInviteAcceptController;
|
|
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', [TeamController::class, 'invite'])->name('invite');
|
|
Route::post('{team:slug}/invite/revoke', [TeamController::class, 'revokeInvite'])->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');
|
|
});
|
|
|
|
});
|
|
|
|
require __DIR__.'/settings.php';
|