Add ability to delete an event
This commit is contained in:
@@ -82,4 +82,13 @@ defmodule Mobilizon.Events.Event do
|
||||
:uuid
|
||||
])
|
||||
end
|
||||
|
||||
def can_event_be_managed_by(%Event{organizer_actor_id: organizer_actor_id}, actor_id)
|
||||
when organizer_actor_id == actor_id do
|
||||
{:event_can_be_managed, true}
|
||||
end
|
||||
|
||||
def can_event_be_managed_by(_event, _actor) do
|
||||
{:event_can_be_managed, false}
|
||||
end
|
||||
end
|
||||
|
||||
@@ -103,6 +103,16 @@ defmodule Mobilizon.Events do
|
||||
"""
|
||||
def get_event!(id), do: Repo.get!(Event, id)
|
||||
|
||||
@doc """
|
||||
Gets a single event.
|
||||
"""
|
||||
def get_event(id) do
|
||||
case Repo.get(Event, id) do
|
||||
nil -> {:error, :event_not_found}
|
||||
event -> {:ok, event}
|
||||
end
|
||||
end
|
||||
|
||||
@doc """
|
||||
Gets an event by it's URL
|
||||
"""
|
||||
@@ -311,6 +321,15 @@ defmodule Mobilizon.Events do
|
||||
Repo.delete(event)
|
||||
end
|
||||
|
||||
@doc """
|
||||
Deletes a Event.
|
||||
|
||||
Raises an exception if it fails.
|
||||
"""
|
||||
def delete_event!(%Event{} = event) do
|
||||
Repo.delete!(event)
|
||||
end
|
||||
|
||||
@doc """
|
||||
Returns an `%Ecto.Changeset{}` for tracking event changes.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user