Eine paginierte Liste von Dashboards abrufen, auf die Sie Zugriff haben, um sie anzuzeigen oder zu ändern
Dashboards auflisten
Rufen Sie Dashboards ab, auf die Sie Zugriff haben, um sie anzuzeigen. Dies umfasst Dashboards, die Sie erstellt haben, und Dashboards, die mit Ihnen geteilt wurden.
Einfaches Beispiel
query ListDashboards {
dashboards(filter: { companyId: "company_123" }) {
items {
id
title
createdBy {
id
name
email
}
createdAt
updatedAt
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
}
Fortgeschrittenes Beispiel
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
}
}
}
Eingabeparameter
Parameter |
Typ |
Erforderlich |
Beschreibung |
companyId |
String! |
✅ Ja |
Unternehmens-ID zum Filtern von Dashboards |
projectId |
String |
Nein |
Optionale Projekt-ID zum Filtern von Dashboards |
Sortieroptionen
Sortierwert |
Beschreibung |
title_ASC |
Nach Titel aufsteigend sortieren |
title_DESC |
Nach Titel absteigend sortieren |
createdBy_ASC |
Nach Ersteller aufsteigend sortieren |
createdBy_DESC |
Nach Ersteller absteigend sortieren |
updatedAt_ASC |
Nach Aktualisierungszeit aufsteigend sortieren |
updatedAt_DESC |
Nach Aktualisierungszeit absteigend sortieren (Standard) |
Paginierungsparameter
Parameter |
Typ |
Standard |
Beschreibung |
skip |
Int |
0 |
Anzahl der zu überspringenden Elemente |
take |
Int |
20 |
Anzahl der zurückzugebenden Elemente (max. 100) |
Antwortfelder
Feld |
Typ |
Beschreibung |
items |
[Dashboard!]! |
Array von Dashboard-Objekten |
pageInfo |
PageInfo! |
Paginierungsinformationen |
Dashboard
Feld |
Typ |
Beschreibung |
id |
ID! |
Eindeutiger Bezeichner für das Dashboard |
title |
String! |
Anzeigename des Dashboards |
createdBy |
User! |
Benutzer, der das Dashboard erstellt hat |
dashboardUsers |
[DashboardUser!] |
Benutzer mit Zugriff auf dieses Dashboard |
createdAt |
DateTime! |
Wann das Dashboard erstellt wurde |
updatedAt |
DateTime! |
Wann das Dashboard zuletzt geändert wurde |
DashboardUser
Feld |
Typ |
Beschreibung |
id |
ID! |
Eindeutiger Bezeichner für den Dashboard-Benutzer |
role |
DashboardRole! |
Rolle des Benutzers (ANZEIGER oder REDAKTEUR) |
user |
User! |
Benutzerinformationen |
Zugriffskontrolle
Sichtbarkeit von Dashboards
Sie können nur Dashboards sehen, bei denen Sie:
- Der Ersteller des Dashboards sind
- Ihnen explizit über das Teilen von Dashboards Zugriff gewährt wurde
Erforderliche Berechtigungen
- Authentifizierung erforderlich: Sie müssen angemeldet sein
- Unternehmenszugriff: Sie müssen Zugriff auf das angegebene Unternehmen haben
- Projektzugriff: Wenn Sie nach Projekt filtern, müssen Sie Zugriff auf dieses Projekt haben
Fehlermeldungen
Unternehmen nicht gefunden
{
"errors": [{
"message": "Company not found",
"extensions": {
"code": "COMPANY_NOT_FOUND"
}
}]
}
Projekt nicht gefunden
{
"errors": [{
"message": "Project not found",
"extensions": {
"code": "PROJECT_NOT_FOUND"
}
}]
}
Häufige Anwendungsfälle
Alle Unternehmensdashboards auflisten
query CompanyDashboards {
dashboards(filter: { companyId: "company_123" }) {
items {
id
title
createdBy { name }
}
}
}
Projektbezogene Dashboards auflisten
query ProjectDashboards {
dashboards(filter: {
companyId: "company_123"
projectId: "proj_456"
}) {
items {
id
title
}
}
}
Paginierte Dashboard-Liste
query PaginatedDashboards {
dashboards(
filter: { companyId: "company_123" }
skip: 20
take: 10
) {
items {
id
title
}
pageInfo {
hasNextPage
hasPreviousPage
}
}
}
Best Practices
Leistung
- Verwenden Sie Paginierung für bessere Leistung bei großen Dashboard-Listen
- Fordern Sie nur die Felder an, die Sie in Ihrer Anwendung benötigen
- Ziehen Sie in Betracht, Dashboard-Listen für häufig abgerufene Daten zwischenzuspeichern
Filtern
- Filtern Sie immer nach Unternehmen, um eine ordnungsgemäße Datenisolierung sicherzustellen
- Verwenden Sie Projektfilterung, wenn Sie mit projektbezogenen Dashboards arbeiten
- Kombinieren Sie Filter, um die Ergebnisse effizient einzugrenzen
Sortierung
- Die Standard-Sortierung erfolgt nach
updatedAt_DESC
(zuletzt aktualisiert zuerst)
- Verwenden Sie die Titelsortierung für eine alphabetische Organisation
- Kombinieren Sie mehrere Sortierkriterien für komplexe Sortierbedürfnisse
Verwandte Operationen