Recupera elenchi di utenti in aziende o progetti con filtri e paginazione.
Elenco Utenti
Blue fornisce più query per elencare gli utenti a diversi livelli - a livello aziendale, specifico per progetto o ricerca di singoli utenti. Queste query supportano la paginazione, il filtraggio e l'ordinamento per gestire in modo efficiente grandi basi di utenti.
Esempio Base - Utenti Aziendali
Elenca tutti gli utenti in un'azienda:
query ListCompanyUsers {
companyUserList(companyId: "acme-corp") {
users {
id
email
fullName
jobTitle
lastActiveAt
}
pageInfo {
totalItems
hasNextPage
}
}
}
Esempio Avanzato - Utenti di Progetto Filtrati
Elenca gli utenti di progetto con ricerca e paginazione:
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
}
}
}
Query Disponibili
companyUserList
Elenca tutti gli utenti in un'azienda con filtraggio opzionale.
Parametri di Input
Parametro | Tipo | Richiesto | Descrizione |
---|---|---|---|
companyId |
String! | ✅ Sì | ID o slug dell'azienda |
notInProjectId |
String | No | Escludi utenti già in questo progetto |
search |
String | No | Cerca per nome o email |
first |
Int | No | Numero di risultati da restituire (paginazione in avanti) |
after |
String | No | Cursore per la paginazione in avanti |
last |
Int | No | Numero di risultati da restituire (paginazione all'indietro) |
before |
String | No | Cursore per la paginazione all'indietro |
skip |
Int | No | Numero di risultati da saltare |
orderBy |
UserOrderByInput | No | Ordine di ordinamento (vedi sotto) |
projectUserList
Elenca tutti gli utenti in un progetto specifico.
Parametri di Input
Parametro | Tipo | Richiesto | Descrizione |
---|---|---|---|
projectId |
String! | ✅ Sì | ID o slug del progetto |
search |
String | No | Cerca per nome o email |
first |
Int | No | Numero di risultati (max: 200) |
after |
String | No | Cursore per la paginazione |
orderBy |
UserOrderByInput | No | Ordine di ordinamento |
user
Recupera un singolo utente per ID.
Parametri di Input
Parametro | Tipo | Richiesto | Descrizione |
---|---|---|---|
id |
String! | ✅ Sì | ID utente |
Opzioni di Ordinamento
UserOrderByInput Valori
Valore | Descrizione |
---|---|
createdAt_ASC |
Ordina per data di registrazione (più vecchi prima) |
createdAt_DESC |
Ordina per data di registrazione (più recenti prima) |
lastActiveAt_ASC |
Ordina per ultima attività (più vecchi prima) |
lastActiveAt_DESC |
Ordina per ultima attività (più recenti prima) |
firstName_ASC |
Ordina per nome (A-Z) |
firstName_DESC |
Ordina per nome (Z-A) |
lastName_ASC |
Ordina per cognome (A-Z) |
lastName_DESC |
Ordina per cognome (Z-A) |
email_ASC |
Ordina per indirizzo email (A-Z) |
email_DESC |
Ordina per indirizzo email (Z-A) |
username_ASC |
Ordina per nome utente (A-Z) |
username_DESC |
Ordina per nome utente (Z-A) |
jobTitle_ASC |
Ordina per titolo professionale (A-Z) |
jobTitle_DESC |
Ordina per titolo professionale (Z-A) |
Campi di Risposta
Oggetto Utente
Campo | Tipo | Descrizione |
---|---|---|
id |
String! | Identificatore unico dell'utente |
uid |
String! | UID di autenticazione Firebase |
username |
String! | Nome utente scelto dall'utente |
email |
String! | Indirizzo email (visibile solo a OWNER/ADMIN) |
firstName |
String | Nome |
lastName |
String | Cognome |
fullName |
String | Nome e cognome combinati |
jobTitle |
String | Titolo professionale |
phoneNumber |
String | Numero di contatto |
dateOfBirth |
DateTime | Data di nascita |
isEmailVerified |
Boolean! | Stato di verifica email |
lastActiveAt |
DateTime | Timestamp dell'ultima attività |
createdAt |
DateTime! | Data di creazione dell'account |
updatedAt |
DateTime! | Ultimo aggiornamento del profilo |
isOnline |
Boolean! | Stato online attuale |
timezone |
String | Fuso orario dell'utente |
locale |
String | Preferenza di lingua |
theme |
JSON | Preferenze tema UI |
image |
Image | Oggetto immagine del profilo |
Campi Aggiuntivi Utente di Progetto
Quando si elencano gli utenti di progetto, sono disponibili campi aggiuntivi:
Campo | Tipo | Descrizione |
---|---|---|
accessLevel |
UserAccessLevel! | Ruolo dell'utente nel progetto |
customRole |
ProjectUserRole | Dettagli ruolo personalizzato se applicabile |
joinedAt |
DateTime! | Quando l'utente si è unito al progetto |
Informazioni sulla Paginazione
Campo | Tipo | Descrizione |
---|---|---|
totalItems |
Int! | Numero totale di utenti |
totalPages |
Int | Pagine totali (per paginazione offset) |
page |
Int | Numero della pagina corrente |
perPage |
Int | Elementi per pagina |
hasNextPage |
Boolean! | Ulteriori risultati disponibili |
hasPreviousPage |
Boolean! | Risultati precedenti disponibili |
startCursor |
String | Cursore del primo elemento |
endCursor |
String | Cursore dell'ultimo elemento |
Permessi Richiesti
Query | Permesso Richiesto |
---|---|
companyUserList |
Any authenticated user in the company |
projectUserList |
Any project member (including VIEW_ONLY) |
user |
Any authenticated user |
Risposte di Errore
Azienda Non Trovata
{
"errors": [{
"message": "Company not found",
"extensions": {
"code": "COMPANY_NOT_FOUND"
}
}]
}
Progetto Non Trovato
{
"errors": [{
"message": "Project not found",
"extensions": {
"code": "PROJECT_NOT_FOUND"
}
}]
}
Accesso Non Autorizzato
{
"errors": [{
"message": "You don't have access to this resource",
"extensions": {
"code": "UNAUTHORIZED"
}
}]
}
Note Importanti
- Prestazioni: Utilizza la paginazione per elenchi di utenti grandi (max 200 utenti per richiesta)
- Ricerca: Cerca nei campi nome, cognome e email
- Privacy Email: Gli indirizzi email sono visibili solo agli utenti con livelli di accesso OWNER o ADMIN
- Stato Online:
isOnline
si aggiorna in tempo reale tramite connessioni WebSocket - Immagini del Profilo: Utilizza il campo
image.variants
per dimensioni diverse - Filtraggio: Il parametro
notInProjectId
è utile quando si costruiscono interfacce di selezione utenti - Livelli di Accesso: Le liste utenti di progetto includono informazioni sui ruoli non disponibili nelle liste aziendali
Operazioni Correlate
- Panoramica sulla Gestione Utenti - Operazioni di gestione utenti
- Rimuovi Utente - Rimuovi utenti dai progetti
- Ruoli Personalizzati - Gestisci i permessi degli utenti