<?php

use Webman\Route;

Route::group('/admin', function () {
    Route::group('/upload', function () {
        Route::post('/image', [\app\admin\controller\UploadFileController::class, 'image']);
        Route::post('/video', [\app\admin\controller\UploadFileController::class, 'video']);
    })->middleware([
        \app\middleware\AdminAuthCheck::class
    ]);

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

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

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

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

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

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

        /* 配置管理 */
        Route::group('/config', function () {
            Route::get('/list', [\app\admin\controller\sys_manage\ConfigController::class, 'configList']);
            Route::get('/info/{id:\d+}', [\app\admin\controller\sys_manage\ConfigController::class, 'configInfo']);
            Route::post('/add', [\app\admin\controller\sys_manage\ConfigController::class, 'addConfig']);
            Route::post('/update/{id:\d+}', [\app\admin\controller\sys_manage\ConfigController::class, 'updateConfig']);
            Route::post('/updateStatus/{id:\d+}', [\app\admin\controller\sys_manage\ConfigController::class, 'updateStatus']);
            Route::delete('/delete/{id:\d+}', [\app\admin\controller\sys_manage\ConfigController::class, 'delConfig']);
        });
    });

    /* 业务支撑 */
    Route::group('/life', function () {
        /* 演职人员管理 */
        Route::group('/cinemaPerformers', function () {
            Route::get('/list', [\app\admin\controller\life\CinemaPerformersController::class, 'select']);
            Route::post('/add', [\app\admin\controller\life\CinemaPerformersController::class, 'insert']);
            Route::post('/update', [\app\admin\controller\life\CinemaPerformersController::class, 'update']);
            Route::delete('/delete', [\app\admin\controller\life\CinemaPerformersController::class, 'delete']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);
        /* 影片类型管理 */
        Route::group('/cinemaIlk', function () {
            Route::get('/list', [\app\admin\controller\life\CinemaIlkController::class, 'select']);
            Route::post('/add', [\app\admin\controller\life\CinemaIlkController::class, 'insert']);
            Route::post('/update', [\app\admin\controller\life\CinemaIlkController::class, 'update']);
            Route::delete('/delete', [\app\admin\controller\life\CinemaIlkController::class, 'delete']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);
        /* 影片管理 */
        Route::group('/cinema', function () {
            Route::get('/list', [\app\admin\controller\life\CinemaController::class, 'select']);
            Route::post('/add', [\app\admin\controller\life\CinemaController::class, 'insert']);
            Route::post('/update', [\app\admin\controller\life\CinemaController::class, 'update']);
            Route::delete('/delete', [\app\admin\controller\life\CinemaController::class, 'delete']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);
        /* 教师管理 */
        Route::group('/teacher', function () {
            Route::get('/list', [\app\admin\controller\life\CollegeTeacherController::class, 'select']);
            Route::post('/add', [\app\admin\controller\life\CollegeTeacherController::class, 'insert']);
            Route::post('/update', [\app\admin\controller\life\CollegeTeacherController::class, 'update']);
            Route::delete('/delete', [\app\admin\controller\life\CollegeTeacherController::class, 'delete']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);
        /* 课程管理 */
        Route::group('/courses', function () {
            Route::get('/list', [\app\admin\controller\life\CollegeCoursesController::class, 'select']);
            Route::post('/add', [\app\admin\controller\life\CollegeCoursesController::class, 'insert']);
            Route::post('/update', [\app\admin\controller\life\CollegeCoursesController::class, 'update']);
            Route::delete('/delete', [\app\admin\controller\life\CollegeCoursesController::class, 'delete']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);
        /* 课程安排管理 */
        Route::group('/teaching', function () {
            Route::get('/list', [\app\admin\controller\life\CollegeTeachingController::class, 'select']);
            Route::post('/add', [\app\admin\controller\life\CollegeTeachingController::class, 'insert']);
            Route::post('/update', [\app\admin\controller\life\CollegeTeachingController::class, 'update']);
            Route::delete('/delete', [\app\admin\controller\life\CollegeTeachingController::class, 'delete']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);
        /* 地块管理 */
        Route::group('/farmLand', function () {
            Route::get('/list', [\app\admin\controller\life\FarmLandController::class, 'select']);
            Route::post('/add', [\app\admin\controller\life\FarmLandController::class, 'insert']);
            Route::post('/update', [\app\admin\controller\life\FarmLandController::class, 'update']);
            Route::delete('/delete', [\app\admin\controller\life\FarmLandController::class, 'delete']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);
        /* 农场商品管理 */
        Route::group('/farmGoods', function () {
            Route::get('/list', [\app\admin\controller\life\FarmGoodsController::class, 'select']);
            Route::post('/add', [\app\admin\controller\life\FarmGoodsController::class, 'insert']);
            Route::post('/update', [\app\admin\controller\life\FarmGoodsController::class, 'update']);
            Route::post('/updateStatus', [\app\admin\controller\life\FarmGoodsController::class, 'updateStatus']);
            Route::delete('/delete', [\app\admin\controller\life\FarmGoodsController::class, 'delete']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);
        /* 农场套餐管理 */
        Route::group('/farmPackage', function () {
            Route::get('/list', [\app\admin\controller\life\FarmPackageController::class, 'select']);
            Route::post('/add', [\app\admin\controller\life\FarmPackageController::class, 'insert']);
            Route::post('/update', [\app\admin\controller\life\FarmPackageController::class, 'update']);
            Route::delete('/delete', [\app\admin\controller\life\FarmPackageController::class, 'delete']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);
        /* 农场套餐商品管理 */
        Route::group('/farmPackageGoods', function () {
            Route::get('/list', [\app\admin\controller\life\FarmPackageGoodsController::class, 'select']);
            Route::post('/add', [\app\admin\controller\life\FarmPackageGoodsController::class, 'insert']);
            Route::post('/update', [\app\admin\controller\life\FarmPackageGoodsController::class, 'update']);
            Route::delete('/delete', [\app\admin\controller\life\FarmPackageGoodsController::class, 'delete']);
        })->middleware([
            \app\middleware\AdminAuthCheck::class
        ]);
    });
});