feat(proj): init
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user