services :
    # default configuration for services in *this* file
    _defaults :
        # automatically injects dependencies in your services
        autowire : true
        # automatically registers your services as commands, event subscribers, etc.
        autoconfigure : true
        # this means you cannot fetch services directly from the container via $container->get()
        # if you need to do this, you can override this setting on individual services
        public : false

    # controllers are imported separately to make sure they're public
    # and have a tag that allows actions to type-hint services
    GildanWebHookBundle\Controller\ :
        resource : '../../Controller'
        public : true
        tags : [ 'controller.service_arguments' ]

    GildanWebHookBundle\Installer\GildanWebHookBundleInstaller :
        public : true
        arguments :
            $bundle : "@=service('kernel').getBundle('GildanWebHookBundle')"
    GildanWebHookBundle\Helpers\OptionsProvider :
        public : true
    # add more services, or override services that need manual wiring
    #    GildanWebHookBundle\ExampleClass:
    #        arguments:
    #            - "@service_id"
    #            - "plain_value"
    #            - "%parameter%"
    GildanWebHookBundle\EventListener\GildanWebHookListener :
        public : true
        tags :
            - { name : kernel.event_listener, event : pimcore.dataobject.preAdd, method : onPreAdd }
            - { name : kernel.event_listener, event : pimcore.dataobject.postAdd, method : onPostAdd }
            - { name : kernel.event_listener, event : pimcore.dataobject.postAddFailure, method : onPostAddFailure }
            - { name : kernel.event_listener, event : pimcore.dataobject.preUpdate, method : onPreUpdate }
            - { name : kernel.event_listener, event : pimcore.dataobject.postUpdate, method : onPostUpdate }
            - { name : kernel.event_listener, event : pimcore.dataobject.postUpdateFailure, method : onPostUpdateFailure }
            - { name : kernel.event_listener, event : pimcore.dataobject.deleteInfo, method : onDeleteInfo }
            - { name : kernel.event_listener, event : pimcore.dataobject.preDelete, method : onPreDelete }
            - { name : kernel.event_listener, event : pimcore.dataobject.postDelete, method : onPostDelete }
            - { name : kernel.event_listener, event : pimcore.dataobject.postDeleteFailure, method : onPostDeleteFailure }
            - { name : kernel.event_listener, event : pimcore.dataobject.postCopy, method : onPostCopy }
            - { name : kernel.event_listener, event : pimcore.dataobject.postCsvItemExport, method : onPostCsvItemExport }

    GildanWebHookBundle\EventListener\SecurityKeyGeneratorListener :
        public : true
        tags :
            - { name : kernel.event_listener, event : pimcore.dataobject.preAdd, method : onWebhookAdd }
