Files

61 lines
3.9 KiB
PHP
Raw Permalink Normal View History

2026-03-19 19:25:51 +02:00
<?php
2026-03-19 19:47:06 +02:00
use App\Http\Controllers\AlertRuleController;
2026-03-19 19:40:49 +02:00
use App\Http\Controllers\DashboardController;
use App\Http\Controllers\EventController;
use App\Http\Controllers\IssueController;
2026-03-19 19:47:06 +02:00
use App\Http\Controllers\NotificationController;
2026-03-19 19:25:51 +02:00
use App\Http\Controllers\ProfileController;
2026-03-19 19:40:49 +02:00
use App\Http\Controllers\ProjectController;
2026-03-21 16:13:38 +02:00
use App\Http\Controllers\ProjectMemberController;
2026-03-19 19:25:51 +02:00
use Illuminate\Support\Facades\Route;
Route::get('/', function () {
return view('welcome');
});
2026-03-21 16:13:38 +02:00
Route::middleware('auth')->group(function () {
Route::get('/invitations/{token}/accept', [ProjectMemberController::class, 'acceptInvitation'])->name('invitations.accept');
});
2026-03-19 19:40:49 +02:00
Route::middleware(['auth', 'verified'])->group(function () {
Route::get('/dashboard', DashboardController::class)->name('dashboard');
Route::get('/projects', [ProjectController::class, 'index'])->name('projects.index');
Route::get('/projects/create', [ProjectController::class, 'create'])->name('projects.create');
Route::post('/projects', [ProjectController::class, 'store'])->name('projects.store');
Route::get('/projects/{project}/settings', [ProjectController::class, 'settings'])->name('projects.settings');
Route::patch('/projects/{project}', [ProjectController::class, 'update'])->name('projects.update');
Route::patch('/projects/{project}/regenerate-keys', [ProjectController::class, 'regenerateKeys'])->name('projects.regenerate-keys');
Route::delete('/projects/{project}', [ProjectController::class, 'destroy'])->name('projects.destroy');
Route::get('/projects/{project}/issues', [IssueController::class, 'index'])->name('projects.issues.index');
Route::post('/projects/{project}/issues/bulk', [IssueController::class, 'bulkAction'])->name('projects.issues.bulk');
Route::get('/projects/{project}/issues/{issue}', [IssueController::class, 'show'])->name('projects.issues.show');
Route::patch('/projects/{project}/issues/{issue}/status', [IssueController::class, 'updateStatus'])->name('projects.issues.status');
Route::get('/projects/{project}/issues/{issue}/events/{event}', [EventController::class, 'show'])->name('projects.issues.events.show');
2026-03-19 19:47:06 +02:00
Route::get('/projects/{project}/alerts', [AlertRuleController::class, 'edit'])->name('projects.alerts.edit');
Route::patch('/projects/{project}/alerts', [AlertRuleController::class, 'update'])->name('projects.alerts.update');
Route::patch('/projects/{project}/alerts/preference', [AlertRuleController::class, 'updatePreference'])->name('projects.alerts.preference');
2026-03-21 16:13:38 +02:00
Route::get('/projects/{project}/members', [ProjectMemberController::class, 'index'])->name('projects.members.index');
Route::post('/projects/{project}/members/invite', [ProjectMemberController::class, 'invite'])->name('projects.members.invite');
Route::patch('/projects/{project}/members/{user}/role', [ProjectMemberController::class, 'updateRole'])->name('projects.members.update-role');
Route::delete('/projects/{project}/members/{user}', [ProjectMemberController::class, 'destroy'])->name('projects.members.destroy');
Route::delete('/projects/{project}/invitations/{invitation}', [ProjectMemberController::class, 'cancelInvitation'])->name('projects.members.cancel-invitation');
2026-03-19 19:47:06 +02:00
Route::get('/notifications', [NotificationController::class, 'index'])->name('notifications.index');
Route::get('/notifications/{id}/read', [NotificationController::class, 'markAsRead'])->name('notifications.read');
Route::post('/notifications/mark-all-read', [NotificationController::class, 'markAllAsRead'])->name('notifications.mark-all-read');
2026-03-19 19:40:49 +02:00
});
2026-03-19 19:25:51 +02:00
Route::middleware('auth')->group(function () {
Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit');
Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update');
Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy');
});
require __DIR__.'/auth.php';