Files
please-pay-me/context/2026-09-13_10-40-00_multi-budget-active.md
T
2026-09-21 04:06:43 +03:00

1.0 KiB

2026-09-13 — Несколько бюджетов + is_active

Модель

  • У пользователя много строк в budgets (снят UNIQUE user_id)
  • Поля: name, is_active, users.selected_budget_id
  • expenses.budget_id — траты привязаны к конкретному бюджету
  • Миграция на старте API (migrate_schema) для старых БД

Семантика

  • Активный — можно писать траты
  • Текущий (selected) — default для /status, операций, журнала
  • Неактивный отклоняет новые expenses

API

  • GET/POST /api/me/budgets
  • PUT /api/me/budgets/{id}
  • PATCH /api/me/budgets/{id}/active
  • POST /api/me/budgets/{id}/select
  • budget_id на expenses / budget GET

Клиенты

  • Web: страница /budgets, переключатель вкл/выкл и «текущий»
  • Bot: /budgets, /budget создаёт новый; inline select/toggle