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

DashboardFilterInput

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

DashboardPagination

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

KI-Assistent

Antworten werden mit KI generiert und können Fehler enthalten.

Wie kann ich Ihnen helfen?

Fragen Sie mich alles über Blue oder diese Dokumentation.

Eingabe zum Senden • Shift+Eingabe für neue Zeile • ⌘I zum Öffnen