mirror of
https://github.com/basecamp/once-campfire.git
synced 2026-10-08 15:50:08 +09:00
Avoid a double join alias when loading shared sidebar rooms
Chaining without_direct_rooms with with_ordered_room joined rooms as `room` while still ordering on `rooms.name`. Load shared rooms in one scope instead. Co-authored-by: Thomas Klemm <github@tklemm.eu>
This commit is contained in:
@@ -10,6 +10,7 @@ class Membership < ApplicationRecord
|
||||
|
||||
scope :with_ordered_room, -> { includes(:room).joins(:room).order("LOWER(rooms.name)") }
|
||||
scope :with_direct_rooms, -> { includes(:room).joins(:room).where(rooms: { type: "Rooms::Direct" }).order(rooms: { updated_at: :desc }) }
|
||||
scope :with_ordered_shared_rooms, -> { includes(:room).joins(:room).where.not(rooms: { type: "Rooms::Direct" }).order("LOWER(rooms.name)") }
|
||||
scope :without_direct_rooms, -> { joins(:room).where.not(room: { type: "Rooms::Direct" }) }
|
||||
|
||||
scope :visible, -> { where.not(involvement: :invisible) }
|
||||
|
||||
Reference in New Issue
Block a user