workspaces.services.yml

core/modules/workspaces/workspaces.services.yml

File

core/modules/workspaces/workspaces.services.yml

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

Services

Title Deprecated Summary
access_check.workspaces.active_workspace Drupal\workspaces\Access\ActiveWorkspaceCheck
cache_context.workspace Drupal\workspaces\WorkspaceCacheContext
Drupal\workspaces\EventSubscriber\WorkspaceSwitchSubscriber
Drupal\workspaces\Provider\DefaultWorkspaceProvider
Drupal\workspaces\Provider\WorkspaceProviderCollector
Drupal\workspaces\WorkspacesCron
logger.channel.workspaces
workspaces.association Drupal\workspaces\WorkspaceAssociation
workspaces.controller.entity_form Drupal\workspaces\Controller\WorkspacesHtmlEntityFormController
workspaces.entity.query.sql Drupal\workspaces\EntityQuery\QueryFactory
workspaces.entity.repository Drupal\workspaces\WorkspacesEntityRepository
workspaces.entity_schema_listener Drupal\workspaces\EventSubscriber\EntitySchemaSubscriber
workspaces.information Drupal\workspaces\WorkspaceInformation
workspaces.lazy_builders Drupal\workspaces\WorkspacesLazyBuilders
workspaces.manager Drupal\workspaces\WorkspaceManager
workspaces.menu.tree_storage Drupal\workspaces\WorkspacesMenuTreeStorage
workspaces.negotiator.query_parameter Drupal\workspaces\Negotiator\QueryParameterWorkspaceNegotiator
workspaces.negotiator.session Drupal\workspaces\Negotiator\SessionWorkspaceNegotiator
workspaces.operation_factory Drupal\workspaces\WorkspaceOperationFactory
workspaces.repository Drupal\workspaces\WorkspaceRepository
workspaces.workspace_subscriber Drupal\workspaces\EventSubscriber\WorkspaceRequestSubscriber
_defaults

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.