multiversion-8.x-1.0-beta34/multiversion.services.yml

multiversion.services.yml
parameters:
  workspace.default: 1

services:
  # Index Factory
  multiversion.entity_index.factory:
    class: Drupal\multiversion\Entity\Index\MultiversionIndexFactory
    arguments: ['@service_container', '@workspace.manager']

  # Index children
  multiversion.entity_index.sequence.scope:
    parent: multiversion.entity_index.sequence
    scope: prototype
  multiversion.entity_index.id.scope:
    parent: multiversion.entity_index.id
    scope: prototype
  multiversion.entity_index.uuid.scope:
    parent: multiversion.entity_index.uuid
    scope: prototype
  multiversion.entity_index.rev.scope:
    parent: multiversion.entity_index.rev
    scope: prototype
  multiversion.entity_index.rev.tree.scope:
    parent: multiversion.entity_index.rev.tree
    scope: prototype

  # Indexes
  multiversion.entity_index.sequence:
    class: Drupal\multiversion\Entity\Index\SequenceIndex
    arguments: ['@keyvalue.sorted_set', '@workspace.manager', '@multiversion.manager']
  multiversion.entity_index.id:
    class: Drupal\multiversion\Entity\Index\EntityIndex
    arguments: ['@keyvalue', '@workspace.manager']
  multiversion.entity_index.uuid:
    class: Drupal\multiversion\Entity\Index\UuidIndex
    arguments: ['@keyvalue', '@workspace.manager']
  multiversion.entity_index.rev:
    class: Drupal\multiversion\Entity\Index\RevisionIndex
    arguments: ['@keyvalue', '@workspace.manager']
  multiversion.entity_index.rev.tree:
    class: Drupal\multiversion\Entity\Index\RevisionTreeIndex
    arguments: ['@keyvalue', '@workspace.manager', '@multiversion.entity_index.factory']

  multiversion.entity.query.sql:
    class: Drupal\multiversion\Entity\Query\Sql\QueryFactory
    arguments: ['@database']
  multiversion.manager:
    class: Drupal\multiversion\MultiversionManager
    arguments: ['@workspace.manager', '@serializer', '@entity.manager', '@state', '@language_manager', '@cache.discovery', '@database', '@entity_field.manager', '@event_dispatcher']
    calls:
      - [setContainer, ['@service_container']]
  workspace.manager:
    class: Drupal\multiversion\Workspace\WorkspaceManager
    arguments: ['@request_stack', '@entity_type.manager', '@current_user', '@logger.channel.workspace']
    calls:
      - [setContainer, ['@service_container']]
    tags:
      - { name: service_collector, tag: workspace_negotiator, call: addNegotiator }
  workspace.conflict_tracker:
    class: Drupal\multiversion\Workspace\ConflictTracker
    arguments: ['@keyvalue', '@workspace.manager']
  cache_context.workspace:
    class: Drupal\multiversion\WorkspaceCacheContext
    arguments: ['@workspace.manager']
    tags:
      - { name: cache.context }
  multiversion.plugin.manager.block:
    decorates: plugin.manager.block
    class: Drupal\multiversion\Block\BlockManager
    decoration_priority: 50
    parent: default_plugin_manager
    arguments: ['@logger.channel.default', '@database', '@workspace.manager']
  logger.channel.workspace:
    parent: logger.channel_base
    arguments: ['cron']

  # @todo: {@link https://www.drupal.org/node/2597414 Simplify the container
  # definition for negotiators.}
  workspace.negotiator.default:
    class: Drupal\multiversion\Workspace\DefaultWorkspaceNegotiator
    calls:
      - [setContainer, ['@service_container']]
      - [setCurrentUser, ['@current_user']]
      - [setWorkspaceManager, ['@workspace.manager']]
    tags:
      - { name: workspace_negotiator, priority: 0 }
  workspace.negotiator.cron:
    class: Drupal\multiversion\Workspace\CronWorkspaceNegotiator
    arguments: ['@state']
    calls:
      - [setContainer, ['@service_container']]
      - [setCurrentUser, ['@current_user']]
      - [setWorkspaceManager, ['@workspace.manager']]
    tags:
      - { name: workspace_negotiator, priority: 100 }
  workspace.negotiator.session:
    class: Drupal\multiversion\Workspace\SessionWorkspaceNegotiator
    arguments: ['@user.private_tempstore']
    calls:
      - [setContainer, ['@service_container']]
      - [setCurrentUser, ['@current_user']]
      - [setWorkspaceManager, ['@workspace.manager']]
    tags:
      - { name: workspace_negotiator, priority: 200 }
  conflict.complexlca_resolver:
    class: Drupal\multiversion\Entity\Index\ComplexLcaResolver
    tags:
      - { name: lca_resolver, priority: 20 }
  multiversion.serializer.normalizer.workspace_reference_item:
    class: Drupal\multiversion\Normalizer\WorkspaceReferenceItemNormalizer
    tags:
      - { name: normalizer, priority: 50 }
  multiversion.alias_storage:
    decorates: 'path.alias_storage'
    class: Drupal\multiversion\AliasStorage
    arguments: ['@database', '@module_handler', '@workspace.manager', '@entity_type.manager', '@state']
    public: false
    decoration_priority: 50
    tags:
      - { name: backend_overridable }
  # The decorated service must remain public in order to not break views
  # (de-)serialization.
  # See https://www.drupal.org/project/multiversion/issues/2973609
  multiversion.route_provider:
    decorates: 'router.route_provider'
    class: Drupal\multiversion\RouteProvider
    arguments: ['@database', '@state', '@path.current', '@cache.data', '@path_processor_manager', '@cache_tags.invalidator', 'router', '@language_manager', '@workspace.manager']
    decoration_priority: 50
    tags:
      - { name: event_subscriber }
      - { name: backend_overridable }
  multiversion.node_revision_route_subscriber:
    class: Drupal\multiversion\EventSubscriber\NodeRevisionRouteSubscriber
    tags:
      - { name: event_subscriber }
  multiversion.menu_content_link_migrate_subscriber:
    class: Drupal\multiversion\EventSubscriber\MenuLinkContentMigrateSubscriber
    arguments: ['@database', '@plugin.manager.menu.link']
    tags:
      - { name: event_subscriber }
  multiversion.file_usage_migrate_subscriber:
    class: Drupal\multiversion\EventSubscriber\FileUsageMigrateSubscriber
    arguments: ['@database', '@module_handler']
    tags:
      - { name: event_subscriber }
  multiversion.search_api_migrate_subscriber:
    class: Drupal\multiversion\EventSubscriber\SearchApiMigrateSubscriber
    arguments: ['@module_handler', '@entity_type.manager']
    tags:
      - { name: event_subscriber }
  multiversion.pathauto_alias_subscriber:
    class: Drupal\multiversion\EventSubscriber\PathAutoAliasSubscriber
    arguments: ['@state']
    tags:
      - { name: event_subscriber }

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc