Recuperar una lista paginada de tableros a los que tienes acceso para ver o modificar
Listar Tableros
Recupera tableros a los que tienes acceso para ver. Esto incluye tableros que creaste y tableros que han sido compartidos contigo.
Ejemplo Básico
query ListDashboards {
dashboards(filter: { companyId: "company_123" }) {
items {
id
title
createdBy {
id
name
email
}
createdAt
updatedAt
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
}
Ejemplo Avanzado
query ListDashboardsAdvanced {
dashboards(
filter: {
companyId: "company_123"
projectId: "proj_456" # Optional: filter by project
}
sort: [updatedAt_DESC, title_ASC]
skip: 0
take: 10
) {
items {
id
title
createdBy {
id
name
email
}
dashboardUsers {
id
role
user {
id
name
email
}
}
createdAt
updatedAt
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
}
Parámetros de Entrada
Parámetro |
Tipo |
Requerido |
Descripción |
companyId |
String! |
✅ Sí |
ID de la empresa para filtrar tableros |
projectId |
String |
No |
ID de proyecto opcional para filtrar tableros |
Opciones de Ordenamiento
Valor de Ordenamiento |
Descripción |
title_ASC |
Ordenar por título ascendente |
title_DESC |
Ordenar por título descendente |
createdBy_ASC |
Ordenar por creador ascendente |
createdBy_DESC |
Ordenar por creador descendente |
updatedAt_ASC |
Ordenar por tiempo de actualización ascendente |
updatedAt_DESC |
Ordenar por tiempo de actualización descendente (predeterminado) |
Parámetros de Paginación
Parámetro |
Tipo |
Predeterminado |
Descripción |
skip |
Int |
0 |
Número de elementos a omitir |
take |
Int |
20 |
Número de elementos a devolver (máx. 100) |
Campos de Respuesta
Campo |
Tipo |
Descripción |
items |
[Dashboard!]! |
Array de objetos de tableros |
pageInfo |
PageInfo! |
Información de paginación |
Dashboard
Campo |
Tipo |
Descripción |
id |
ID! |
Identificador único para el tablero |
title |
String! |
Nombre de visualización del tablero |
createdBy |
User! |
Usuario que creó el tablero |
dashboardUsers |
[DashboardUser!] |
Usuarios con acceso a este tablero |
createdAt |
DateTime! |
Cuándo se creó el tablero |
updatedAt |
DateTime! |
Cuándo se modificó por última vez el tablero |
DashboardUser
Campo |
Tipo |
Descripción |
id |
ID! |
Identificador único para el usuario del tablero |
role |
DashboardRole! |
Rol del usuario (VISOR o EDITOR) |
user |
User! |
Información del usuario |
Control de Acceso
Visibilidad del Tablero
Solo puedes ver tableros donde eres:
- El creador del tablero
- Acceso otorgado explícitamente a través de la compartición del tablero
Permisos Requeridos
- Autenticación Requerida: Debes estar conectado
- Acceso a la Empresa: Debes tener acceso a la empresa especificada
- Acceso al Proyecto: Si filtras por proyecto, debes tener acceso a ese proyecto
Respuestas de Error
Empresa No Encontrada
{
"errors": [{
"message": "Company not found",
"extensions": {
"code": "COMPANY_NOT_FOUND"
}
}]
}
Proyecto No Encontrado
{
"errors": [{
"message": "Project not found",
"extensions": {
"code": "PROJECT_NOT_FOUND"
}
}]
}
Casos de Uso Comunes
Listar Todos los Tableros de la Empresa
query CompanyDashboards {
dashboards(filter: { companyId: "company_123" }) {
items {
id
title
createdBy { name }
}
}
}
Listar Tableros Específicos de Proyecto
query ProjectDashboards {
dashboards(filter: {
companyId: "company_123"
projectId: "proj_456"
}) {
items {
id
title
}
}
}
Lista de Tableros Paginada
query PaginatedDashboards {
dashboards(
filter: { companyId: "company_123" }
skip: 20
take: 10
) {
items {
id
title
}
pageInfo {
hasNextPage
hasPreviousPage
}
}
}
Mejores Prácticas
Rendimiento
- Usa paginación para un mejor rendimiento con listas de tableros grandes
- Solo solicita los campos que necesitas en tu aplicación
- Considera almacenar en caché las listas de tableros para datos de acceso frecuente
Filtrado
- Siempre filtra por empresa para asegurar una adecuada aislamiento de datos
- Usa el filtrado por proyecto al trabajar con tableros específicos de proyecto
- Combina filtros para reducir resultados de manera eficiente
Ordenamiento
- El ordenamiento predeterminado es por
updatedAt_DESC
(más recientemente actualizado primero)
- Usa el ordenamiento por título para organización alfabética
- Combina múltiples criterios de ordenamiento para necesidades de ordenamiento complejas
Operaciones Relacionadas