SuiteCRM-Core/config/core_services.yaml
Clemente Raposo c54afca265 Add extensions to system configs
- Add extension entry to configs
- Expose extensions list config on the api
- Allow extensions to be configured in extension folder
2021-03-30 19:22:45 +01:00

197 lines
9.6 KiB
YAML

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.
public: false # Allows optimizing the container by removing unused services.
bind:
$projectDir: '%kernel.project_dir%'
$legacyDir: '%legacy.dir%'
$legacyPath: '%legacy.path%'
$legacySessionName: '%legacy.session_name%'
$defaultSessionName: '%default_session_name%'
$moduleRouting: '%legacy.module_routing%'
$exposedSystemConfigs: '%legacy.exposed_system_configs%'
$systemConfigKeyMap: '%legacy.system_config_key_map%'
$menuItemMap: '%legacy.menu_item_map%'
$legacyAssetPaths: '%legacy.asset_paths%'
$legacyApiPaths: '%legacy.api_paths%'
$exposedUserPreferences: '%legacy.exposed_user_preferences%'
$userPreferencesKeyMap: '%legacy.user_preferences_key_map%'
$themeImagePaths: '%themes.image_paths%'
$themeImageSupportedTypes: '%themes.image_supported_types%'
$frontendExcludedModules: '%legacy.frontend_excluded_modules%'
$datetimeFormatMap: '%legacy.datetime_format_map%'
$filterOperatorMap: '%legacy.filter_operator_map%'
$cacheResetActions: '%legacy.cache_reset_actions%'
$navigationTabLimits: '%themes.navigation_tab_limits%'
$listViewBulkActions: '%module.listview.bulk_action%'
$listViewLineActions: '%module.listview.line_action%'
$listViewSidebarWidgets: '%module.listview.sidebar_widgets%'
$listViewColumnLimits: '%module.listview.column_limits%'
$listViewSettingsLimits: '%module.listview.settings_limits%'
$listViewActionsLimits: '%module.listview.actions_limits%'
$recordViewActions: '%module.recordview.actions%'
$recordViewActionLimits: '%module.recordview.actions_limits%'
$groupedFieldsTypeMap: '%record.fields.grouped_fields_type_map%'
$uiConfigs: '%ui%'
$extensions: '%extensions%'
_instanceof:
App\Process\Service\ProcessHandlerInterface:
tags: [ 'app.process.handler' ]
App\UserPreferences\LegacyHandler\UserPreferencesMapperInterface:
tags: [ 'user.preferences.mapper' ]
App\SystemConfig\LegacyHandler\SystemConfigMapperInterface:
tags: [ 'system.config.mapper' ]
App\FieldDefinitions\LegacyHandler\FieldDefinitionMapperInterface:
tags: [ 'field.definition.mapper' ]
App\ViewDefinitions\LegacyHandler\ViewDefinitionMapperInterface:
tags: [ 'view.definition.mapper' ]
App\Data\LegacyHandler\PresetListDataHandlerInterface:
tags: [ 'app.data.preset.handler' ]
App\Data\LegacyHandler\FilterMapper\FilterMapperInterface:
tags: [ 'app.data.filter.mapper' ]
App\Statistics\Service\StatisticsProviderInterface:
tags: [ 'app.data.statistics.handler' ]
App\ViewDefinitions\LegacyHandler\SubpanelButtonMapperInterface:
tags: [ 'subpanel.button.definition.mapper' ]
# 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: '../core/backend/*'
exclude: '../core/backend/{DependencyInjection,Entity,Migrations,Tests,Kernel.php}'
App\Module\:
resource: '../core/modules/*'
exclude: '../core/modules/{DependencyInjection,Entity,Migrations,Tests,Kernel.php}'
# makes classes in extensions/ available to be used as services
# this creates a service per class whose id is the fully-qualified class name
App\Extension\:
resource: '../extensions/*'
exclude: '../extensions/{DependencyInjection,Entity,Migrations,Tests,Kernel.php}'
# controllers are imported separately to make sure services can be injected
# as action arguments even if you don't extend any base controller class
App\Authentication\Controller\:
resource: '../core/backend/Authentication/Controller/*'
tags: [ 'controller.service_arguments' ]
# controllers are imported separately to make sure services can be injected
# as action arguments even if you don't extend any base controller class
App\Engine\Controller\:
resource: '../core/backend/Engine/Controller/*'
tags: [ 'controller.service_arguments' ]
# add more service definitions when explicit configuration is needed
# please note that last definitions always *replace* previous ones
App\Routes\EventListener\LegacyRedirectListener:
# set priority of 2050 to ensure the be the first running
tags: [ { name: kernel.event_listener, event: kernel.request, priority: 2050 } ]
App\Process\Service\ProcessHandlerRegistry:
# inject all services tagged with app.process.handler as first argument
# and use the value of the 'getProcessType' method to index the services
arguments:
- !tagged { tag: 'app.process.handler' }
App\Security\LegacySessionDenyAccessListener:
decorates: 'api_platform.security.listener.request.deny_access'
App\Security\LegacySessionSecurityStage:
decorates: 'api_platform.graphql.resolver.stage.security'
App\Security\LegacySessionLogoutHandler:
tags:
- name: 'kernel.event_listener'
event: 'Symfony\Component\Security\Http\Event\LogoutEvent'
dispatcher: security.event_dispatcher.main
App\Security\RouteMatcher:
class: App\Security\RouteMatcher
public: false
App\Security\CSRFTokenManager:
class: App\Security\CSRFTokenManager
public: false
arguments:
$tokenId: 'angular'
App\Security\CSRFCookieListener:
tags: [ { name: kernel.event_listener, event: kernel.response, method: onKernelResponse } ]
arguments:
$routes: [ '^/' ]
$cookieName: 'XSRF-TOKEN'
$cookieExpire: 0
$cookiePath: /
$cookieDomain: ~
$cookieSecure: false
App\Security\CSRFValidationListener:
tags: [ { name: kernel.event_listener, event: kernel.request, method: onKernelRequest, priority: 12 } ]
arguments:
$routes: [ ]
$headerName: 'X-XSRF-TOKEN'
App\UserPreferences\LegacyHandler\UserPreferencesMappers:
# inject all services tagged with user.preferences.mapper as first argument
arguments:
- !tagged { tag: 'user.preferences.mapper' }
App\SystemConfig\LegacyHandler\SystemConfigMappers:
# inject all services tagged with system.config.mapper as first argument
arguments:
- !tagged { tag: 'system.config.mapper' }
App\FieldDefinitions\LegacyHandler\FieldDefinitionMappers:
# inject all services tagged with field.definition.mapper as first argument
arguments:
- !tagged { tag: 'field.definition.mapper' }
App\ViewDefinitions\LegacyHandler\ViewDefinitionMappers:
# inject all services tagged with view.definition.mapper as first argument
arguments:
- !tagged { tag: 'view.definition.mapper' }
App\Data\LegacyHandler\PresetListDataHandlers:
# inject all services tagged with app.data.preset.handler as first argument
arguments:
- !tagged { tag: 'app.data.preset.handler' }
App\Statistics\Service\StatisticsProviderRegistry:
# inject all services tagged with app.data.statistics.handler as first argument
arguments:
- !tagged { tag: 'app.data.statistics.handler' }
App\Data\LegacyHandler\FilterMapper\FilterMappers:
# inject all services tagged with app.data.filter.mapper as first argument
arguments:
- !tagged { tag: 'app.data.filter.mapper' }
App\ViewDefinitions\LegacyHandler\SubpanelButtonMappers:
# inject all services tagged with subpanel.button.definition.mapper as first argument
arguments:
- !tagged { tag: 'subpanel.button.definition.mapper' }
App\Process\Service\ActionNameMapperInterface: '@App\Engine\LegacyHandler\ActionNameMapperHandler'
App\Process\Service\BulkActionDefinitionProviderInterface: '@App\Process\Service\BulkActionDefinitionProvider'
App\FieldDefinitions\Service\FieldDefinitionsProviderInterface: '@App\FieldDefinitions\LegacyHandler\FieldDefinitionsHandler'
App\Filters\Service\FilterDefinitionProviderInterface: '@App\Filters\Service\FilterDefinitionProvider'
App\Process\Service\LineActionDefinitionProviderInterface: '@App\Process\Service\LineActionDefinitionProvider'
App\ViewDefinitions\Service\ListViewSidebarWidgetDefinitionProviderInterface: '@App\ViewDefinitions\Service\ListViewSidebarWidgetDefinitionProvider'
App\Module\Service\ModuleNameMapperInterface: '@App\Module\LegacyHandler\ModuleNameMapperHandler'
App\Module\Service\ModuleRegistryInterface: '@App\Module\LegacyHandler\ModuleRegistryHandler'
App\Routes\Service\NavigationProviderInterface: '@App\Navbar\LegacyHandler\NavbarHandler'
App\Process\Service\ProcessHandlerInterface: '@App\Process\LegacyHandler\ResetPasswordHandler'
App\Data\Service\RecordActionDefinitionProviderInterface: '@App\Data\Service\RecordActionDefinitionProvider'
App\Data\Service\RecordDeletionServiceInterface: '@App\Data\LegacyHandler\RecordDeletionHandler'
App\Data\Service\RecordListProviderInterface: '@App\Data\LegacyHandler\RecordListHandler'
App\Data\Service\RecordProviderInterface: '@App\Data\LegacyHandler\RecordHandler'
App\Routes\Service\RouteConverterInterface: '@App\Routes\LegacyHandler\RouteConverterHandler'
App\Statistics\SubpanelDefault: '@App\Statistics\LegacyHandler\SubpanelDefault'
App\ViewDefinitions\Service\SubPanelDefinitionProviderInterface: '@App\ViewDefinitions\LegacyHandler\SubPanelDefinitionHandler'
App\SystemConfig\Service\SystemConfigProviderInterface: '@App\SystemConfig\LegacyHandler\SystemConfigHandler'
App\UserPreferences\Service\UserPreferencesProviderInterface: '@App\UserPreferences\LegacyHandler\UserPreferenceHandler'
App\ViewDefinitions\Service\ViewDefinitionsProviderInterface: '@App\ViewDefinitions\LegacyHandler\ViewDefinitionsHandler'