SystemController.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. declare(strict_types=1);
  3. namespace app\miniapi\controller;
  4. use support\Request;
  5. use support\Response;
  6. use support\annotation\route\DisableDefaultRoute;
  7. use app\miniapi\http\ApiResponse;
  8. use app\miniapi\exception\ApiException;
  9. use app\miniapi\service\SystemService;
  10. #[DisableDefaultRoute]
  11. final class SystemController extends BaseController
  12. {
  13. public function config(Request $request): Response
  14. {
  15. return $this->success($request, (new SystemService())->configuration());
  16. }
  17. public function health(Request $request): Response
  18. {
  19. return $this->success($request, (new SystemService())->status());
  20. }
  21. public function session(Request $request): Response
  22. {
  23. $identity = $this->access($request)->actor;
  24. return $this->success($request, ['user_id' => $identity->userId]);
  25. }
  26. public function notFound(Request $request): Response
  27. {
  28. return ApiResponse::error($request, new ApiException(40401, '接口不存在', 404));
  29. }
  30. public function methodNotAllowed(Request $request): Response
  31. {
  32. return ApiResponse::error($request, new ApiException(40501, '请求方法不支持', 405))->withHeader('Allow', 'GET, HEAD, OPTIONS');
  33. }
  34. }