Récupérer des listes d'utilisateurs dans des entreprises ou des projets avec filtrage et pagination.


Liste des utilisateurs

Blue fournit plusieurs requêtes pour lister les utilisateurs à différents niveaux - au niveau de l'entreprise, spécifique à un projet, ou recherche d'un utilisateur individuel. Ces requêtes prennent en charge la pagination, le filtrage et le tri pour gérer efficacement de grandes bases d'utilisateurs.

Exemple de base - Utilisateurs de l'entreprise

Lister tous les utilisateurs d'une entreprise :

query ListCompanyUsers {
  companyUserList(companyId: "acme-corp") {
    users {
      id
      email
      fullName
      jobTitle
      lastActiveAt
    }
    pageInfo {
      totalItems
      hasNextPage
    }
  }
}

Exemple avancé - Utilisateurs de projet filtrés

Lister les utilisateurs de projet avec recherche et pagination :

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
    }
  }
}

Requêtes disponibles

companyUserList

Liste tous les utilisateurs d'une entreprise avec filtrage optionnel.

Paramètres d'entrée

Paramètre Type Requis Description
companyId String! ✅ Oui ID ou slug de l'entreprise
notInProjectId String Non Exclure les utilisateurs déjà dans ce projet
search String Non Rechercher par nom ou email
first Int Non Nombre de résultats à retourner (pagination vers l'avant)
after String Non Curseur pour pagination vers l'avant
last Int Non Nombre de résultats à retourner (pagination vers l'arrière)
before String Non Curseur pour pagination vers l'arrière
skip Int Non Nombre de résultats à ignorer
orderBy UserOrderByInput Non Ordre de tri (voir ci-dessous)

projectUserList

Liste tous les utilisateurs dans un projet spécifique.

Paramètres d'entrée

Paramètre Type Requis Description
projectId String! ✅ Oui ID ou slug du projet
search String Non Rechercher par nom ou email
first Int Non Nombre de résultats (max : 200)
after String Non Curseur pour pagination
orderBy UserOrderByInput Non Ordre de tri

user

Récupère un utilisateur unique par ID.

Paramètres d'entrée

Paramètre Type Requis Description
id String! ✅ Oui ID de l'utilisateur

Options de tri

UserOrderByInput Valeurs

Valeur Description
createdAt_ASC Trier par date d'inscription (les plus anciens en premier)
createdAt_DESC Trier par date d'inscription (les plus récents en premier)
lastActiveAt_ASC Trier par dernière activité (les plus anciennes en premier)
lastActiveAt_DESC Trier par dernière activité (les plus récentes en premier)
firstName_ASC Trier par prénom (A-Z)
firstName_DESC Trier par prénom (Z-A)
lastName_ASC Trier par nom de famille (A-Z)
lastName_DESC Trier par nom de famille (Z-A)
email_ASC Trier par adresse email (A-Z)
email_DESC Trier par adresse email (Z-A)
username_ASC Trier par nom d'utilisateur (A-Z)
username_DESC Trier par nom d'utilisateur (Z-A)
jobTitle_ASC Trier par titre de poste (A-Z)
jobTitle_DESC Trier par titre de poste (Z-A)

Champs de réponse

Objet utilisateur

Champ Type Description
id String! Identifiant unique de l'utilisateur
uid String! UID d'authentification Firebase
username String! Nom d'utilisateur choisi par l'utilisateur
email String! Adresse email (visible uniquement pour le PROPRIÉTAIRE/ADMIN)
firstName String Prénom
lastName String Nom de famille
fullName String Nom complet (prénom et nom de famille combinés)
jobTitle String Titre professionnel
phoneNumber String Numéro de contact
dateOfBirth DateTime Date de naissance
isEmailVerified Boolean! Statut de vérification de l'email
lastActiveAt DateTime Horodatage de la dernière activité
createdAt DateTime! Date de création du compte
updatedAt DateTime! Dernière mise à jour du profil
isOnline Boolean! Statut en ligne actuel
timezone String Fuseau horaire de l'utilisateur
locale String Préférence de langue
theme JSON Préférences de thème UI
image Image Objet de l'image de profil

Champs supplémentaires des utilisateurs de projet

Lors de la liste des utilisateurs de projet, des champs supplémentaires sont disponibles :

Champ Type Description
accessLevel UserAccessLevel! Rôle de l'utilisateur dans le projet
customRole ProjectUserRole Détails du rôle personnalisé, le cas échéant
joinedAt DateTime! Date à laquelle l'utilisateur a rejoint le projet

Informations de pagination

Champ Type Description
totalItems Int! Nombre total d'utilisateurs
totalPages Int Nombre total de pages (pour pagination par décalage)
page Int Numéro de la page actuelle
perPage Int Éléments par page
hasNextPage Boolean! Plus de résultats disponibles
hasPreviousPage Boolean! Résultats précédents disponibles
startCursor String Curseur du premier élément
endCursor String Curseur du dernier élément

Permissions requises

Requête Permission requise
companyUserList Any authenticated user in the company
projectUserList Any project member (including VIEW_ONLY)
user Any authenticated user

Réponses d'erreur

Entreprise non trouvée

{
  "errors": [{
    "message": "Company not found",
    "extensions": {
      "code": "COMPANY_NOT_FOUND"
    }
  }]
}

Projet non trouvé

{
  "errors": [{
    "message": "Project not found",
    "extensions": {
      "code": "PROJECT_NOT_FOUND"
    }
  }]
}

Accès non autorisé

{
  "errors": [{
    "message": "You don't have access to this resource",
    "extensions": {
      "code": "UNAUTHORIZED"
    }
  }]
}

Notes importantes

  • Performance : Utilisez la pagination pour de grandes listes d'utilisateurs (max 200 utilisateurs par demande)
  • Recherche : Recherche à travers les champs de prénom, nom de famille et email
  • Confidentialité des emails : Les adresses email ne sont visibles que pour les utilisateurs ayant des niveaux d'accès PROPRIÉTAIRE ou ADMIN
  • Statut en ligne : isOnline se met à jour en temps réel via des connexions WebSocket
  • Images de profil : Utilisez le champ image.variants pour différentes tailles
  • Filtrage : Le paramètre notInProjectId est utile lors de la création d'interfaces de sélection d'utilisateurs
  • Niveaux d'accès : Les listes d'utilisateurs de projet incluent des informations sur les rôles non disponibles dans les listes d'entreprise

Opérations connexes

Assistant IA

Les réponses sont générées par l'IA et peuvent contenir des erreurs.

Comment puis-je vous aider ?

Posez-moi toutes vos questions sur Blue ou cette documentation.

Entrez pour envoyer • Maj+Entrée pour une nouvelle ligne • ⌘I pour ouvrir