Recuperar uma lista paginada de painéis aos quais você tem acesso para visualizar ou modificar


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

DashboardFilterInput

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

DashboardPagination

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

Assistente de IA

As respostas são geradas usando IA e podem conter erros.

Como posso ajudá-lo?

Pergunte-me qualquer coisa sobre o Blue ou esta documentação.

Digite para enviar • Shift+Enter para nova linha • ⌘I para abrir