query->get('region'); $taxType = $request?->query->get('tax_type'); $startYear = $request?->query->get('start_year'); $endYear = $request?->query->get('end_year'); if (!$region) { throw new BadRequestHttpException('The "region" parameter is required.'); } if (!$taxType || !in_array($taxType, Taxe::ALLOWED_STAT_FIELDS, true)) { throw new BadRequestHttpException( sprintf('Invalid tax_type "%s". Allowed: %s', $taxType, implode(', ', Taxe::ALLOWED_STAT_FIELDS)) ); } $startYearInt = $startYear !== null ? (int) $startYear : null; $endYearInt = $endYear !== null ? (int) $endYear : null; $data = $this->taxeStatService->getTimeSeries($region, $taxType, $startYearInt, $endYearInt); return new TaxTimeSeries( region: $region, tax_type: $taxType, start_year: $startYearInt, end_year: $endYearInt, data: $data, ); } }