Дмитрий
|
72f6a6ae89
|
feat(sales): счета — список + отметка оплаты (бэк, переиспользование)
Task 5.1a — SalesInvoiceController (index, markPaid), только head.
- index: список saas_invoices (структура 1:1 с AdminInvoiceController —
фильтры status/search, пагинация).
- markPaid: делегирует InvoicePaymentService::markPaid (идемпотентный
claim issued→paid + зачисление баланса + акт + письмо) — логика НЕ
дублируется.
Head-гейт перед обоими методами (менеджер → 403 до обращения к сервису).
Тесты 7/7 (вкл. пополнение баланса и идемпотентность повторной отметки),
sales-набор 158/158, Larastan 0.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-07-02 20:38:33 +03:00 |
|