Mova um registro para uma lista diferente dentro do mesmo projeto ou entre projetos com cópia e validação abrangentes.


Mover Registro para Lista

A mutação moveTodo permite mover um registro para uma lista diferente. Esta operação cria uma cópia completa do registro na lista de destino e remove-o da lista de origem. Os registros podem ser movidos dentro do mesmo projeto ou entre projetos diferentes (com as permissões apropriadas).

Exemplo Básico

mutation MoveTodo {
  moveTodo(
    input: {
      todoId: "todo_123abc"
      todoListId: "list_456def"
    }
  )
}

Exemplo de Movimento Entre Projetos

mutation MoveTodoAcrossProjects {
  moveTodo(
    input: {
      todoId: "todo_123abc"
      todoListId: "different-project-list_789xyz"
    }
  )
}

Parâmetros de Entrada

MoveTodoInput

Parâmetro Tipo Obrigatório Descrição
todoId String! ✅ Sim O ID do registro a ser movido
todoListId String! ✅ Sim O ID da lista de destino

Resposta

A mutação retorna um valor Boolean!:

  • true - O registro foi movido com sucesso
  • Erros são lançados em caso de falha em vez de retornar false

O Que é Movido

Quando um registro é movido, os seguintes elementos são copiados para o novo local:

  • Atribuições - Todos os usuários atribuídos
  • Listas de Verificação - Todos os itens da lista de verificação e seu status de conclusão
  • Comentários - Todos os comentários e respostas
  • Campos Personalizados - Todos os valores dos campos personalizados
  • Descrição - Descrição completa do registro e formatação
  • Data de Vencimento - Data e hora de vencimento originais
  • Tags - Todas as tags associadas
  • Ações de Tarefa - Todas as subtarefas e itens de ação
  • Arquivos - Todos os anexos de arquivos (com tratamento especial para movimentos entre projetos)

Manipulação de Posição

  • Os registros são automaticamente posicionados no final da lista de destino
  • Você não pode especificar uma posição personalizada - ela é calculada automaticamente
  • A posição é definida como a posição máxima atual + 65.535

Permissões Necessárias

Diferentes níveis de permissão têm diferentes capacidades:

Função do Usuário Mesmo Projeto Entre Projetos Acesso a Arquivos
OWNER ✅ Sim ✅ Sim All files
ADMIN ✅ Sim ✅ Sim All files
MEMBER ✅ Sim ❌ Não Own files only

Requisitos de Permissão

  • Você deve ter acesso OWNER, ADMIN ou MEMBER ao projeto de origem
  • Você deve ter acesso ao projeto de destino
  • Usuários MEMBER não podem mover registros entre diferentes projetos
  • Ambos os projetos devem estar ativos (não arquivados)

Respostas de Erro

Registro Não Encontrado

{
  "errors": [{
    "message": "Todo was not found.",
    "extensions": {
      "code": "TODO_NOT_FOUND"
    }
  }]
}

Lista Não Encontrada

{
  "errors": [{
    "message": "Todo list was not found.",
    "extensions": {
      "code": "TODO_LIST_NOT_FOUND"
    }
  }]
}

Permissão Negada Entre Projetos

{
  "errors": [{
    "message": "You are not authorized.",
    "extensions": {
      "code": "FORBIDDEN"
    }
  }]
}

Manipulação de Arquivos

Movimentos no Mesmo Projeto

  • Arquivos são movidos diretamente sem criar cópias
  • Todas as permissões de arquivo são preservadas

Movimentos Entre Projetos

  • Novas cópias de arquivos são criadas no armazenamento do projeto de destino
  • Arquivos originais são excluídos de forma assíncrona após a cópia bem-sucedida
  • As permissões de arquivo podem ser atualizadas com base nas configurações do projeto de destino
  • Usuários MEMBER só podem mover arquivos que possuem

Efeitos Colaterais

Mover um registro aciona várias ações automáticas:

  1. Registro de Atividade - Cria um registro de atividade mostrando o movimento
  2. Notificações - Notifica os membros relevantes do projeto
  3. Webhooks - Aciona o evento de webhook handleTodoMoved
  4. Automatizações - Executa automatizações configuradas para movimentos de registro
  5. Atualizações em Tempo Real - Publica atualizações ao vivo para todos os clientes conectados
  6. Atualizações de Gráficos - Atualiza gráficos e estatísticas do projeto

Notas Importantes

  • Cópia Completa: Todos os dados do registro são copiados - você não pode mover seletivamente apenas certos elementos
  • Posição Automática: Os registros são sempre colocados no final da lista de destino
  • Restrições Entre Projetos: Usuários MEMBER não podem mover registros entre projetos
  • Limpeza Assíncrona: A limpeza de arquivos acontece em segundo plano para movimentos entre projetos
  • Preserva o Histórico: Comentários, atividades e trilhas de auditoria são mantidos
  • Eventos de Webhook: Operações de movimento acionam eventos de exclusão e criação para sincronização em tempo real

Casos de Uso

Reorganização do Trabalho

Mova registros entre listas para reorganizar a estrutura do projeto ou estágios de fluxo de trabalho.

Transferências Entre Projetos

Transfira registros entre projetos quando o trabalho precisar ser movido para uma equipe ou fase diferente.

Consolidação de Listas

Mova registros ao combinar ou reestruturar listas de projetos.

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