> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Aprenda a usar el Hook de filtro con la extensión Delegated Administration.

# Delegated Administration: Hook de filtro

De forma predeterminada, los usuarios con el rol **Delegated Admin - User** ven todos los usuarios asociados a la cuenta de Auth0. Sin embargo, puede usar el **Hook de filtro** para filtrar los datos que ven esos usuarios.

<div id="hook-contract">
  ## Contrato del hook
</div>

* **ctx**: Objeto de contexto.
* **callback(error, query)**: Función callback a la que puede devolver un error o la consulta de Lucene que se usa para filtrar usuarios. La extensión enviará esta consulta al endpoint [**Get Users**](https://auth0.com/docs/api/management/v2#!/Users/get_users) de la <Tooltip tip="Management API: Un producto que permite a los clientes realizar tareas administrativas." cta="Ver glosario" href="/es/docs/glossary?term=Management+API">Management API</Tooltip>.

Para obtener más información sobre la consulta de Lucene, consulte [Sintaxis de consultas de búsqueda de usuarios](/es/docs/manage-users/user-search/user-search-query-syntax).

<div id="sample-use">
  ### Ejemplo de uso
</div>

Si Kelly administra el departamento de Finanzas, solo debería ver los usuarios que también forman parte del departamento de Finanzas. Filtraremos los usuarios según el departamento del usuario actual (que, en este caso, corresponden al departamento de Finanzas y a Kelly, respectivamente).

```javascript lines theme={null}
function(ctx, callback) {
  // Obtener el departamento de los metadatos del usuario actual.
  var department = ctx.request.user.app_metadata && ctx.request.user.app_metadata.department;
  if (!department || !department.length) {
    return callback(new Error('The current user is not part of any department.'));
  }

  // El departamento de TI puede ver todos los usuarios.
  if (department === 'IT') {
    return callback();
  }

  // Devolver la consulta de Lucene.
  return callback(null, 'app_metadata.department:"' + department + '"');
}
```

<div id="search-engine-override">
  ### Anular el motor de búsqueda
</div>

Puede reemplazar el motor de búsqueda predeterminado especificando cuál desea usar en la respuesta.

```javascript lines theme={null}
// Devuelve la consulta de Lucene.
return callback(null, { query: 'app_metadata.department:"' + department + '"', searchEngine: 'v2' });
```

<div id="notes">
  ## Notas
</div>

No use comillas simples, comillas dobles ni ningún otro carácter especial (como **+** o **-**) en los términos por los que desee filtrar. Esto puede causar problemas con la consulta de Lucene.

Si usa varios operadores como OR, NOT o AND, encierre esos parámetros de búsqueda entre paréntesis \[`()`] para delimitar dónde se aplica cada operador.

Si no configura este Hook, la búsqueda devuelve **todos los usuarios**.

<div id="learn-more">
  ## Más información
</div>

* [Delegated Administration: Hook de acceso](/es/docs/customize/extensions/delegated-administration-extension/delegated-administration-hooks/delegated-administration-access-hook)
* [Delegated Administration: Hook de consulta de membresías](/es/docs/customize/extensions/delegated-administration-extension/delegated-administration-hooks/delegated-administration-memberships-query-hook)
* [Delegated Administration: Hook de consulta de configuración](/es/docs/customize/extensions/delegated-administration-extension/delegated-administration-hooks/delegated-administration-settings-query-hook)
* [Delegated Administration: Hook de escritura](/es/docs/customize/extensions/delegated-administration-extension/delegated-administration-hooks/delegated-administration-write-hook)
