@@ -50,6 +50,11 @@ const computeRoomToken = (user, roomName, moderator = false) => {
5050 )
5151}
5252
53+ const updateUserRoomName = ( roomName ) => {
54+ const updateObject = roomName ? { $set : { 'meet.roomName' : roomName } } : { $unset : { 'meet.roomName' : 1 } }
55+ Meteor . users . update ( Meteor . userId ( ) , updateObject )
56+ }
57+
5358Meteor . methods ( {
5459 computeMeetRoomAccess ( zoneId ) {
5560 if ( ! this . userId ) return undefined
@@ -75,9 +80,26 @@ Meteor.methods({
7580
7681 return { roomName, token }
7782 } ,
83+ updateUserRoomName ( roomName ) {
84+ check ( roomName , Match . Maybe ( String ) )
85+ const user = Meteor . user ( )
86+ if ( user . meet . roomName === roomName ) return
87+
88+ log ( 'updateUserRoomName: start' , { roomName } )
89+ updateUserRoomName ( roomName )
90+ log ( 'updateUserRoomName: end' , { roomName } )
91+ } ,
92+ getUserRoomName ( userId ) {
93+ check ( userId , Match . OneOf ( null , Match . Id ) )
94+ const user = Meteor . users . findOne ( { _id : userId || Meteor . userId ( ) } , { fields : { 'meet.roomName' : 1 } } )
95+ if ( ! user ) return
96+
97+ log ( 'getUserRoomName: start' , { userId : userId } )
98+ return user . meet ?. roomName
99+ log ( 'getUserRoomName: end' , { userId : userId } )
100+ } ,
78101 computeMeetLowLevelRoomName ( usersIds ) {
79102 if ( ! this . userId ) return undefined
80-
81103 check ( usersIds , Array )
82104
83105 log ( 'computeMeetLowLevelRoomName: start' , { usersIds } )
@@ -86,12 +108,9 @@ Meteor.methods({
86108 . sort ( ( a , b ) => a . localeCompare ( b ) )
87109 . join ( '-' )
88110 . toLowerCase ( )
111+ updateUserRoomName ( meetRoomName )
89112
90- Meteor . users . update ( Meteor . userId ( ) , {
91- $set : { 'profile.meetRoomName' : meetRoomName } ,
92- } )
93-
94- log ( 'computeMeetLowLevelRoomName: start' , { meetRoomName } )
113+ log ( 'computeMeetLowLevelRoomName: end' , { meetRoomName } )
95114
96115 return meetRoomName
97116 } ,
0 commit comments