106 lines
2.9 KiB
Ruby
106 lines
2.9 KiB
Ruby
object @user
|
|
|
|
attributes :id, :first_name, :last_name, :name, :city, :state, :country, :location, :online, :photo_url, :musician, :gender, :birth_date, :internet_service_provider, :friend_count, :liker_count, :like_count, :follower_count, :following_count,
|
|
:recording_count, :session_count, :biography, :favorite_count, :audio_latency, :upcoming_session_count, :age, :website, :skill_level, :reuse_card, :purchased_jamtracks_count
|
|
|
|
if @user.musician?
|
|
node :location do @user.location end
|
|
else
|
|
node :location do @user.online ? 'Online' : 'Offline' end
|
|
end
|
|
|
|
# give back more info if the user being fetched is yourself
|
|
if @user == current_user
|
|
attributes :email, :original_fpfile, :cropped_fpfile, :crop_selection, :session_settings, :show_whats_next, :show_whats_next_count, :subscribe_email, :auth_twitter, :new_notifications, :sales_count, :reuse_card, :purchased_jamtracks_count, :first_downloaded_client_at, :created_at
|
|
|
|
node :geoiplocation do |user|
|
|
geoiplocation = current_user.geoiplocation
|
|
geoiplocation.info if geoiplocation
|
|
end
|
|
|
|
node :free_jamtrack do |user|
|
|
Rails.application.config.one_free_jamtrack_per_user && user.has_redeemable_jamtrack
|
|
end
|
|
|
|
node :show_jamtrack_guide do |user|
|
|
!user.first_played_jamtrack_at && user.jam_track_rights.count > 0
|
|
end
|
|
|
|
node :mods do |user|
|
|
user.mods_json
|
|
end
|
|
|
|
node :has_recurly_account do
|
|
@user.recurly_code == @user.id
|
|
end
|
|
|
|
elsif current_user
|
|
node :is_friend do |uu|
|
|
current_user.friends?(@user)
|
|
end
|
|
node :is_following do |uu|
|
|
current_user.following?(@user)
|
|
end
|
|
node :is_liking do |uu|
|
|
current_user.likes?(@user)
|
|
end
|
|
node :pending_friend_request do |uu|
|
|
current_user.pending_friend_request?(@user)
|
|
end
|
|
node :my_audio_latency do |user|
|
|
current_user.last_jam_audio_latency.round if current_user.last_jam_audio_latency
|
|
end
|
|
node :internet_score do |user|
|
|
current_user.score_info(user)
|
|
end
|
|
end
|
|
|
|
child :friends => :friends do
|
|
attributes :id, :first_name, :last_name, :name, :online, :photo_url
|
|
end
|
|
|
|
child :followings => :followings do
|
|
attributes :type
|
|
|
|
node :id do |f|
|
|
f.followable.id
|
|
end
|
|
|
|
node :name do |f|
|
|
f.followable.name
|
|
end
|
|
|
|
node :location do |f|
|
|
f.followable.location
|
|
end
|
|
|
|
node :photo_url do |f|
|
|
f.followable.photo_url
|
|
end
|
|
end
|
|
|
|
child :band_musicians => :bands do
|
|
attributes :id, :name, :admin, :photo_url, :logo_url
|
|
|
|
child :genres => :genres do
|
|
attributes :id, :description
|
|
#partial('api_genres/index', :object => @user.bands.genres)
|
|
end
|
|
end
|
|
|
|
child :musician_instruments => :instruments do
|
|
attributes :description, :proficiency_level, :priority, :instrument_id
|
|
end
|
|
|
|
child :genres do
|
|
attributes :description, :id
|
|
end
|
|
|
|
child :music_sessions => :sessions do
|
|
attributes :id, :description, :musician_access, :approval_required, :fan_access
|
|
end
|
|
|
|
node :last_jam_audio_latency do |user|
|
|
user.last_jam_audio_latency.round if user.last_jam_audio_latency
|
|
end
|