services:
    _defaults:
        autowire: true
        autoconfigure: true
        public: false
        bind:
            $extension: '@Zikula\GroupsModule\ZikulaGroupsModule'

    Zikula\GroupsModule\:
        resource: '../../*'
        exclude: '../../{bootstrap.php,Tests,vendor}'

    Zikula\GroupsModule\Helper\:
        resource: '../../Helper/*'
        lazy: true

    Zikula\GroupsModule\Entity\RepositoryInterface\GroupApplicationRepositoryInterface: '@Zikula\GroupsModule\Entity\Repository\GroupApplicationRepository'
    Zikula\GroupsModule\Entity\RepositoryInterface\GroupRepositoryInterface: '@Zikula\GroupsModule\Entity\Repository\GroupRepository'

    Zikula\GroupsModule\Entity\Repository\GroupRepository:
        public: true # used in GroupsModuleInstaller from the container
        calls:
            - setTranslator: ['@Symfony\Contracts\Translation\TranslatorInterface']

    Zikula\GroupsModule\Menu\MenuBuilder:
        tags:
            - { name: knp_menu.menu_builder, method: createAdminMenu, alias: zikulaGroupsAdminMenu }
            - { name: knp_menu.menu_builder, method: createUserMenu, alias: zikulaGroupsUserMenu }
