Crie uma cópia completa de um painel existente, incluindo todos os gráficos, segmentos e permissões


A mutação copyDashboard cria uma cópia completa de um painel existente, incluindo todos os gráficos, segmentos de gráficos, valores e permissões de usuário. Esta operação realiza uma cópia profunda com novos identificadores únicos para todos os elementos copiados.

Exemplo Básico

Crie uma cópia de um painel com um título personalizado:

mutation CopyDashboard {
  copyDashboard(input: {
    dashboardId: "dashboard_123"
    title: "Q4 Sales Dashboard Copy"
  }) {
    id
    title
    createdAt
    charts {
      id
      title
      chartType
    }
    dashboardUsers {
      id
      role
      user {
        id
        email
      }
    }
  }
}

Exemplo Avançado

Copie um painel sem especificar um título (anexa automaticamente "(Cópia)"):

mutation CopyDashboardAuto {
  copyDashboard(input: {
    dashboardId: "dashboard_456"
  }) {
    id
    uid
    title
    createdBy {
      id
      email
    }
    company {
      id
      name
    }
    charts {
      id
      title
      chartType
      position
      chartSegments {
        id
        title
        formula
        chartValues {
          id
          value
        }
      }
    }
    dashboardUsers {
      id
      role
      user {
        id
        email
        fullName
      }
    }
    createdAt
    updatedAt
  }
}

Parâmetros de Entrada

CopyDashboardInput

Parâmetro Tipo Obrigatório Descrição
dashboardId String! ✅ Sim ID do painel a ser copiado
title String Não Título personalizado para o painel copiado. Se não fornecido, anexa "(Cópia)" ao título original

Campos de Resposta

Resposta do Painel

A mutação retorna um objeto completo Dashboard com todos os dados copiados:

Campo Tipo Descrição
id String! Identificador único para o novo painel
uid String! Identificador único usado para roteamento de URL
title String! Título do painel copiado
createdBy User! O usuário que realizou a operação de cópia
company Company! A empresa à qual o painel pertence (mesma que o original)
project Project Associação do projeto (mesma que o original, se houver)
charts [Chart!]! Todos os gráficos copiados do painel original
dashboardUsers [DashboardUser!]! Permissões de usuário copiadas do original (excluindo o usuário que copiou)
createdAt DateTime! Quando a cópia foi criada
updatedAt DateTime! Quando a cópia foi modificada pela última vez

Comportamento de Cópia do Painel

Processo de Cópia Profunda

A operação copyDashboard realiza uma cópia profunda completa incluindo:

  1. Metadados do Painel

    • Cria um novo painel com um novo ID e UID
    • Copia o título (ou anexa "(Cópia)" se não houver título personalizado)
    • Define o criador como o usuário que realiza a cópia
    • Mantém associações de empresa e projeto
  2. Gráficos e Estrutura

    • Copia todos os gráficos com novos IDs e UIDs
    • Preserva tipos de gráficos, títulos e posições
    • Mantém a configuração e metadados do gráfico
  3. Segmentos e Valores do Gráfico

    • Copia todos os segmentos de gráficos com novos IDs e UIDs
    • Preserva títulos de segmentos, fórmulas e configurações
    • Copia todos os valores de gráficos e seus dados
  4. Referências de Fórmulas

    • Atualiza referências de fórmulas para usar novos UIDs
    • Mantém a lógica e cálculos das fórmulas
    • Garante que fórmulas copiadas referenciem dados copiados
  5. Permissões de Usuário

    • Copia todas as permissões de usuário do painel original
    • Exclui o usuário que copia (ele se torna o criador)
    • Preserva atribuições de função de VISUALIZADOR e EDITOR

Operações Pós-Cópia

Após criar a cópia, o sistema automaticamente:

  • Publica eventos de criação de painel para atualizações em tempo real
  • Aciona o recálculo de resultados de gráficos para todos os gráficos copiados
  • Atualiza quaisquer sistemas ou integrações dependentes

Permissões Necessárias

A cópia de painéis requer permissões específicas:

Função Pode Copiar Painel
Dashboard Creator ✅ Sim
Dashboard EDITOR ✅ Sim
Dashboard VIEWER ❌ Não
Usuário não painel ❌ Não

Verificação de Permissão: O usuário deve ter acesso de EDITOR ao painel original através de:

  • Ser o criador original do painel
  • Ter uma atribuição de função de EDITOR explícita no painel

Respostas de Erro

Painel Não Encontrado

{
  "errors": [{
    "message": "Dashboard was not found.",
    "extensions": {
      "code": "DASHBOARD_NOT_FOUND"
    }
  }]
}

Permissões Insuficientes

{
  "errors": [{
    "message": "You don't have permission to access this dashboard",
    "extensions": {
      "code": "FORBIDDEN"
    }
  }]
}

Entrada Inválida

{
  "errors": [{
    "message": "Dashboard ID is required",
    "extensions": {
      "code": "VALIDATION_ERROR"
    }
  }]
}

Casos de Uso

1. Painéis de Modelo

Crie painéis de modelo que podem ser copiados para novos projetos ou equipes:

mutation CreateProjectDashboard {
  copyDashboard(input: {
    dashboardId: "template_dashboard_id"
    title: "Project Alpha - Sales Dashboard"
  }) {
    id
    title
  }
}

2. Backup e Versionamento

Crie backups antes de fazer alterações significativas:

mutation BackupDashboard {
  copyDashboard(input: {
    dashboardId: "production_dashboard"
    title: "Production Dashboard - Backup 2024-01-15"
  }) {
    id
    title
    createdAt
  }
}

3. Compartilhamento entre Equipes

Copie painéis entre equipes mantendo a estrutura de dados:

mutation ShareDashboardWithTeam {
  copyDashboard(input: {
    dashboardId: "marketing_dashboard"
    title: "Marketing Dashboard - Sales Team Copy"
  }) {
    id
    title
    dashboardUsers {
      role
      user {
        email
      }
    }
  }
}

Melhores Práticas

Convenções de Nomenclatura

  • Use títulos descritivos que indiquem o propósito da cópia
  • Inclua nomes de equipes, datas ou números de versão para clareza
  • Evite nomes genéricos como "Cópia" ou "Novo Painel"

Gerenciamento de Permissões

  • Revise as permissões do painel copiado após a criação
  • Adicione ou remova usuários conforme necessário para o caso de uso específico
  • Considere se os visualizadores precisam se tornar editores na cópia

Integridade dos Dados

  • Verifique se fórmulas e cálculos funcionam corretamente após a cópia
  • Verifique se as fontes de dados dos gráficos são apropriadas para o novo contexto
  • Teste quaisquer relatórios ou integrações automatizadas

Considerações de Desempenho

  • Copiar grandes painéis com muitos gráficos pode levar vários segundos
  • O recálculo de gráficos acontece de forma assíncrona após a cópia
  • Considere copiar durante horários de menor movimento para painéis muito grandes
  • Monitore os recursos do sistema ao copiar vários painéis simultaneamente

Limitações

  • Não é possível copiar painéis entre diferentes empresas
  • Referências de fórmulas são limitadas a dados dentro da mesma empresa
  • Algumas integrações externas podem precisar de reconfiguração
  • Permissões ou funções personalizadas podem precisar de ajuste manual
  • Dados históricos e análises não são preservados na cópia

Recursos Relacionados

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