Clean up load_history in terms of list all unique participants for a session
This commit is contained in:
parent
78ae753d87
commit
47fd0cb68d
|
|
@ -568,10 +568,22 @@ module JamRuby
|
|||
return query
|
||||
end
|
||||
|
||||
# list all unique participants in a session, for any session that the current_user was once a part of
|
||||
def self.history(current_user, options)
|
||||
offset = options[:offset] || 0
|
||||
limit = options[:limit] || 10
|
||||
|
||||
#This results in
|
||||
# SELECT DISTINCT ON(music_sessions.created_at, music_sessions.id, users.id ) music_sessions.id AS session_id, music_sessions_user_history.id AS session_history_id, music_sessions.created_at, music_sessions.name, music_sessions.description, music_sessions.musician_access, music_sessions.approval_required, music_sessions_user_history.instruments, users.first_name, users.last_name, users.photo_url, users.id AS user_id FROM "music_sessions" INNER JOIN
|
||||
# music_sessions_user_history
|
||||
# ON
|
||||
# music_sessions.id = music_sessions_user_history.music_session_id
|
||||
# INNER JOIN
|
||||
# users
|
||||
# ON
|
||||
# music_sessions_user_history.user_id = users.id
|
||||
# WHERE music_sessions.id IN ( SELECT DISTINCT music_sessions_user_history.music_session_id FROM music_sessions_user_history where user_id = '1886af5c-b76e-466b-b8d1-30d98e549521) ORDER BY music_sessions.created_at DESC LIMIT 100 OFFSET 1
|
||||
#
|
||||
MusicSession.joins(
|
||||
%Q{
|
||||
INNER JOIN
|
||||
|
|
@ -582,9 +594,10 @@ module JamRuby
|
|||
users
|
||||
ON
|
||||
music_sessions_user_history.user_id = users.id
|
||||
WHERE users.id = '#{current_user.id}'
|
||||
WHERE music_sessions.id IN ( SELECT DISTINCT music_sessions_user_history.music_session_id FROM music_sessions_user_history where user_id = '#{current_user.id}')
|
||||
|
||||
}
|
||||
).order('music_sessions.created_at DESC').select("music_sessions.id AS session_id, music_sessions_user_history.id AS session_history_id, music_sessions.created_at, music_sessions.name, music_sessions.description, music_sessions.musician_access, music_sessions.approval_required, music_sessions_user_history.instruments, users.first_name, users.last_name, users.photo_url, users.id AS user_id").offset(offset).limit(limit)
|
||||
).order('music_sessions.created_at DESC').select("DISTINCT ON(music_sessions.created_at, music_sessions.id, users.id ) music_sessions.id AS session_id, music_sessions_user_history.id AS session_history_id, music_sessions.created_at, music_sessions.name, music_sessions.description, music_sessions.musician_access, music_sessions.approval_required, music_sessions_user_history.instruments, users.first_name, users.last_name, users.photo_url, users.id AS user_id").offset(offset).limit(limit)
|
||||
end
|
||||
|
||||
def self.scheduled user, only_public = false
|
||||
|
|
|
|||
Loading…
Reference in New Issue