Skip to content

Favoritar Música

Gerado pelo Writer (Reversa) em 2026-05-11 Unit: musicas/favoritar-musica

Visão Geral

Permite ao usuário marcar e desmarcar músicas como favoritas, persistindo localmente no SQLite. Não requer autenticação. O estado de favorito é lido do banco, não do store Redux.

Responsabilidades

  • Persistir estado de favorito de uma música no SQLite local
  • Disparar métricas de favoritar/desfavoritar
  • Exibir toast de erro em caso de falha de persistência

Regras de Negócio

  • Favoritar não requer autenticação — persiste apenas localmente 🟢
  • O store Redux não é atualizado imediatamente após favoritar — o ícone reflete o banco 🟢
  • Favoritos são armazenados no repertório padrão id=1 ("Músicas favoritas") 🟢

Requisitos Funcionais

ID Requisito Prioridade Critério de Aceite
RF-01 Persistir favorito no SQLite ao tocar no ícone de favorito Must Após favoritar, reiniciar app ainda mostra a música como favorita
RF-02 Disparar métrica de favoritar ou desfavoritar Should Evento Sentry registrado após a operação
RF-03 Exibir toast de erro se a persistência falhar Should Toast visível ao usuário em caso de falha de I/O

Critérios de Aceitação

Dado que uma música não está favoritada
Quando o usuário toca no ícone de favorito
Então a música é salva no repertório "Músicas favoritas" e o ícone atualiza

Dado que uma música está favoritada
Quando o usuário toca novamente no ícone de favorito
Então a música é removida dos favoritos e o ícone atualiza

Dado que a operação de favoritar falha (I/O error)
Quando o usuário toca no ícone
Então um toast de erro é exibido e o ícone não muda de estado

Rastreabilidade de Código

Arquivo Função / Classe Cobertura
src/store/Musicas/Musicas.action.ts setFavorita 🟢
src/repository/musicas/MusicasFavoritasRepository.ts update 🟢
src/service/MusicaService.ts Metricas.favoritarMusica 🟢