mirror of
https://github.com/flarum/core.git
synced 2025-07-20 08:11:27 +02:00
Change event so that data can be modified before it is serialized
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
<?php namespace Flarum\Api\Actions;
|
<?php namespace Flarum\Api\Actions;
|
||||||
|
|
||||||
use Flarum\Api\Events\WillRespond;
|
use Flarum\Api\Events\WillSerializeData;
|
||||||
use Flarum\Api\Request;
|
use Flarum\Api\Request;
|
||||||
use Flarum\Api\JsonApiRequest;
|
use Flarum\Api\JsonApiRequest;
|
||||||
use Flarum\Api\JsonApiResponse;
|
use Flarum\Api\JsonApiResponse;
|
||||||
@@ -73,13 +73,13 @@ abstract class SerializeAction extends JsonApiAction
|
|||||||
|
|
||||||
$data = $this->data($request, $document);
|
$data = $this->data($request, $document);
|
||||||
|
|
||||||
|
event(new WillSerializeData($this, $data, $request));
|
||||||
|
|
||||||
$serializer = new static::$serializer($request->actor, $request->include, $request->link);
|
$serializer = new static::$serializer($request->actor, $request->include, $request->link);
|
||||||
|
|
||||||
$document->setData($this->serialize($serializer, $data));
|
$document->setData($this->serialize($serializer, $data));
|
||||||
$response = new JsonApiResponse($document);
|
$response = new JsonApiResponse($document);
|
||||||
|
|
||||||
event(new WillRespond($this, $data, $request, $response));
|
|
||||||
|
|
||||||
return $response;
|
return $response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
<?php namespace Flarum\Api\Events;
|
<?php namespace Flarum\Api\Events;
|
||||||
|
|
||||||
class WillRespond
|
class WillSerializeData
|
||||||
{
|
{
|
||||||
public $action;
|
public $action;
|
||||||
|
|
||||||
@@ -8,13 +8,10 @@ class WillRespond
|
|||||||
|
|
||||||
public $request;
|
public $request;
|
||||||
|
|
||||||
public $response;
|
public function __construct($action, &$data, $request)
|
||||||
|
|
||||||
public function __construct($action, &$data, $request, $response)
|
|
||||||
{
|
{
|
||||||
$this->action = $action;
|
$this->action = $action;
|
||||||
$this->data = &$data;
|
$this->data = &$data;
|
||||||
$this->request = $request;
|
$this->request = $request;
|
||||||
$this->response = $response;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user