mirror of
https://github.com/flarum/core.git
synced 2025-07-22 17:21:27 +02:00
74 lines
1.4 KiB
PHP
74 lines
1.4 KiB
PHP
<?php namespace Flarum\Api\Actions\Posts;
|
|
|
|
use Flarum\Core\Posts\Commands\EditPost;
|
|
use Flarum\Api\Actions\SerializeResourceAction;
|
|
use Flarum\Api\JsonApiRequest;
|
|
use Illuminate\Contracts\Bus\Dispatcher;
|
|
use Tobscure\JsonApi\Document;
|
|
|
|
class UpdateAction extends SerializeResourceAction
|
|
{
|
|
/**
|
|
* @var Dispatcher
|
|
*/
|
|
protected $bus;
|
|
|
|
/**
|
|
* @inheritdoc
|
|
*/
|
|
public $serializer = 'Flarum\Api\Serializers\PostSerializer';
|
|
|
|
/**
|
|
* @inheritdoc
|
|
*/
|
|
public $include = [];
|
|
|
|
/**
|
|
* @inheritdoc
|
|
*/
|
|
public $link = [];
|
|
|
|
/**
|
|
* @inheritdoc
|
|
*/
|
|
public $limitMax = 50;
|
|
|
|
/**
|
|
* @inheritdoc
|
|
*/
|
|
public $limit = 20;
|
|
|
|
/**
|
|
* @inheritdoc
|
|
*/
|
|
public $sortFields = [];
|
|
|
|
/**
|
|
* @inheritdoc
|
|
*/
|
|
public $sort;
|
|
|
|
/**
|
|
* @param Dispatcher $bus
|
|
*/
|
|
public function __construct(Dispatcher $bus)
|
|
{
|
|
$this->bus = $bus;
|
|
}
|
|
|
|
/**
|
|
* Update a post according to input from the API request, and return it
|
|
* ready to be serialized and assigned to the JsonApi response.
|
|
*
|
|
* @param JsonApiRequest $request
|
|
* @param Document $document
|
|
* @return \Illuminate\Database\Eloquent\Collection
|
|
*/
|
|
protected function data(JsonApiRequest $request, Document $document)
|
|
{
|
|
return $this->bus->dispatch(
|
|
new EditPost($request->get('id'), $request->actor, $request->get('data'))
|
|
);
|
|
}
|
|
}
|