Как я могу добавить новое поле в Meteor.users()?
У меня есть кнопка, которая вставляет нового пользователя в Meteor.users()
,
На сервере у меня есть этот метод:
Meteor.methods({
'addUser': function(user) {
return Accounts.createUser(user)
}
})
А в клиенте (после нажатия кнопки):
var newUser = {
email: t.find('#email').value,
password: t.find('#pwd').value,
profile: { name: t.find('#name').value, group: t.find('#userType').value },
roles: checkedRoles // I can successfully console.log(checkedRoles) which is an array of strings.
}
Meteor.call('addUser', newUser, function(error){
if(error){
sweetAlert(error)
} else {
sweetAlert('User Successfully Added')
}
})
Используя приведенный выше код, пользователь добавляется, но без roles
поле.
Мой вопрос, как я могу добавить roles
поле для вновь добавленного пользователя?
1 ответ
Решение
Используйте пакет alanning:role:
meteor add alanning:roles
затем (в вашем методе на стороне сервера):
const userId = Accounts.createUser(user);
Roles.addUsersToRoles(userId, user.roles);