diff --git a/db/up/like_follower_poly_assoc.sql b/db/up/like_follower_poly_assoc.sql index ea109b9d5..bfae7b284 100644 --- a/db/up/like_follower_poly_assoc.sql +++ b/db/up/like_follower_poly_assoc.sql @@ -1,3 +1,10 @@ +drop table users_followers; +drop table users_likers; +drop table bands_followers; +drop table bands_likers; +drop table music_sessions_likers; +drop table recordings_likers; + alter table music_sessions_history add constraint music_sessions_history_pkey PRIMARY KEY (id); @@ -10,9 +17,7 @@ CREATE TABLE likes created_at timestamp without time zone NOT NULL DEFAULT now(), updated_at timestamp without time zone NOT NULL DEFAULT now(), CONSTRAINT likes_pkey PRIMARY KEY (id), - CONSTRAINT likes_user_fkey FOREIGN KEY (user_id) - REFERENCES users (id) MATCH SIMPLE - ON UPDATE NO ACTION ON DELETE CASCADE, + CONSTRAINT likes_user_fkey FOREIGN KEY (user_id) REFERENCES users (id) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE CASCADE, CONSTRAINT likes_user_uniqkey UNIQUE (user_id, likable_id) ); @@ -25,8 +30,6 @@ CREATE TABLE follows created_at timestamp without time zone NOT NULL DEFAULT now(), updated_at timestamp without time zone NOT NULL DEFAULT now(), CONSTRAINT follows_pkey PRIMARY KEY (id), - CONSTRAINT follows_user_fkey FOREIGN KEY (user_id) - REFERENCES users (id) MATCH SIMPLE - ON UPDATE NO ACTION ON DELETE CASCADE, + CONSTRAINT follows_user_fkey FOREIGN KEY (user_id) REFERENCES users (id) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE CASCADE, CONSTRAINT follows_user_uniqkey UNIQUE (user_id, followable_id) ); \ No newline at end of file diff --git a/ruby/lib/jam_ruby.rb b/ruby/lib/jam_ruby.rb index afa9e088b..d051ee683 100755 --- a/ruby/lib/jam_ruby.rb +++ b/ruby/lib/jam_ruby.rb @@ -67,15 +67,11 @@ require "jam_ruby/models/invited_user" require "jam_ruby/models/invited_user_observer" require "jam_ruby/models/artifact_update" require "jam_ruby/models/band_invitation" -# require "jam_ruby/models/band_liker" -# require "jam_ruby/models/band_follower" -# require "jam_ruby/models/band_following" require "jam_ruby/models/band_musician" require "jam_ruby/models/connection" require "jam_ruby/models/friendship" require "jam_ruby/models/music_session" require "jam_ruby/models/music_session_comment" -# require "jam_ruby/models/music_session_liker" require "jam_ruby/models/music_session_history" require "jam_ruby/models/music_session_user_history" require "jam_ruby/models/music_session_perf_data" @@ -88,14 +84,9 @@ require "jam_ruby/models/follow" require "jam_ruby/models/musician_instrument" require "jam_ruby/models/notification" require "jam_ruby/models/track" -# require "jam_ruby/models/user_liker" -# require "jam_ruby/models/user_like" -# require "jam_ruby/models/user_follower" -# require "jam_ruby/models/user_following" require "jam_ruby/models/search" require "jam_ruby/models/recording" require "jam_ruby/models/recording_comment" -# require "jam_ruby/models/recording_liker" require "jam_ruby/models/recording_play" require "jam_ruby/models/recorded_track" require "jam_ruby/models/recorded_track_observer" diff --git a/ruby/lib/jam_ruby/models/band.rb b/ruby/lib/jam_ruby/models/band.rb index b9b820396..db6f19917 100644 --- a/ruby/lib/jam_ruby/models/band.rb +++ b/ruby/lib/jam_ruby/models/band.rb @@ -27,19 +27,10 @@ module JamRuby has_many :recordings, :class_name => "JamRuby::Recording", :foreign_key => "band_id" # self.id = likable_id in likes table - has_many :likes, :as => :likable, :class_name => "JamRuby::Like", :dependent => :destroy + has_many :likers, :as => :likable, :class_name => "JamRuby::Like", :dependent => :destroy # self.id = followable_id in follows table - has_many :follows, :as => :followable, :class_name => "JamRuby::Follow", :dependent => :destroy - - # has_many :likers, :class_name => "JamRuby::BandLiker", :foreign_key => "band_id", :inverse_of => :band - # has_many :inverse_likers, :through => :likers, :class_name => "JamRuby::User", :foreign_key => "liker_id" - - # followers - # has_many :band_followers, :class_name => "JamRuby::BandFollower", :foreign_key => "band_id" - # has_many :followers, :through => :band_followers, :class_name => "JamRuby::User" - # has_many :inverse_band_followers, :through => :followers, :class_name => "JamRuby::BandFollower", :foreign_key => "follower_id" - # has_many :inverse_followers, :through => :inverse_band_followers, :source => :band, :class_name => "JamRuby::Band" + has_many :followers, :as => :followable, :class_name => "JamRuby::Follow", :dependent => :destroy # invitations has_many :invitations, :inverse_of => :band, :class_name => "JamRuby::BandInvitation", :foreign_key => "band_id" @@ -55,10 +46,6 @@ module JamRuby return self.likers.size end - # def likes?(user) - # self.likers.exists?(user) - # end - def follower_count return self.followers.size end diff --git a/ruby/lib/jam_ruby/models/band_follower.rb b/ruby/lib/jam_ruby/models/band_follower.rb deleted file mode 100644 index adac52892..000000000 --- a/ruby/lib/jam_ruby/models/band_follower.rb +++ /dev/null @@ -1,11 +0,0 @@ -module JamRuby - class BandFollower < ActiveRecord::Base - - self.table_name = "bands_followers" - - self.primary_key = 'id' - - belongs_to :band, :class_name => "JamRuby::Band", :foreign_key => "band_id" - belongs_to :follower, :class_name => "JamRuby::User", :foreign_key => "follower_id" - end -end \ No newline at end of file diff --git a/ruby/lib/jam_ruby/models/band_following.rb b/ruby/lib/jam_ruby/models/band_following.rb deleted file mode 100644 index 2f2a9cc02..000000000 --- a/ruby/lib/jam_ruby/models/band_following.rb +++ /dev/null @@ -1,11 +0,0 @@ -module JamRuby - class BandFollowing < ActiveRecord::Base - - self.table_name = "bands_followers" - - self.primary_key = 'id' - - belongs_to :user, :class_name => "JamRuby::User", :foreign_key => "follower_id", :inverse_of => :inverse_band_followings - belongs_to :band_following, :class_name => "JamRuby::Band", :foreign_key => "band_id", :inverse_of => :band_followings - end -end \ No newline at end of file diff --git a/ruby/lib/jam_ruby/models/band_liker.rb b/ruby/lib/jam_ruby/models/band_liker.rb deleted file mode 100644 index 5926d8b6c..000000000 --- a/ruby/lib/jam_ruby/models/band_liker.rb +++ /dev/null @@ -1,11 +0,0 @@ -module JamRuby - class BandLiker < ActiveRecord::Base - - self.table_name = "bands_likers" - - self.primary_key = 'id' - - belongs_to :band, :class_name => "JamRuby::Band", :foreign_key => "band_id", :inverse_of => :likers - belongs_to :user, :class_name => "JamRuby::User", :foreign_key => "liker_id", :inverse_of => :band_likes - end -end \ No newline at end of file diff --git a/ruby/lib/jam_ruby/models/music_session_history.rb b/ruby/lib/jam_ruby/models/music_session_history.rb index e46b58004..1fae0c97b 100644 --- a/ruby/lib/jam_ruby/models/music_session_history.rb +++ b/ruby/lib/jam_ruby/models/music_session_history.rb @@ -21,7 +21,6 @@ module JamRuby has_many :music_session_user_histories, :class_name => "JamRuby::MusicSessionUserHistory", :foreign_key => "music_session_id" has_many :comments, :class_name => "JamRuby::MusicSessionComment", :foreign_key => "music_session_id" - # has_many :likes, :class_name => "JamRuby::MusicSessionLiker", :foreign_key => "music_session_id" has_many :likes, :as => :likable, :class_name => "JamRuby::Like", :dependent => :destroy has_one :share_token, :class_name => "JamRuby::ShareToken", :inverse_of => :shareable, :foreign_key => 'shareable_id' diff --git a/ruby/lib/jam_ruby/models/music_session_liker.rb b/ruby/lib/jam_ruby/models/music_session_liker.rb deleted file mode 100644 index 538822c6e..000000000 --- a/ruby/lib/jam_ruby/models/music_session_liker.rb +++ /dev/null @@ -1,17 +0,0 @@ -module JamRuby - class MusicSessionLiker < ActiveRecord::Base - - self.table_name = "music_sessions_likers" - - self.primary_key = 'id' - - belongs_to(:music_session_history, - :class_name => "JamRuby::MusicSessionHistory", - :foreign_key => "music_session_id") - - belongs_to(:user, - :class_name => "JamRuby::User", - :foreign_key => "liker_id") - - end -end \ No newline at end of file diff --git a/ruby/lib/jam_ruby/models/recording_liker.rb b/ruby/lib/jam_ruby/models/recording_liker.rb deleted file mode 100644 index 041465d2b..000000000 --- a/ruby/lib/jam_ruby/models/recording_liker.rb +++ /dev/null @@ -1,12 +0,0 @@ -module JamRuby - class RecordingLiker < ActiveRecord::Base - - self.table_name = "recordings_likers" - - self.primary_key = 'id' - - belongs_to :recording, :class_name => "JamRuby::Recording", :foreign_key => "recording_id" - belongs_to :user, :class_name => "JamRuby::User", :foreign_key => "liker_id" - - end -end \ No newline at end of file diff --git a/ruby/lib/jam_ruby/models/user.rb b/ruby/lib/jam_ruby/models/user.rb index e1fc192d1..83bb2e8fb 100644 --- a/ruby/lib/jam_ruby/models/user.rb +++ b/ruby/lib/jam_ruby/models/user.rb @@ -47,47 +47,13 @@ module JamRuby has_many :likings, :class_name => "JamRuby::Like", :inverse_of => :user, :dependent => :destroy # self.id = likable_id in likes table - has_many :likes, :as => :likable, :class_name => "JamRuby::Like", :dependent => :destroy + has_many :likers, :as => :likable, :class_name => "JamRuby::Like", :dependent => :destroy # self.id = user_id in follows table has_many :followings, :class_name => "JamRuby::Follow", :inverse_of => :user, :dependent => :destroy # self.id = followable_id in follows table - has_many :follows, :as => :followable, :class_name => "JamRuby::Follow", :dependent => :destroy - - # # user likers (users who like current_user) - # has_many :likers, :class_name => "JamRuby::UserLiker", :foreign_key => "user_id", :inverse_of => :user - # has_many :inverse_likers, :through => :likers, :class_name => "JamRuby::User", :foreign_key => "liker_id" - - # # user likes (users who current_user likes) - # has_many :likes, :class_name => "JamRuby::UserLike", :foreign_key => "liker_id", :inverse_of => :user - # has_many :inverse_likes, :through => :likes, :class_name => "JamRuby::User", :foreign_key => "user_id" - - # # band likes - # has_many :band_likes, :class_name => "JamRuby::BandLiker", :foreign_key => "liker_id", :inverse_of => :user - # has_many :inverse_band_likes, :through => :band_likes, :class_name => "JamRuby::Band", :foreign_key => "band_id" - - # # session likes - # has_many :session_likes, :class_name => "JamRuby::SessionLiker", :foreign_key => "liker_id", :inverse_of => :user - # has_many :inverse_band_likes, :through => :band_likes, :class_name => "JamRuby::Band", :foreign_key => "band_id" - - # # followers - # has_many :user_followers, :class_name => "JamRuby::UserFollower", :foreign_key => "user_id" - # has_many :followers, :through => :user_followers, :class_name => "JamRuby::User" - # has_many :inverse_user_followers, :through => :followers, :class_name => "JamRuby::UserFollower", :foreign_key => "follower_id" - # has_many :inverse_followers, :through => :inverse_user_followers, :source => :user, :class_name => "JamRuby::User" - - # # user followings - # has_many :user_followings, :class_name => "JamRuby::UserFollowing", :foreign_key => "follower_id" - # has_many :followings, :through => :user_followings, :class_name => "JamRuby::User" - # has_many :inverse_user_followings, :through => :followings, :class_name => "JamRuby::UserFollowing", :foreign_key => "user_id" - # has_many :inverse_followings, :through => :inverse_user_followings, :source => :user, :class_name => "JamRuby::User" - - # # band followings - # has_many :b_followings, :class_name => "JamRuby::BandFollowing", :foreign_key => "follower_id" - # has_many :band_followings, :through => :b_followings, :class_name => "JamRuby::Band" - # has_many :inverse_b_followings, :through => :band_followings, :class_name => "JamRuby::BandFollowing", :foreign_key => "band_id" - # has_many :inverse_band_followings, :through => :inverse_band_followings, :source => :band, :class_name => "JamRuby::Band" + has_many :followers, :as => :followable, :class_name => "JamRuby::Follow", :dependent => :destroy # notifications has_many :notifications, :class_name => "JamRuby::Notification", :foreign_key => "target_user_id" @@ -263,69 +229,45 @@ module JamRuby end def friends?(user) - return self.friends.exists?(user) + self.friends.exists?(user) end def friend_count - return self.friends.size + self.friends.size end - # check if "user" likes "this user" - # def likers?(user) - # return self.likers.exists?(user) - # end - - # def liker_count - # return self.likers.size - # end - - # check if "this user" likes "user" - # def likes?(user) - # return self.likes.where("EXISTS(SELECT 1 FROM") - # end - - def like_count - return self.likes.size + # check if "this user" likes entity + def likes?(entity) + self.likings.where(:user_id => self.id).where(:likable_id => entity.id).size > 0 end - # def likes_band(band) - # return self.band_likes.exists?(band) - # end - - # def band_like_count - # return self.band_likes.size - # end - - def following?(user) - self.followings.exists?(user) + def liking_count + self.likings.size end - def follower_count - return self.followers.size + def liker_count + self.likers.size + end + + # check if "this user" follows entity + def following?(entity) + self.followings.where(:user_id => self.id).where(:likable_id => entity.id).size > 0 end def following_count - return self.followings.size + self.followings.size end - def following_band?(band) - self.band_followings.exists?(band) - end - - # def likes_band?(band) - # self.band_likes.exists?(band) - # end - - def band_following_count - return self.band_followings.size + def follower_count + self.followers.size end def recording_count - return self.recordings.size + self.recordings.size end def session_count - return self.music_sessions.size + self.music_sessions.size end def recent_history @@ -604,28 +546,63 @@ module JamRuby self.save end - def create_user_following(user_id) - follower = UserFollower.new - follower.user_id = user_id - follower.follower_id = self.id - follower.save + def create_user_following(targetUserId) + targetUser = User.new + targetUser.id = targetUserId + + follow = Follow.new + follow.followable = targetUser + follow.user = self + follow.save # TODO: make this async - user = User.find(user_id) + user = User.find(targetUserId) Notification.send_new_user_follower(self, user) end - def create_band_following(band_id) - follower = BandFollower.new - follower.band_id = band_id - follower.follower_id = self.id - follower.save + def create_band_following(targetBandId) + + targetBand= Band.new + targetBand.id = targetBandId + + follow = Follow.new + follow.followable = targetBand + follow.user = self + follow.save # TODO: make this async - band = Band.find(band_id) + band = Band.find(targetBandId) Notification.send_new_band_follower(self, band) end + def self.delete_following(likerId, targetEntityId) + Follow.delete_all "(user_id = '#{liker_id}' AND followable_id = '#{targetEntityId}')" + end + + def create_user_like(targetUserId) + targetUser = User.new + targetUser.id = targetUserId + + like = Like.new + like.likable = targetUser + like.user = self + like.save + end + + def create_band_like(targetBandId) + targetBand = Band.new + targetBand.id = targetBandId + + like = Like.new + like.likable = targetBand + like.user = self + like.save + end + + def self.delete_like(likerId, targetEntityId) + Like.delete_all "(user_id = '#{liker_id}' AND likable_id = '#{targetEntityId}')" + end + def self.finalize_update_email(update_email_token) # updates the user model to have a new email address user = User.find_by_update_email_token!(update_email_token) @@ -638,46 +615,6 @@ module JamRuby return user end - def self.create_user_like(user_id, liker_id) - liker = UserLiker.new() - liker.user_id = user_id - liker.liker_id = liker_id - liker.save - end - - def self.delete_like(user_id, band_id, liker_id) - if !user_id.nil? - JamRuby::UserLiker.delete_all "(user_id = '#{user_id}' AND liker_id = '#{liker_id}')" - - elsif !band_id.nil? - JamRuby::BandLiker.delete_all "(band_id = '#{band_id}' AND liker_id = '#{liker_id}')" - end - end - - def self.create_band_like(band_id, liker_id) - liker = BandLiker.new - liker.band_id = band_id - liker.liker_id = liker_id - liker.save - end - - def self.delete_band_like(band_id, liker_id) - JamRuby::BandLiker.delete_all "(band_id = '#{band_id}' AND liker_id = '#{liker_id}')" - end - - def self.delete_following(user_id, band_id, follower_id) - if !user_id.nil? - JamRuby::UserFollower.delete_all "(user_id = '#{user_id}' AND follower_id = '#{follower_id}')" - - elsif !band_id.nil? - JamRuby::BandFollower.delete_all "(band_id = '#{band_id}' AND follower_id = '#{follower_id}')" - end - end - - def self.delete_band_following(band_id, follower_id) - JamRuby::BandFollower.delete_all "(band_id = '#{band_id}' AND follower_id = '#{follower_id}')" - end - def self.create_favorite(user_id, recording_id) favorite = UserFavorite.new favorite.user_id = user_id diff --git a/ruby/lib/jam_ruby/models/user_follower.rb b/ruby/lib/jam_ruby/models/user_follower.rb deleted file mode 100644 index e3cd4615a..000000000 --- a/ruby/lib/jam_ruby/models/user_follower.rb +++ /dev/null @@ -1,11 +0,0 @@ -module JamRuby - class UserFollower < ActiveRecord::Base - - self.table_name = "users_followers" - - self.primary_key = 'id' - - belongs_to :user, :class_name => "JamRuby::User", :foreign_key => "user_id", :inverse_of => :inverse_followers - belongs_to :follower, :class_name => "JamRuby::User", :foreign_key => "follower_id", :inverse_of => :followers - end -end \ No newline at end of file diff --git a/ruby/lib/jam_ruby/models/user_following.rb b/ruby/lib/jam_ruby/models/user_following.rb deleted file mode 100644 index ea9f99ab8..000000000 --- a/ruby/lib/jam_ruby/models/user_following.rb +++ /dev/null @@ -1,11 +0,0 @@ -module JamRuby - class UserFollowing < ActiveRecord::Base - - self.table_name = "users_followers" - - self.primary_key = 'id' - - belongs_to :user, :class_name => "JamRuby::User", :foreign_key => "follower_id", :inverse_of => :inverse_followings - belongs_to :following, :class_name => "JamRuby::User", :foreign_key => "user_id", :inverse_of => :followings - end -end \ No newline at end of file diff --git a/ruby/lib/jam_ruby/models/user_like.rb b/ruby/lib/jam_ruby/models/user_like.rb deleted file mode 100644 index 915ab4d87..000000000 --- a/ruby/lib/jam_ruby/models/user_like.rb +++ /dev/null @@ -1,10 +0,0 @@ -module JamRuby - class UserLike < ActiveRecord::Base - - self.table_name = "users_likers" - - self.primary_key = 'id' - - belongs_to :user, :class_name => "JamRuby::User", :foreign_key => "user_id", :inverse_of => :inverse_likes - end -end \ No newline at end of file diff --git a/ruby/lib/jam_ruby/models/user_liker.rb b/ruby/lib/jam_ruby/models/user_liker.rb deleted file mode 100644 index 07c2cbec7..000000000 --- a/ruby/lib/jam_ruby/models/user_liker.rb +++ /dev/null @@ -1,10 +0,0 @@ -module JamRuby - class UserLiker < ActiveRecord::Base - - self.table_name = "users_likers" - - self.primary_key = 'id' - - belongs_to :user, :class_name => "JamRuby::User", :foreign_key => "liker_id", :inverse_of => :inverse_likers - end -end \ No newline at end of file diff --git a/web/app/assets/javascripts/bandProfile.js b/web/app/assets/javascripts/bandProfile.js index 8cae06e1b..723220128 100644 --- a/web/app/assets/javascripts/bandProfile.js +++ b/web/app/assets/javascripts/bandProfile.js @@ -46,55 +46,34 @@ newFollowing.band_id = id; } - var url = "/api/users/" + context.JK.currentUserId + "/followings"; - $.ajax({ - type: "POST", - dataType: "json", - contentType: 'application/json', - url: url, - data: JSON.stringify(newFollowing), - processData: false, - success: function(response) { - renderActive(); // refresh stats + rest.addFollowing(newFollowing) + .done(function() { if (isBand) { configureBandFollowingButton(true); } else { configureMemberFollowingButton(true, id); } - }, - error: app.ajaxError - }); + configureFollowingButton(); + }) + .fail(app.ajaxError); } function removeFollowing(isBand, id) { var following = {}; - if (!isBand) { - following.user_id = id; - } - else { - following.band_id = id; - } + following.target_entity_id = id; - var url = "/api/users/" + context.JK.currentUserId + "/followings"; - $.ajax({ - type: "DELETE", - dataType: "json", - contentType: 'application/json', - url: url, - data: JSON.stringify(following), - processData: false, - success: function(response) { - renderActive(); // refresh stats - if (isBand) { - configureBandFollowingButton(false); - } - else { - configureMemberFollowingButton(false, id); - } - }, - error: app.ajaxError - }); + rest.removeFollowing(following) + .done(function() { + renderActive(); // refresh stats + if (isBand) { + configureBandFollowingButton(false); + } + else { + configureMemberFollowingButton(false, id); + } + }) + .fail(app.ajaxError); } function isFollowingMember(userId) { diff --git a/web/app/assets/javascripts/profile.js b/web/app/assets/javascripts/profile.js index bc6815b89..ca858360a 100644 --- a/web/app/assets/javascripts/profile.js +++ b/web/app/assets/javascripts/profile.js @@ -214,13 +214,7 @@ function removeFollowing(isBand, id) { var following = {}; - - if (!isBand) { - following.user_id = id; - } - else { - following.band_id = id; - } + following.target_entity_id = id; rest.removeFollowing(following) .done(function() { diff --git a/web/app/controllers/api_users_controller.rb b/web/app/controllers/api_users_controller.rb index 949c34b41..8f9d05ee0 100644 --- a/web/app/controllers/api_users_controller.rb +++ b/web/app/controllers/api_users_controller.rb @@ -194,26 +194,18 @@ class ApiUsersController < ApiController end def like_create - id = params[:id] - if !params[:user_id].nil? - User.create_user_like(params[:user_id], id) + @user.create_user_like(params[:user_id]) respond_with @user, responder: ApiResponder, :location => api_user_like_index_url(@user) elsif !params[:band_id].nil? - User.create_band_like(params[:band_id], id) + @user.create_band_like(params[:band_id]) respond_with @user, responder: ApiResponder, :location => api_band_like_index_url(@user) end end def like_destroy - if !params[:user_id].nil? - User.delete_like(params[:user_id], nil, params[:id]) - - elsif !params[:band_id].nil? - User.delete_like(nil, params[:band_id], params[:id]) - end - + User.delete_like(params[:id], params[:target_entity_id]) respond_with responder: ApiResponder, :status => 204 end @@ -228,21 +220,19 @@ class ApiUsersController < ApiController @user = User.find(params[:id]) end - def following_show - @following = UserFollowing.find_by_user_id_and_follower_id(params[:user_id], params[:id]) - end + # def following_show + # @following = UserFollowing.find_by_user_id_and_follower_id(params[:user_id], params[:id]) + # end def band_following_index @user = User.find(params[:id]) end - def band_following_show - @following = BandFollowing.find_by_band_id_and_follower_id(params[:band_id], params[:id]) - end + # def band_following_show + # @following = BandFollowing.find_by_band_id_and_follower_id(params[:band_id], params[:id]) + # end def following_create - id = params[:id] - if !params[:user_id].nil? @user.create_user_following(params[:user_id]) respond_with @user, responder: ApiResponder, :location => api_user_following_index_url(@user) @@ -254,13 +244,7 @@ class ApiUsersController < ApiController end def following_destroy - if !params[:user_id].nil? - User.delete_following(params[:user_id], nil, params[:id]) - - elsif !params[:band_id].nil? - User.delete_following(nil, params[:band_id], params[:id]) - end - + User.delete_following(params[:id], params[:target_entity_id]) respond_with responder: ApiResponder, :status => 204 end diff --git a/web/app/views/api_users/show.rabl b/web/app/views/api_users/show.rabl index 6fdb39f5a..b193769d9 100644 --- a/web/app/views/api_users/show.rabl +++ b/web/app/views/api_users/show.rabl @@ -19,7 +19,9 @@ elsif current_user node :is_following do |uu| current_user.following?(@user) end - node : + node :is_liking do |uu| + current_user.likes + end end child :friends => :friends do @@ -27,7 +29,7 @@ child :friends => :friends do end child :followings => :followings do - attributes :id, :first_name, :last_name, :name, :online, :photo_url + attributes :id, :name, :location, :photo_url end child :band_musicians => :bands do diff --git a/web/config/routes.rb b/web/config/routes.rb index be1cdb259..1ddf70952 100644 --- a/web/config/routes.rb +++ b/web/config/routes.rb @@ -171,10 +171,10 @@ SampleApp::Application.routes.draw do # user followings match '/users/:id/followings' => 'api_users#following_index', :via => :get, :as => 'api_user_following_index' - match '/users/:id/followings/:user_id' => 'api_users#following_show', :via => :get, :as => 'api_following_detail' + # match '/users/:id/followings/:user_id' => 'api_users#following_show', :via => :get, :as => 'api_following_detail' match '/users/:id/band_followings' => 'api_users#band_following_index', :via => :get, :as => 'api_band_following_index' - match '/users/:id/band_followings/:band_id' => 'api_users#band_following_show', :via => :get, :as => 'api_band_following_detail' + # match '/users/:id/band_followings/:band_id' => 'api_users#band_following_show', :via => :get, :as => 'api_band_following_detail' match '/users/:id/followings' => 'api_users#following_create', :via => :post match '/users/:id/followings' => 'api_users#following_destroy', :via => :delete