# This file is the entry point to configure your own services. # Files in the packages/ subdirectory configure your dependencies. # Put parameters here that don't need to change on each machine where the app is deployed # https://symfony.com/doc/current/best_practices.html#use-parameters-for-application-configuration parameters: openMeteoApiUrl: 'https://api.open-meteo.com/v1/forecast' cities: Praha: lat: 50.073658 lon: 14.418540 Brno: lat: 49.195061 lon: 16.606836 Ostrava: lat: 49.820923 lon: 18.262524 Olomouc: lat: 49.593777 lon: 17.250879 Plzeƈ: lat: 49.747059 lon: 13.377405 Pardubice: lat: 50.04075 lon: 15.77659 services: # default configuration for services in *this* file _defaults: autowire: true # Automatically injects dependencies in your services. autoconfigure: true # Automatically registers your services as commands, event subscribers, etc. # makes classes in src/ available to be used as services # this creates a service per class whose id is the fully-qualified class name App\: resource: '../src/' exclude: - '../src/DependencyInjection/' - '../src/Entity/' - '../src/Kernel.php' # add more service definitions when explicit configuration is needed # please note that last definitions always *replace* previous ones Redis: class: Redis calls: - method: connect arguments: - '%env(REDIS_HOST)%' - '%env(int:REDIS_PORT)%' App\Services\Remote\OpenMeteoService: class: App\Services\Remote\OpenMeteoService arguments: $meteoApiUrl: '%openMeteoApiUrl%' $httpClient: '@App\Utils\RetryableHttpClient' App\Utils\RetryableHttpClient: ~ App\Command\FetchForecastData: class: App\Command\FetchForecastData arguments: $forecastForDays: 'P7D' App\Controller\ForecastController: class: App\Controller\ForecastController arguments: $forecastForDays: 'P6D' App\Services\GeoPointResolverService: class: App\Services\GeoPointResolverService arguments: $geoPointsWithCities: '%cities%' App\Services\WeatherProviderInterface: '@App\Services\Remote\OpenMeteoService'