feat(#19): registro manual de transações e recorrências fixas

Adiciona CRUD manual de transações (income/expense) com filtro mensal, CRUD de
recorrências fixas com verificação mensal de cobertura (±10% por categoria),
endpoint de ignore/unignore e telas Vue para Transações e Configurações.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
This commit is contained in:
2026-05-26 20:26:48 -03:00
co-authored by Claude Sonnet 4.6
parent 83dff2de78
commit 12e8500827
17 changed files with 1351 additions and 8 deletions
+6 -8
View File
@@ -14,15 +14,13 @@ var m001 string
//go:embed sql/002_add_external_id.sql
var m002 string
//go:embed sql/003_recurring_ignores.sql
var m003 string
func Run(ctx context.Context, pool *pgxpool.Pool) error {
for i, sql := range []struct {
version int
sql string
}{
{1, m001},
{2, m002},
} {
if _, err := pool.Exec(ctx, sql.sql); err != nil {
migrations := []string{m001, m002, m003}
for i, sql := range migrations {
if _, err := pool.Exec(ctx, sql); err != nil {
return fmt.Errorf("migration %03d: %w", i+1, err)
}
}