Loading modules/webhook/src/Plugin/rest/resource/Webhook.php +3 −4 Original line number Diff line number Diff line Loading @@ -61,10 +61,9 @@ final class Webhook extends ResourceBase implements DependentPluginInterface { * The HTTP response object. */ public function post($record): Response { if ($this->validate($record)) { /** @var Payload $payload */ $payload = Payload::fromArray($record); // TODO: Read agent and topic from request. /** @var \Drupal\danse_webhook\Payload $payload */ if ($this->validate($record) && $payload = Payload::fromArray($record)) { // @todo Read agent and topic from request. $this->plugin->createWebhookEvent('agent', 'label', $payload); return new Response('ok', 201); } Loading src/PayloadBase.php +5 −2 Original line number Diff line number Diff line Loading @@ -10,10 +10,13 @@ abstract class PayloadBase implements PayloadInterface { /** * @param array $payload * * @return PayloadInterface * @return PayloadInterface|null */ final public static function fromArray(array $payload): PayloadInterface { final public static function fromArray(array $payload): ?PayloadInterface { $class = $payload['class']; if (!class_exists($class)) { return NULL; } unset($payload['class']); return $class::createFromArray($payload); } Loading Loading
modules/webhook/src/Plugin/rest/resource/Webhook.php +3 −4 Original line number Diff line number Diff line Loading @@ -61,10 +61,9 @@ final class Webhook extends ResourceBase implements DependentPluginInterface { * The HTTP response object. */ public function post($record): Response { if ($this->validate($record)) { /** @var Payload $payload */ $payload = Payload::fromArray($record); // TODO: Read agent and topic from request. /** @var \Drupal\danse_webhook\Payload $payload */ if ($this->validate($record) && $payload = Payload::fromArray($record)) { // @todo Read agent and topic from request. $this->plugin->createWebhookEvent('agent', 'label', $payload); return new Response('ok', 201); } Loading
src/PayloadBase.php +5 −2 Original line number Diff line number Diff line Loading @@ -10,10 +10,13 @@ abstract class PayloadBase implements PayloadInterface { /** * @param array $payload * * @return PayloadInterface * @return PayloadInterface|null */ final public static function fromArray(array $payload): PayloadInterface { final public static function fromArray(array $payload): ?PayloadInterface { $class = $payload['class']; if (!class_exists($class)) { return NULL; } unset($payload['class']); return $class::createFromArray($payload); } Loading