mirror of
https://github.com/flarum/framework.git
synced 2025-02-21 08:22:41 +08:00
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:
parent
c20a5bb793
commit
be2d0ac682
@ -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));
|
||||
|
20
src/Api/Events/WillRespond.php
Normal file
20
src/Api/Events/WillRespond.php
Normal 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;
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user