Аудит main/audits/2026-10-19-code-quality-architecture, CQ-019 и пункт 7 плана: для tbank-sync граница сделана в backend#118, а upcoming-events не имеет *.api.ts. tbank-hourly.scheduler.ts и openapi.ts импортируют upcoming-events.service напрямую.
Результат и scope
Добавить upcoming-events.api.ts с используемыми снаружи exports (UpcomingEventsService, EventsErrorCode), перенаправить на него межмодульные импорты и закрепить границу правилом import-x/no-restricted-paths по образцу tbank-sync. DI, HTTP endpoints и поведение не меняются.
Acceptance Criteria
Вне upcoming-events/ импортируются только upcoming-events.api.ts и upcoming-events.module.ts.
Lint запрещает возврат прямых импортов и не мешает внутренним.
Build, lint, архитектурные проверки и релевантные тесты проходят.
Источник: аудит 2026-10-19, CQ-019; план, пункт 7.
## Проблема
Аудит `main/audits/2026-10-19-code-quality-architecture`, CQ-019 и пункт 7 плана: для `tbank-sync` граница сделана в backend#118, а `upcoming-events` не имеет `*.api.ts`. `tbank-hourly.scheduler.ts` и `openapi.ts` импортируют `upcoming-events.service` напрямую.
## Результат и scope
Добавить `upcoming-events.api.ts` с используемыми снаружи exports (`UpcomingEventsService`, `EventsErrorCode`), перенаправить на него межмодульные импорты и закрепить границу правилом `import-x/no-restricted-paths` по образцу tbank-sync. DI, HTTP endpoints и поведение не меняются.
## Acceptance Criteria
- [ ] Вне `upcoming-events/` импортируются только `upcoming-events.api.ts` и `upcoming-events.module.ts`.
- [ ] Lint запрещает возврат прямых импортов и не мешает внутренним.
- [ ] Build, lint, архитектурные проверки и релевантные тесты проходят.
Источник: аудит 2026-10-19, CQ-019; план, пункт 7.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Проблема
Аудит
main/audits/2026-10-19-code-quality-architecture, CQ-019 и пункт 7 плана: дляtbank-syncграница сделана в backend#118, аupcoming-eventsне имеет*.api.ts.tbank-hourly.scheduler.tsиopenapi.tsимпортируютupcoming-events.serviceнапрямую.Результат и scope
Добавить
upcoming-events.api.tsс используемыми снаружи exports (UpcomingEventsService,EventsErrorCode), перенаправить на него межмодульные импорты и закрепить границу правиломimport-x/no-restricted-pathsпо образцу tbank-sync. DI, HTTP endpoints и поведение не меняются.Acceptance Criteria
upcoming-events/импортируются толькоupcoming-events.api.tsиupcoming-events.module.ts.Источник: аудит 2026-10-19, CQ-019; план, пункт 7.