93 lines
2.9 KiB
PHP
93 lines
2.9 KiB
PHP
<?php
|
|
/**
|
|
* Author: ykxiao
|
|
* Date: 2025/6/4
|
|
* Time: 下午2:54
|
|
* Description:
|
|
*
|
|
* (c) ykxiao <yk_9001@hotmail.com>
|
|
*
|
|
* This source file is subject to the MIT license that is bundled
|
|
* with this source code in the file LICENSE.
|
|
*/
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Request;
|
|
|
|
class RoleRequest extends AbstractRequest
|
|
{
|
|
public array $scenes = [
|
|
'addRole' => [
|
|
'id',
|
|
'role_name',
|
|
'active_status',
|
|
'sort',
|
|
],
|
|
'disableRoles' => ['id' => 'required|integer|min:1', 'status'],
|
|
'delRoles' => ['ids'],
|
|
'assignUserRoles' => ['user_id', 'role_ids', 'role_ids.*'],
|
|
'assignRolePermissions' => [
|
|
'role_id',
|
|
'menu_permission',
|
|
'menu_permission.*',
|
|
'data_permission',
|
|
'data_permission.*',
|
|
'data_permission.*.*',
|
|
],
|
|
'roleChecked' => ['role_id'],
|
|
'addCompanyModule' => [
|
|
'company_id',
|
|
'menu_permission',
|
|
'menu_permission.*',
|
|
'data_permission',
|
|
'data_permission.*',
|
|
],
|
|
'companyChecked' => ['company_id']
|
|
];
|
|
|
|
public function rules(): array
|
|
{
|
|
return [
|
|
'id' => 'integer',
|
|
'role_name' => 'required|string',
|
|
'active_status' => 'required|integer',
|
|
'sort' => 'required|integer',
|
|
'status' => 'required|boolean',
|
|
'ids' => 'required|array|min:1',
|
|
'ids.*' => 'required|integer|min:1|distinct',
|
|
'user_id' => 'required|integer|min:1',
|
|
'role_ids' => 'required|array|min:1',
|
|
'role_ids.*' => 'required|integer|min:1|distinct',
|
|
'role_id' => 'required|integer|min:1',
|
|
'menu_permission' => 'required|array|min:1',
|
|
'menu_permission.*' => 'required|string|max:128|distinct',
|
|
'data_permission' => 'array|min:1',
|
|
'data_permission.*' => 'required|array|min:1',
|
|
'data_permission.*.*' => 'required|array|min:1|distinct',
|
|
'company_id' => 'required|integer|integer|min:1',
|
|
];
|
|
}
|
|
|
|
public function attributes(): array
|
|
{
|
|
return [
|
|
'id' => '角色ID',
|
|
'role_name' => '角色名称',
|
|
'active_status' => '角色状态',
|
|
'sort' => '排序',
|
|
'status' => '状态',
|
|
'ids' => '角色列表',
|
|
'ids.*' => '角色列表ID',
|
|
'role_ids' => '角色列表',
|
|
'role_ids.*' => '角色列表ID',
|
|
'user_id' => '用户ID',
|
|
'menu_permission' => '菜单权限集',
|
|
'menu_permission.*' => '菜单权限',
|
|
'data_permission' => '数据权限',
|
|
'data_permission.*' => '数据菜单权限',
|
|
'data_permission.*.*' => '数据权限集',
|
|
'company_id' => '公司ID',
|
|
];
|
|
}
|
|
} |