fix: harden auth and investment synchronization
Backend security / security (push) Successful in 8s
Backend verify / verify (push) Successful in 11m9s
Conventional commits / commits (pull_request) Successful in 28s
Backend security / security (pull_request) Successful in 7s
Backend verify / verify (pull_request) Successful in 10m38s
Backend security / security (push) Successful in 8s
Backend verify / verify (push) Successful in 11m9s
Conventional commits / commits (pull_request) Successful in 28s
Backend security / security (pull_request) Successful in 7s
Backend verify / verify (pull_request) Successful in 10m38s
Resolve A01-A10 and C01-C07 from the backend audit. Preserve auth failures, forced candle reconciliation and forecast freshness. Validate MOEX responses and nested HTTP errors; remove unused legacy paths. Verified: 209 unit tests, 262 SQLite e2e tests on Linux, OpenAPI and durability. Record the remaining macOS native SQLite abort in the audit.
This commit is contained in:
@@ -8,8 +8,8 @@ application/domain outcome → application mapping → HttpExceptionFilter
|
||||
```
|
||||
|
||||
Сохраняй принятый профиль RFC 9457: `status`, стабильный публичный `code`,
|
||||
для validation — `errors: [{ pointer, detail }]`. Точный контракт и известное
|
||||
расхождение validation описаны в [HTTP API](http-api.md#источник-контракта).
|
||||
для validation — `errors: [{ pointer, detail }]`. Точный контракт validation
|
||||
описан в [HTTP API](http-api.md#источник-контракта).
|
||||
Не добавляй `type/title/instance` как обязательные поля без contract change.
|
||||
|
||||
Чистый domain не импортирует Nest HTTP exceptions. Существующий application
|
||||
|
||||
@@ -83,6 +83,6 @@ artifact отдельно; backend не читает их репозитории
|
||||
HTTP prefix — `/api/v1`; Swagger доступен согласно `src/config/swagger.config.ts`.
|
||||
Общий error response — `application/problem+json` со `status` и публичным `code`.
|
||||
Validation требует `400 / VALIDATION_ERROR` и `errors: [{ pointer, detail }]`.
|
||||
Известное ограничение: ValidationPipe сейчас формирует строковые сообщения,
|
||||
а filter ожидает структурированные field errors; schema parity не доказывает
|
||||
правильность `errors`. Изменение требует проверки реального HTTP pipeline.
|
||||
ValidationPipe сохраняет структурированные field errors без `target/value`,
|
||||
а filter формирует JSON pointers, включая вложенные поля. Schema parity не
|
||||
доказывает правильность `errors`; изменения проверяются через реальный HTTP pipeline.
|
||||
|
||||
Reference in New Issue
Block a user