55 lines
3.1 KiB
PHP
55 lines
3.1 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
use Illuminate\Support\Facades\Route;
|
||
|
|
use App\Modules\Core\Controllers\Auth\LoginController;
|
||
|
|
use App\Modules\Core\Controllers\DashboardController;
|
||
|
|
use App\Modules\Core\Controllers\ProfileController;
|
||
|
|
use App\Modules\Core\Controllers\RoleController;
|
||
|
|
use App\Modules\Core\Controllers\UserController;
|
||
|
|
use App\Modules\Core\Controllers\ActivityLogController;
|
||
|
|
|
||
|
|
// 登入/登出路由
|
||
|
|
Route::get('/login', [LoginController::class, 'show'])->name('login');
|
||
|
|
Route::post('/login', [LoginController::class, 'store']);
|
||
|
|
Route::post('/logout', [LoginController::class, 'destroy'])->name('logout');
|
||
|
|
|
||
|
|
Route::middleware('auth')->group(function () {
|
||
|
|
// 儀表板 - 所有登入使用者皆可存取
|
||
|
|
Route::get('/', [DashboardController::class, 'index'])->name('dashboard');
|
||
|
|
|
||
|
|
// 使用者帳號設定
|
||
|
|
Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit');
|
||
|
|
Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update');
|
||
|
|
Route::put('/profile/password', [ProfileController::class, 'updatePassword'])->name('profile.password');
|
||
|
|
|
||
|
|
// 系統管理
|
||
|
|
Route::prefix('admin')->group(function () {
|
||
|
|
Route::middleware('permission:roles.view')->group(function () {
|
||
|
|
Route::get('/roles', [RoleController::class, 'index'])->name('roles.index');
|
||
|
|
Route::middleware('permission:roles.create')->group(function () {
|
||
|
|
Route::get('/roles/create', [RoleController::class, 'create'])->name('roles.create');
|
||
|
|
Route::post('/roles', [RoleController::class, 'store'])->name('roles.store');
|
||
|
|
});
|
||
|
|
Route::get('/roles/{role}/edit', [RoleController::class, 'edit'])->middleware('permission:roles.edit')->name('roles.edit');
|
||
|
|
Route::put('/roles/{role}', [RoleController::class, 'update'])->middleware('permission:roles.edit')->name('roles.update');
|
||
|
|
Route::delete('/roles/{role}', [RoleController::class, 'destroy'])->middleware('permission:roles.delete')->name('roles.destroy');
|
||
|
|
});
|
||
|
|
|
||
|
|
Route::middleware('permission:users.view')->group(function () {
|
||
|
|
Route::get('/users', [UserController::class, 'index'])->name('users.index');
|
||
|
|
Route::middleware('permission:users.create')->group(function () {
|
||
|
|
Route::get('/users/create', [UserController::class, 'create'])->name('users.create');
|
||
|
|
Route::post('/users', [UserController::class, 'store'])->name('users.store');
|
||
|
|
});
|
||
|
|
Route::get('/users/{user}/edit', [UserController::class, 'edit'])->middleware('permission:users.edit')->name('users.edit');
|
||
|
|
Route::put('/users/{user}', [UserController::class, 'update'])->middleware('permission:users.edit')->name('users.update');
|
||
|
|
Route::delete('/users/{user}', [UserController::class, 'destroy'])->middleware('permission:users.delete')->name('users.destroy');
|
||
|
|
});
|
||
|
|
|
||
|
|
Route::middleware('permission:system.view_logs')->group(function () {
|
||
|
|
Route::get('/activity-logs', [ActivityLogController::class, 'index'])->name('activity-logs.index');
|
||
|
|
});
|
||
|
|
|
||
|
|
});
|
||
|
|
});
|