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

Asystent AI

Odpowiedzi są generowane przy użyciu sztucznej inteligencji i mogą zawierać błędy.

Jak mogę Ci pomóc?

Zapytaj mnie o cokolwiek dotyczącego Blue lub tej dokumentacji.

Wciśnij Enter, aby wysłać • Shift+Enter, aby dodać nową linię • ⌘I, aby otworzyć