スペース所有権移譲機能の実装


スペースのオーナー権限を他のメンバーに移譲する機能を実装する。

要件

  • オーナーのみが実行可能
  • 移譲先は既存のスペースメンバーから選択
  • 二段階認証(パスワード確認 + 確認フォーム)
  • 移譲後は元オーナーは管理者権限に変更

技術的要件

  • 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

データフロー

  1. 移譲先メンバー選択
  2. パスワード確認
  3. 確認画面表示
  4. トランザクション実行(オーナー → 管理者、新オーナー設定)

バックリンク

ホーム