mirror of
https://github.com/ClaperCo/Claper.git
synced 2025-12-14 19:07:52 +01:00
Left join leader in get_managed_event!/2 (#194)
This commit is contained in:
@@ -259,11 +259,11 @@ defmodule Claper.Events do
|
||||
"""
|
||||
def get_managed_event!(user, uuid, preload \\ []) do
|
||||
from(
|
||||
a in ActivityLeader,
|
||||
join: e in Event,
|
||||
on: e.id == a.event_id,
|
||||
e in Event,
|
||||
join: u in Accounts.User,
|
||||
on: e.user_id == u.id,
|
||||
left_join: a in ActivityLeader,
|
||||
on: e.id == a.event_id,
|
||||
where: e.uuid == ^uuid and (u.id == ^user.id or a.email == ^user.email),
|
||||
select: e
|
||||
)
|
||||
|
||||
@@ -226,6 +226,12 @@ defmodule Claper.EventsTest do
|
||||
end
|
||||
end
|
||||
|
||||
test "get_managed_event!/3 works for the owner of an event with no leaders",
|
||||
context do
|
||||
event = Enum.at(context.alice_active_events, 0)
|
||||
assert Events.get_managed_event!(context.alice, event.uuid) == event
|
||||
end
|
||||
|
||||
test "get_user_event!/3 gets event by owner, raises if not", context do
|
||||
event = Enum.at(context.alice_active_events, 0)
|
||||
assert Events.get_user_event!(context.alice.id, event.uuid) == event
|
||||
|
||||
Reference in New Issue
Block a user