services:
    api_platform.filter.calendar.order:
        parent: 'api_platform.doctrine.orm.order_filter'
        arguments:
            $properties: { 'id': ~, 'name': ~,}
            $orderParameterName: 'order'
        tags: [ 'api_platform.filter' ]

    api_platform.filter.calendar.search:
        parent: 'api_platform.doctrine.orm.search_filter'
        arguments: [ { 'id': 'exact', 'name': 'exact'} ]
        tags: [ 'api_platform.filter' ]

    api_platform.filter.client.order:
        parent: 'api_platform.doctrine.orm.order_filter'
        arguments:
            $properties: { 'id': ~, 'name': ~, 'serialNumber': ~ }
            $orderParameterName: 'order'
        tags: [ 'api_platform.filter' ]

    api_platform.filter.client.search:
        parent: 'api_platform.doctrine.orm.search_filter'
        arguments: [ { 'id': 'exact', 'uuid': exact, 'name': 'partial', 'serialNumber': 'exact', 'template.id': 'exact', status: 'exact', organizationalUnit.id: 'exact', mac: 'exact', ip: 'exact', subnet.id: 'exact' } ]
        tags: [ 'api_platform.filter' ]

    api_platform.filter.client.exist:
        parent: 'api_platform.doctrine.orm.exists_filter'
        arguments: [{'subnet': ~, 'template': ~ }]
        tags: [ 'api_platform.filter' ]

    api_platform.filter.command.order:
        parent: 'api_platform.doctrine.orm.order_filter'
        arguments:
            $properties: { 'id': ~, 'name': ~ }
            $orderParameterName: 'order'
        tags: [ 'api_platform.filter' ]

    api_platform.filter.command.search:
        parent: 'api_platform.doctrine.orm.search_filter'
        arguments: [ { 'id': 'exact', 'name': 'partial'} ]
        tags: [ 'api_platform.filter' ]

    api_platform.filter.command.boolean:
        parent: 'api_platform.doctrine.orm.boolean_filter'
        arguments: [ { 'enabled': ~, 'readOnly': ~ } ]
        tags: [ 'api_platform.filter' ]

    api_platform.filter.command_task.order:
        parent: 'api_platform.doctrine.orm.order_filter'
        arguments:
            $properties: { 'id': ~, 'name': ~ }
            $orderParameterName: 'order'
        tags: [ 'api_platform.filter' ]

    api_platform.filter.command_task.search:
        parent: 'api_platform.doctrine.orm.search_filter'
        arguments: [ { 'id': 'exact', 'name': 'partial' } ]
        tags: [ 'api_platform.filter' ]

    api_platform.filter.command_task_schedule.order:
        parent: 'api_platform.doctrine.orm.order_filter'
        arguments:
            $properties: { 'id': ~, 'name': ~ }
            $orderParameterName: 'order'
        tags: [ 'api_platform.filter' ]

    api_platform.filter.command_task_schedule.search:
        parent: 'api_platform.doctrine.orm.search_filter'
        arguments: [ { 'id': 'exact', 'name': 'partial', 'commandTask.id': 'exact' } ]
        tags: [ 'api_platform.filter' ]

    api_platform.filter.command_task_schedule.boolean:
        parent: 'api_platform.doctrine.orm.boolean_filter'
        arguments: [ { 'enabled': ~} ]
        tags: [ 'api_platform.filter' ]

    api_platform.filter.command_task_script.order:
        parent: 'api_platform.doctrine.orm.order_filter'
        arguments:
            $properties: { 'id': ~, 'name': ~ }
            $orderParameterName: 'order'
        tags: [ 'api_platform.filter' ]

    api_platform.filter.command_task_script.search:
        parent: 'api_platform.doctrine.orm.search_filter'
        arguments: [ { 'id': 'exact', 'name': 'partial', 'commandTask.id': 'exact' } ]
        tags: [ 'api_platform.filter' ]

    api_platform.filter.command_task_script.boolean:
        parent: 'api_platform.doctrine.orm.boolean_filter'
        arguments: [ { 'enabled': ~ } ]
        tags: [ 'api_platform.filter' ]

    api_platform.filter.hardware.order:
        parent: 'api_platform.doctrine.orm.order_filter'
        arguments:
            $properties: { 'id': ~, 'name': ~ }
            $orderParameterName: 'order'
        tags: [ 'api_platform.filter' ]

    api_platform.filter.image.order:
        parent: 'api_platform.doctrine.orm.order_filter'
        arguments:
            $properties: { 'id': ~, 'name': ~ }
            $orderParameterName: 'order'
        tags: [ 'api_platform.filter' ]

    api_platform.filter.image.search:
        parent: 'api_platform.doctrine.orm.search_filter'
        arguments: [ { 'id': 'exact', 'name': 'partial', 'repository.id': 'exact', status: 'exact', type: 'exact' } ]
        tags: [ 'api_platform.filter' ]

    api_platform.filter.image.boolean:
        parent: 'api_platform.doctrine.orm.boolean_filter'
        arguments: [ { 'created': ~ } ]
        tags: [ 'api_platform.filter' ]

    image.repository_filter:
        parent: 'App\Filter\ImageSearchRepositoryFilter'
        tags: [ 'api_platform.filter' ]

    software.software_profile_filter:
        parent: 'App\Filter\SoftwareProfileSearchSoftwareFilter'
        tags: [ 'api_platform.filter' ]

    api_platform.filter.og_live.order:
        parent: 'api_platform.doctrine.orm.order_filter'
        arguments:
            $properties: { 'id': ~, 'name': ~ }
            $orderParameterName: 'order'
        tags: [ 'api_platform.filter' ]

    api_platform.filter.og_live.search:
        parent: 'api_platform.doctrine.orm.search_filter'
        arguments: [ { 'id': 'exact', 'name': 'partial', 'status': 'exact' } ]
        tags: [ 'api_platform.filter' ]

    api_platform.filter.og_live.boolean:
        parent: 'api_platform.doctrine.orm.boolean_filter'
        arguments: [ { 'isDefault': ~, 'installed': ~ } ]
        tags: [ 'api_platform.filter' ]

    api_platform.filter.hardware.search:
        parent: 'api_platform.doctrine.orm.search_filter'
        arguments: [ { 'id': 'exact', 'name': 'partial' } ]
        tags: [ 'api_platform.filter' ]

    api_platform.filter.menu.order:
        parent: 'api_platform.doctrine.orm.order_filter'
        arguments:
            $properties: { 'id': ~, 'name': ~, 'title': ~ }
            $orderParameterName: 'order'
        tags: [ 'api_platform.filter' ]

    api_platform.filter.menu.search:
        parent: 'api_platform.doctrine.orm.search_filter'
        arguments: [ { 'id': 'exact', 'name': 'exact', 'title': 'exact' } ]
        tags: [ 'api_platform.filter' ]

    api_platform.filter.operative_system.order:
        parent: 'api_platform.doctrine.orm.order_filter'
        arguments:
            $properties: { 'id': ~, 'name': ~ }
            $orderParameterName: 'order'
        tags: [ 'api_platform.filter' ]

    api_platform.filter.operative_system.search:
        parent: 'api_platform.doctrine.orm.search_filter'
        arguments: [ { 'id': 'exact', 'name': 'partial' } ]
        tags: [ 'api_platform.filter' ]

    api_platform.filter.organizational_unit.order:
        parent: 'api_platform.doctrine.orm.order_filter'
        arguments:
            $properties: { 'id': ~, 'name': ~, 'type': ~ }
            $orderParameterName: 'order'
        tags: [ 'api_platform.filter' ]

    api_platform.filter.organizational_unit.search:
        parent: 'api_platform.doctrine.orm.search_filter'
        arguments: [ { id: 'exact', name: 'partial', type: 'exact', parent.id: 'exact'} ]
        tags: [ 'api_platform.filter' ]

    api_platform.filter.organizational_unit.group_filter:
        parent: 'api_platform.serializer.group_filter'
        arguments: [ 'groups', true, ['organizational-unit:read:collection:short'] ]
        tags: [ 'api_platform.filter' ]

    api_platform.filter.partition.order:
        parent: 'api_platform.doctrine.orm.order_filter'
        arguments:
            $properties: { 'id': ~, 'usage': ~, 'partitionNumber': 'ASC' }
            $orderParameterName: 'order'
        tags: [ 'api_platform.filter' ]

    api_platform.filter.partition.search:
        parent: 'api_platform.doctrine.orm.search_filter'
        arguments: [ { 'id': 'exact', 'usage': 'exact', 'diskNumber': 'exact', 'client.id': 'exact' } ]
        tags: [ 'api_platform.filter' ]

    api_platform.filter.pxe_template.order:
        parent: 'api_platform.doctrine.orm.order_filter'
        arguments:
            $properties: { 'id': ~, 'name': ~ }
            $orderParameterName: 'order'
        tags: [ 'api_platform.filter' ]

    api_platform.filter.pxe_boot_file.search:
        parent: 'api_platform.doctrine.orm.search_filter'
        arguments: [ { 'id': 'exact', 'template': exact } ]
        tags: [ 'api_platform.filter' ]

    api_platform.filter.pxe_template.search:
        parent: 'api_platform.doctrine.orm.search_filter'
        arguments: [ { 'id': 'exact', 'name': 'partial', } ]
        tags: [ 'api_platform.filter' ]

    api_platform.filter.pxe_template.boolean:
        parent: 'api_platform.doctrine.orm.boolean_filter'
        arguments: [ { 'synchronized': ~, 'isDefault': ~ } ]
        tags: [ 'api_platform.filter' ]

    api_platform.filter.remote_calendar.order:
        parent: 'api_platform.doctrine.orm.order_filter'
        arguments:
            $properties: { 'id': ~, 'name': ~ }
            $orderParameterName: 'order'
        tags: [ 'api_platform.filter' ]

    api_platform.filter.remote_calendar.search:
        parent: 'api_platform.doctrine.orm.search_filter'
        arguments: [ { 'id': 'exact', 'name': 'partial', } ]
        tags: [ 'api_platform.filter' ]

    api_platform.filter.repository.order:
        parent: 'api_platform.doctrine.orm.order_filter'
        arguments:
            $properties: { 'id': ~, 'name': ~ }
            $orderParameterName: 'order'
        tags: [ 'api_platform.filter' ]

    api_platform.filter.repository.search:
        parent: 'api_platform.doctrine.orm.search_filter'
        arguments: [ { 'id': 'exact', 'name': 'partial', 'ip': 'partial', 'status': 'exact'} ]
        tags: [ 'api_platform.filter' ]

    api_platform.filter.image_image_repository.order:
        parent: 'api_platform.doctrine.orm.order_filter'
        arguments:
            $properties: { 'id': ~, 'name': ~ }
            $orderParameterName: 'order'
        tags: [ 'api_platform.filter' ]

    api_platform.filter.image_image_repository.search:
        parent: 'api_platform.doctrine.orm.search_filter'
        arguments: [ { 'id': 'exact', 'name': 'partial', 'ip': 'partial', 'status': 'exact', 'repository.id': 'exact'} ]
        tags: [ 'api_platform.filter' ]

    repository.not_equal_filter:
        parent: 'App\Filter\NotEqualIdFilter'
        tags: [ 'api_platform.filter' ]

    api_platform.filter.software.order:
        parent: 'api_platform.doctrine.orm.order_filter'
        arguments:
            $properties: { 'id': ~, 'name': ~ }
            $orderParameterName: 'order'
        tags: [ 'api_platform.filter' ]

    api_platform.filter.software.search:
        parent: 'api_platform.doctrine.orm.search_filter'
        arguments: [ { 'id': 'exact', 'name': 'partial', type: 'exact'} ]
        tags: [ 'api_platform.filter' ]

    api_platform.filter.software_profile.order:
        parent: 'api_platform.doctrine.orm.order_filter'
        arguments:
            $properties: { 'id': ~, 'description': ~ }
            $orderParameterName: 'order'
        tags: [ 'api_platform.filter' ]

    api_platform.filter.software_profile.search:
        parent: 'api_platform.doctrine.orm.search_filter'
        arguments: [ { 'id': 'exact', 'description': 'partial'} ]
        tags: [ 'api_platform.filter' ]

    api_platform.filter.subnet.order:
        parent: 'api_platform.doctrine.orm.order_filter'
        arguments:
            $properties: { 'id': ~, 'name': ~ }
            $orderParameterName: 'order'
        tags: [ 'api_platform.filter' ]

    api_platform.filter.subnet.search:
        parent: 'api_platform.doctrine.orm.search_filter'
        arguments: [ { 'id': 'exact', 'name': 'partial', ip: 'exact', nextServer: 'exact', netmask: 'exact', bootFileName: 'partial'} ]
        tags: [ 'api_platform.filter' ]

    api_platform.filter.trace.search:
        parent: 'api_platform.doctrine.orm.search_filter'
        arguments: [ { 'id': 'exact', 'command': 'exact', 'client.id': 'exact', 'status': 'exact', 'jobId': 'exact' } ]
        tags: [ 'api_platform.filter' ]

    api_platform.filter.trace.order:
        parent: 'api_platform.doctrine.orm.order_filter'
        arguments:
            $properties: { 'id': ~, 'command': ~ }
            $orderParameterName: 'order'
        tags: [ 'api_platform.filter' ]

    api_platform.filter.trace.date:
        parent: 'api_platform.doctrine.orm.date_filter'
        arguments: [ { 'executedAt': ~, 'createdAt': ~ } ]
        tags: [ 'api_platform.filter' ]

    api_platform.filter.user.order:
        parent: 'api_platform.doctrine.orm.order_filter'
        arguments:
            $properties: { 'id': ~, 'username': ~ }
            $orderParameterName: 'order'
        tags: [ 'api_platform.filter' ]

    api_platform.filter.user.search:
        parent: 'api_platform.doctrine.orm.search_filter'
        arguments: [ { 'id': 'exact', 'username': 'partial' } ]
        tags: [ 'api_platform.filter' ]

    api_platform.filter.user.boolean:
        parent: 'api_platform.doctrine.orm.boolean_filter'
        arguments: [ { 'enabled': ~ } ]
        tags: [ 'api_platform.filter' ]

    api_platform.filter.user_group.order:
        parent: 'api_platform.doctrine.orm.order_filter'
        arguments:
            $properties: { 'id': ~, 'name': ~ }
            $orderParameterName: 'order'
        tags: [ 'api_platform.filter' ]

    api_platform.filter.user_group.search:
        parent: 'api_platform.doctrine.orm.search_filter'
        arguments: [ { 'id': 'exact', 'name': 'partial' } ]
        tags: [ 'api_platform.filter' ]

    api_platform.filter.user_group.boolean:
        parent: 'api_platform.doctrine.orm.boolean_filter'
        arguments: [ { 'enabled': ~ } ]
        tags: [ 'api_platform.filter' ]

    api_platform.filter.git_repository.order:
        parent: 'api_platform.doctrine.orm.order_filter'
        arguments:
            $properties: { 'id': ~, 'name': ~ }
            $orderParameterName: 'order'
        tags: [ 'api_platform.filter' ]

    api_platform.filter.git_repository.search:
        parent: 'api_platform.doctrine.orm.search_filter'
        arguments: [ { 'id': 'exact', 'name': 'partial', 'description': 'partial' } ]
        tags: [ 'api_platform.filter' ]

    api_platform.filter.git_image_repository.order:
        parent: 'api_platform.doctrine.orm.order_filter'
        arguments:
            $properties: { 'id': ~, 'name': ~, 'status': ~, 'tag': ~, 'branch': ~ }
            $orderParameterName: 'order'
        tags: [ 'api_platform.filter' ]

    api_platform.filter.git_image_repository.search:
        parent: 'api_platform.doctrine.orm.search_filter'
        arguments: [ { 'id': 'exact', 'name': 'partial', 'status': 'exact', 'tag': 'partial', 'branch': 'partial', 'image.id': 'exact', 'repository.id': 'exact', 'gitRepository.id': 'exact' } ]
        tags: [ 'api_platform.filter' ]


