Files
lotteryLaravel/routes/api/v1/admin/agent.php
kang 0841fbed32 feat: 增强管理员功能与数据处理
- 在多个控制器中引入 agent_node_id,以支持基于代理节点的权限和数据过滤。
- 更新 AdminRole 和 AdminUser 模型,新增角色范围和代理节点相关功能,提升角色管理的灵活性。
- 在请求验证中添加 agent_node_id 字段,确保 API 接口支持代理节点的相关操作。
- 优化 LotterySettings 服务,支持批量写入设置,提升配置管理的效率。
- 更新仪表板和报告服务,增强数据统计功能,确保管理员能够获取更全面的统计信息。
2026-06-02 14:36:58 +08:00

58 lines
3.6 KiB
PHP

<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Api\V1\Admin\Agent\AgentNodeTreeController;
use App\Http\Controllers\Api\V1\Admin\Agent\AgentNodeShowController;
use App\Http\Controllers\Api\V1\Admin\Agent\AgentNodeStoreController;
use App\Http\Controllers\Api\V1\Admin\Agent\AgentNodeUpdateController;
use App\Http\Controllers\Api\V1\Admin\Agent\AgentNodeDestroyController;
use App\Http\Controllers\Api\V1\Admin\Agent\AgentNodeChildrenController;
use App\Http\Controllers\Api\V1\Admin\Agent\AgentNodeRoleIndexController;
use App\Http\Controllers\Api\V1\Admin\Agent\AgentNodeRoleStoreController;
use App\Http\Controllers\Api\V1\Admin\Agent\AgentRoleUpdateController;
use App\Http\Controllers\Api\V1\Admin\Agent\AgentRolePermissionSyncController;
use App\Http\Controllers\Api\V1\Admin\Agent\AgentRoleDestroyController;
use App\Http\Controllers\Api\V1\Admin\Agent\AgentNodeAdminUserIndexController;
use App\Http\Controllers\Api\V1\Admin\Agent\AgentNodeAdminUserStoreController;
use App\Http\Controllers\Api\V1\Admin\Agent\AgentAdminUserRoleSyncController;
use App\Http\Controllers\Api\V1\Admin\Agent\AgentNodeDelegationGrantIndexController;
use App\Http\Controllers\Api\V1\Admin\Agent\AgentNodeDelegationGrantSyncController;
Route::middleware('admin.api-resource')
->group(function (): void {
Route::get('agent-nodes/tree', AgentNodeTreeController::class)
->name('api.v1.admin.agent-nodes.tree');
Route::post('agent-nodes', AgentNodeStoreController::class)
->name('api.v1.admin.agent-nodes.store');
Route::get('agent-nodes/{agent_node}/roles', AgentNodeRoleIndexController::class)
->name('api.v1.admin.agent-roles.index');
Route::post('agent-nodes/{agent_node}/roles', AgentNodeRoleStoreController::class)
->name('api.v1.admin.agent-roles.store');
Route::get('agent-nodes/{agent_node}/admin-users', AgentNodeAdminUserIndexController::class)
->name('api.v1.admin.agent-admin-users.index');
Route::post('agent-nodes/{agent_node}/admin-users', AgentNodeAdminUserStoreController::class)
->name('api.v1.admin.agent-admin-users.store');
Route::get('agent-nodes/{agent_node}/delegation-grants', AgentNodeDelegationGrantIndexController::class)
->name('api.v1.admin.agent-delegation-grants.index');
Route::put('agent-nodes/{agent_node}/delegation-grants', AgentNodeDelegationGrantSyncController::class)
->name('api.v1.admin.agent-delegation-grants.sync');
Route::get('agent-nodes/{agent_node}', AgentNodeShowController::class)
->name('api.v1.admin.agent-nodes.show');
Route::put('agent-nodes/{agent_node}', AgentNodeUpdateController::class)
->name('api.v1.admin.agent-nodes.update');
Route::delete('agent-nodes/{agent_node}', AgentNodeDestroyController::class)
->name('api.v1.admin.agent-nodes.destroy');
Route::get('agent-nodes/{agent_node}/children', AgentNodeChildrenController::class)
->name('api.v1.admin.agent-nodes.children');
Route::put('agent-roles/{admin_role}', AgentRoleUpdateController::class)
->name('api.v1.admin.agent-roles.update');
Route::put('agent-roles/{admin_role}/permissions', AgentRolePermissionSyncController::class)
->name('api.v1.admin.agent-roles.permissions.sync');
Route::delete('agent-roles/{admin_role}', AgentRoleDestroyController::class)
->name('api.v1.admin.agent-roles.destroy');
Route::put('agent-admin-users/{admin_user}/roles', AgentAdminUserRoleSyncController::class)
->name('api.v1.admin.agent-admin-users.roles.sync');
});