1
0
mirror of https://github.com/flarum/core.git synced 2025-10-12 15:34:26 +02:00

Replace ControllerInterface with PSR-15 interface

The custom interface already had the same signature as the
one from the standard (except for the return type hint), so
why not use that one now? :)
This commit is contained in:
Franz Liedke
2018-05-30 00:12:06 +02:00
parent e6b8ff856e
commit b3d45fd6f8
22 changed files with 86 additions and 90 deletions

View File

@@ -13,10 +13,10 @@ namespace Flarum\Api;
use Exception;
use Flarum\Foundation\Application;
use Flarum\Http\Controller\ControllerInterface;
use Flarum\User\User;
use InvalidArgumentException;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Server\RequestHandlerInterface;
use Zend\Diactoros\ServerRequestFactory;
class Client
@@ -43,7 +43,7 @@ class Client
/**
* Execute the given API action class, pass the input and return its response.
*
* @param string|ControllerInterface $controller
* @param string|RequestHandlerInterface $controller
* @param User|null $actor
* @param array $queryParams
* @param array $body
@@ -60,9 +60,9 @@ class Client
$controller = $this->app->make($controller);
}
if (! ($controller instanceof ControllerInterface)) {
if (! ($controller instanceof RequestHandlerInterface)) {
throw new InvalidArgumentException(
'Endpoint must be an instance of '.ControllerInterface::class
'Endpoint must be an instance of '.RequestHandlerInterface::class
);
}

View File

@@ -11,6 +11,7 @@
namespace Flarum\Api\Controller;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
abstract class AbstractCreateController extends AbstractShowController
@@ -18,7 +19,7 @@ abstract class AbstractCreateController extends AbstractShowController
/**
* {@inheritdoc}
*/
public function handle(ServerRequestInterface $request)
public function handle(ServerRequestInterface $request): ResponseInterface
{
return parent::handle($request)->withStatus(201);
}

View File

@@ -11,16 +11,17 @@
namespace Flarum\Api\Controller;
use Flarum\Http\Controller\ControllerInterface;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
use Zend\Diactoros\Response\EmptyResponse;
abstract class AbstractDeleteController implements ControllerInterface
abstract class AbstractDeleteController implements RequestHandlerInterface
{
/**
* {@inheritdoc}
*/
public function handle(ServerRequestInterface $request)
public function handle(ServerRequestInterface $request): ResponseInterface
{
$this->delete($request);

View File

@@ -14,15 +14,16 @@ namespace Flarum\Api\Controller;
use Flarum\Api\Event\WillGetData;
use Flarum\Api\Event\WillSerializeData;
use Flarum\Api\JsonApiResponse;
use Flarum\Http\Controller\ControllerInterface;
use Illuminate\Contracts\Container\Container;
use Illuminate\Contracts\Events\Dispatcher;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
use Tobscure\JsonApi\Document;
use Tobscure\JsonApi\Parameters;
use Tobscure\JsonApi\SerializerInterface;
abstract class AbstractSerializeController implements ControllerInterface
abstract class AbstractSerializeController implements RequestHandlerInterface
{
/**
* The name of the serializer class to output results with.
@@ -86,7 +87,7 @@ abstract class AbstractSerializeController implements ControllerInterface
/**
* {@inheritdoc}
*/
public function handle(ServerRequestInterface $request)
public function handle(ServerRequestInterface $request): ResponseInterface
{
$document = new Document;

View File

@@ -11,14 +11,15 @@
namespace Flarum\Api\Controller;
use Flarum\Http\Controller\ControllerInterface;
use Flarum\User\Command\RequestPasswordReset;
use Flarum\User\UserRepository;
use Illuminate\Contracts\Bus\Dispatcher;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
use Zend\Diactoros\Response\EmptyResponse;
class ForgotPasswordController implements ControllerInterface
class ForgotPasswordController implements RequestHandlerInterface
{
/**
* @var \Flarum\User\UserRepository
@@ -43,7 +44,7 @@ class ForgotPasswordController implements ControllerInterface
/**
* {@inheritdoc}
*/
public function handle(ServerRequestInterface $request)
public function handle(ServerRequestInterface $request): ResponseInterface
{
$email = array_get($request->getParsedBody(), 'email');

View File

@@ -11,7 +11,6 @@
namespace Flarum\Api\Controller;
use Flarum\Http\Controller\ControllerInterface;
use Flarum\Http\UrlGenerator;
use Flarum\Settings\SettingsRepositoryInterface;
use Flarum\User\AssertPermissionTrait;
@@ -19,11 +18,13 @@ use Flarum\User\EmailToken;
use Flarum\User\Exception\PermissionDeniedException;
use Illuminate\Contracts\Mail\Mailer;
use Illuminate\Mail\Message;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
use Symfony\Component\Translation\TranslatorInterface;
use Zend\Diactoros\Response\EmptyResponse;
class SendConfirmationEmailController implements ControllerInterface
class SendConfirmationEmailController implements RequestHandlerInterface
{
use AssertPermissionTrait;
@@ -64,7 +65,7 @@ class SendConfirmationEmailController implements ControllerInterface
/**
* {@inheritdoc}
*/
public function handle(ServerRequestInterface $request)
public function handle(ServerRequestInterface $request): ResponseInterface
{
$id = array_get($request->getQueryParams(), 'id');
$actor = $request->getAttribute('actor');

View File

@@ -12,19 +12,20 @@
namespace Flarum\Api\Controller;
use Flarum\Group\Permission;
use Flarum\Http\Controller\ControllerInterface;
use Flarum\User\AssertPermissionTrait;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
use Zend\Diactoros\Response\EmptyResponse;
class SetPermissionController implements ControllerInterface
class SetPermissionController implements RequestHandlerInterface
{
use AssertPermissionTrait;
/**
* {@inheritdoc}
*/
public function handle(ServerRequestInterface $request)
public function handle(ServerRequestInterface $request): ResponseInterface
{
$this->assertAdmin($request->getAttribute('actor'));

View File

@@ -11,16 +11,17 @@
namespace Flarum\Api\Controller;
use Flarum\Http\Controller\ControllerInterface;
use Flarum\Settings\Event\Saved;
use Flarum\Settings\Event\Serializing;
use Flarum\Settings\SettingsRepositoryInterface;
use Flarum\User\AssertPermissionTrait;
use Illuminate\Contracts\Events\Dispatcher;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
use Zend\Diactoros\Response\EmptyResponse;
class SetSettingsController implements ControllerInterface
class SetSettingsController implements RequestHandlerInterface
{
use AssertPermissionTrait;
@@ -46,7 +47,7 @@ class SetSettingsController implements ControllerInterface
/**
* {@inheritdoc}
*/
public function handle(ServerRequestInterface $request)
public function handle(ServerRequestInterface $request): ResponseInterface
{
$this->assertAdmin($request->getAttribute('actor'));

View File

@@ -12,15 +12,16 @@
namespace Flarum\Api\Controller;
use Flarum\Http\AccessToken;
use Flarum\Http\Controller\ControllerInterface;
use Flarum\User\Exception\PermissionDeniedException;
use Flarum\User\UserRepository;
use Illuminate\Contracts\Bus\Dispatcher as BusDispatcher;
use Illuminate\Contracts\Events\Dispatcher as EventDispatcher;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
use Zend\Diactoros\Response\JsonResponse;
class TokenController implements ControllerInterface
class TokenController implements RequestHandlerInterface
{
/**
* @var \Flarum\User\UserRepository
@@ -52,7 +53,7 @@ class TokenController implements ControllerInterface
/**
* {@inheritdoc}
*/
public function handle(ServerRequestInterface $request)
public function handle(ServerRequestInterface $request): ResponseInterface
{
$body = $request->getParsedBody();

View File

@@ -12,12 +12,13 @@
namespace Flarum\Api\Controller;
use Flarum\Extension\ExtensionManager;
use Flarum\Http\Controller\ControllerInterface;
use Flarum\User\AssertPermissionTrait;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
use Zend\Diactoros\Response\EmptyResponse;
class UpdateExtensionController implements ControllerInterface
class UpdateExtensionController implements RequestHandlerInterface
{
use AssertPermissionTrait;
@@ -37,7 +38,7 @@ class UpdateExtensionController implements ControllerInterface
/**
* {@inheritdoc}
*/
public function handle(ServerRequestInterface $request)
public function handle(ServerRequestInterface $request): ResponseInterface
{
$this->assertAdmin($request->getAttribute('actor'));