Recupera un elenco paginato di dashboard a cui hai accesso per visualizzare o modificare
Elenco dei Dashboard
Recupera i dashboard a cui hai accesso per visualizzare. Questo include i dashboard che hai creato e i dashboard che ti sono stati condivisi.
Esempio di Base
query ListDashboards {
dashboards(filter: { companyId: "company_123" }) {
items {
id
title
createdBy {
id
name
email
}
createdAt
updatedAt
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
}
Esempio Avanzato
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
}
}
}
Parametro |
Tipo |
Richiesto |
Descrizione |
companyId |
String! |
✅ Sì |
ID dell'azienda per filtrare i dashboard |
projectId |
String |
No |
ID del progetto opzionale per filtrare i dashboard |
Opzioni di Ordinamento
Valore di Ordinamento |
Descrizione |
title_ASC |
Ordina per titolo in ordine crescente |
title_DESC |
Ordina per titolo in ordine decrescente |
createdBy_ASC |
Ordina per creatore in ordine crescente |
createdBy_DESC |
Ordina per creatore in ordine decrescente |
updatedAt_ASC |
Ordina per tempo di aggiornamento in ordine crescente |
updatedAt_DESC |
Ordina per tempo di aggiornamento in ordine decrescente (predefinito) |
Parametri di Paginazione
Parametro |
Tipo |
Predefinito |
Descrizione |
skip |
Int |
0 |
Numero di elementi da saltare |
take |
Int |
20 |
Numero di elementi da restituire (max 100) |
Campi di Risposta
Campo |
Tipo |
Descrizione |
items |
[Dashboard!]! |
Array di oggetti dashboard |
pageInfo |
PageInfo! |
Informazioni sulla paginazione |
Dashboard
Campo |
Tipo |
Descrizione |
id |
ID! |
Identificatore unico per il dashboard |
title |
String! |
Nome visualizzato del dashboard |
createdBy |
User! |
Utente che ha creato il dashboard |
dashboardUsers |
[DashboardUser!] |
Utenti con accesso a questo dashboard |
createdAt |
DateTime! |
Quando è stato creato il dashboard |
updatedAt |
DateTime! |
Quando è stato modificato l'ultimo dashboard |
DashboardUser
Campo |
Tipo |
Descrizione |
id |
ID! |
Identificatore unico per l'utente del dashboard |
role |
DashboardRole! |
Ruolo dell'utente (VISUALIZZATORE o EDITORE) |
user |
User! |
Informazioni sull'utente |
Controllo Accessi
Visibilità del Dashboard
Puoi vedere solo i dashboard in cui sei:
- Il creatore del dashboard
- Esplicitamente autorizzato tramite condivisione del dashboard
Permessi Richiesti
- Autenticazione Richiesta: Devi essere connesso
- Accesso all'Azienda: Devi avere accesso all'azienda specificata
- Accesso al Progetto: Se filtri per progetto, devi avere accesso a quel progetto
Risposte di Errore
Azienda Non Trovata
{
"errors": [{
"message": "Company not found",
"extensions": {
"code": "COMPANY_NOT_FOUND"
}
}]
}
Progetto Non Trovato
{
"errors": [{
"message": "Project not found",
"extensions": {
"code": "PROJECT_NOT_FOUND"
}
}]
}
Casi d'Uso Comuni
Elenco di Tutti i Dashboard dell'Azienda
query CompanyDashboards {
dashboards(filter: { companyId: "company_123" }) {
items {
id
title
createdBy { name }
}
}
}
Elenco dei Dashboard Specifici per Progetto
query ProjectDashboards {
dashboards(filter: {
companyId: "company_123"
projectId: "proj_456"
}) {
items {
id
title
}
}
}
Elenco Paginato dei Dashboard
query PaginatedDashboards {
dashboards(
filter: { companyId: "company_123" }
skip: 20
take: 10
) {
items {
id
title
}
pageInfo {
hasNextPage
hasPreviousPage
}
}
}
Migliori Pratiche
Prestazioni
- Usa la paginazione per migliori prestazioni con elenchi di dashboard grandi
- Richiedi solo i campi di cui hai bisogno nella tua applicazione
- Considera di memorizzare in cache gli elenchi di dashboard per dati frequentemente accessibili
Filtraggio
- Filtra sempre per azienda per garantire un'adeguata isolamento dei dati
- Usa il filtraggio per progetto quando lavori con dashboard specifici per progetto
- Combina i filtri per restringere i risultati in modo efficiente
Ordinamento
- L'ordinamento predefinito è per
updatedAt_DESC
(più recentemente aggiornato per primo)
- Usa l'ordinamento per titolo per un'organizzazione alfabetica
- Combina più criteri di ordinamento per esigenze di ordinamento complesse
Operazioni Correlate