Версия 1.1.0: контракт v2 — общие бюджеты, вложения, новые сущности #3

Merged
wt merged 3 commits from develop into main 2026-10-31 19:18:49 +00:00
Owner

Релиз 1.1.0: серверная часть контракта экосистемы v2 (docs/CONTRACT_V2.md).

  • GET /v1/capabilities и 11 типов записей синхронизации (счета, переводы, регулярные платежи, цели, долги, курсы, настройки, вложения)
  • Общие бюджеты: /v1/ledgers, приглашения по одноразовому коду (хранится только хеш), участники, заголовок X-Balance-Ledger, отдельный курсор на пространство
  • Вложения: PUT/GET /v1/attachments/{sha256}, проверка хеша, размера (10 МиБ) и типа, хранение в BALANCE_ATTACHMENTS_DIR, автоочистка
  • Личное пространство и API v1 не изменились; миграция только добавляет таблицы; ответы совпадают с эталоном Go
  • CORS для PUT/PATCH/DELETE и X-Balance-Ledger (Web-клиент)

57 тестов, clippy -D warnings, сверка с эталоном Go — PASS. Интеграция с BalanceFlutter v2 — PASS.

🤖 Generated with Claude Code

Релиз 1.1.0: серверная часть контракта экосистемы v2 (`docs/CONTRACT_V2.md`). - `GET /v1/capabilities` и 11 типов записей синхронизации (счета, переводы, регулярные платежи, цели, долги, курсы, настройки, вложения) - Общие бюджеты: `/v1/ledgers`, приглашения по одноразовому коду (хранится только хеш), участники, заголовок `X-Balance-Ledger`, отдельный курсор на пространство - Вложения: `PUT/GET /v1/attachments/{sha256}`, проверка хеша, размера (10 МиБ) и типа, хранение в `BALANCE_ATTACHMENTS_DIR`, автоочистка - Личное пространство и API v1 не изменились; миграция только добавляет таблицы; ответы совпадают с эталоном Go - CORS для PUT/PATCH/DELETE и `X-Balance-Ledger` (Web-клиент) 57 тестов, clippy `-D warnings`, сверка с эталоном Go — PASS. Интеграция с BalanceFlutter v2 — PASS. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
wt added 3 commits 2026-10-31 19:17:03 +00:00
- GET /v1/capabilities and the extended sync entity allowlist (§0, §1).
- Shared ledgers (§7): ledgers, members and hashed one-time invite codes;
  X-Balance-Ledger selects the space on /v1/sync and /v1/attachments with
  its own records, change stream and cursor. Personal space keeps the v1
  tables and behaviour; the migration only adds tables.
- Attachments (§8): SHA-256, size and media type checks, blob files in
  BALANCE_ATTACHMENTS_DIR (default: attachments next to the database),
  garbage collection of unreferenced blobs with a grace period for fresh
  uploads, and ledger deletion removes its blobs.
- Tests for every new endpoint and error code; API, sync, data model,
  security, deployment and README docs updated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contract v2: clarify ids, rates, recurring, ledger and attachment details
CI / Rust (fmt / clippy / test / build) (push) Successful in 1m4s
CI / HTTP/JSON reference + SQLite persistence (push) Successful in 1m36s
7fbe86a943
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Bump version to 1.1.0
CI / Rust (fmt / clippy / test / build) (push) Successful in 1m40s
CI / Rust (fmt / clippy / test / build) (pull_request) Successful in 1m23s
CI / HTTP/JSON reference + SQLite persistence (push) Successful in 2m21s
CI / HTTP/JSON reference + SQLite persistence (pull_request) Successful in 3m26s
effe959820
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
wt merged commit e32169aed1 into main 2026-10-31 19:18:49 +00:00
Sign in to join this conversation.