Add ability to delete a group

This commit is contained in:
Chocobozzz
2019-01-25 09:23:44 +01:00
parent c0628a1566
commit 8388240957
8 changed files with 145 additions and 2 deletions

View File

@@ -6,6 +6,7 @@ defmodule Mobilizon.Actors.Member do
import Ecto.Changeset
alias Mobilizon.Actors.Member
alias Mobilizon.Actors.Actor
alias Mobilizon.Repo
schema "members" do
field(:approved, :boolean, default: true)
@@ -24,4 +25,22 @@ defmodule Mobilizon.Actors.Member do
|> validate_required([:parent_id, :actor_id])
|> unique_constraint(:parent_id, name: :members_actor_parent_unique_index)
end
@doc """
Gets a single member of an actor (for example a group)
"""
def get_member(actor_id, parent_id) do
case Repo.get_by(Member, actor_id: actor_id, parent_id: parent_id) do
nil -> {:error, :member_not_found}
member -> {:ok, member}
end
end
def is_administrator(%Member{role: 2} = member) do
{:is_admin, true}
end
def is_administrator(%Member{}) do
{:is_admin, false}
end
end