B4-2: OpenAPI / TS codegen — добавить в CI assert #69

Closed
opened 2026-05-11 20:35:18 +00:00 by lekss361 · 0 comments
lekss361 commented 2026-05-11 20:35:18 +00:00 (Migrated from github.com)

Эшелон: ⚙️ Backend API quality

Зачем

npm run codegen генерирует src/types/openapi.ts. Если backend меняется без codegen — фронтенд работает с устаревшими типами молча.

Что сделать

  • В CI шаг jobs.frontend: запустить backend локально → curl :8000/openapi.jsonnpm run codegengit diff --exit-code src/types/openapi.ts
  • Если расхождение — fail с сообщением «обнови TS типы»
  • Audit existing endpoints: где response_model не указан (analyze_parcel возвращает dict[str, Any] — типизировать!)
  • Pydantic schemas для всех analyze response блоков

Acceptance

  • CI fails на untyped response
  • Все /api/v1/* имеют response_model
  • PR с outdated openapi.ts блокируется

Owner

backend-engineer + devops-engineer

Effort

~1 день

**Эшелон:** ⚙️ Backend API quality ## Зачем `npm run codegen` генерирует `src/types/openapi.ts`. Если backend меняется без codegen — фронтенд работает с устаревшими типами молча. ## Что сделать - В CI шаг `jobs.frontend`: запустить backend локально → `curl :8000/openapi.json` → `npm run codegen` → `git diff --exit-code src/types/openapi.ts` - Если расхождение — fail с сообщением «обнови TS типы» - Audit existing endpoints: где `response_model` не указан (analyze_parcel возвращает `dict[str, Any]` — типизировать!) - Pydantic schemas для всех analyze response блоков ## Acceptance - [ ] CI fails на untyped response - [ ] Все `/api/v1/*` имеют response_model - [ ] PR с outdated openapi.ts блокируется ## Owner `backend-engineer` + `devops-engineer` ## Effort ~1 день
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#69
No description provided.