Récupérer une liste paginée de tableaux de bord auxquels vous avez accès pour visualiser ou modifier


Lister les tableaux de bord

Récupérez les tableaux de bord auxquels vous avez accès pour les visualiser. Cela inclut les tableaux de bord que vous avez créés et ceux qui ont été partagés avec vous.

Exemple de base

query ListDashboards {
  dashboards(filter: { companyId: "company_123" }) {
    items {
      id
      title
      createdBy {
        id
        name
        email
      }
      createdAt
      updatedAt
    }
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
    }
  }
}

Exemple avancé

query ListDashboardsAdvanced {
  dashboards(
    filter: { 
      companyId: "company_123"
      projectId: "proj_456"  # Optional: filter by project
    }
    sort: [updatedAt_DESC, title_ASC]
    skip: 0
    take: 10
  ) {
    items {
      id
      title
      createdBy {
        id
        name
        email
      }
      dashboardUsers {
        id
        role
        user {
          id
          name
          email
        }
      }
      createdAt
      updatedAt
    }
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
    }
  }
}

Paramètres d'entrée

DashboardFilterInput

Paramètre Type Requis Description
companyId String! ✅ Oui ID de l'entreprise pour filtrer les tableaux de bord
projectId String Non ID de projet optionnel pour filtrer les tableaux de bord

Options de tri

Valeur de tri Description
title_ASC Trier par titre croissant
title_DESC Trier par titre décroissant
createdBy_ASC Trier par créateur croissant
createdBy_DESC Trier par créateur décroissant
updatedAt_ASC Trier par date de mise à jour croissante
updatedAt_DESC Trier par date de mise à jour décroissante (par défaut)

Paramètres de pagination

Paramètre Type Par défaut Description
skip Int 0 Nombre d'éléments à ignorer
take Int 20 Nombre d'éléments à retourner (max 100)

Champs de réponse

DashboardPagination

Champ Type Description
items [Dashboard!]! Tableau d'objets de tableau de bord
pageInfo PageInfo! Informations de pagination

Dashboard

Champ Type Description
id ID! Identifiant unique pour le tableau de bord
title String! Nom d'affichage du tableau de bord
createdBy User! Utilisateur qui a créé le tableau de bord
dashboardUsers [DashboardUser!] Utilisateurs ayant accès à ce tableau de bord
createdAt DateTime! Date de création du tableau de bord
updatedAt DateTime! Date de dernière modification du tableau de bord

DashboardUser

Champ Type Description
id ID! Identifiant unique pour l'utilisateur du tableau de bord
role DashboardRole! Rôle de l'utilisateur (VISITEUR ou ÉDITEUR)
user User! Informations sur l'utilisateur

Contrôle d'accès

Visibilité du tableau de bord

Vous ne pouvez voir que les tableaux de bord où vous êtes :

  • Le créateur du tableau de bord
  • Accès explicitement accordé via le partage de tableau de bord

Autorisations requises

  • Authentification requise : Vous devez être connecté
  • Accès à l'entreprise : Vous devez avoir accès à l'entreprise spécifiée
  • Accès au projet : Si vous filtrez par projet, vous devez avoir accès à ce projet

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

Cas d'utilisation courants

Lister tous les tableaux de bord de l'entreprise

query CompanyDashboards {
  dashboards(filter: { companyId: "company_123" }) {
    items {
      id
      title
      createdBy { name }
    }
  }
}

Lister les tableaux de bord spécifiques au projet

query ProjectDashboards {
  dashboards(filter: { 
    companyId: "company_123"
    projectId: "proj_456"
  }) {
    items {
      id
      title
    }
  }
}

Liste de tableaux de bord paginée

query PaginatedDashboards {
  dashboards(
    filter: { companyId: "company_123" }
    skip: 20
    take: 10
  ) {
    items {
      id
      title
    }
    pageInfo {
      hasNextPage
      hasPreviousPage
    }
  }
}

Meilleures pratiques

Performance

  • Utilisez la pagination pour de meilleures performances avec de grandes listes de tableaux de bord
  • Ne demandez que les champs dont vous avez besoin dans votre application
  • Envisagez de mettre en cache les listes de tableaux de bord pour les données fréquemment consultées

Filtrage

  • Filtrez toujours par entreprise pour garantir une isolation correcte des données
  • Utilisez le filtrage par projet lorsque vous travaillez avec des tableaux de bord spécifiques au projet
  • Combinez les filtres pour affiner les résultats efficacement

Tri

  • Le tri par défaut est par updatedAt_DESC (le plus récemment mis à jour en premier)
  • Utilisez le tri par titre pour une organisation alphabétique
  • Combinez plusieurs critères de tri pour des besoins de classement complexes

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