Skip to content

A-05 セルフサインアップ: POST /api/tenants + S-11 #775

Description

@win2cot

背景

MVP API §5.1 のうち A-05 がアプリ層未実装(DB スキーマ tenants/user_tenants・OpenAPI 契約 createTenant は既存)。Sprint 0 #121「API 28 endpoints」スコープから抜けたまま補填されていなかった。新規ユーザーのサインアップ導線が無く、MVP リリースブロッカー

スコープ(縦切り: API + 画面)

  • API: POST /api/tenants(operationId createTenant)。認証済み(Keycloak ログイン済み)・テナント未所属ユーザーが自分でテナントを作成。X-Tenant-Id ヘッダ不要。
  • 作成と同時に呼び出しユーザーを 初代 TENANT_ADMIN として user_tenants に登録。
  • tenants.code 一意制約違反は 409 / E_CONFLICT
  • 画面 S-11(セルフサインアップ)。
  • 濫用対策(レート制限・ドメイン制限・承認制)は Phase 2(本 Issue 対象外)。

受け入れ条件

  • CreateTenantUseCase(usecase 層・@Transactional)実装
  • Controller(POST /api/tenantsX-Tenant-Id 除外)実装
  • 初代 TENANT_ADMIN 登録(user_tenants)
  • 409 / E_CONFLICT(code 重複)
  • S-11 画面(UI in-place)
  • OpenAPI(既存 createTenant 契約)とレスポンス一致
  • テスト(Testcontainers MySQL)+ カバレッジ 80%

参照

設計書 §5.1 A-05 / §5.4.1(409)/ OpenAPI POST /api/tenants(createTenant)

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/backendJava / Spring バックエンド実装変更area/frontendフロントエンド(HTML/CSS/JS/Bootstrap 5)変更priority/p0Critical / Blocker。本番影響あり、または他作業がブロックされるtask-type:implコード実装が主体のタスク

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions