The communications platform that puts data protection first.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Rocket.Chat/server/methods/addUserToRoom.coffee

31 lines
916 B

Meteor.methods
addUserToRoom: (data) ->
fromId = Meteor.userId()
# console.log '[methods] addUserToRoom -> '.green, 'fromId:', fromId, 'data:', data
room = RocketChat.models.Rooms.findOneById data.rid
# if room.username isnt Meteor.user().username and room.t is 'c'
if room.t is 'c' and room.u?.username isnt Meteor.user().username
throw new Meteor.Error 403, '[methods] addUserToRoom -> Not allowed'
# verify if user is already in room
if room.usernames.indexOf(data.username) isnt -1
return
newUser = RocketChat.models.Users.findOneByUsername username: data.username
RocketChat.models.Rooms.addUsernameById data.rid, data.username
now = new Date()
RocketChat.models.Subscriptions.createWithRoomAndUser room, newUser,
ts: now
open: true
alert: true
unread: 1
RocketChat.models.Messages.createUserAddedWithRoomIdAndUser data.rid, newUser,
ts: now
return true