Skip to content

Editar Repertório — Design Técnico

Gerado pelo Writer (Reversa) em 2026-05-11

Fluxos

Editar título

atualizarRepertorio(id, titulo)
  → Validação: trim; 1–50 chars
  → RepertoriosRepository.updateRepertorio(id, titulo)
      → UPDATE repertorio SET titulo = ? WHERE id_repertorio = ?
  → Dispatch: updateOne no EntityAdapter

Adicionar música

adicionarMusicaAoRepertorio(id_repertorio, id_musica)
  → RepertoriosRepository.createItemRepertorio({ id_repertorio, id_musica })
      → INSERT INTO item_repertorio → retorna id_item_repertorio
  → Lê ordem_musicas atual → push(id_item_repertorio)
  → RepertoriosRepository.updateOrdemMusicas(id_repertorio, novaOrdem)
  → Dispatch: atualiza itens no store
  → Metricas.musicaAdicionadaRepertorio(id_musica)

Remover item

removerItemDoRepertorio(id_item_repertorio, id_repertorio)
  → RepertoriosRepository.deleteItemRepertorio(id_item_repertorio)
  → Lê ordem_musicas atual → filter(id !== id_item_repertorio)
  → RepertoriosRepository.updateOrdemMusicas(id_repertorio, ordemFiltrada)
  → Dispatch: atualiza itens no store

Editar momento/tonalidade

atualizarItemRepertorio(id_item, { momento?, tonalidade? })
  → trim(momento), trim(tonalidade)
  → RepertoriosRepository.updateItemRepertorio(id_item, dados)
      → UPDATE item_repertorio SET momento = ?, tonalidade = ? WHERE id_item_repertorio = ?
  → Dispatch: atualiza item no store

Contrato de Dados

// ItemRepertorio
{
  id_item_repertorio: number,
  id_repertorio: number,
  id_musica?: number,       // mutuamente exclusivo com termo
  termo?: string,           // max 300 chars
  momento?: string,         // trimmed
  tonalidade?: string       // trimmed
}

Dependências

Dependência Papel
RepertoriosRepository.updateRepertorio UPDATE título
RepertoriosRepository.createItemRepertorio INSERT item
RepertoriosRepository.deleteItemRepertorio DELETE item
RepertoriosRepository.updateItemRepertorio UPDATE momento/tonalidade
RepertoriosRepository.updateOrdemMusicas UPDATE array JSON de ordem
Redux EntityAdapter Cache in-memory dos itens