スペース所有権移譲機能の実装
スペースのオーナー権限を他のメンバーに移譲する機能を実装する。
要件
- オーナーのみが実行可能
- 移譲先は既存のスペースメンバーから選択
- 二段階認証(パスワード確認 + 確認フォーム)
- 移譲後は元オーナーは管理者権限に変更
技術的要件
POST /s/:space_identifier/settings/ownership/transfer
エンドポイント- 所有権移譲のためのフォーム作成
- トランザクションでの安全な権限変更
- パスワード確認機能
実装箇所
app/controllers/spaces/settings/ownership/transfer_controller.rb
app/forms/spaces/ownership_transfer_form.rb
app/services/spaces/transfer_ownership_service.rb
データフロー
- 移譲先メンバー選択
- パスワード確認
- 確認画面表示
- トランザクション実行(オーナー → 管理者、新オーナー設定)