parent
e743adc248
commit
880537353e
@ -0,0 +1,66 @@ |
||||
Meteor.methods({ |
||||
registerGuest: function(token, name, email) { |
||||
console.log('registerGuest ->'.green, token); |
||||
var pass, qt, user, userData, userExists, userId, inc = 0; |
||||
check(token, String); |
||||
user = Meteor.users.findOne({ |
||||
"profile.token": token |
||||
}, { |
||||
fields: { |
||||
_id: 1 |
||||
} |
||||
}); |
||||
if (user != null) { |
||||
throw new Meteor.Error('token-already-exists', 'Token already exists'); |
||||
} |
||||
while (true) { |
||||
qt = Meteor.users.find({ |
||||
'profile.guest': true |
||||
}).count() + 1; |
||||
user = 'guest-' + (qt + inc++); |
||||
userExists = Meteor.users.findOne({ |
||||
'username': user |
||||
}, { |
||||
fields: { |
||||
_id: 1 |
||||
} |
||||
}); |
||||
console.log('userExists ->',userExists); |
||||
if (!userExists) { |
||||
break; |
||||
} |
||||
} |
||||
userData = { |
||||
username: user, |
||||
globalRoles: 'livechat-guest' |
||||
}; |
||||
userId = Accounts.insertUserDoc({}, userData); |
||||
|
||||
updateUser = { |
||||
name: name || user, |
||||
"profile.guest": true, |
||||
"profile.token": token |
||||
} |
||||
|
||||
if (email && email.trim() !== "") { |
||||
updateUser.emails = [{ "address": email }]; |
||||
} |
||||
|
||||
var stampedToken = Accounts._generateStampedLoginToken(); |
||||
var hashStampedToken = Accounts._hashStampedToken(stampedToken); |
||||
|
||||
updateUser.services = { |
||||
resume: { |
||||
loginTokens: [ hashStampedToken ] |
||||
} |
||||
}; |
||||
|
||||
Meteor.users.update(userId, { |
||||
$set: updateUser |
||||
}); |
||||
return { |
||||
userId: userId, |
||||
token: stampedToken.token |
||||
}; |
||||
} |
||||
}); |
@ -1,60 +1,4 @@ |
||||
Meteor.methods({ |
||||
registerGuest: function(token, name, email) { |
||||
console.log('registerGuest ->'.green, token); |
||||
var pass, qt, user, userData, userExists, userId, inc = 0; |
||||
check(token, String); |
||||
user = Meteor.users.findOne({ |
||||
"profile.token": token |
||||
}, { |
||||
fields: { |
||||
_id: 1 |
||||
} |
||||
}); |
||||
if (user != null) { |
||||
throw new Meteor.Error('token-already-exists', 'Token already exists'); |
||||
} |
||||
pass = Meteor.uuid(); |
||||
while (true) { |
||||
qt = Meteor.users.find({ |
||||
'profile.guest': true |
||||
}).count() + 1; |
||||
user = 'guest-' + (qt + inc++); |
||||
userExists = Meteor.users.findOne({ |
||||
'username': user |
||||
}, { |
||||
fields: { |
||||
_id: 1 |
||||
} |
||||
}); |
||||
console.log('userExists ->',userExists); |
||||
if (!userExists) { |
||||
break; |
||||
} |
||||
} |
||||
userData = { |
||||
username: user, |
||||
password: pass |
||||
}; |
||||
userId = Accounts.createUser(userData); |
||||
|
||||
updateUser = { |
||||
name: name || user, |
||||
"profile.guest": true, |
||||
"profile.token": token |
||||
} |
||||
|
||||
if (email && email.trim() !== "") { |
||||
updateUser.emails = [{ "address": email }]; |
||||
} |
||||
|
||||
Meteor.users.update(userId, { |
||||
$set: updateUser |
||||
}); |
||||
return { |
||||
user: user, |
||||
pass: pass |
||||
}; |
||||
}, |
||||
sendMessageLivechat: function(message) { |
||||
var guest, operator, room; |
||||
console.log('sendMessageLivechat ->', arguments); |
Loading…
Reference in new issue