giftcon_dev/routes/admin.php

69 lines
2.8 KiB
PHP

<?php
use App\Http\Controllers\Admin\Auth\AdminAuthController;
use App\Http\Controllers\Admin\AdminAdminsController;
use App\Http\Controllers\Admin\MeController;
use Illuminate\Support\Facades\Route;
Route::middleware(['web'])->group(function () {
// 로그인/OTP/비번초기화는 guest:admin 만 접근
Route::middleware('guest:admin')->group(function () {
Route::get('/login', [AdminAuthController::class, 'showLogin'])
->name('admin.login.form');
Route::post('/login', [AdminAuthController::class, 'storeLogin'])
->middleware('throttle:admin-login')
->name('admin.login.store');
Route::get('/password/reset', [AdminAuthController::class, 'showForceReset'])
->name('admin.password.reset.form');
Route::post('/password/reset', [AdminAuthController::class, 'storeForceReset'])
->middleware('throttle:admin-login')
->name('admin.password.reset.store');
Route::get('/otp', [AdminAuthController::class, 'showOtp'])
->name('admin.otp.form');
Route::post('/otp', [AdminAuthController::class, 'verifyOtp'])
->middleware('throttle:admin-otp')
->name('admin.otp.store');
});
// 로그인 이후
Route::middleware(['auth:admin', \App\Http\Middleware\NoStore::class])->group(function () {
Route::get('/', fn() => view('admin.home'))->name('admin.home');
Route::get('/me', [MeController::class, 'show'])->name('admin.me');
Route::post('/me', [MeController::class, 'update'])->name('admin.me.update');
Route::get('/me/password', [MeController::class, 'showPassword'])->name('admin.me.password.form');
Route::post('/me/password', [MeController::class, 'updatePassword'])->name('admin.me.password.update');
Route::post('/logout', [AdminAuthController::class, 'logout'])
->name('admin.logout');
Route::prefix('/admins')->name('admin.admins.')->group(function () {
Route::get('/', [AdminAdminsController::class, 'index'])->name('index');
Route::get('/create', [AdminAdminsController::class, 'create'])->name('create');
Route::post('/', [AdminAdminsController::class, 'store'])->name('store');
Route::get('/{id}', [AdminAdminsController::class, 'edit'])->name('edit');
Route::post('/{id}', [AdminAdminsController::class, 'update'])->name('update');
Route::post('/{id}/reset-password', [AdminAdminsController::class, 'resetPassword'])->name('reset_password');
Route::post('/{id}/unlock', [AdminAdminsController::class, 'unlock'])->name('unlock');
});
});
});
/* 개발용 페이지 세션 보기 */
if (config('app.debug') || app()->environment('local')) {
require __DIR__.'/dev_admin.php';
}
/* 개발용 페이지 세션 보기 */