diff --git a/src/Controllers/WidgetsV1Controller.php b/src/Controllers/WidgetsV1Controller.php index 72266c3..21d127e 100644 --- a/src/Controllers/WidgetsV1Controller.php +++ b/src/Controllers/WidgetsV1Controller.php @@ -19,7 +19,6 @@ use FastyBird\NodeWebServer\Exceptions as NodeWebServerExceptions; use FastyBird\NodeWebServer\Http as NodeWebServerHttp; use FastyBird\UINode\Controllers; -use FastyBird\UINode\Exceptions\InvalidArgumentException; use FastyBird\UINode\Hydrators; use FastyBird\UINode\Models; use FastyBird\UINode\Queries; @@ -29,7 +28,6 @@ use IPub\DoctrineCrud\Exceptions as DoctrineCrudExceptions; use Psr\Http\Message; use Throwable; -use Tracy\Debugger; /** * API widgets controller diff --git a/src/Hydrators/Widgets/WidgetHydrator.php b/src/Hydrators/Widgets/WidgetHydrator.php index bacc6cd..4580160 100644 --- a/src/Hydrators/Widgets/WidgetHydrator.php +++ b/src/Hydrators/Widgets/WidgetHydrator.php @@ -117,7 +117,11 @@ protected function hydrateDisplayRelationship( return null; } - $result = $this->buildDisplay($relationship->getData()->getType(), $relationship, $relationship->getIdentifier()->getId()); + $result = $this->buildDisplay( + $relationship->getData()->getType(), + $relationship, + $relationship->getIdentifier() !== null ? $relationship->getIdentifier()->getId() : null + ); return $result; } @@ -238,15 +242,15 @@ protected function hydrateGroupsRelationship( /** * @param string $type - * @param JsonAPIDocument\Objects\IStandardObject $attributes - * @param string $identifier + * @param JsonAPIDocument\Objects\IStandardObject $attributes + * @param string|null $identifier * * @return mixed[]|null */ private function buildDisplay( string $type, JsonAPIDocument\Objects\IStandardObject $attributes, - string $identifier + ?string $identifier = null ): ?array { switch ($type) { case Schemas\Widgets\Display\AnalogValueSchema::SCHEMA_TYPE: @@ -261,7 +265,7 @@ private function buildDisplay( ); $display['entity'] = Entities\Widgets\Display\AnalogValue::class; - $display[self::IDENTIFIER_KEY] = Uuid\Uuid::fromString($identifier); + $display[self::IDENTIFIER_KEY] = $identifier !== null ? Uuid\Uuid::fromString($identifier) : $identifier; return $display; @@ -277,7 +281,7 @@ private function buildDisplay( ); $display['entity'] = Entities\Widgets\Display\Button::class; - $display[self::IDENTIFIER_KEY] = Uuid\Uuid::fromString($identifier); + $display[self::IDENTIFIER_KEY] = $identifier !== null ? Uuid\Uuid::fromString($identifier) : $identifier; return $display; @@ -293,7 +297,7 @@ private function buildDisplay( ); $display['entity'] = Entities\Widgets\Display\ChartGraph::class; - $display[self::IDENTIFIER_KEY] = Uuid\Uuid::fromString($identifier); + $display[self::IDENTIFIER_KEY] = $identifier !== null ? Uuid\Uuid::fromString($identifier) : $identifier; return $display; @@ -309,7 +313,7 @@ private function buildDisplay( ); $display['entity'] = Entities\Widgets\Display\DigitalValue::class; - $display[self::IDENTIFIER_KEY] = Uuid\Uuid::fromString($identifier); + $display[self::IDENTIFIER_KEY] = $identifier !== null ? Uuid\Uuid::fromString($identifier) : $identifier; return $display; @@ -325,7 +329,7 @@ private function buildDisplay( ); $display['entity'] = Entities\Widgets\Display\Gauge::class; - $display[self::IDENTIFIER_KEY] = Uuid\Uuid::fromString($identifier); + $display[self::IDENTIFIER_KEY] = $identifier !== null ? Uuid\Uuid::fromString($identifier) : $identifier; return $display; @@ -341,7 +345,7 @@ private function buildDisplay( ); $display['entity'] = Entities\Widgets\Display\GroupedButton::class; - $display[self::IDENTIFIER_KEY] = Uuid\Uuid::fromString($identifier); + $display[self::IDENTIFIER_KEY] = $identifier !== null ? Uuid\Uuid::fromString($identifier) : $identifier; return $display; @@ -357,7 +361,7 @@ private function buildDisplay( ); $display['entity'] = Entities\Widgets\Display\Slider::class; - $display[self::IDENTIFIER_KEY] = Uuid\Uuid::fromString($identifier); + $display[self::IDENTIFIER_KEY] = $identifier !== null ? Uuid\Uuid::fromString($identifier) : $identifier; return $display; }