meteor-apollo-accounts
meteor-apollo-accounts copied to clipboard
[createUser Mutation]: Allow custom fields on user document (not .profile)?
Right now the createUser
mutation only provides a profile
argument where you can supply additional user info such as name, birthday, gender, etc. to store on the profile
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 under profile
, especially when MDG doesn't recommend it.
I suppose there is a way around this.
- Pass the profile data in through the
profile
field of the mutation - 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