Abrufen von Benutzerlisten in Unternehmen oder Projekten mit Filterung und Seitenumbruch.


Benutzer auflisten

Blue bietet mehrere Abfragen, um Benutzer in unterschiedlichen Bereichen aufzulisten - unternehmensweit, projektspezifisch oder individuelle Benutzersuche. Diese Abfragen unterstützen Seitenumbruch, Filterung und Sortierung, um große Benutzerbasen effizient zu verwalten.

Einfaches Beispiel - Unternehmensbenutzer

Listen Sie alle Benutzer in einem Unternehmen auf:

query ListCompanyUsers {
  companyUserList(companyId: "acme-corp") {
    users {
      id
      email
      fullName
      jobTitle
      lastActiveAt
    }
    pageInfo {
      totalItems
      hasNextPage
    }
  }
}

Fortgeschrittenes Beispiel - Gefilterte Projektbenutzer

Listen Sie Projektbenutzer mit Suche und Seitenumbruch auf:

query ListProjectUsers {
  projectUserList(
    projectId: "web-redesign"
    search: "engineer"
    first: 20
    orderBy: lastActiveAt_DESC
  ) {
    edges {
      node {
        id
        email
        fullName
        accessLevel
        customRole {
          id
          name
        }
      }
    }
    pageInfo {
      hasNextPage
      endCursor
    }
  }
}

Verfügbare Abfragen

companyUserList

Listet alle Benutzer in einem Unternehmen mit optionaler Filterung auf.

Eingabeparameter

Parameter Typ Erforderlich Beschreibung
companyId String! ✅ Ja Unternehmens-ID oder Slug
notInProjectId String Nein Benutzer ausschließen, die bereits in diesem Projekt sind
search String Nein Suche nach Name oder E-Mail
first Int Nein Anzahl der zurückzugebenden Ergebnisse (Vorwärtsseitenumbruch)
after String Nein Cursor für Vorwärtsseitenumbruch
last Int Nein Anzahl der zurückzugebenden Ergebnisse (Rückwärtsseitenumbruch)
before String Nein Cursor für Rückwärtsseitenumbruch
skip Int Nein Anzahl der zu überspringenden Ergebnisse
orderBy UserOrderByInput Nein Sortierreihenfolge (siehe unten)

projectUserList

Listet alle Benutzer in einem bestimmten Projekt auf.

Eingabeparameter

Parameter Typ Erforderlich Beschreibung
projectId String! ✅ Ja Projekt-ID oder Slug
search String Nein Suche nach Name oder E-Mail
first Int Nein Anzahl der Ergebnisse (max: 200)
after String Nein Cursor für Seitenumbruch
orderBy UserOrderByInput Nein Sortierreihenfolge

user

Ruft einen einzelnen Benutzer anhand der ID ab.

Eingabeparameter

Parameter Typ Erforderlich Beschreibung
id String! ✅ Ja Benutzer-ID

Sortieroptionen

UserOrderByInput-Werte

Wert Beschreibung
createdAt_ASC Nach Registrierungsdatum sortieren (älteste zuerst)
createdAt_DESC Nach Registrierungsdatum sortieren (neueste zuerst)
lastActiveAt_ASC Nach letzter Aktivität sortieren (älteste zuerst)
lastActiveAt_DESC Nach letzter Aktivität sortieren (neueste zuerst)
firstName_ASC Nach Vornamen sortieren (A-Z)
firstName_DESC Nach Vornamen sortieren (Z-A)
lastName_ASC Nach Nachnamen sortieren (A-Z)
lastName_DESC Nach Nachnamen sortieren (Z-A)
email_ASC Nach E-Mail-Adresse sortieren (A-Z)
email_DESC Nach E-Mail-Adresse sortieren (Z-A)
username_ASC Nach Benutzernamen sortieren (A-Z)
username_DESC Nach Benutzernamen sortieren (Z-A)
jobTitle_ASC Nach Berufsbezeichnung sortieren (A-Z)
jobTitle_DESC Nach Berufsbezeichnung sortieren (Z-A)

Antwortfelder

Benutzerobjekt

Feld Typ Beschreibung
id String! Eindeutiger Benutzeridentifikator
uid String! Firebase-Authentifizierungs-UID
username String! Vom Benutzer gewählter Benutzername
email String! E-Mail-Adresse (nur für EIGENTÜMER/ADMIN sichtbar)
firstName String Vorname
lastName String Nachname
fullName String Kombinierter Vor- und Nachname
jobTitle String Beruflicher Titel
phoneNumber String Kontaktnummer
dateOfBirth DateTime Geburtsdatum
isEmailVerified Boolean! E-Mail-Bestätigungsstatus
lastActiveAt DateTime Zeitstempel der letzten Aktivität
createdAt DateTime! Datum der Kontoerstellung
updatedAt DateTime! Letzte Profilaktualisierung
isOnline Boolean! Aktueller Online-Status
timezone String Zeitzone des Benutzers
locale String Sprachpräferenz
theme JSON UI-Theme-Präferenzen
image Image Profilbildobjekt

Zusätzliche Felder für Projektbenutzer

Beim Auflisten von Projektbenutzern sind zusätzliche Felder verfügbar:

Feld Typ Beschreibung
accessLevel UserAccessLevel! Rolle des Benutzers im Projekt
customRole ProjectUserRole Details zur benutzerdefinierten Rolle, falls zutreffend
joinedAt DateTime! Wann der Benutzer dem Projekt beigetreten ist

Seitenumbruch-Info

Feld Typ Beschreibung
totalItems Int! Gesamtanzahl der Benutzer
totalPages Int Gesamtseiten (für Offset-Seitenumbruch)
page Int Aktuelle Seitenzahl
perPage Int Elemente pro Seite
hasNextPage Boolean! Weitere Ergebnisse verfügbar
hasPreviousPage Boolean! Vorherige Ergebnisse verfügbar
startCursor String Cursor für das erste Element
endCursor String Cursor für das letzte Element

Erforderliche Berechtigungen

Abfrage Erforderliche Berechtigung
companyUserList Any authenticated user in the company
projectUserList Any project member (including VIEW_ONLY)
user Any authenticated user

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"
    }
  }]
}

Unbefugter Zugriff

{
  "errors": [{
    "message": "You don't have access to this resource",
    "extensions": {
      "code": "UNAUTHORIZED"
    }
  }]
}

Wichtige Hinweise

  • Leistung: Verwenden Sie Seitenumbruch für große Benutzerlisten (max. 200 Benutzer pro Anfrage)
  • Suche: Sucht in den Feldern Vorname, Nachname und E-Mail
  • E-Mail-Privatsphäre: E-Mail-Adressen sind nur für Benutzer mit EIGENTÜMER- oder ADMIN-Zugriffsrechten sichtbar
  • Online-Status: isOnline aktualisiert sich in Echtzeit über WebSocket-Verbindungen
  • Profilbilder: Verwenden Sie das image.variants-Feld für verschiedene Größen
  • Filterung: Der notInProjectId-Parameter ist nützlich beim Erstellen von Benutzer-Auswahloberflächen
  • Zugriffslevel: Projektbenutzerlisten enthalten Rollendaten, die in Unternehmenslisten nicht verfügbar sind

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