workspaces.services.yml
4.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
services:
_defaults:
autoconfigure: true
workspaces.manager:
class: Drupal\workspaces\WorkspaceManager
autowire: true
tags:
- { name: service_collector, call: addNegotiator, tag: workspace_negotiator }
Drupal\workspaces\WorkspaceManagerInterface: '@workspaces.manager'
workspaces.information:
class: Drupal\workspaces\WorkspaceInformation
arguments: [ '@entity_type.manager', '@workspaces.association' ]
Drupal\workspaces\WorkspaceInformationInterface: '@workspaces.information'
workspaces.operation_factory:
class: Drupal\workspaces\WorkspaceOperationFactory
arguments: ['@entity_type.manager', '@database', '@workspaces.manager', '@workspaces.association', '@event_dispatcher', '@logger.channel.workspaces']
Drupal\workspaces\WorkspaceOperationFactory: '@workspaces.operation_factory'
workspaces.association:
class: Drupal\workspaces\WorkspaceAssociation
arguments: ['@database', '@entity_type.manager', '@workspaces.repository', '@logger.channel.workspaces']
tags:
- { name: backend_overridable }
Drupal\workspaces\WorkspaceAssociationInterface: '@workspaces.association'
workspaces.repository:
class: Drupal\workspaces\WorkspaceRepository
arguments: ['@entity_type.manager', '@cache.default']
Drupal\workspaces\WorkspaceRepositoryInterface: '@workspaces.repository'
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.information']
workspaces.workspace_subscriber:
class: Drupal\workspaces\EventSubscriber\WorkspaceRequestSubscriber
arguments: ['@router.route_provider', '@workspaces.manager']
cache_context.workspace:
class: Drupal\workspaces\WorkspaceCacheContext
arguments: ['@workspaces.manager']
tags:
- { name: cache.context }
logger.channel.workspaces:
parent: logger.channel_base
arguments: ['workspaces']
workspaces.lazy_builders:
class: Drupal\workspaces\WorkspacesLazyBuilders
arguments: [ '@workspaces.manager', '@plugin.manager.element_info' ]
Drupal\workspaces\WorkspacesLazyBuilders: '@workspaces.lazy_builders'
workspaces.entity.repository:
decorates: entity.repository
class: Drupal\workspaces\WorkspacesEntityRepository
arguments: ['@.inner', '@workspaces.manager']
public: false
workspaces.entity.query.sql:
decorates: entity.query.sql
class: Drupal\workspaces\EntityQuery\QueryFactory
arguments: ['@database', '@workspaces.manager', '@workspaces.information']
public: false
decoration_priority: 50
tags:
- { name: backend_overridable }
workspaces.menu.tree_storage:
decorates: menu.tree_storage
class: Drupal\workspaces\WorkspacesMenuTreeStorage
arguments: ['@workspaces.manager', '@workspaces.association', '@entity_type.manager', '@database', '@cache.menu', '@cache_tags.invalidator', 'menu_tree']
public: false
decoration_priority: 50
tags:
- { name: backend_overridable }
workspaces.controller.entity_form:
# Decorate the entity form controller to handle entity operations inside a
# workspace.
decorates: controller.entity_form
class: Drupal\workspaces\Controller\WorkspacesHtmlEntityFormController
public: false
arguments: ['@.inner', '@workspaces.manager', '@workspaces.information', '@typed_data_manager']
Drupal\workspaces\Controller\WorkspacesHtmlEntityFormController: '@workspaces.controller.entity_form'