Haal lijsten van gebruikers op in bedrijven of projecten met filtering en paginering.
Lijst Gebruikers
Blue biedt meerdere queries om gebruikers op verschillende niveaus te lijsten - bedrijfsbreed, project-specifiek of individuele gebruikersopzoekingen. Deze queries ondersteunen paginering, filtering en sorteren om grote gebruikersbestanden efficiënt te beheren.
Basisvoorbeeld - Bedrijfsgebruikers
Lijst alle gebruikers in een bedrijf:
query ListCompanyUsers {
companyUserList(companyId: "acme-corp") {
users {
id
email
fullName
jobTitle
lastActiveAt
}
pageInfo {
totalItems
hasNextPage
}
}
}
Geavanceerd Voorbeeld - Gefilterde Projectgebruikers
Lijst projectgebruikers met zoek- en paginering:
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
}
}
}
Beschikbare Queries
companyUserList
Lijst alle gebruikers in een bedrijf met optionele filtering.
Invoervelden
Parameter | Type | Vereist | Beschrijving |
---|---|---|---|
companyId |
String! | ✅ Ja | Bedrijfs-ID of slug |
notInProjectId |
String | Nee | Sluit gebruikers uit die al in dit project zitten |
search |
String | Nee | Zoek op naam of e-mail |
first |
Int | Nee | Aantal resultaten om terug te geven (voorwaartse paginering) |
after |
String | Nee | Cursor voor voorwaartse paginering |
last |
Int | Nee | Aantal resultaten om terug te geven (achterwaartse paginering) |
before |
String | Nee | Cursor voor achterwaartse paginering |
skip |
Int | Nee | Aantal resultaten om over te slaan |
orderBy |
UserOrderByInput | Nee | Sorteervolgorde (zie hieronder) |
projectUserList
Lijst alle gebruikers in een specifiek project.
Invoervelden
Parameter | Type | Vereist | Beschrijving |
---|---|---|---|
projectId |
String! | ✅ Ja | Project-ID of slug |
search |
String | Nee | Zoek op naam of e-mail |
first |
Int | Nee | Aantal resultaten (max: 200) |
after |
String | Nee | Cursor voor paginering |
orderBy |
UserOrderByInput | Nee | Sorteervolgorde |
user
Haal een enkele gebruiker op via ID.
Invoervelden
Parameter | Type | Vereist | Beschrijving |
---|---|---|---|
id |
String! | ✅ Ja | Gebruikers-ID |
Sorteeropties
UserOrderByInput Waarden
Waarde | Beschrijving |
---|---|
createdAt_ASC |
Sorteer op registratiedatum (oudste eerst) |
createdAt_DESC |
Sorteer op registratiedatum (nieuwste eerst) |
lastActiveAt_ASC |
Sorteer op laatste activiteit (oudste eerst) |
lastActiveAt_DESC |
Sorteer op laatste activiteit (nieuwste eerst) |
firstName_ASC |
Sorteer op voornaam (A-Z) |
firstName_DESC |
Sorteer op voornaam (Z-A) |
lastName_ASC |
Sorteer op achternaam (A-Z) |
lastName_DESC |
Sorteer op achternaam (Z-A) |
email_ASC |
Sorteer op e-mailadres (A-Z) |
email_DESC |
Sorteer op e-mailadres (Z-A) |
username_ASC |
Sorteer op gebruikersnaam (A-Z) |
username_DESC |
Sorteer op gebruikersnaam (Z-A) |
jobTitle_ASC |
Sorteer op functietitel (A-Z) |
jobTitle_DESC |
Sorteer op functietitel (Z-A) |
Antwoordvelden
Gebruikersobject
Veld | Type | Beschrijving |
---|---|---|
id |
String! | Unieke gebruikersidentificatie |
uid |
String! | Firebase authenticatie UID |
username |
String! | Gekozen gebruikersnaam van de gebruiker |
email |
String! | E-mailadres (alleen zichtbaar voor EIGENAAR/ADMIN) |
firstName |
String | Voornaam |
lastName |
String | Achternaam |
fullName |
String | Gecombineerde voor- en achternaam |
jobTitle |
String | Professionele titel |
phoneNumber |
String | Contactnummer |
dateOfBirth |
DateTime | Geboortedatum |
isEmailVerified |
Boolean! | E-mail verificatiestatus |
lastActiveAt |
DateTime | Laatste activiteitstijdstempel |
createdAt |
DateTime! | Datum van accountcreatie |
updatedAt |
DateTime! | Laatste profielupdate |
isOnline |
Boolean! | Huidige online status |
timezone |
String | Tijdzone van de gebruiker |
locale |
String | Taalvoorkeur |
theme |
JSON | UI-thema voorkeuren |
image |
Image | Profielafbeelding object |
Extra Velden voor Projectgebruikers
Bij het lijsten van projectgebruikers zijn er extra velden beschikbaar:
Veld | Type | Beschrijving |
---|---|---|
accessLevel |
UserAccessLevel! | Rol van de gebruiker in het project |
customRole |
ProjectUserRole | Aangepaste rol details indien van toepassing |
joinedAt |
DateTime! | Wanneer de gebruiker het project is binnengekomen |
Paginainformatie
Veld | Type | Beschrijving |
---|---|---|
totalItems |
Int! | Totaal aantal gebruikers |
totalPages |
Int | Totaal aantal pagina's (voor offset paginering) |
page |
Int | Huidig paginanummer |
perPage |
Int | Items per pagina |
hasNextPage |
Boolean! | Meer resultaten beschikbaar |
hasPreviousPage |
Boolean! | Vorige resultaten beschikbaar |
startCursor |
String | Cursor voor het eerste item |
endCursor |
String | Cursor voor het laatste item |
Vereiste Machtigingen
Query | Vereiste Machtiging |
---|---|
companyUserList |
Any authenticated user in the company |
projectUserList |
Any project member (including VIEW_ONLY) |
user |
Any authenticated user |
Foutreacties
Bedrijf Niet Gevonden
{
"errors": [{
"message": "Company not found",
"extensions": {
"code": "COMPANY_NOT_FOUND"
}
}]
}
Project Niet Gevonden
{
"errors": [{
"message": "Project not found",
"extensions": {
"code": "PROJECT_NOT_FOUND"
}
}]
}
Ongeautoriseerde Toegang
{
"errors": [{
"message": "You don't have access to this resource",
"extensions": {
"code": "UNAUTHORIZED"
}
}]
}
Belangrijke Opmerkingen
- Prestaties: Gebruik paginering voor grote gebruikerslijsten (max 200 gebruikers per verzoek)
- Zoeken: Doorzoekt voornaam, achternaam en e-mailvelden
- E-mailprivacy: E-mailadressen zijn alleen zichtbaar voor gebruikers met EIGENAAR of ADMIN toegangsniveaus
- Online Status:
isOnline
updates in real-time via WebSocket-verbindingen - Profielafbeeldingen: Gebruik het
image.variants
veld voor verschillende maten - Filtering: De
notInProjectId
parameter is nuttig bij het bouwen van gebruikersselectie-interfaces - Toegangslevels: Projectgebruikerslijsten bevatten rolinformatie die niet beschikbaar is in bedrijfs lijsten
Gerelateerde Operaties
- Overzicht Gebruikersbeheer - Gebruikersbeheeroperaties
- Verwijder Gebruiker - Verwijder gebruikers uit projecten
- Aangepaste Rollen - Beheer gebruikersmachtigingen