Open joncursi opened 7 years ago
I suppose there is a way around this.
1) Pass the profile data in through the profile
field of the mutation
2) Create a custom hook on the server to re-arrange the data:
Accounts.onCreateUser((options, user) => {
return {
...user,
name: options.profile.name, // this pulls the name out of profile and stores it at the top level instead
};
});
@joncursi I've done exactly the same as you
@joncursi My only concern regarding writing attributes at the top level is that someone might overwrite something very important ie: services The solution they propose is doing it on the server just as you did. https://guide.meteor.com/accounts.html#adding-fields-on-registration
Right now the
createUser
mutation only provides aprofile
argument where you can supply additional user info such as name, birthday, gender, etc. to store on theprofile
field in the user document.However, Meteor doesn't recommend storing ANY of your user data on profile and instead recommends storing it as a first-class field on the user document.
It would be great if
createUser
were expanded to allow custom fields like this, so we're not forced to stick things underprofile
, especially when MDG doesn't recommend it.