route('home'); }); // ログイン関連ルート(ゲストユーザー専用) // Laravel 12変更点:ミドルウェアをルートで直接指定 Route::middleware('guest')->group(function () { // ログインフォーム表示 Route::get('login', [App\Http\Controllers\Auth\LoginController::class, 'showLoginForm'])->name('login'); // ログイン処理 Route::post('login', [App\Http\Controllers\Auth\LoginController::class, 'login']); }); // ログアウトルート(認証済みユーザー専用) Route::get('logout', [App\Http\Controllers\Auth\LoginController::class, 'logout'])->middleware('auth'); // パスワードリセット機能(一時的にリダイレクト - 後で実装予定) // Laravel 12移行時の一時対応:forgot_passwordルートエラー回避 Route::get('forgotPassword', function() { return redirect()->route('login')->with('info', 'パスワードリセット機能は現在準備中です。'); })->name('forgot_password'); // 保護されたルート(認証済みユーザー専用) // Laravel 12変更点:middleware()をコントローラーではなくルートで指定 Route::middleware('auth')->group(function () { // ダッシュボード(ホーム画面) Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home'); // Laravel 12 移行時の一時的な占位符路由 // 他の開発者が継続して開発できるように、エラーを防ぐための仮ルート定義 // 実装完了後は各機能の正式なルートに置き換える予定 // 利用者マスタ管理機能(仮ルート) Route::match(['get', 'post'], '/users', function() { return view('admin.placeholder', ['title' => '利用者マスタ', 'feature' => 'users']); })->name('users'); Route::match(['get', 'post'], '/users/add', function() { return view('admin.placeholder', ['title' => '利用者追加', 'feature' => 'users']); })->name('user_add'); Route::match(['get', 'post'], '/users/edit/{seq}', function($seq) { return view('admin.placeholder', ['title' => '利用者編集', 'feature' => 'users', 'id' => $seq]); })->name('user_edit')->where(['seq' => '[0-9]+']); Route::match(['get', 'post'], '/users/info/{seq}', function($seq) { return view('admin.placeholder', ['title' => '利用者詳細', 'feature' => 'users', 'id' => $seq]); })->name('user_info')->where(['seq' => '[0-9]+']); Route::match(['get', 'post'], '/users/delete', function() { return redirect()->route('users')->with('info', '削除機能は現在実装中です。'); })->name('users_delete'); Route::match(['get', 'post'], '/users/import', function() { return redirect()->route('users')->with('info', 'インポート機能は現在実装中です。'); })->name('users_import'); Route::get('/users/export', function() { return redirect()->route('users')->with('info', 'エクスポート機能は現在実装中です。'); })->name('users_export'); // その他の管理機能の仮ルート(必要に応じて追加) Route::match(['get', 'post'], '/regular_contracts', function() { return view('admin.placeholder', ['title' => '定期契約管理', 'feature' => 'regular_contracts']); })->name('regular_contracts'); Route::match(['get', 'post'], '/parks', function() { return view('admin.placeholder', ['title' => '駐輪場管理', 'feature' => 'parks']); })->name('parks'); Route::match(['get', 'post'], '/opes', function() { return view('admin.placeholder', ['title' => 'オペレータ管理', 'feature' => 'opes']); })->name('opes'); // 区画別利用率状況機能 // Laravel 12変更点:配列形式でのコントローラー指定 // Laravel 5.7: 'Admin\UsingStatusController@index' 形式を使用していた Route::get('/using_status', [App\Http\Controllers\Admin\UsingStatusController::class, 'index'])->name('using_status'); Route::post('/using_status', [App\Http\Controllers\Admin\UsingStatusController::class, 'index'])->name('using_status'); // 区画別利用率状況 - 将来拡張用API・エクスポート機能 // Laravel 12対応:RESTful API エンドポイント Route::get('/using_status/api', [App\Http\Controllers\Admin\UsingStatusController::class, 'apiGetUtilization'])->name('using_status.api'); Route::get('/using_status/export', [App\Http\Controllers\Admin\UsingStatusController::class, 'exportCsv'])->name('using_status.export'); });