*/ final class BovinPresumedExitsProvider implements ProviderInterface { public function __construct( private BovinApiInterface $bovinApi, ) {} public function provide(Operation $operation, array $uriVariables = [], array $context = []): BovinPresumedExits { $dto = $this->bovinApi->getPresumedExits(); $resource = new BovinPresumedExits(); $resource->nbBovins = $dto->nbBovins; foreach ($dto->presumedExits as $exitDto) { $exit = new BovinPresumedExit(); $exit->countryCode = $exitDto->bovin?->countryCode; $exit->nationalNumber = $exitDto->bovin?->nationalNumber; $exit->exitDate = $exitDto->exitDate?->format('Y-m-d'); $resource->presumedExits[] = $exit; } return $resource; } }