Skip to content

Commit 53275ab

Browse files
committed
Left join leader in get_managed_event!/2
1 parent 3b511bc commit 53275ab

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
@@ -259,11 +259,11 @@ defmodule Claper.Events do
259259
"""
260260
def get_managed_event!(user, uuid, preload \\ []) do
261261
from(
262-
a in ActivityLeader,
263-
join: e in Event,
264-
on: e.id == a.event_id,
262+
e in Event,
265263
join: u in Accounts.User,
266264
on: e.user_id == u.id,
265+
left_join: a in ActivityLeader,
266+
on: e.id == a.event_id,
267267
where: e.uuid == ^uuid and (u.id == ^user.id or a.email == ^user.email),
268268
select: e
269269
)

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)