Skip to content

Commit f4553f1

Browse files
committed
Left join leader in get_managed_event!/2
1 parent 10a5392 commit f4553f1

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

lib/claper/events.ex

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -261,11 +261,11 @@ defmodule Claper.Events do
261261
"""
262262
def get_managed_event!(user, uuid, preload \\ []) do
263263
from(
264-
a in ActivityLeader,
265-
join: e in Event,
266-
on: e.id == a.event_id,
264+
e in Event,
267265
join: u in User,
268266
on: e.user_id == u.id,
267+
left_join: a in ActivityLeader,
268+
on: e.id == a.event_id,
269269
where: e.uuid == ^uuid and (u.id == ^user.id or a.email == ^user.email),
270270
select: e
271271
)

test/claper/events_test.exs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,12 @@ defmodule Claper.EventsTest do
226226
end
227227
end
228228

229+
test "get_managed_event!/3 works for the owner of an event with no leaders",
230+
context do
231+
event = Enum.at(context.alice_active_events, 0)
232+
assert Events.get_managed_event!(context.alice, event.uuid) == event
233+
end
234+
229235
test "get_user_event!/3 gets event by owner, raises if not", context do
230236
event = Enum.at(context.alice_active_events, 0)
231237
assert Events.get_user_event!(context.alice.id, event.uuid) == event

0 commit comments

Comments
 (0)