* VRFS-27 invitation model and tests added
This commit is contained in:
parent
9ab04a7e74
commit
f4149648c6
|
|
@ -96,6 +96,10 @@
|
|||
return Jampb::ClientMessage.new(:type => ClientMessage::Type::TEST_SESSION_MESSAGE, :route_to => SESSION_TARGET_PREFIX + session_id, :test_session_message => test)
|
||||
end
|
||||
|
||||
def session_invitation(receiver_id, invitation_id)
|
||||
session_invitation = Jampb::SessionInvitation.new(:invitation => invitation_id)
|
||||
return Jampb::ClientMessage.new(:type => ClientMessage::Type::SESSION_INVITATION, :route_to => USER_TARGET_PREFIX + receiver_id, :session_invitation => session_invitation)
|
||||
end
|
||||
############## P2P CLIENT MESSAGES #################
|
||||
|
||||
# send a request to do a ping
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ module JamRuby
|
|||
class Invitation < ActiveRecord::Base
|
||||
|
||||
FRIENDSHIP_REQUIRED_VALIDATION_ERROR = "You can only invite friends"
|
||||
MEMBERSHIP_REQUIRED_OF_MUSIC_SESSION = "You must be a member of the music session to send invitations on behalf of it"
|
||||
|
||||
self.primary_key = 'id'
|
||||
belongs_to :sender, :inverse_of => :sent_invitations, :class_name => "JamRuby::User", :foreign_key => "sender_id"
|
||||
|
|
@ -12,10 +13,16 @@ module JamRuby
|
|||
validates :receiver, :presence => true
|
||||
validates :music_session, :presence => true
|
||||
|
||||
validate :require_are_friends
|
||||
validate :require_sender_in_music_session, :require_are_friends
|
||||
|
||||
private
|
||||
|
||||
def require_sender_in_music_session
|
||||
unless music_session.users.exists? sender
|
||||
errors.add(:music_session, MEMBERSHIP_REQUIRED_OF_MUSIC_SESSION)
|
||||
end
|
||||
end
|
||||
|
||||
def require_are_friends
|
||||
unless receiver.friends.exists? sender
|
||||
errors.add(:receiver, FRIENDSHIP_REQUIRED_VALIDATION_ERROR)
|
||||
|
|
|
|||
Loading…
Reference in New Issue