fix: reduce snapshot payloads via serializer group and hydration
This commit is contained in:
@@ -17,78 +17,78 @@ use Symfony\Component\Serializer\Normalizer\DateTimeNormalizer;
|
||||
*/
|
||||
class Service
|
||||
{
|
||||
#[Groups(['api:single', 'api:list'])]
|
||||
#[Groups(['api:single', 'api:list', 'snapshot'])]
|
||||
public ?int $id = null;
|
||||
|
||||
#[Groups(['api:single', 'api:list'])]
|
||||
#[Groups(['api:single', 'api:list', 'snapshot'])]
|
||||
public ?string $category = null;
|
||||
|
||||
#[Groups(['api:single', 'api:list'])]
|
||||
#[Groups(['api:single', 'api:list', 'snapshot'])]
|
||||
public ?string $status = null;
|
||||
|
||||
#[Groups(['api:single', 'api:list'])]
|
||||
#[Groups(['api:single', 'api:list', 'snapshot'])]
|
||||
public bool $mandatory = false;
|
||||
|
||||
#[Groups(['api:single', 'api:list'])]
|
||||
#[Groups(['api:single', 'api:list', 'snapshot'])]
|
||||
public bool $autoBook = false;
|
||||
|
||||
#[Groups(['api:single', 'api:list'])]
|
||||
#[Groups(['api:single', 'api:list', 'snapshot'])]
|
||||
public ?string $label = null;
|
||||
|
||||
#[Groups(['api:single', 'api:list'])]
|
||||
#[Groups(['api:single', 'api:list', 'snapshot'])]
|
||||
#[Context([DateTimeNormalizer::FORMAT_KEY => 'Y-m-d'])]
|
||||
public ?\DateTimeImmutable $dateFrom = null;
|
||||
|
||||
#[Groups(['api:single', 'api:list'])]
|
||||
#[Groups(['api:single', 'api:list', 'snapshot'])]
|
||||
public ?string $timeFrom = null;
|
||||
|
||||
#[Groups(['api:single', 'api:list'])]
|
||||
#[Groups(['api:single', 'api:list', 'snapshot'])]
|
||||
public ?string $dayTime = null;
|
||||
|
||||
#[Groups(['api:single', 'api:list'])]
|
||||
#[Groups(['api:single', 'api:list', 'snapshot'])]
|
||||
#[Context([DateTimeNormalizer::FORMAT_KEY => 'Y-m-d'])]
|
||||
public ?\DateTimeImmutable $dateTo = null;
|
||||
|
||||
#[Groups(['api:single', 'api:list'])]
|
||||
#[Groups(['api:single', 'api:list', 'snapshot'])]
|
||||
public ?string $subType = null;
|
||||
|
||||
#[Groups(['booking'])]
|
||||
public ?int $totalCount = null;
|
||||
|
||||
#[Groups(['api:single'])]
|
||||
#[Groups(['api:single', 'snapshot'])]
|
||||
public array $mapping = [];
|
||||
|
||||
#[Groups(['api:single', 'api:list'])]
|
||||
#[Groups(['api:single', 'api:list', 'snapshot'])]
|
||||
public ?float $price = null;
|
||||
|
||||
#[Groups(['api:single'])]
|
||||
#[Groups(['api:single', 'snapshot'])]
|
||||
public ?float $totalPrice = null;
|
||||
|
||||
#[Groups(['api:single'])]
|
||||
#[Groups(['api:single', 'snapshot'])]
|
||||
public array $individualPrice = [];
|
||||
|
||||
#[Groups(['api:single', 'api:list'])]
|
||||
#[Groups(['api:single', 'api:list', 'snapshot'])]
|
||||
public ?int $available = null;
|
||||
|
||||
#[Groups(['api:single', 'api:list'])]
|
||||
#[Groups(['api:single', 'api:list', 'snapshot'])]
|
||||
public ?string $source = null;
|
||||
|
||||
#[Groups(['api:single', 'api:list'])]
|
||||
#[Groups(['api:single', 'api:list', 'snapshot'])]
|
||||
public ?string $direction = null;
|
||||
|
||||
#[Groups(['api:single', 'api:list'])]
|
||||
#[Groups(['api:single', 'api:list', 'snapshot'])]
|
||||
public ?int $ageFrom = null;
|
||||
|
||||
#[Groups(['api:single', 'api:list'])]
|
||||
#[Groups(['api:single', 'api:list', 'snapshot'])]
|
||||
public ?int $ageTo = null;
|
||||
|
||||
#[Groups(['api:single', 'api:list'])]
|
||||
#[Groups(['api:single', 'api:list', 'snapshot'])]
|
||||
public ?int $birthYearFrom = null;
|
||||
|
||||
#[Groups(['api:single', 'api:list'])]
|
||||
#[Groups(['api:single', 'api:list', 'snapshot'])]
|
||||
public ?int $birthYearTo = null;
|
||||
|
||||
#[Groups(['api:single', 'api:list'])]
|
||||
#[Groups(['api:single', 'api:list', 'snapshot'])]
|
||||
public ?string $ageConstraintType = null;
|
||||
|
||||
#[Groups(['api:single'])]
|
||||
@@ -97,7 +97,7 @@ class Service
|
||||
#[Groups(['api:single'])]
|
||||
public ?string $rawAgeConstraintData = null;
|
||||
|
||||
#[Groups(['api:single', 'api:list'])]
|
||||
#[Groups(['api:single', 'api:list', 'snapshot'])]
|
||||
public ?string $description = null;
|
||||
|
||||
/**
|
||||
@@ -107,6 +107,6 @@ class Service
|
||||
* When false, this service's price is excluded when determining which insurance
|
||||
* tier is appropriate for a participant.
|
||||
*/
|
||||
#[Groups(['api:single', 'api:list'])]
|
||||
#[Groups(['api:single', 'api:list', 'snapshot'])]
|
||||
public bool $includeInInsuranceCalculation = true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user