Initial commit

This commit is contained in:
2025-10-05 13:55:28 +02:00
commit 68d521677a
767 changed files with 46947 additions and 0 deletions
@@ -0,0 +1,38 @@
<?php
declare(strict_types=1);
namespace App\FeedManagement\Application\ReadModel;
use App\Aggregator\Domain\Model\Identity\SourceId;
use App\SharedKernel\Domain\DataTransfert\DataMapping;
/**
* Class SourceOverview.
*
* @author bernard-ng <bernard@devscast.tech>
*/
final readonly class SourceOverview
{
public function __construct(
public SourceId $id,
public string $name,
public string $url,
public ?string $displayName = null,
public bool $followed = false,
public ?string $image = null
) {
}
public static function create(array $item): self
{
return new self(
SourceId::fromBinary($item['source_id']),
DataMapping::string($item, 'source_name'),
DataMapping::string($item, 'source_url'),
DataMapping::nullableString($item, 'source_display_name'),
DataMapping::boolean($item, 'source_is_followed'),
DataMapping::nullableString($item, 'source_image')
);
}
}