middleware(['auth', 'verified']) ->name('dashboard'); Route::middleware('auth')->group(function () { /* User profile (generated by Breeze) */ 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'); /* Calendars CRUD */ Route::resource('calendars', CalendarController::class); /* Nested Events CRUD */ Route::prefix('calendars/{calendar}') ->name('calendars.') ->group(function () { Route::get ('events/create', [EventController::class, 'create'])->name('events.create'); Route::post('events', [EventController::class, 'store' ])->name('events.store'); Route::get ('events/{event}/edit', [EventController::class, 'edit' ])->name('events.edit'); Route::put ('events/{event}', [EventController::class, 'update'])->name('events.update'); }); }); /* Breeze auth routes (login, register, password reset, etc.) */ require __DIR__.'/auth.php'; /* |-------------------------------------------------------------------------- | SabreDAV endpoint (CalDAV + CardDAV) |-------------------------------------------------------------------------- | Leave this outside the auth middleware; the SabreLaravelAuthPlugin handles | authentication for DAV clients. */ // default dav handling Route::match( ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS', 'HEAD', 'PROPFIND', 'PROPPATCH', 'MKCOL', 'COPY', 'MOVE', 'REPORT', 'LOCK', 'UNLOCK'], '/dav/{any?}', [DavController::class, 'handle'] )->where('any', '.*') ->withoutMiddleware([VerifyCsrfToken::class]); // subscriptions Route::get('/subscriptions/{calendarUri}.ics', [SubscriptionController::class, 'download']);