Add WillRespond event

So that custom data can be loaded onto a model before it is serialized.
(Tags extension uses this to load tags onto the forum model.)
This commit is contained in:
Toby Zerner 2015-06-16 17:22:15 +09:30
parent a890dc2114
commit 1ff2c2f90a
2 changed files with 23 additions and 0 deletions

View File

@ -3,6 +3,7 @@
use Flarum\Api\Request;
use Flarum\Api\JsonApiRequest;
use Flarum\Api\JsonApiResponse;
use Flarum\Api\Events\WillRespond;
use Tobscure\JsonApi\SerializerInterface;
use Tobscure\JsonApi\Criteria;
use Illuminate\Http\Response;
@ -71,6 +72,8 @@ abstract class SerializeAction extends JsonApiAction
$data = $this->data($request, $response = new JsonApiResponse);
event(new WillRespond($this, $data, $request, $response));
$serializer = new static::$serializer($request->actor, $request->include, $request->link);
$response->content->setData($this->serialize($serializer, $data));

View File

@ -0,0 +1,20 @@
<?php namespace Flarum\Api\Events;
class WillRespond
{
public $action;
public $data;
public $request;
public $response;
public function __construct($action, &$data, $request, $response)
{
$this->action = $action;
$this->data = &$data;
$this->request = $request;
$this->response = $response;
}
}