Files
prestashop/modules/ps_distributionapiclient/config/services.yml
2026-04-09 18:31:51 +02:00

66 lines
2.6 KiB
YAML

parameters:
ps_cache_dir: !php/const _PS_CACHE_DIR_
services:
distributionapiclient.cache.filesystem.adapter:
class: Symfony\Component\Cache\Adapter\FilesystemAdapter
arguments:
- ''
- !php/const PrestaShop\Module\DistributionApiClient\DistributionApi::CACHE_LIFETIME_SECONDS
- '%ps_cache_dir%/distribution-api'
distributionapiclient.cache.provider:
class: Doctrine\Common\Cache\Psr6\DoctrineProvider
factory: [ Doctrine\Common\Cache\Psr6\DoctrineProvider, wrap ]
arguments:
- '@distributionapiclient.cache.filesystem.adapter'
distributionapiclient.middleware.cachedhttpclient:
class: PrestaShop\Module\DistributionApiClient\Middleware\CachedHttpClient
arguments:
$cache: '@distributionapiclient.cache.provider'
distributionapiclient.symfony.client:
class: PrestaShop\CircuitBreaker\Client\SymfonyHttpClient
arguments:
$client: '@distributionapiclient.middleware.cachedhttpclient'
distributionapiclient.circuit_breaker.factory:
class: PrestaShop\CircuitBreaker\AdvancedCircuitBreakerFactory
distributionapiclient.circuit_breaker.settings:
class: PrestaShop\CircuitBreaker\FactorySettings
arguments:
- !php/const PrestaShop\Module\DistributionApiClient\DistributionApi::ALLOWED_FAILURES
- !php/const PrestaShop\Module\DistributionApiClient\DistributionApi::TIMEOUT_IN_SECONDS
- !php/const PrestaShop\Module\DistributionApiClient\DistributionApi::THRESHOLD_SECONDS
calls:
- setStorage: [ '@prestashop.core.circuit_breaker.storage' ]
- setClient: [ '@distributionapiclient.symfony.client' ]
distributionapiclient.circuit_breaker:
class: PrestaShop\CircuitBreaker\Contract\CircuitBreakerInterface
factory: [ '@distributionapiclient.circuit_breaker.factory', 'create' ]
arguments: [ '@distributionapiclient.circuit_breaker.settings' ]
PrestaShop\Module\DistributionApiClient\ShopDataProvider:
class: PrestaShop\Module\DistributionApiClient\ShopDataProvider
distributionapiclient.distribution_api:
class: PrestaShop\Module\DistributionApiClient\DistributionApi
arguments:
- '@distributionapiclient.circuit_breaker'
- '@prestashop.module.factory.sourcehandler'
- '@prestashop.adapter.data_provider.module'
- '@PrestaShop\Module\DistributionApiClient\ShopDataProvider'
- "@=service('prestashop.core.foundation.version').getSemVersion()"
- '%ps_cache_dir%/downloads'
- '%kernel.project_dir%'
public: true
PrestaShop\Module\DistributionApiClient\Controller\Admin\TopContributorsController:
autowire: true
autoconfigure: true
public: true
tags: ['controller.service_arguments']