services:
    _defaults:
        autowire: true
        autoconfigure: true
        public: false
        bind:
            $extension: '@Zikula\PermissionsModule\ZikulaPermissionsModule'

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

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

    Zikula\PermissionsModule\Api\ApiInterface\PermissionApiInterface: '@Zikula\PermissionsModule\Api\PermissionApi'
    Zikula\PermissionsModule\Entity\RepositoryInterface\PermissionRepositoryInterface: '@Zikula\PermissionsModule\Entity\Repository\PermissionRepository'

    Zikula\PermissionsModule\Menu\MenuBuilder:
        tags:
            - { name: knp_menu.menu_builder, method: createAdminActionsMenu, alias: zikulaPermissionsAdminActionsMenu }

    Zikula\PermissionsModule\Listener\AccessDeniedExceptionListener:
        arguments:
            $installed: '%env(ZIKULA_INSTALLED)%'
        tags:
            - { name: monolog.logger, channel: request }
