drupal/core/modules/workspaces/workspaces.services.yml

70 lines
2.8 KiB
YAML

services:
workspaces.manager:
class: Drupal\workspaces\WorkspaceManager
arguments: ['@request_stack', '@entity_type.manager', '@entity.memory_cache', '@current_user', '@state', '@logger.channel.workspaces', '@class_resolver', '@workspaces.association']
tags:
- { name: service_id_collector, tag: workspace_negotiator }
workspaces.operation_factory:
class: Drupal\workspaces\WorkspaceOperationFactory
arguments: ['@entity_type.manager', '@database', '@workspaces.manager', '@workspaces.association', '@cache_tags.invalidator']
workspaces.association:
class: Drupal\workspaces\WorkspaceAssociation
arguments: ['@database', '@entity_type.manager', '@workspaces.repository']
tags:
- { name: backend_overridable }
workspaces.repository:
class: Drupal\workspaces\WorkspaceRepository
arguments: ['@entity_type.manager', '@cache.default']
workspaces.negotiator.session:
class: Drupal\workspaces\Negotiator\SessionWorkspaceNegotiator
arguments: ['@current_user', '@session', '@entity_type.manager']
tags:
- { name: workspace_negotiator, priority: 50 }
workspaces.negotiator.query_parameter:
class: Drupal\workspaces\Negotiator\QueryParameterWorkspaceNegotiator
parent: workspaces.negotiator.session
tags:
- { name: workspace_negotiator, priority: 100 }
access_check.workspaces.active_workspace:
class: Drupal\workspaces\Access\ActiveWorkspaceCheck
arguments: ['@workspaces.manager']
tags:
- { name: access_check, applies_to: _has_active_workspace }
workspaces.entity_schema_listener:
class: Drupal\workspaces\EventSubscriber\EntitySchemaSubscriber
arguments: ['@entity.definition_update_manager', '@entity.last_installed_schema.repository', '@workspaces.manager']
tags:
- { name: 'event_subscriber' }
workspaces.workspace_subscriber:
class: Drupal\workspaces\EventSubscriber\WorkspaceRequestSubscriber
arguments: ['@path_alias.manager', '@path.current', '@router.route_provider', '@workspaces.manager']
tags:
- { name: event_subscriber }
cache_context.workspace:
class: Drupal\workspaces\WorkspaceCacheContext
arguments: ['@workspaces.manager']
tags:
- { name: cache.context }
logger.channel.workspaces:
parent: logger.channel_base
arguments: ['workspaces']
workspaces.entity.query.sql:
decorates: entity.query.sql
class: Drupal\workspaces\EntityQuery\QueryFactory
arguments: ['@database', '@workspaces.manager']
public: false
decoration_priority: 50
tags:
- { name: backend_overridable }
pgsql.workspaces.entity.query.sql:
decorates: pgsql.entity.query.sql
class: Drupal\workspaces\EntityQuery\PgsqlQueryFactory
arguments: ['@database', '@workspaces.manager']
public: false
decoration_priority: 50