<?php

use Webman\Route;

Route::group('/admin', function () {
    /* 鉴权 */
    Route::group('/auth', function () {
        Route::post('/login', [\app\admin\controller\auth\Auth::class, 'login']);
        Route::get('/userInfo', [\app\admin\controller\auth\Auth::class, 'userInfo']);
        Route::get('/refreshToken', [\app\admin\controller\auth\Auth::class, 'refreshToken']);
    })->middleware([
        \app\middleware\AdminAuthCheck::class
    ]);

    /* 系统管理中心 */
    Route::group('/sys', function () {
        /* 角色管理 */
        Route::group('/role', function () {
            Route::get('/list', [\app\admin\controller\sys_manage\Role::class, 'roleList']);
            Route::get('/info/{id:\d+}', [\app\admin\controller\sys_manage\Role::class, 'roleInfo']);
            Route::post('/add', [\app\admin\controller\sys_manage\Role::class, 'addRole']);
            Route::post('/update/{id:\d+}', [\app\admin\controller\sys_manage\Role::class, 'updateRole']);
            Route::delete('/delete/{id:\d+}', [\app\admin\controller\sys_manage\Role::class, 'delRole']);
            Route::post('/updateStatus/{id:\d+}', [\app\admin\controller\sys_manage\Role::class, 'updateStatus']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);

        /* 部门管理 */
        Route::group('/dept', function () {
            Route::get('/list', [\app\admin\controller\sys_manage\Dept::class, 'deptList']);
            Route::get('/info/{id:\d+}', [\app\admin\controller\sys_manage\Dept::class, 'deptInfo']);
            Route::post('/add', [\app\admin\controller\sys_manage\Dept::class, 'addDept']);
            Route::post('/update/{id:\d+}', [\app\admin\controller\sys_manage\Dept::class, 'updateDept']);
            Route::post('/updateStatus/{id:\d+}', [\app\admin\controller\sys_manage\Dept::class, 'updateStatus']);
            Route::delete('/delete/{id:\d+}', [\app\admin\controller\sys_manage\Dept::class, 'delDept']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);

        /* 用户管理 */
        Route::group('/user', function () {
            Route::get('/list', [\app\admin\controller\sys_manage\User::class, 'userList']);
            Route::get('/info/{id:\w+}', [\app\admin\controller\sys_manage\User::class, 'userInfo']);
            Route::post('/add', [\app\admin\controller\sys_manage\User::class, 'addUser']);
            Route::post('/update/{id:\w+}', [\app\admin\controller\sys_manage\User::class, 'updateUser']);
            Route::post('/updateStatus/{id:\w+}', [\app\admin\controller\sys_manage\User::class, 'updateStatus']);
            Route::delete('/delete/{id:\w+}', [\app\admin\controller\sys_manage\User::class, 'delUser']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);

        /* 分类管理 */
        Route::group('/category', function () {
            Route::get('/list', [\app\admin\controller\sys_manage\Category::class, 'categoryList']);
            Route::get('/info/{id:\d+}', [\app\admin\controller\sys_manage\Category::class, 'categoryInfo']);
            Route::post('/add', [\app\admin\controller\sys_manage\Category::class, 'addCategory']);
            Route::post('/update/{id:\d+}', [\app\admin\controller\sys_manage\Category::class, 'updateCategory']);
            Route::post('/updateStatus/{id:\d+}', [\app\admin\controller\sys_manage\Category::class, 'updateStatus']);
            Route::delete('/delete/{id:\d+}', [\app\admin\controller\sys_manage\Category::class, 'delCategory']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);

        Route::group('/field', function () {
            Route::get('/list', [\app\admin\controller\sys_manage\Field::class, 'fieldList']);
            Route::get('/info/{id:\d+}', [\app\admin\controller\sys_manage\Field::class, 'fieldInfo']);
            Route::post('/add', [\app\admin\controller\sys_manage\Field::class, 'addField']);
            Route::post('/update/{id:\d+}', [\app\admin\controller\sys_manage\Field::class, 'updateField']);
            Route::post('/updateStatus/{id:\d+}', [\app\admin\controller\sys_manage\Field::class, 'updateStatus']);
            Route::delete('/delete/{id:\d+}', [\app\admin\controller\sys_manage\Field::class, 'delField']);
        });
    });
});