more work on like/follow refactor
This commit is contained in:
parent
c03404d520
commit
c173582aa3
|
|
@ -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)
|
||||
);
|
||||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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'
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue