services:
    oro_api.delete.processor:
        class: Oro\Bundle\ApiBundle\Processor\DeleteProcessor
        arguments:
            - '@oro_api.processor_bag'
            - delete
            - '@oro_api.config_provider'
            - '@oro_api.metadata_provider'

    #
    # initialize
    #

    oro_api.delete.initialize_config_extras:
        class: Oro\Bundle\ApiBundle\Processor\Delete\InitializeConfigExtras
        tags:
            - { name: oro.api.processor, action: delete, group: initialize, priority: 10 }

    #
    # resource_check
    #

    #
    # normalize_input
    #

    #
    # security_check
    #

    #
    # load_data
    #

    #
    # data_security_check
    #

    oro_api.delete.validate_entity_object_access:
        class: Oro\Bundle\ApiBundle\Processor\Shared\ValidateEntityObjectAccess
        arguments:
            - '@security.authorization_checker'
            - DELETE
        tags:
            - { name: oro.api.processor, action: delete, group: data_security_check, priority: 10 }

    #
    # delete_data
    #

    oro_api.delete.delete_entity_by_delete_handler:
        class: Oro\Bundle\ApiBundle\Processor\Delete\DeleteEntityByDeleteHandler
        arguments:
            - '@oro_api.doctrine_helper'
            - '@oro_entity.delete_handler_registry'
        tags:
            - { name: oro.api.processor, action: delete, group: delete_data, priority: -10 }

    #
    # finalize
    #

    #
    # normalize_result
    #
