265 lines
10 KiB
YAML
265 lines
10 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:
|
|
travel_info_base_url: '%env(APP_TRAVEL_INFO_BASE_URL)%'
|
|
terms_and_conditions_url: '%env(APP_TERMS_AND_CONDITIONS_URL)%'
|
|
path_to_keys: '%kernel.project_dir%/config/secret'
|
|
bpn_debug: '%env(APP_BPN_DEBUG)%'
|
|
default_booking_status: '%env(DEFAULT_BOOKING_STATUS)%'
|
|
newsletter_confirmation_ttl_hours: '%env(int:APP_NEWSLETTER_CONFIRMATION_TTL_HOURS)%'
|
|
travel_snapshot_retention_buffer_days: '%env(int:APP_TRAVEL_SNAPSHOT_RETENTION_BUFFER_DAYS)%'
|
|
default_email_from: '%env(APP_DEFAULT_EMAIL_FROM)%'
|
|
default_email_to: '%env(APP_DEFAULT_EMAIL_TO)%'
|
|
|
|
# MailJet list ids and their labels
|
|
mailjet_lists:
|
|
10321569: 'E&P Newsletter'
|
|
10321382: 'Reisen-Alert Ahrntal'
|
|
10321383: 'Reisen-Alert Davos'
|
|
10321391: 'Reisen-Alert Familienreisen'
|
|
10321384: 'Reisen-Alert Arosa-Lenzerheide'
|
|
10321385: 'Reisen-Alert Les Deux Alpes'
|
|
10321386: 'Reisen-Alert Montafon'
|
|
10321387: 'Reisen-Alert Portes du Soleil'
|
|
10321388: 'Reisen-Alert Saalbach-Hinterglemm'
|
|
10538809: 'Reisen-Alert Scuol'
|
|
10321389: 'Reisen-Alert Stubaital'
|
|
10321390: 'Reisen-Alert Val Thorens'
|
|
|
|
# MailJet contact metadata names for name synchronization
|
|
mailjet_contact_metadata_fields:
|
|
firstName: 'vorname'
|
|
lastName: 'nachname'
|
|
|
|
# Body dimensions choices for BodyDimensionsType
|
|
body_dimensions.height_choices:
|
|
'bis 148cm': '-148'
|
|
'149 - 157cm': '149-157'
|
|
'158 - 166cm': '158-166'
|
|
'167 - 178cm': '167-178'
|
|
'179 - 185cm': '179-185'
|
|
'186 - 194cm': '186-194'
|
|
'195cm oder mehr': '195+'
|
|
body_dimensions.shoe_size_min: 36
|
|
body_dimensions.shoe_size_max: 48
|
|
body_dimensions.weight_choices:
|
|
'42 - 48kg': '42-48'
|
|
'49 - 57kg': '49-57'
|
|
'58 - 66kg': '58-66'
|
|
'67 - 78kg': '67-78'
|
|
'79 - 85kg': '79-85'
|
|
'86 - 94kg': '86-94'
|
|
'95kg oder mehr': '95+'
|
|
|
|
# domain mapping for theme, gtm id and cmp url
|
|
domain_config:
|
|
ep-reisen.de:
|
|
theme: base
|
|
gtm_id: GTM-56LWRF
|
|
cmp_url: https://consent.cookiefirst.com/sites/my.ep-reisen.de-28eabc35-7085-4d8f-b450-522bd1a5247c/consent.js
|
|
ski-boarderweek.de:
|
|
theme: sbw
|
|
gtm_id: GTM-MS2C8CH
|
|
cmp_url: https://consent.cookiefirst.com/sites/my.ski-boarderweek.de-d3641c34-8183-4b8d-b56e-c052e7a9223e/consent.js
|
|
semesterende-skireisen.de:
|
|
theme: ser
|
|
gtm_id: GTM-MNKDKL9
|
|
cmp_url: https://consent.cookiefirst.com/sites/my.semesterende-skireisen.de-c9b3422d-eb62-4ce4-b8f7-91e9b509e26f/consent.js
|
|
snowzone.net:
|
|
theme: snz
|
|
gtm_id: GTM-M96CKL
|
|
cmp_url: https://consent.cookiefirst.com/sites/my.snowzone.net-8e6aea0c-7d93-42a0-a822-29fff2aa5613/consent.js
|
|
|
|
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.
|
|
bind:
|
|
$xmlExport: '@xml_export.storage'
|
|
$xmlSource: '@xml_source.storage'
|
|
$xmlDump: '@xml_dump.storage'
|
|
$jsonExport: '@json_export.storage'
|
|
$travelInfoBaseUrl: '%env(APP_TRAVEL_INFO_BASE_URL)%'
|
|
$termsAndConditionsUrl: '%terms_and_conditions_url%'
|
|
$logger: '@monolog.logger.core'
|
|
$environment: '%kernel.environment%'
|
|
|
|
# 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/Model'
|
|
- '../src/Kernel.php'
|
|
|
|
App\BusProNet\ApiClient:
|
|
arguments:
|
|
$logger: '@monolog.logger.bpn'
|
|
$options:
|
|
bpn_username: '%env(APP_BPN_USER)%'
|
|
bpn_password: '%env(APP_BPN_PASSWORD)%'
|
|
bpn_api_ip: '%env(APP_BPN_IP)%'
|
|
bpn_api_ports: '%env(csv:APP_BPN_PORTS)%'
|
|
debug: '%env(bool:APP_BPN_DEBUG)%'
|
|
connection_timeout: '%env(int:APP_BPN_CONNECTION_TIMEOUT)%'
|
|
stream_timeout: '%env(int:APP_BPN_STREAM_TIMEOUT)%'
|
|
total_timeout: '%env(int:APP_BPN_TOTAL_TIMEOUT)%'
|
|
|
|
App\Twig\AppRuntime:
|
|
arguments:
|
|
$intlExtension: '@twig.extension.intl'
|
|
|
|
App\Command\GenerateKeysCommand:
|
|
arguments:
|
|
$path: '%path_to_keys%'
|
|
|
|
App\Service\BpnXmlSyncManager:
|
|
arguments:
|
|
$xmlSource: '@xml_source.storage'
|
|
$xmlExport: '@xml_export.storage'
|
|
$xmlSourceContingents: '@xml_source_contingents.storage'
|
|
$xmlExportContingents: '@xml_export_contingents.storage'
|
|
$bpnCache: '@bpn.cache'
|
|
|
|
App\Command\BpnXmlCacheInvalidateCommand:
|
|
arguments:
|
|
$xmlExport: '@xml_export.storage'
|
|
$xmlExportContingents: '@xml_export_contingents.storage'
|
|
$bpnCache: '@bpn.cache'
|
|
$cache: '@cache.app'
|
|
|
|
App\Security\Crypt:
|
|
arguments:
|
|
$path: '%path_to_keys%'
|
|
|
|
App\Service\TravelSnapshotManager:
|
|
arguments:
|
|
$retentionBufferDays: '%travel_snapshot_retention_buffer_days%'
|
|
|
|
App\Service\TravelDataProvider:
|
|
arguments:
|
|
$logger: '@monolog.logger.core'
|
|
$preferRemote: '%env(bool:APP_TRAVEL_PREFER_REMOTE)%'
|
|
$enableFallback: '%env(bool:APP_TRAVEL_ENABLE_FALLBACK)%'
|
|
|
|
App\Service\BookingEditDataLoader:
|
|
arguments:
|
|
$bpnCache: '@bpn.cache'
|
|
|
|
App\BusProNet\XmlLoader\TravelLoader:
|
|
arguments:
|
|
$cache: '@bpn.cache'
|
|
|
|
App\BusProNet\XmlLoader\HotelLoader:
|
|
arguments:
|
|
$cache: '@bpn.cache'
|
|
|
|
App\BusProNet\XmlLoader\PickupLoader:
|
|
arguments:
|
|
$cache: '@bpn.cache'
|
|
|
|
App\BusProNet\XmlLoader\InsuranceLoader:
|
|
arguments:
|
|
$cache: '@bpn.cache'
|
|
|
|
App\BusProNet\XmlLoader\ContingentLoader:
|
|
arguments:
|
|
$cache: '@bpn.cache'
|
|
$xmlExportContingents: '@xml_export_contingents.storage'
|
|
|
|
App\BusProNet\Utility\BookingUrlUtility:
|
|
arguments:
|
|
$defaultBaseUrl: '%env(APP_BASE_URL)%'
|
|
|
|
App\Service\VoucherValidator:
|
|
arguments:
|
|
$cache: '@cache.app'
|
|
$logger: '@monolog.logger.bpn'
|
|
|
|
# Field Handlers with dependencies
|
|
App\Form\Service\ParticipantInsuranceFieldHandler: ~
|
|
App\Form\Service\ParticipantBulkInsuranceFieldHandler: ~
|
|
App\Form\Service\ParticipantTransportationDiscountReplacementFieldHandler: ~
|
|
App\Form\Service\ParticipantPurchaseVoucherFieldHandler: ~
|
|
App\Form\Service\ParticipantPromoVoucherFieldHandler: ~
|
|
|
|
# Participant Field Handler Registry - most handlers instantiate dependencies directly, some use services
|
|
App\Form\Service\ParticipantFieldHandlerRegistry:
|
|
arguments:
|
|
$handlers:
|
|
# Simple handlers with no external dependencies - instantiated directly
|
|
- 'App\Form\Service\ParticipantDateOfBirthFieldHandler'
|
|
- 'App\Form\Service\ParticipantAssignedRoomFieldHandler'
|
|
- 'App\Form\Service\ParticipantRemarksRoomFieldHandler'
|
|
- 'App\Form\Service\ParticipantAdditionalServicesFieldHandler'
|
|
- 'App\Form\Service\ParticipantCoursesFieldHandler'
|
|
- 'App\Form\Service\ParticipantBoardFieldHandler'
|
|
- 'App\Form\Service\ParticipantVegFieldHandler'
|
|
- 'App\Form\Service\ParticipantRentalsFieldHandler'
|
|
- 'App\Form\Service\ParticipantSkiPassFieldHandler'
|
|
- 'App\Form\Service\ParticipantTransportationOutboundFieldHandler'
|
|
- 'App\Form\Service\ParticipantTransportationInboundFieldHandler'
|
|
- 'App\Form\Service\ParticipantPickupFieldHandler'
|
|
- 'App\Form\Service\ParticipantDropOffFieldHandler'
|
|
- 'App\Form\Service\ParticipantParkingFieldHandler'
|
|
- 'App\Form\Service\ParticipantRentalInsuranceFieldHandler'
|
|
- 'App\Form\Service\ParticipantLicensePlateFieldHandler'
|
|
# Complex handlers with dependencies - use service references
|
|
- '@App\Form\Service\ParticipantTransportationDiscountReplacementFieldHandler'
|
|
- '@App\Form\Service\ParticipantBulkInsuranceFieldHandler'
|
|
- '@App\Form\Service\ParticipantInsuranceFieldHandler'
|
|
- '@App\Form\Service\ParticipantPurchaseVoucherFieldHandler'
|
|
- '@App\Form\Service\ParticipantPromoVoucherFieldHandler'
|
|
|
|
# Booking Status Rules
|
|
App\BusProNet\Service\StatusRule\ChaperonServiceStatusRule: ~
|
|
|
|
# Booking Status Rule Registry
|
|
App\BusProNet\Service\BookingStatusRuleRegistry:
|
|
arguments:
|
|
$rules:
|
|
- '@App\BusProNet\Service\StatusRule\ChaperonServiceStatusRule'
|
|
|
|
App\Service\CmsDataProvider:
|
|
arguments:
|
|
$httpClient: '@typo3.client'
|
|
$apiKey: 'AbcAbc123'# dummy key, not yet implemented
|
|
|
|
App\Logger\RequestIdProcessor:
|
|
tags:
|
|
- { name: monolog.processor }
|
|
|
|
App\Service\NewsletterManager:
|
|
arguments:
|
|
$newsletterConfirmationTtlHours: '%newsletter_confirmation_ttl_hours%'
|
|
$mailjetLists: '%mailjet_lists%'
|
|
$defaultMailjetListId: '%env(default::MAILJET_DEFAULT_LIST_ID)%'
|
|
|
|
App\Controller\Api\NewsletterSubscriptionController:
|
|
arguments:
|
|
$mailjetLists: '%mailjet_lists%'
|
|
|
|
App\Service\DomainConfigProvider:
|
|
arguments:
|
|
$domainConfig: '%domain_config%'
|
|
|
|
App\Email\Mailer:
|
|
arguments:
|
|
$defaults:
|
|
from: '%default_email_from%'
|
|
to: '%default_email_to%'
|
|
|
|
App\Service\MailjetApiClient:
|
|
arguments:
|
|
$apiKey: '%env(default::MAILJET_API_KEY)%'
|
|
$apiSecret: '%env(default::MAILJET_API_SECRET)%'
|
|
$apiBaseUrl: '%env(default::MAILJET_API_BASE_URL)%'
|
|
$defaultListId: '%env(default::MAILJET_DEFAULT_LIST_ID)%'
|
|
$contactMetadataFields: '%mailjet_contact_metadata_fields%'
|