ldc-arcadia-api/src/Application/Arcadia/Usecase/IncoSheets/Find/Output.php

48 lines
1.6 KiB
PHP

<?php
declare(strict_types=1);
namespace Application\Arcadia\Usecase\IncoSheets\Find;
use Domain\Models\ValueObjects\Inco\Allegations;
use Domain\Models\ValueObjects\Inco\Composition\IncoCompositionId;
use Domain\Models\ValueObjects\Inco\IncoBrand;
use Domain\Models\ValueObjects\Inco\IncoId;
use Domain\Models\ValueObjects\Inco\IncoWeight;
use Domain\Models\ValueObjects\Inco\Ingredients;
use Domain\Models\ValueObjects\Inco\Nutriscore;
use Domain\Models\ValueObjects\Inco\PortionAmount;
use Domain\Models\ValueObjects\Inco\StorageCondition;
use Shared\DDD\Usecase\Output as UsecaseOutput;
final readonly class Output implements UsecaseOutput
{
/**
* @param array<\Domain\Models\ValueObjects\Inco\Allergen> $allergens
* @param array<\Domain\Models\ValueObjects\Inco\Additive> $additives
*/
public function __construct(
public IncoId $id,
public string $name,
public string $label,
public string $description,
public Allegations $allegations,
public string $sellArguments,
public string $preparationAdvices,
public ?string $tips,
public ?string $sellFamilly,
public Ingredients $ingredients,
public ?PortionAmount $portions,
public array $allergens,
public IncoBrand $brand,
public bool $isSeasonal,
public ?IncoWeight $weight,
public ?Nutriscore $nutriscore,
public ?StorageCondition $storageCondition,
public array $additives,
public ?IncoCompositionId $compo,
public ?\DateTimeInterface $createdAt,
public ?\DateTimeInterface $updatedAt,
) {
}
}