food-market/docs
nns dbd08f6fd2 feat(openapi): улучшенный Swagger + TS-клиент через openapi-typescript (P1-19)
API:
• SwaggerGen с OpenAPI info (title/version/description),
  Bearer security-scheme (через OpenIddict JWT),
  стабильные operationId = Controller_VerbAction (HTTP-verb включён
  чтобы избежать коллизии когда ASP.NET стрипает Async-суффикс —
  WipeAll и WipeAllAsync ранее давали одинаковый operationId);
• CustomSchemaIds с префиксом из namespace (одноимённые nested
  record'ы в разных контроллерах больше не схлопываются — StockRow
  есть в Inventory_StockController и Reports_StockReportController).

UI:
• /swagger (UI) и /swagger/v1/swagger.json (документ) — только в Development.
  На prod не раскрываем (endpoint enumeration).

Web:
• Добавлен devDependency openapi-typescript@^7.5.2 + npm-script gen:api,
  читающий http://localhost:5081/swagger/v1/swagger.json.
• src/lib/api.generated.ts — сгенерированные типы (~7700 строк, все
  схемы и operations).
• src/lib/apiClient.ts — тонкая обёртка над axios api, использующая
  типы из generated. Подключена для пары контроллеров (Reports/Sales,
  Reports/ABC, Reports/Profit) как образец постепенной миграции.

docs/openapi.md — workflow генерации (live API или Swashbuckle CLI),
versioning, наставления для нового кода.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-28 11:39:22 +05:00
..
24x7.md ci: move POS (Windows, 2x multiplier) to tag/manual only; document budget 2026-04-22 11:36:29 +05:00
architecture.md Phase 0: project scaffolding and end-to-end auth 2026-04-21 13:59:13 +05:00
audit-2026-04-27.md fix(auth): закрыть критические дыры — orphan login, self-delete, owner-delete, override-баннер 2026-04-27 09:28:18 +05:00
audit-2026-05-06.md docs(audit): полный аудит цепочки авторизации — 2026-05-06 2026-05-06 11:32:07 +05:00
audit-moysklad.md docs: audit of our domain entities vs. live OtherSystem API 2026-04-23 12:57:06 +05:00
backup-restore.md feat(deploy): авто-бэкап БД+uploads — systemd timer/service + скрипт (P0-6) 2026-05-27 02:49:08 +05:00
forgejo.md ops: Forgejo on git.zat.kz as primary, GitHub as mirror 2026-04-23 12:27:45 +05:00
openapi.md feat(openapi): улучшенный Swagger + TS-клиент через openapi-typescript (P1-19) 2026-05-28 11:39:22 +05:00
openiddict-keys.md feat(auth): prod X509-ключи OpenIddict с persistent self-signed (P0-1) 2026-05-27 02:47:00 +05:00
release-checklist.md docs: чек-лист релиза (P0-9) 2026-05-27 02:52:16 +05:00
secrets.md docs(deploy): .env.example + secrets.md, проброс OpenIddict env в compose (P0-8) 2026-05-27 02:51:13 +05:00
sprint1-progress.md docs(sprint1): P1-21 done — все 9 пунктов выполнены, итог 2026-05-27 03:16:25 +05:00
sprint2-progress.md docs(sprint2): P1-16 done — все 7 пунктов выполнены, итог 2026-05-28 10:07:53 +05:00
sprint3-progress.md docs(sprint3): P1-11 done 2026-05-28 11:24:38 +05:00
stage-access.md docs(stage): switch stage subdomain to food-market.zat.kz 2026-04-22 20:31:20 +05:00
stage-setup.md ci/deploy: stage deploy workflow + notifications + server plan 2026-04-22 13:46:03 +05:00
telegram-bridge.md feat(ops): Telegram <-> tmux bridge + local docker-registry unit 2026-04-23 10:53:45 +05:00
TZ-доработка.md docs: ТЗ на доработку и тестирование (полный аудит 2026-05-22) 2026-05-22 15:30:04 +05:00
TZ-тестирование.md docs: ТЗ на доработку и тестирование (полный аудит 2026-05-22) 2026-05-22 15:30:04 +05:00