Listar Painéis
Recupere painéis aos quais você tem acesso para visualizar. Isso inclui painéis que você criou e painéis que foram compartilhados com você.
Exemplo Básico
query ListDashboards {
dashboards(filter: { companyId: "company_123" }) {
items {
id
title
createdBy {
id
name
email
}
createdAt
updatedAt
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
}
Exemplo Avançado
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
}
}
}
Parâmetros de Entrada
| Parâmetro |
Tipo |
Obrigatório |
Descrição |
companyId |
String! |
✅ Sim |
ID da empresa para filtrar painéis |
projectId |
String |
Não |
ID do projeto opcional para filtrar painéis |
Opções de Ordenação
| Valor de Ordenação |
Descrição |
title_ASC |
Ordenar por título em ordem crescente |
title_DESC |
Ordenar por título em ordem decrescente |
createdBy_ASC |
Ordenar por criador em ordem crescente |
createdBy_DESC |
Ordenar por criador em ordem decrescente |
updatedAt_ASC |
Ordenar por hora de atualização em ordem crescente |
updatedAt_DESC |
Ordenar por hora de atualização em ordem decrescente (padrão) |
Parâmetros de Paginação
| Parâmetro |
Tipo |
Padrão |
Descrição |
skip |
Int |
0 |
Número de itens a serem pulados |
take |
Int |
20 |
Número de itens a serem retornados (máx. 100) |
Campos de Resposta
| Campo |
Tipo |
Descrição |
items |
[Dashboard!]! |
Array de objetos de painel |
pageInfo |
PageInfo! |
Informações de paginação |
Dashboard
| Campo |
Tipo |
Descrição |
id |
ID! |
Identificador único para o painel |
title |
String! |
Nome exibido do painel |
createdBy |
User! |
Usuário que criou o painel |
dashboardUsers |
[DashboardUser!] |
Usuários com acesso a este painel |
createdAt |
DateTime! |
Quando o painel foi criado |
updatedAt |
DateTime! |
Quando o painel foi modificado pela última vez |
DashboardUser
| Campo |
Tipo |
Descrição |
id |
ID! |
Identificador único para o usuário do painel |
role |
DashboardRole! |
Função do usuário (VISUALIZADOR ou EDITOR) |
user |
User! |
Informações do usuário |
Controle de Acesso
Visibilidade do Painel
Você só pode ver painéis onde você é:
- O criador do painel
- Acesso explicitamente concedido via compartilhamento de painel
Permissões Necessárias
- Autenticação Necessária: Você deve estar logado
- Acesso à Empresa: Você deve ter acesso à empresa especificada
- Acesso ao Projeto: Se filtrando por projeto, você deve ter acesso a esse projeto
Respostas de Erro
Empresa Não Encontrada
{
"errors": [{
"message": "Company not found",
"extensions": {
"code": "COMPANY_NOT_FOUND"
}
}]
}
Projeto Não Encontrado
{
"errors": [{
"message": "Project not found",
"extensions": {
"code": "PROJECT_NOT_FOUND"
}
}]
}
Casos de Uso Comuns
Listar Todos os Painéis da Empresa
query CompanyDashboards {
dashboards(filter: { companyId: "company_123" }) {
items {
id
title
createdBy { name }
}
}
}
Listar Painéis Específicos do Projeto
query ProjectDashboards {
dashboards(filter: {
companyId: "company_123"
projectId: "proj_456"
}) {
items {
id
title
}
}
}
Lista de Painéis Paginada
query PaginatedDashboards {
dashboards(
filter: { companyId: "company_123" }
skip: 20
take: 10
) {
items {
id
title
}
pageInfo {
hasNextPage
hasPreviousPage
}
}
}
Melhores Práticas
Desempenho
- Use paginação para melhor desempenho com grandes listas de painéis
- Solicite apenas os campos que você precisa em sua aplicação
- Considere armazenar em cache listas de painéis para dados acessados com frequência
Filtragem
- Sempre filtre por empresa para garantir o isolamento adequado dos dados
- Use filtragem de projeto ao trabalhar com painéis específicos de projeto
- Combine filtros para restringir resultados de forma eficiente
Ordenação
- A ordenação padrão é por
updatedAt_DESC (mais recentemente atualizado primeiro)
- Use ordenação por título para organização alfabética
- Combine múltiplos critérios de ordenação para necessidades de ordenação complexas
Operações Relacionadas