jamtracks ios performance

This commit is contained in:
Jonathan Kolyer 2016-03-16 21:11:10 +00:00
parent b3e2943599
commit 3d9bc9f541
4 changed files with 26 additions and 1 deletions

View File

@ -255,6 +255,15 @@ module JamRuby
{artists: artists, songs:songs}
end
def purchases_metadata(user)
JamTrack.
select(['jam_tracks.id', :name, :original_artist, :year]).
joins(:jam_track_rights).
where("jam_track_rights.user_id = ?", user.id).
includes(:genres).
order([:original_artist, :name])
end
def index(options, user)
if options[:page]
page = options[:page].to_i
@ -583,5 +592,9 @@ SQL
self.find_by_sql(sql).first
end
def genre_name
self.genres.first.try(:description)
end
end
end

View File

@ -142,7 +142,13 @@ class ApiJamTracksController < ApiController
self._handlePurchasedHead
return
end
params[:show_purchased_only] = true
if params[:mobile]
@jam_tracks = JamTrack.purchases_metadata(current_user).to_a
response.headers['total-entries'] = @jam_tracks.count.to_s
render "api_jam_tracks/purchased_mobile", :layout => nil
return
end
params[:show_purchased_only] = true
data = JamTrack.index(params, current_user)
@jam_tracks, @next = data[0], data[1]

View File

@ -0,0 +1,3 @@
node :jamtracks do |page|
partial "api_jam_tracks/show_for_mobile", object: @jam_tracks
end

View File

@ -0,0 +1,3 @@
object @jam_track
attributes :id, :name, :original_artist, :year, :genre_name