Skip to content

A-09 招待フロー(フル): POST /api/tenant/users/invite + SES #793

Description

@win2cot

背景

A-09 招待が未実装(enum INVITED は scaffold のみ)。ADR-0017(Accepted)準拠のフル招待フローを実装する。

スコープ

  • API: POST /api/tenant/users/invite(body=email)。Tenant Admin 専用・X-Tenant-Id 必須。
  • 既存 oidc_sub が users 登録済み → user_tenants を INVITED で紐付け。
  • 未登録 → users 行作成 → 招待トークン発行 → SES 送信 → 招待先の初回ログインで JIT 確定。
  • 重複招待(既に user_tenants 登録済み)= 409 E_CONFLICT
  • エラー契約是正: 旧 §5.4 / OpenAPI の「未登録 email = 422 E_UNPROCESSABLE」は 廃止(フルフローは作成して送信するため)。OpenAPI inviteUser を ADR-0017 に整合。

受け入れ条件

  • 招待 usecase(既存紐付け / 未登録=作成+トークン+SES)実装
  • Controller(POST /api/tenant/users/invite・Tenant Admin 専用)実装
  • 初回ログイン JIT 確定(INVITED→ACTIVE)
  • 409(重複)/ 422 廃止 を OpenAPI・§5.4 に反映
  • SES 連携(招待メール)
  • テスト + カバレッジ 80%

参照

ADR-0017 / 設計書 §5.1 A-09 / §5.4 / OpenAPI inviteUser

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/backendJava / Spring バックエンド実装変更area/openapiOpenAPI 仕様(api/openapi.yaml)変更priority/p1High。現スプリント内で完了必須task-type:implコード実装が主体のタスク

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions