update api key
This commit is contained in:
@@ -7,12 +7,11 @@ namespace App\Controller\Api\V1;
|
||||
use App\Controller\AbstractController;
|
||||
use App\Middleware\AuthMiddleware;
|
||||
use App\Model\ApiKey;
|
||||
use App\Model\User;
|
||||
use Hyperf\HttpServer\Annotation\Controller;
|
||||
use Hyperf\HttpServer\Annotation\Middleware;
|
||||
use Hyperf\HttpServer\Annotation\RequestMapping;
|
||||
use OpenApi\Attributes as OA;
|
||||
use Qbhy\HyperfAuth\AuthManager;
|
||||
|
||||
|
||||
#[OA\Tag(name: 'API Keys', description: 'API Key 管理')]
|
||||
#[Controller(prefix: "/api/v1/me/api-keys")]
|
||||
@@ -66,11 +65,11 @@ class ApiKeyController extends AbstractController
|
||||
)]
|
||||
#[RequestMapping(path: "", methods: "POST")]
|
||||
#[Middleware(AuthMiddleware::class)]
|
||||
public function store(AuthManager $auth): \Psr\Http\Message\ResponseInterface|array
|
||||
public function store(): \Psr\Http\Message\ResponseInterface|array
|
||||
{
|
||||
$user = $auth->guard('jwt')->user();
|
||||
$user = $this->getAuthUser();
|
||||
|
||||
if (!$user instanceof User) {
|
||||
if (!$user) {
|
||||
return $this->response->json([
|
||||
'code' => 401,
|
||||
'message' => '未授权',
|
||||
@@ -183,11 +182,11 @@ class ApiKeyController extends AbstractController
|
||||
)]
|
||||
#[RequestMapping(path: "", methods: "GET")]
|
||||
#[Middleware(AuthMiddleware::class)]
|
||||
public function index(AuthManager $auth): \Psr\Http\Message\ResponseInterface|array
|
||||
public function index(): \Psr\Http\Message\ResponseInterface|array
|
||||
{
|
||||
$user = $auth->guard('jwt')->user();
|
||||
$user = $this->getAuthUser();
|
||||
|
||||
if (!$user instanceof User) {
|
||||
if (!$user) {
|
||||
return $this->response->json([
|
||||
'code' => 401,
|
||||
'message' => '未授权',
|
||||
@@ -232,11 +231,11 @@ class ApiKeyController extends AbstractController
|
||||
)]
|
||||
#[RequestMapping(path: "{id}", methods: "DELETE")]
|
||||
#[Middleware(AuthMiddleware::class)]
|
||||
public function destroy(int $id, AuthManager $auth): \Psr\Http\Message\ResponseInterface|array
|
||||
public function destroy(int $id): \Psr\Http\Message\ResponseInterface|array
|
||||
{
|
||||
$user = $auth->guard('jwt')->user();
|
||||
$user = $this->getAuthUser();
|
||||
|
||||
if (!$user instanceof User) {
|
||||
if (!$user) {
|
||||
return $this->response->json([
|
||||
'code' => 401,
|
||||
'message' => '未授权',
|
||||
@@ -309,11 +308,11 @@ class ApiKeyController extends AbstractController
|
||||
)]
|
||||
#[RequestMapping(path: "{id}/toggle", methods: "PATCH")]
|
||||
#[Middleware(AuthMiddleware::class)]
|
||||
public function toggle(int $id, AuthManager $auth): \Psr\Http\Message\ResponseInterface|array
|
||||
public function toggle(int $id): \Psr\Http\Message\ResponseInterface|array
|
||||
{
|
||||
$user = $auth->guard('jwt')->user();
|
||||
$user = $this->getAuthUser();
|
||||
|
||||
if (!$user instanceof User) {
|
||||
if (!$user) {
|
||||
return $this->response->json([
|
||||
'code' => 401,
|
||||
'message' => '未授权',
|
||||
|
||||
@@ -408,7 +408,7 @@ class AuthController extends AbstractController
|
||||
)]
|
||||
#[RequestMapping(path: "me", methods: "GET")]
|
||||
#[Middleware(AuthMiddleware::class)]
|
||||
public function me(AuthManager $auth, ResponseInterface $response): \Psr\Http\Message\ResponseInterface|array
|
||||
public function me(ResponseInterface $response): \Psr\Http\Message\ResponseInterface|array
|
||||
{
|
||||
$user = $this->getAuthUser();
|
||||
|
||||
@@ -478,11 +478,11 @@ class AuthController extends AbstractController
|
||||
)]
|
||||
#[RequestMapping(path: "me/profile", methods: "PUT")]
|
||||
#[Middleware(AuthMiddleware::class)]
|
||||
public function updateProfile(RequestInterface $request, ResponseInterface $response, AuthManager $auth): \Psr\Http\Message\ResponseInterface|array
|
||||
public function updateProfile(RequestInterface $request, ResponseInterface $response): \Psr\Http\Message\ResponseInterface|array
|
||||
{
|
||||
$user = $auth->guard('jwt')->user();
|
||||
$user = $this->getAuthUser();
|
||||
|
||||
if (!$user instanceof User) {
|
||||
if (!$user) {
|
||||
return $response->json([
|
||||
'code' => 401,
|
||||
'message' => '未授权',
|
||||
@@ -598,11 +598,11 @@ class AuthController extends AbstractController
|
||||
)]
|
||||
#[RequestMapping(path: "me/password", methods: "PUT")]
|
||||
#[Middleware(AuthMiddleware::class)]
|
||||
public function changePassword(RequestInterface $request, ResponseInterface $response, AuthManager $auth): \Psr\Http\Message\ResponseInterface|array
|
||||
public function changePassword(RequestInterface $request, ResponseInterface $response): \Psr\Http\Message\ResponseInterface|array
|
||||
{
|
||||
$user = $auth->guard('jwt')->user();
|
||||
$user = $this->getAuthUser();
|
||||
|
||||
if (!$user instanceof User) {
|
||||
if (!$user) {
|
||||
return $response->json([
|
||||
'code' => 401,
|
||||
'message' => '未授权',
|
||||
@@ -689,9 +689,9 @@ class AuthController extends AbstractController
|
||||
#[Middleware(AuthMiddleware::class)]
|
||||
public function logout(AuthManager $auth): array
|
||||
{
|
||||
$user = $auth->guard('jwt')->user();
|
||||
$user = $this->getAuthUser();
|
||||
|
||||
if ($user instanceof User) {
|
||||
if ($user) {
|
||||
OperationLogService::log(
|
||||
user_id: $user->id,
|
||||
action: 'auth.logout',
|
||||
|
||||
@@ -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'
|
||||
|
||||
Reference in New Issue
Block a user