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