refactor: use unified service provider desing
Signed-off-by: Sebastian Krupinski <krupinski01@gmail.com>
This commit is contained in:
@@ -20,17 +20,15 @@ use KTXF\Resource\Provider\Node\NodePropertiesBaseAbstract;
|
|||||||
*/
|
*/
|
||||||
abstract class CollectionPropertiesBaseAbstract extends NodePropertiesBaseAbstract implements CollectionPropertiesBaseInterface {
|
abstract class CollectionPropertiesBaseAbstract extends NodePropertiesBaseAbstract implements CollectionPropertiesBaseInterface {
|
||||||
|
|
||||||
public const JSON_TYPE = CollectionPropertiesBaseInterface::JSON_TYPE;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @inheritDoc
|
* @inheritDoc
|
||||||
*/
|
*/
|
||||||
public function content(): array {
|
public function content(): array {
|
||||||
$content = $this->data[self::PROPERTY_CONTENT] ?? null;
|
$content = $this->data[self::PROPERTY_CONTENT] ?? null;
|
||||||
if (is_array($content)) {
|
if (is_array($content)) {
|
||||||
return array_map(function ($item) {
|
return array_filter(array_map(function ($item) {
|
||||||
return new CollectionContent($item);
|
return $item instanceof CollectionContent ? $item : CollectionContent::tryFrom($item);
|
||||||
}, $content);
|
}, $content));
|
||||||
} else {
|
} else {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ declare(strict_types=1);
|
|||||||
namespace KTXF\People\Collection;
|
namespace KTXF\People\Collection;
|
||||||
|
|
||||||
use KTXF\Resource\Provider\Node\NodePropertiesBaseInterface;
|
use KTXF\Resource\Provider\Node\NodePropertiesBaseInterface;
|
||||||
use PhpParser\Node\Expr\Array_;
|
|
||||||
|
|
||||||
interface CollectionPropertiesBaseInterface extends NodePropertiesBaseInterface {
|
interface CollectionPropertiesBaseInterface extends NodePropertiesBaseInterface {
|
||||||
|
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace KTXF\People\Provider;
|
namespace KTXF\People\Provider;
|
||||||
|
|
||||||
use KTXF\Chrono\Service\ServiceMutableInterface;
|
use KTXF\People\Service\ServiceBaseInterface;
|
||||||
use KTXF\Mail\Service\ServiceBaseInterface;
|
use KTXF\People\Service\ServiceMutableInterface;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Provider Service Test Interface
|
* Provider Service Test Interface
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ use KTXF\Resource\Range\RangeType;
|
|||||||
use KTXF\Resource\Sort\ISort;
|
use KTXF\Resource\Sort\ISort;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* People Service Base Interface
|
* Service Base Interface
|
||||||
*
|
*
|
||||||
* Minimum interface for a service, providing read-only access to collections and entities.
|
* Minimum interface for a service, providing read-only access to collections and entities.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ use KTXF\People\Collection\CollectionPropertiesBaseInterface;
|
|||||||
use KTXF\Resource\Identifier\CollectionIdentifierInterface;
|
use KTXF\Resource\Identifier\CollectionIdentifierInterface;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* People Service Collection Mutable Interface
|
* Service Collection Mutable Interface
|
||||||
*
|
*
|
||||||
* Optional interface for services that support collection CRUD operations.
|
* Optional interface for services that support collection CRUD operations.
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user