workspaces.services.yml 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. services:
  2. workspaces.manager:
  3. class: Drupal\workspaces\WorkspaceManager
  4. arguments: ['@request_stack', '@entity_type.manager', '@current_user', '@state', '@logger.channel.workspaces', '@class_resolver']
  5. tags:
  6. - { name: service_id_collector, tag: workspace_negotiator }
  7. workspaces.operation_factory:
  8. class: Drupal\workspaces\WorkspaceOperationFactory
  9. arguments: ['@entity_type.manager', '@database']
  10. workspaces.negotiator.default:
  11. class: Drupal\workspaces\Negotiator\DefaultWorkspaceNegotiator
  12. arguments: ['@entity_type.manager']
  13. tags:
  14. - { name: workspace_negotiator, priority: 0 }
  15. workspaces.negotiator.session:
  16. class: Drupal\workspaces\Negotiator\SessionWorkspaceNegotiator
  17. arguments: ['@current_user', '@session', '@entity_type.manager']
  18. tags:
  19. - { name: workspace_negotiator, priority: 50 }
  20. workspaces.negotiator.query_parameter:
  21. class: Drupal\workspaces\Negotiator\QueryParameterWorkspaceNegotiator
  22. parent: workspaces.negotiator.session
  23. tags:
  24. - { name: workspace_negotiator, priority: 100 }
  25. cache_context.workspace:
  26. class: Drupal\workspaces\WorkspaceCacheContext
  27. arguments: ['@workspaces.manager']
  28. tags:
  29. - { name: cache.context }
  30. logger.channel.workspaces:
  31. parent: logger.channel_base
  32. arguments: ['workspaces']
  33. workspaces.entity.query.sql:
  34. decorates: entity.query.sql
  35. class: Drupal\workspaces\EntityQuery\QueryFactory
  36. arguments: ['@database', '@workspaces.manager']
  37. public: false
  38. decoration_priority: 50
  39. tags:
  40. - { name: backend_overridable }
  41. pgsql.workspaces.entity.query.sql:
  42. decorates: pgsql.entity.query.sql
  43. class: Drupal\workspaces\EntityQuery\PgsqlQueryFactory
  44. arguments: ['@database', '@workspaces.manager']
  45. public: false
  46. decoration_priority: 50