Pobierz listy użytkowników w firmach lub projektach z filtrowaniem i paginacją.
Lista Użytkowników
Blue oferuje wiele zapytań do listowania użytkowników w różnych zakresach - w całej firmie, specyficznych dla projektu lub wyszukiwania pojedynczego użytkownika. Te zapytania obsługują paginację, filtrowanie i sortowanie, aby efektywnie zarządzać dużymi bazami użytkowników.
Podstawowy Przykład - Użytkownicy Firmy
Lista wszystkich użytkowników w firmie:
query ListCompanyUsers {
companyUserList(companyId: "acme-corp") {
users {
id
email
fullName
jobTitle
lastActiveAt
}
pageInfo {
totalItems
hasNextPage
}
}
}
Zaawansowany Przykład - Filtrowani Użytkownicy Projektu
Lista użytkowników projektu z wyszukiwaniem i paginacją:
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
}
}
}
Dostępne Zapytania
companyUserList
Lista wszystkich użytkowników w firmie z opcjonalnym filtrowaniem.
Parametry Wejściowe
Parametr | Typ | Wymagany | Opis |
---|---|---|---|
companyId |
String! | ✅ Tak | ID firmy lub slug |
notInProjectId |
String | Nie | Wyklucz użytkowników już w tym projekcie |
search |
String | Nie | Wyszukiwanie według imienia lub e-maila |
first |
Int | Nie | Liczba wyników do zwrócenia (paginacja do przodu) |
after |
String | Nie | Kursor do paginacji do przodu |
last |
Int | Nie | Liczba wyników do zwrócenia (paginacja wstecz) |
before |
String | Nie | Kursor do paginacji wstecz |
skip |
Int | Nie | Liczba wyników do pominięcia |
orderBy |
UserOrderByInput | Nie | Kolejność sortowania (patrz poniżej) |
projectUserList
Lista wszystkich użytkowników w konkretnym projekcie.
Parametry Wejściowe
Parametr | Typ | Wymagany | Opis |
---|---|---|---|
projectId |
String! | ✅ Tak | ID projektu lub slug |
search |
String | Nie | Wyszukiwanie według imienia lub e-maila |
first |
Int | Nie | Liczba wyników (max: 200) |
after |
String | Nie | Kursor do paginacji |
orderBy |
UserOrderByInput | Nie | Kolejność sortowania |
user
Pobiera pojedynczego użytkownika według ID.
Parametry Wejściowe
Parametr | Typ | Wymagany | Opis |
---|---|---|---|
id |
String! | ✅ Tak | ID użytkownika |
Opcje Sortowania
UserOrderByInput Wartości
Wartość | Opis |
---|---|
createdAt_ASC |
Sortuj według daty rejestracji (najstarsze pierwsze) |
createdAt_DESC |
Sortuj według daty rejestracji (najświeższe pierwsze) |
lastActiveAt_ASC |
Sortuj według ostatniej aktywności (najstarsze pierwsze) |
lastActiveAt_DESC |
Sortuj według ostatniej aktywności (najświeższe pierwsze) |
firstName_ASC |
Sortuj według imienia (A-Z) |
firstName_DESC |
Sortuj według imienia (Z-A) |
lastName_ASC |
Sortuj według nazwiska (A-Z) |
lastName_DESC |
Sortuj według nazwiska (Z-A) |
email_ASC |
Sortuj według adresu e-mail (A-Z) |
email_DESC |
Sortuj według adresu e-mail (Z-A) |
username_ASC |
Sortuj według nazwy użytkownika (A-Z) |
username_DESC |
Sortuj według nazwy użytkownika (Z-A) |
jobTitle_ASC |
Sortuj według tytułu zawodowego (A-Z) |
jobTitle_DESC |
Sortuj według tytułu zawodowego (Z-A) |
Pola Odpowiedzi
Obiekt Użytkownika
Pole | Typ | Opis |
---|---|---|
id |
String! | Unikalny identyfikator użytkownika |
uid |
String! | UID autoryzacji Firebase |
username |
String! | Wybrana nazwa użytkownika |
email |
String! | Adres e-mail (widoczny tylko dla WŁAŚCICIELA/ADMINA) |
firstName |
String | Imię |
lastName |
String | Nazwisko |
fullName |
String | Połączone imię i nazwisko |
jobTitle |
String | Tytuł zawodowy |
phoneNumber |
String | Numer kontaktowy |
dateOfBirth |
DateTime | Data urodzenia |
isEmailVerified |
Boolean! | Status weryfikacji e-maila |
lastActiveAt |
DateTime | Ostatni znacznik czasowy aktywności |
createdAt |
DateTime! | Data utworzenia konta |
updatedAt |
DateTime! | Ostatnia aktualizacja profilu |
isOnline |
Boolean! | Aktualny status online |
timezone |
String | Strefa czasowa użytkownika |
locale |
String | Preferencje językowe |
theme |
JSON | Preferencje motywu UI |
image |
Image | Obiekt zdjęcia profilowego |
Dodatkowe Pola Użytkownika Projektu
Podczas listowania użytkowników projektu dostępne są dodatkowe pola:
Pole | Typ | Opis |
---|---|---|
accessLevel |
UserAccessLevel! | Rola użytkownika w projekcie |
customRole |
ProjectUserRole | Szczegóły niestandardowej roli, jeśli dotyczy |
joinedAt |
DateTime! | Kiedy użytkownik dołączył do projektu |
Informacje o Paginacji
Pole | Typ | Opis |
---|---|---|
totalItems |
Int! | Całkowita liczba użytkowników |
totalPages |
Int | Całkowita liczba stron (dla paginacji offsetowej) |
page |
Int | Numer bieżącej strony |
perPage |
Int | Elementy na stronę |
hasNextPage |
Boolean! | Więcej dostępnych wyników |
hasPreviousPage |
Boolean! | Poprzednie dostępne wyniki |
startCursor |
String | Kursor pierwszego elementu |
endCursor |
String | Kursor ostatniego elementu |
Wymagane Uprawnienia
Zapytanie | Wymagane Uprawnienie |
---|---|
companyUserList |
Any authenticated user in the company |
projectUserList |
Any project member (including VIEW_ONLY) |
user |
Any authenticated user |
Odpowiedzi Błędów
Firma Nie Znaleziona
{
"errors": [{
"message": "Company not found",
"extensions": {
"code": "COMPANY_NOT_FOUND"
}
}]
}
Projekt Nie Znaleziony
{
"errors": [{
"message": "Project not found",
"extensions": {
"code": "PROJECT_NOT_FOUND"
}
}]
}
Nieautoryzowany Dostęp
{
"errors": [{
"message": "You don't have access to this resource",
"extensions": {
"code": "UNAUTHORIZED"
}
}]
}
Ważne Uwagi
- Wydajność: Używaj paginacji dla dużych list użytkowników (max 200 użytkowników na żądanie)
- Wyszukiwanie: Wyszukiwanie w polach imienia, nazwiska i e-maila
- Prywatność E-maila: Adresy e-mail są widoczne tylko dla użytkowników z poziomem dostępu WŁAŚCICIELA lub ADMINA
- Status Online:
isOnline
aktualizuje się w czasie rzeczywistym za pośrednictwem połączeń WebSocket - Obrazy Profilowe: Użyj pola
image.variants
dla różnych rozmiarów - Filtrowanie: Parametr
notInProjectId
jest przydatny podczas budowania interfejsów wyboru użytkowników - Poziomy Dostępu: Listy użytkowników projektów zawierają informacje o rolach, które nie są dostępne w listach firmowych
Powiązane Operacje
- Przegląd Zarządzania Użytkownikami - Operacje zarządzania użytkownikami
- Usuń Użytkownika - Usuń użytkowników z projektów
- Niestandardowe Role - Zarządzaj uprawnieniami użytkowników