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', [App\Http\Controllers\Admin\UserController::class, 'list'])->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}', [App\Http\Controllers\Admin\UserController::class, 'edit'])->name('user_edit')->where(['seq' => '[0-9]+']); Route::match(['get', 'post'], '/users/info/{seq}', [App\Http\Controllers\Admin\UserController::class, 'info'])->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', [App\Http\Controllers\Admin\RegularContractController::class, 'list'])->name('regular_contracts'); Route::match(['get', 'post'], '/regular_contracts/add', [App\Http\Controllers\Admin\RegularContractController::class, 'add'])->name('regular_contract_add'); Route::match(['get', 'post'], '/regular_contracts/edit/{contract_id}', [App\Http\Controllers\Admin\RegularContractController::class, 'edit'])->name('regular_contract_edit')->where(['contract_id' => '[0-9]+']); Route::match(['get', 'post'], '/regular_contracts/info/{contract_id}', [App\Http\Controllers\Admin\RegularContractController::class, 'info'])->name('regular_contract_info')->where(['contract_id' => '[0-9]+']); Route::match(['get', 'post'], '/regular_contracts/delete', [App\Http\Controllers\Admin\RegularContractController::class, 'delete'])->name('regular_contracts_delete'); Route::match(['get', 'post'], '/regular_contracts/import', [App\Http\Controllers\Admin\RegularContractController::class, 'import'])->name('regular_contracts_import'); Route::get('/regular_contracts/export', [App\Http\Controllers\Admin\RegularContractController::class, 'export'])->name('regular_contracts_export'); // [東京都|〇〇駐輪場] 駐輪車室マスタ Route::match(['get', 'post'], '/pplace', [PplaceController::class, 'list'])->name('pplace'); Route::match(['get', 'post'], '/pplace/add', [PplaceController::class, 'add'])->name('pplace_add'); Route::match(['get', 'post'], '/pplace/edit/{id}', [PplaceController::class, 'edit'])->name('pplace_edit')->where(['id' => '[0-9]+']); Route::match(['get', 'post'], '/pplace/info/{id}', [PplaceController::class, 'info'])->name('pplace_info')->where(['id' => '[0-9]+']); Route::match(['get', 'post'], '/pplace/delete', [PplaceController::class, 'delete'])->name('pplace_delete'); Route::match(['get', 'post'], '/pplace/import', [PplaceController::class, 'import'])->name('pplace_import'); Route::get('/pplace/export', [PplaceController::class, 'export'])->name('pplace_export'); 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'); });