45 lines
2.4 KiB
PHP
45 lines
2.4 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\Settings\ProfileController;
|
|
use App\Http\Controllers\Settings\SecurityController;
|
|
use App\Http\Controllers\Teams\TeamController;
|
|
use App\Http\Controllers\Teams\TeamInvitationController;
|
|
use App\Http\Controllers\Teams\TeamMemberController;
|
|
use App\Http\Middleware\EnsureTeamMembership;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
Route::middleware(['auth'])->group(function () {
|
|
Route::redirect('settings', '/settings/profile');
|
|
|
|
Route::get('settings/profile', [ProfileController::class, 'edit'])->name('profile.edit');
|
|
Route::patch('settings/profile', [ProfileController::class, 'update'])->name('profile.update');
|
|
});
|
|
|
|
Route::middleware(['auth', 'verified'])->group(function () {
|
|
Route::delete('settings/profile', [ProfileController::class, 'destroy'])->name('profile.destroy');
|
|
|
|
Route::get('settings/security', [SecurityController::class, 'edit'])->name('security.edit');
|
|
|
|
Route::put('settings/password', [SecurityController::class, 'update'])
|
|
->middleware('throttle:6,1')
|
|
->name('user-password.update');
|
|
|
|
Route::inertia('settings/appearance', 'settings/Appearance')->name('appearance.edit');
|
|
|
|
Route::get('settings/teams', [TeamController::class, 'index'])->name('teams.index');
|
|
Route::post('settings/teams', [TeamController::class, 'store'])->name('teams.store');
|
|
|
|
Route::middleware(EnsureTeamMembership::class)->group(function () {
|
|
Route::get('settings/teams/{team}', [TeamController::class, 'edit'])->name('teams.edit');
|
|
Route::patch('settings/teams/{team}', [TeamController::class, 'update'])->name('teams.update');
|
|
Route::delete('settings/teams/{team}', [TeamController::class, 'destroy'])->name('teams.destroy');
|
|
Route::post('settings/teams/{team}/switch', [TeamController::class, 'switch'])->name('teams.switch');
|
|
|
|
Route::patch('settings/teams/{team}/members/{user}', [TeamMemberController::class, 'update'])->name('teams.members.update');
|
|
Route::delete('settings/teams/{team}/members/{user}', [TeamMemberController::class, 'destroy'])->name('teams.members.destroy');
|
|
|
|
Route::post('settings/teams/{team}/invitations', [TeamInvitationController::class, 'store'])->name('teams.invitations.store');
|
|
Route::delete('settings/teams/{team}/invitations/{invitation}', [TeamInvitationController::class, 'destroy'])->name('teams.invitations.destroy');
|
|
});
|
|
});
|