26 lines
2.4 KiB
Markdown
26 lines
2.4 KiB
Markdown
# Backend router
|
||
|
||
Объединяй triggers из смысла задачи, путей и обнаруженных boundaries.
|
||
Читай выбранные guides до решения; якорь допускает чтение только нужного раздела.
|
||
Просто backend-файл не требует всех conventions.
|
||
|
||
| Решение / сигнал | Читать |
|
||
| --- | --- |
|
||
| Новый файл/suffix/layer; поиск feature owner; progressive structure; перенос responsibility | [Architecture](conventions/backend-architecture.md) |
|
||
| TS vocabulary, domain literals, magic values | [Domain literals](conventions/backend-architecture.md#domain-literals-and-magic-values) |
|
||
| Controller, DTO, route/status, validation/exception, публичная HTTP-семантика | [HTTP API](conventions/backend-http-api.md) |
|
||
| Repository/data access; Prisma/schema/query, transaction, migration, atomic write | [Data](conventions/backend-data.md) |
|
||
| Тесты или behavior с testing risk | [Testing](conventions/backend-testing.md) |
|
||
| JWT, cookie, login/refresh/logout, guard/access, token encryption, sensitive logs | [Security](conventions/security-auth.md) |
|
||
| External client/integration boundary; T-Bank/gRPC/proto, retry/rate limit/cache | [Integrations](conventions/backend-integrations.md) |
|
||
| Logging/request context без изменения secrets/auth | [Logging](conventions/backend-architecture.md#logging) |
|
||
| Новый abstraction/dependency, refactor, неясный scope | [Общий выбор реализации](../../AGENTS.md) |
|
||
| Изменение request/response/route/status/error shape или Swagger metadata | HTTP API + [Источник HTTP-контракта](../../docs/architecture/http-api.md#источник-контракта) |
|
||
|
||
Новый endpoint обычно требует HTTP API + Testing; Architecture/Data/Security
|
||
добавляются по новым ответственности, persistence или access rules.
|
||
Изменение одного Prisma query без HTTP/auth границы не требует HTTP API/Security.
|
||
Auth refresh активирует Security + Data + Testing; HTTP API добавляется, если
|
||
меняется controller/HTTP contract. Exact docs/spec sources выбирай через SOURCES.
|
||
Повтори routing при расширении diff, включая новые и unstaged файлы.
|