メンバー招待機能の実装


メールアドレスによるスペースへの招待機能を実装する。

要件

  • スペース管理者がメールアドレスでメンバーを招待できる
  • 招待メールの送信(招待リンク付き)
  • 招待の承認・拒否機能
  • 招待の期限切れ機能(7日間)
  • 招待済み一覧の表示

技術的要件

  • SpaceInvitationRecord モデルの作成
  • 招待メール送信のための SpaceInvitationMailer 作成
  • 招待承認/拒否のためのコントローラー作成
  • 招待フォームの作成

データベース

create_table :space_invitations do |t|
  t.uuid :id, primary_key: true, default: "generate_ulid()"
  t.uuid :space_id, null: false
  t.uuid :inviter_id, null: false # 招待した人のspace_member_id
  t.string :email, null: false
  t.string :status, null: false # pending, accepted, declined, expired
  t.datetime :expires_at, null: false
  t.datetime :accepted_at
  t.timestamps
end

バックリンク

ホーム