update api key

This commit is contained in:
2026-04-16 14:38:40 +08:00
parent ff9951bb43
commit 48f0f7b8b3
6 changed files with 165 additions and 36 deletions
@@ -21,7 +21,7 @@ use Hyperf\HttpServer\Annotation\Middleware;
use Hyperf\HttpServer\Annotation\RequestMapping;
use OpenApi\Attributes as OA;
use Psr\Http\Message\ResponseInterface;
use Qbhy\HyperfAuth\AuthManager;
#[OA\Tag(name: 'Roles', description: '角色与授权管理')]
#[Controller(prefix: "/api/v1/roles")]
@@ -125,7 +125,7 @@ class RoleController extends AbstractController
#[RequestMapping(path: "/api/v1/users/{id}/role", methods: "PUT")]
#[Middleware(AuthMiddleware::class)]
#[Middleware(PermissionMiddleware::class)]
public function assignRole(int $id, AuthManager $auth): ResponseInterface|array
public function assignRole(int $id): ResponseInterface|array
{
$target_user = User::query()->with('role')->find($id);
@@ -156,8 +156,8 @@ class RoleController extends AbstractController
}
// 防止 administrator 降级自己
$current_user = $auth->guard('jwt')->user();
if ($current_user instanceof User
$current_user = $this->getAuthUser();
if ($current_user
&& $current_user->id === $id
&& $target_user->isAdministrator()
&& $new_role->name !== 'administrator'