services:
  plugin.manager.social_group.join:
    class: Drupal\social_group\JoinManager
    parent: default_plugin_manager

  social_group.route_subscriber:
    class: Drupal\social_group\Routing\RouteSubscriber
    tags:
      - { name: event_subscriber, priority: 2 }

  social_group.helper_service:
    class: Drupal\social_group\SocialGroupHelperService
    arguments:
      - '@database'
      - '@module_handler'
      - '@string_translation'
      - '@entity_type.manager'
      - '@renderer'

  social_group.cross_posting:
    class: Drupal\social_group\CrossPostingService
    arguments: ['@entity_type.manager', '@database', '@plugin.manager.group_content_enabler']
  social_group.set_groups_for_node_service:
    class: Drupal\social_group\SetGroupsForNodeService
    arguments: ['@entity_type.manager', '@module_handler']
  social_group.group_content_visibility_update:
    class: Drupal\social_group\GroupContentVisibilityUpdate
    arguments: ['@entity_type.manager', '@module_handler']
  social_group.address_format_subscriber:
    class: Drupal\social_group\EventSubscriber\AddressFormatSubscriber
    tags:
      - { name: event_subscriber }
  social_group.redirect_subscriber:
    class: Drupal\social_group\EventSubscriber\RedirectSubscriber
    tags:
      - { name: event_subscriber }
  social_group.overrider:
    class: Drupal\social_group\SocialGroupSelectorWidgetConfigOverride
    tags:
      - {name: config.factory.override, priority: 10}
  social_group.admin_people_override:
    class: Drupal\social_group\SocialGroupAdminPeopleConfigOverride
    arguments: ['@module_handler']
    tags:
    - {name: config.factory.override, priority: 10}
  social_group.group_statistics:
    class: Drupal\social_group\GroupStatistics
    arguments: ['@database']
  social_group.group_mute_notify:
    class: Drupal\social_group\GroupMuteNotify
    arguments: ['@flag', '@entity_type.manager']
  cache_context.social_group_join_method:
    class: Drupal\social_group\CacheContext\SocialGroupJoinMethodCacheContext
    arguments: []
    tags:
      - { name: cache.context }
