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
- Benutzerverwaltungsübersicht - Benutzerverwaltungsoperationen
- Benutzer entfernen - Benutzer aus Projekten entfernen
- Benutzerdefinierte Rollen - Benutzerberechtigungen verwalten