Files
backend/config/services.yaml
T
2026-06-03 18:38:00 +03:00

232 lines
8.5 KiB
YAML

# 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:
app.timezone: 'Europe/Moscow'
upload_directory: '%kernel.project_dir%/public/uploads'
api.baseurl: '%env(string:API_BASE_URL)%'
api.public_url: '%env(default:api_base_url_default:API_PUBLIC_URL)%'
api_base_url_default: '%env(API_BASE_URL)%'
env(WIDGET_API_URL): ''
widget_api_url: '%env(default:mis_url_default:WIDGET_API_URL)%'
mis_url_default: '%env(MIS_URL)%'
mailer_from_email: 'noreply@sova.clinic'
mailer_from_name: 'Sova Clinic'
mailer_access_token: ''
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
Psr\Log\LoggerInterface: '@logger'
App\MessageHandler\SchedulerDefaultMessageHandler:
tags: ['monolog.logger']
# arguments:
# $application: '@console.messenger.application'
App\Serializer\Normalizer\SpecialistNormalizer:
public: true
tags: [serializer.normalizer]
App\Serializer\Normalizer\StockNormalizer:
public: true
tags: [serializer.normalizer]
App\Serializer\Normalizer\SpecialistDocsNormalizer:
public: true
tags: [serializer.normalizer]
App\Service\FileUploader\FileUploaderService:
tags: ['monolog.logger']
public: true
arguments:
$targetDirectory: '%upload_directory%'
App\EventListener\JsonExceptionHandler:
tags:
- { name: kernel.event_listener, event: kernel.exception, method: onKernelException }
App\Service\Translite\Interfaces\TransliteServiceInterface:
alias: App\Service\Translite\TransliteService
App\Command\UploadFilialsCommand:
arguments:
$widgetApiUrl: '%widget_api_url%'
tags: ['console.command']
App\Command\UploadDoctorsCommand:
tags: ['console.command']
App\Command\UploadDepartmentsCommand:
tags: ['console.command']
App\Command\UploadPriceDepCommand:
arguments:
$widgetApiUrl: '%widget_api_url%'
tags: ['console.command']
App\Command\UploadPriceCommand:
arguments:
$widgetApiUrl: '%widget_api_url%'
tags: ['console.command']
App\Command\BitrixUpdateDoctorsCommand:
arguments:
$logger: '@logger'
$entityManager: '@doctrine.orm.entity_manager'
$bitrixService: '@App\Service\Bitrix\BitrixService'
tags: ['console.command']
App\Command\BitrixUpdateReviewsCommand:
arguments:
$logger: '@logger'
$entityManager: '@doctrine.orm.entity_manager'
$bitrixService: '@App\Service\Bitrix\BitrixService'
tags: ['console.command']
App\Service\Crypt\AESCryptService:
arguments:
$secretKey: '%env(string:AES_SECRET_KEY)%'
$cipher: '%env(string:AES_CIPHER_METHOD)%'
App\Service\Client\AbstractHttpClientService:
abstract: true
public: false
arguments:
$userAgent: '%env(string:API_CLIENT)%'
$baseUrl: '@api.baseurl'
App\Service\Client\CalltouchClientService:
parent: App\Service\Client\AbstractHttpClientService
arguments:
$userAgent: '%env(string:API_CLIENT)%'
$baseUrl: '%env(string:CT_URL)%'
$params: '%env(string:CT_PARAMS)%'
App\Service\Client\BitrixClientService:
parent: App\Service\Client\AbstractHttpClientService
arguments:
$userAgent: '%env(string:API_CLIENT)%'
$baseUrl: '%env(string:BITRIX_URL)%'
App\Service\Client\InfoclinicaClientService:
parent: App\Service\Client\AbstractHttpClientService
arguments:
$userAgent: '%env(string:API_CLIENT)%'
$baseUrl: '%env(string:MIS_URL)%'
App\Service\Client\SmartCaptchaClientService:
parent: App\Service\Client\AbstractHttpClientService
arguments:
$userAgent: '%env(string:API_CLIENT)%'
$baseUrl: '%env(string:SMARTCAPTCHA_URL)%'
$secret: '%env(string:SMARTCAPTCHA_KEY)%'
App\Service\Client\Sms4bClientService:
parent: App\Service\Client\AbstractHttpClientService
arguments:
$userAgent: '%env(string:API_CLIENT)%'
$baseUrl: '%env(string:SMS4B_URL)%'
$token: '%env(string:SMS4B_TOKEN)%'
$sender: '%env(string:SMS4B_SENDER)%'
App\Service\Client\SmsruClientService:
parent: App\Service\Client\AbstractHttpClientService
arguments:
$userAgent: '%env(string:API_CLIENT)%'
$baseUrl: '%env(string:SMSRU_URL)%'
$token: '%env(string:SMSRU_TOKEN)%'
$sender: '%env(string:SMSRU_SENDER)%'
App\Service\Client\Interfaces\CalltouchClientServiceInterface:
alias: App\Service\Client\CalltouchClientService
App\Service\Client\Interfaces\SmartCaptchaClientServiceInterface:
alias: App\Service\Client\SmartCaptchaClientService
App\Service\Client\Interfaces\SmsClientServiceInterface:
alias: App\Service\Client\SmsruClientService
App\Service\Bitrix\BitrixService:
public: true
arguments:
$connection: '@doctrine.dbal.mysql_connection'
App\Service\PriceList\PriceListService:
arguments:
$priceListRepository: '@App\Repository\PriceListRepository'
App\Service\Location\LocationService:
arguments:
$locationRepository: '@App\Repository\LocationRepository'
App\Service\Specialist\SpecialistService:
arguments:
$messageBus: '@messenger.default_bus'
$specialistRepository: '@App\Repository\SpecialistRepository'
App\Service\Filial\FilialService:
arguments:
$filialRepository: '@App\Repository\FilialRepository'
App\Service\XmlFeedGenerator\XmlFeedGeneratorService:
arguments:
$priceListService: '@App\Service\PriceList\PriceListService'
$departmentService: '@App\Service\Department\DepartmentService'
$specialistService: '@App\Service\Specialist\SpecialistService'
$locationService: '@App\Service\Location\LocationService'
$filialService: '@App\Service\Filial\FilialService'
$apiPublicUrl: '%api.public_url%'
App\Service\XmlFeedGenerator\XmlFeedGeneratorV1Service:
arguments:
$priceListService: '@App\Service\PriceList\PriceListService'
$specialistService: '@App\Service\Specialist\SpecialistService'
$helperService: '@App\Service\Helper\HelperService'
$connection: '@doctrine.dbal.default_connection'
$logger: '@logger'
$apiPublicUrl: '%api.public_url%'
App\Service\ScheduleCache\ScheduleCacheService:
arguments:
$logger: '@logger'
App\Service\ErrorHandler\ScheduleErrorHandlerService:
arguments:
$logger: '@logger'
App\Service\Performance\PerformanceTrackerService: ~
App\Service\Mail\SendMailService:
arguments:
$fromEmail: '%mailer_from_email%'
$fromName: '%mailer_from_name%'
App\Service\Mail\SendMailConfig:
arguments:
$accessToken: '%env(default:mailer_access_token:MAILER_ACCESS_TOKEN)%'
App\MessageHandler\GetScheduleMessageHandler:
arguments:
$clientService: '@App\Service\Client\InfoclinicaClientService'
$cacheService: '@App\Service\ScheduleCache\ScheduleCacheService'
$errorHandler: '@App\Service\ErrorHandler\ScheduleErrorHandlerService'
$performanceTracker: '@App\Service\Performance\PerformanceTrackerService'
tags:
- { name: messenger.message_handler }