Commit 0086efbf authored by Jürgen Haas's avatar Jürgen Haas Committed by Jürgen Haas
Browse files

Issue #3306168: Payload error

parent 4ad25f43
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -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);
    }
+5 −2
Original line number Diff line number Diff line
@@ -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);
  }