Stage 04.3 - repositories, balance snapshots and environment mode fix

This commit is contained in:
2026-04-16 19:54:04 +03:00
parent 2c49bb70c0
commit 76fc122955
9 changed files with 262 additions and 8 deletions

View File

@@ -0,0 +1,14 @@
# 0011 — Repositories before Orders
## Решение
Сначала добавить repository слой для snapshots и drafts, и только потом переходить к order flow.
## Причины
- order flow без repositories быстро приводит к смешению SQL и бизнес-логики
- snapshots баланса — безопасный и полезный use case
- это подготавливает архитектуру к следующим этапам
## Последствия
- storage становится частью бизнес-логики
- Telegram handlers становятся тоньше
- следующий этап с order drafts будет проще и чище

View File

@@ -0,0 +1,49 @@
# Stage 04.3 — Repositories & Balance Snapshots
## Цель
Сделать storage частью бизнес-логики:
- вынести SQL в repositories
- добавить слой AccountsService
- начать сохранять состояние системы (snapshots)
---
## Что реализовано
### Repository слой
Добавлены:
#### 1. BalanceSnapshotRepository
Работа с таблицей `balance_snapshots`:
- `add_snapshot` — сохранение снимка баланса
- `count_snapshots`
- `list_recent_snapshots`
---
#### 2. OrderDraftRepository
Подготовка к order flow:
- `add_draft`
- `list_recent_drafts`
- `count_drafts`
(используется на следующих этапах)
---
### Service слой
Добавлен:
#### AccountsService
Функции:
- получение live баланса через ExchangeService
- сохранение snapshot в PostgreSQL
- логирование через Journal
```text
exchange → accounts service → repository → database