メンバーシップ
これは何か
「誰がどのサークル・企画に属するか」を管理する概念です。
Happaには2種類のメンバーシップがあります。
CircleMember(サークルメンバー) サークル(Circle)に所属するユーザーの記録です。サークル自体への所属を表し、特定のイベントとは関係ありません。
CProjectMember(企画メンバー) 特定の企画(CircleProject)に参加するメンバーの記録です。「今年の大学祭の模擬店に参加するメンバー」という単位で管理します。学籍番号で紐づけます。
なぜ2つあるのか
サークルには長年の部員がいますが、大学祭に実際にスタッフとして参加するのはその一部です。「サークルの部員である(CircleMember)」と「今年の大学祭に出る(CProjectMember)」を分けて管理することで、実際の参加者を正確に把握できます。
CircleMember のロール
サークルメンバーには2つのロールがあります。
| ロール | できること |
|---|---|
MEMBER | サークルの情報を閲覧・編集できる |
ADMIN | 上記に加えて、他のメンバーの追加・削除・ロール変更ができる |
できなければならないこと
- サークルのADMINが他のユーザーをサークルに招待(CircleMemberとして追加)できる
- サークルのADMINが他のメンバーのロールを変更できる
- サークルのADMINがメンバーをサークルから除名できる
- 運営スタッフがサークルのメンバー一覧を確認できる
- 企画メンバー(CProjectMember)を学籍番号で登録できる
- 企画メンバーが健康診断(検便)の完了フラグを管理できる
できてはいけないこと
- 同じユーザーを同じサークルに重複して追加すること(1サークルにつき1ユーザーが1件のみ)
- 同じ学籍番号を同じ企画に重複して登録すること
- サークルのADMINが0人になること。最後のADMINは自分でメンバーを外せない。
- 他のサークルのメンバー一覧をサークルメンバーが閲覧すること
- 運営スタッフを経由せずにサークルのADMINが別のサークルのメンバーを追加すること