services:
#  user.exist_filter:
#    parent: 'api_platform.doctrine.orm.exists_filter'
#    arguments: [ { childrens: ~ } ]
#    tags:  [ 'api_platform.filter' ]
  user.order_filter:
    parent: 'api_platform.doctrine.orm.order_filter'
    arguments:
      $properties: { id: ~, email: ~, firstName: ~, lastName: ~, phone: ~, state: ~, roles: ~, createdAt: ~, updatedAt: ~ }
      $orderParameterName: order
    tags: [ 'api_platform.filter' ]

  user.global_search_filter:
    parent: 'api.filter.global_search_filter'
    arguments:
      $properties: [
        'firstName',
        'lastName',
        'state',
        'roles',
        'email',
      ]
    tags: [ 'api_platform.filter' ]

  user.name_search_filter:
    parent: 'api.filter.global_search_filter'
    arguments:
      $parameterName: 'name'
      $properties: [
        'firstName',
        'lastName',
      ]
    tags: [ 'api_platform.filter' ]

  user.search_filter:
    parent: 'api_platform.doctrine.orm.search_filter'
    arguments: [ { id: 'exact', email: 'partial', firstName: 'partial', lastName: 'partial', phone: 'partial', state: 'exact', roles: 'exact', createdAt: 'exact', updatedAt: 'exact' } ]
    tags: [ 'api_platform.filter' ]