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

24 lines
1.0 KiB
Markdown

# 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