VRFS-120 - completed Likes for Users and Bands
This commit is contained in:
parent
9ca701d99e
commit
45600115f7
|
|
@ -19,11 +19,11 @@ module JamRuby
|
|||
has_many :recordings, :through => :band_recordings, :class_name => "JamRuby::Recording", :foreign_key => "recording_id"
|
||||
|
||||
# likers
|
||||
has_many :likers, :class_name => "JamRuby::BandLiker", :foreign_key => "band_id"
|
||||
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 :followers, :class_name => "JamRuby::BandFollower", :foreign_key => "band_id"
|
||||
has_many :followers, :class_name => "JamRuby::BandFollower", :foreign_key => "band_id", :inverse_of => :band
|
||||
has_many :inverse_followers, :through => :followers, :class_name => "JamRuby::User", :foreign_key => "follower_id"
|
||||
|
||||
# invitations
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ module JamRuby
|
|||
|
||||
self.primary_key = 'id'
|
||||
|
||||
belongs_to :band, :class_name => "JamRuby::Band", :foreign_key => "band_id"
|
||||
belongs_to :user, :class_name => "JamRuby::User", :foreign_key => "follower_id", :inverse_of => :inverse_followers
|
||||
belongs_to :band, :class_name => "JamRuby::Band", :foreign_key => "band_id", :inverse_of => :followers
|
||||
belongs_to :user, :class_name => "JamRuby::User", :foreign_key => "follower_id", :inverse_of => :band_followings
|
||||
end
|
||||
end
|
||||
|
|
@ -5,7 +5,7 @@ module JamRuby
|
|||
|
||||
self.primary_key = 'id'
|
||||
|
||||
belongs_to :band, :class_name => "JamRuby::Band", :foreign_key => "band_id", :inverse_of => :inverse_band_likers
|
||||
belongs_to :user, :class_name => "JamRuby::User", :foreign_key => "liker_id", :inverse_of => :band_likers
|
||||
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
|
||||
|
|
@ -28,30 +28,30 @@ module JamRuby
|
|||
has_many :musician_recordings, :class_name => "JamRuby::MusicianRecording", :foreign_key => "user_id"
|
||||
has_many :recordings, :through => :musician_recordings, :class_name => "JamRuby::Recording"
|
||||
|
||||
# followers
|
||||
has_many :followers, :class_name => "JamRuby::UserFollower", :foreign_key => "user_id"
|
||||
has_many :inverse_followers, :through => :followers, :class_name => "JamRuby::User", :foreign_key => "follower_id"
|
||||
|
||||
# user likers (a musician has likers and may have likes too; fans do not have likers)
|
||||
has_many :likers, :class_name => "JamRuby::UserLiker", :foreign_key => "user_id"
|
||||
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 followings
|
||||
has_many :followings, :class_name => "JamRuby::UserFollowing", :foreign_key => "follower_id"
|
||||
has_many :inverse_followings, :through => :followings, :class_name => "JamRuby::User", :foreign_key => "user_id"
|
||||
|
||||
# user likes (fans and musicians have likes)
|
||||
has_many :likes, :class_name => "JamRuby::UserLike", :foreign_key => "liker_id"
|
||||
has_many :likes, :class_name => "JamRuby::UserLike", :foreign_key => "liker_id", :inverse_of => :user
|
||||
has_many :inverse_likes, :through => :followings, :class_name => "JamRuby::User", :foreign_key => "user_id"
|
||||
|
||||
# band followings
|
||||
has_many :band_followings, :class_name => "JamRuby::BandFollower", :foreign_key => "follower_id"
|
||||
has_many :inverse_band_followings, :through => :band_followings, :class_name => "JamRuby::Band", :foreign_key => "band_id"
|
||||
|
||||
# band likes
|
||||
has_many :band_likes, :class_name => "JamRuby::BandLike", :foreign_key => "liker_id"
|
||||
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"
|
||||
|
||||
# followers
|
||||
has_many :followers, :class_name => "JamRuby::UserFollower", :foreign_key => "user_id", :inverse_of => :user
|
||||
has_many :inverse_followers, :through => :followers, :class_name => "JamRuby::User", :foreign_key => "follower_id"
|
||||
|
||||
# user followings
|
||||
has_many :followings, :class_name => "JamRuby::UserFollowing", :foreign_key => "follower_id", :inverse_of => :user
|
||||
has_many :inverse_followings, :through => :followings, :class_name => "JamRuby::User", :foreign_key => "user_id"
|
||||
|
||||
# band followings
|
||||
has_many :band_followings, :class_name => "JamRuby::BandFollower", :foreign_key => "follower_id", :inverse_of => :user
|
||||
has_many :inverse_band_followings, :through => :band_followings, :class_name => "JamRuby::Band", :foreign_key => "band_id"
|
||||
|
||||
# favorites
|
||||
has_many :favorites, :class_name => "JamRuby::UserFavorite", :foreign_key => "user_id"
|
||||
has_many :inverse_favorites, :through => :favorites, :class_name => "JamRuby::User"
|
||||
|
|
@ -283,6 +283,33 @@ 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.create_user_following(user_id, follower_id)
|
||||
follower = UserFollower.new()
|
||||
follower.user_id = user_id
|
||||
|
|
|
|||
Loading…
Reference in New Issue