services:
    _defaults:
        autowire: true
        autoconfigure: true
        public: false
    
    Webkul\UVDesk\ApiBundle\:
        resource: '../../*'
        exclude: '../../{DependencyInjection,Templates,Package}'

    Webkul\UVDesk\ApiBundle\Controller\:
        resource: '../../Controller/*'
        tags: ['controller.service_arguments']
        
    Webkul\UVDesk\ApiBundle\API\:
        resource: '../../API/*'
        tags: ['controller.service_arguments']
    
    Webkul\UVDesk\ApiBundle\Providers\ApiCredentials:
        arguments: ['@security.firewall.map']
    
    Webkul\UVDesk\ApiBundle\Security\Guards\APIGuard:
        arguments: ['@security.firewall.map']
    
    Webkul\UVDesk\ApiBundle\EventListeners\API\KernelRequest:
        arguments: ['@security.firewall.map']
        tags:
            - { name: kernel.event_listener, event: kernel.request }
            - { name: kernel.event_listener, event: kernel.response }
    
    Webkul\UVDesk\ApiBundle\EventListeners\API\KernelException:
        arguments: ['@security.firewall.map']
        tags:
            - { name: kernel.event_listener, event: kernel.exception }
