Merge branch 'develop' into feature/backing_tracks
This commit is contained in:
commit
c70a5ee2bb
|
|
@ -333,6 +333,8 @@ SQL
|
|||
connection = Connection.find_by_client_id_and_user_id!(client_id, user.id)
|
||||
|
||||
connection.join_the_session(music_session, as_musician, tracks, user, audio_latency, video_sources)
|
||||
|
||||
JamRuby::MusicSessionUserHistory.join_music_session(user.id, music_session.id)
|
||||
# connection.music_session_id = music_session.id
|
||||
# connection.as_musician = as_musician
|
||||
# connection.joining_session = true
|
||||
|
|
|
|||
|
|
@ -426,14 +426,18 @@ module JamRuby
|
|||
|
||||
# returns one user history per user, with instruments all crammed together, and with total duration
|
||||
def unique_user_histories
|
||||
|
||||
user_filter = "music_sessions_user_history.session_removed_at is null" if self.session_removed_at.nil?
|
||||
|
||||
MusicSessionUserHistory
|
||||
.joins(:user)
|
||||
.select("STRING_AGG(instruments, '|') AS total_instruments,
|
||||
SUM(date_part('epoch', COALESCE(music_sessions_user_history.session_removed_at, music_sessions_user_history.created_at) - music_sessions_user_history.created_at)) AS total_duration,
|
||||
music_sessions_user_history.user_id, music_sessions_user_history.music_session_id, users.first_name, users.last_name, users.photo_url")
|
||||
.group("music_sessions_user_history.user_id, music_sessions_user_history.music_session_id, users.first_name, users.last_name, users.photo_url")
|
||||
.order("music_sessions_user_history.user_id")
|
||||
.where(%Q{ music_sessions_user_history.music_session_id = '#{id}'})
|
||||
.joins(:user)
|
||||
.select("STRING_AGG(instruments, '|') AS total_instruments,
|
||||
SUM(date_part('epoch', COALESCE(music_sessions_user_history.session_removed_at, music_sessions_user_history.created_at) - music_sessions_user_history.created_at)) AS total_duration,
|
||||
music_sessions_user_history.user_id, music_sessions_user_history.music_session_id, users.first_name, users.last_name, users.photo_url")
|
||||
.group("music_sessions_user_history.user_id, music_sessions_user_history.music_session_id, users.first_name, users.last_name, users.photo_url")
|
||||
.order("music_sessions_user_history.user_id")
|
||||
.where(%Q{ music_sessions_user_history.music_session_id = '#{id}'})
|
||||
.where(user_filter)
|
||||
end
|
||||
|
||||
def duration_minutes
|
||||
|
|
|
|||
|
|
@ -56,6 +56,20 @@ module JamRuby
|
|||
(end_time - self.created_at) / 60.0
|
||||
end
|
||||
|
||||
def self.join_music_session(user_id, session_id)
|
||||
hist = self
|
||||
.where(:user_id => user_id)
|
||||
.where(:music_session_id => session_id)
|
||||
.limit(1)
|
||||
.first
|
||||
hist.start_history if hist
|
||||
end
|
||||
|
||||
def start_history
|
||||
self.session_removed_at = nil
|
||||
self.update_attributes(:session_removed_at => self.session_removed_at, :max_concurrent_connections => determine_max_concurrent)
|
||||
end
|
||||
|
||||
def self.removed_music_session(user_id, session_id)
|
||||
hist = self
|
||||
.where(:user_id => user_id)
|
||||
|
|
@ -67,7 +81,6 @@ module JamRuby
|
|||
|
||||
def end_history
|
||||
self.session_removed_at = Time.now if self.session_removed_at.nil?
|
||||
|
||||
self.update_attributes(:session_removed_at => self.session_removed_at, :max_concurrent_connections => determine_max_concurrent)
|
||||
end
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue