1
0
mirror of https://github.com/flarum/core.git synced 2025-07-26 19:20:21 +02:00
Files
php-flarum/extensions/package-manager/src/Api/Controller/RemoveExtensionController.php
2021-10-21 10:52:51 +01:00

47 lines
1.1 KiB
PHP
Executable File

<?php
/*
* This file is part of Flarum.
*
* For detailed copyright and license information, please view the
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Api\Controller;
use Flarum\Api\Controller\AbstractDeleteController;
use Flarum\Bus\Dispatcher;
use Flarum\Http\RequestUtil;
use Illuminate\Support\Arr;
use Flarum\PackageManager\Api\Serializer\ExtensionSerializer;
use Psr\Http\Message\ServerRequestInterface;
use Flarum\PackageManager\Command\RemoveExtension;
class RemoveExtensionController extends AbstractDeleteController
{
public $serializer = ExtensionSerializer::class;
/**
* @var Dispatcher
*/
protected $bus;
public function __construct(Dispatcher $bus)
{
$this->bus = $bus;
}
/**
* @throws \Flarum\User\Exception\PermissionDeniedException
*/
protected function delete(ServerRequestInterface $request)
{
$actor = RequestUtil::getActor($request);
$extensionId = Arr::get($request->getQueryParams(), 'id');
$this->bus->dispatch(
new RemoveExtension($actor, $extensionId)
);
}
}