Hämta listor över användare i företag eller projekt med filtrering och paginering.
Lista Användare
Blue tillhandahåller flera frågor för att lista användare på olika nivåer - företagsomfattande, projektspecifika eller individuell användaruppslagning. Dessa frågor stöder paginering, filtrering och sortering för att effektivt hantera stora användarbaser.
Grundläggande Exempel - Företagsanvändare
Lista alla användare i ett företag:
query ListCompanyUsers {
companyUserList(companyId: "acme-corp") {
users {
id
email
fullName
jobTitle
lastActiveAt
}
pageInfo {
totalItems
hasNextPage
}
}
}
Avancerat Exempel - Filtrerade Projektanvändare
Lista projektanvändare med sökning och 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
}
}
}
Tillgängliga Frågor
companyUserList
Listar alla användare i ett företag med valfri filtrering.
Inmatningsparametrar
Parameter | Typ | Obligatorisk | Beskrivning |
---|---|---|---|
companyId |
String! | ✅ Ja | Företags-ID eller slug |
notInProjectId |
String | Nej | Exkludera användare som redan finns i detta projekt |
search |
String | Nej | Sök efter namn eller e-post |
first |
Int | Nej | Antal resultat att returnera (framåt paginering) |
after |
String | Nej | Cursor för framåt paginering |
last |
Int | Nej | Antal resultat att returnera (bakåt paginering) |
before |
String | Nej | Cursor för bakåt paginering |
skip |
Int | Nej | Antal resultat att hoppa över |
orderBy |
UserOrderByInput | Nej | Sorteringsordning (se nedan) |
projectUserList
Listar alla användare i ett specifikt projekt.
Inmatningsparametrar
Parameter | Typ | Obligatorisk | Beskrivning |
---|---|---|---|
projectId |
String! | ✅ Ja | Projekt-ID eller slug |
search |
String | Nej | Sök efter namn eller e-post |
first |
Int | Nej | Antal resultat (max: 200) |
after |
String | Nej | Cursor för paginering |
orderBy |
UserOrderByInput | Nej | Sorteringsordning |
user
Hämtar en enskild användare efter ID.
Inmatningsparametrar
Parameter | Typ | Obligatorisk | Beskrivning |
---|---|---|---|
id |
String! | ✅ Ja | Användar-ID |
Sorteringsalternativ
UserOrderByInput Värden
Värde | Beskrivning |
---|---|
createdAt_ASC |
Sortera efter registreringsdatum (äldst först) |
createdAt_DESC |
Sortera efter registreringsdatum (nyast först) |
lastActiveAt_ASC |
Sortera efter senaste aktivitet (äldst först) |
lastActiveAt_DESC |
Sortera efter senaste aktivitet (nyast först) |
firstName_ASC |
Sortera efter förnamn (A-Z) |
firstName_DESC |
Sortera efter förnamn (Z-A) |
lastName_ASC |
Sortera efter efternamn (A-Z) |
lastName_DESC |
Sortera efter efternamn (Z-A) |
email_ASC |
Sortera efter e-postadress (A-Z) |
email_DESC |
Sortera efter e-postadress (Z-A) |
username_ASC |
Sortera efter användarnamn (A-Z) |
username_DESC |
Sortera efter användarnamn (Z-A) |
jobTitle_ASC |
Sortera efter jobbtitel (A-Z) |
jobTitle_DESC |
Sortera efter jobbtitel (Z-A) |
Svarsfält
Användarobjekt
Fält | Typ | Beskrivning |
---|---|---|
id |
String! | Unik användaridentifierare |
uid |
String! | Firebase autentisering UID |
username |
String! | Användarens valda användarnamn |
email |
String! | E-postadress (synlig för ÄGARE/ADMIN endast) |
firstName |
String | Förnamn |
lastName |
String | Efternamn |
fullName |
String | Sammanfattat för- och efternamn |
jobTitle |
String | Professionell titel |
phoneNumber |
String | Kontakt nummer |
dateOfBirth |
DateTime | Födelsetdatum |
isEmailVerified |
Boolean! | E-postverifieringsstatus |
lastActiveAt |
DateTime | Tidstämpel för senaste aktivitet |
createdAt |
DateTime! | Datum för kontots skapande |
updatedAt |
DateTime! | Senaste profiluppdatering |
isOnline |
Boolean! | Aktuell online-status |
timezone |
String | Användarens tidszon |
locale |
String | Språkpreferens |
theme |
JSON | UI-tema preferenser |
image |
Image | Profilbildsobjekt |
Ytterligare Fält för Projektanvändare
När man listar projektanvändare finns det ytterligare fält tillgängliga:
Fält | Typ | Beskrivning |
---|---|---|
accessLevel |
UserAccessLevel! | Användarens roll i projektet |
customRole |
ProjectUserRole | Anpassade rolluppgifter om tillämpligt |
joinedAt |
DateTime! | När användaren gick med i projektet |
Paginering Info
Fält | Typ | Beskrivning |
---|---|---|
totalItems |
Int! | Totalt antal användare |
totalPages |
Int | Totalt antal sidor (för offset paginering) |
page |
Int | Aktuellt sidnummer |
perPage |
Int | Objekt per sida |
hasNextPage |
Boolean! | Fler resultat tillgängliga |
hasPreviousPage |
Boolean! | Tidigare resultat tillgängliga |
startCursor |
String | Första objektets cursor |
endCursor |
String | Sista objektets cursor |
Obligatoriska Behörigheter
Fråga | Obligatorisk Behörighet |
---|---|
companyUserList |
Any authenticated user in the company |
projectUserList |
Any project member (including VIEW_ONLY) |
user |
Any authenticated user |
Felmeddelanden
Företag Hittades Inte
{
"errors": [{
"message": "Company not found",
"extensions": {
"code": "COMPANY_NOT_FOUND"
}
}]
}
Projekt Hittades Inte
{
"errors": [{
"message": "Project not found",
"extensions": {
"code": "PROJECT_NOT_FOUND"
}
}]
}
Obehörig Åtkomst
{
"errors": [{
"message": "You don't have access to this resource",
"extensions": {
"code": "UNAUTHORIZED"
}
}]
}
Viktiga Anteckningar
- Prestanda: Använd paginering för stora användarlistor (max 200 användare per begäran)
- Sökning: Sökningar görs över förnamn, efternamn och e-postfält
- E-postintegritet: E-postadresser är endast synliga för användare med ÄGARE eller ADMIN-åtkomstnivåer
- Online-status:
isOnline
uppdateras i realtid via WebSocket-anslutningar - Profilbilder: Använd
image.variants
fältet för olika storlekar - Filtrering:
notInProjectId
parametern är användbar när man bygger användarvalgränssnitt - Åtkomstnivåer: Projektanvändarlistor inkluderar rollinformation som inte är tillgänglig i företagslistor
Relaterade Åtgärder
- Användarhantering Översikt - Användarhanteringsåtgärder
- Ta Bort Användare - Ta bort användare från projekt
- Anpassade Roller - Hantera användarbehörigheter