diff --git a/app/imports/api/users/Users.js b/app/imports/api/users/Users.js index 39f8863d..c07fd8f5 100644 --- a/app/imports/api/users/Users.js +++ b/app/imports/api/users/Users.js @@ -77,6 +77,10 @@ const userSchema = new SimpleSchema({ type: String, regEx: SimpleSchema.RegEx.Id, }, + profile: { + type: Object, + blackbox: true, + }, }); Meteor.users.attachSchema(userSchema); diff --git a/app/imports/server/publications/users.js b/app/imports/server/publications/users.js index e888a355..755cc004 100644 --- a/app/imports/server/publications/users.js +++ b/app/imports/server/publications/users.js @@ -9,9 +9,15 @@ Meteor.publish('user', function(){ apiKey: 1, darkMode: 1, subscribedLibraries: 1, + profile: 1, 'services.patreon.id': 1, 'services.patreon.entitledCents': 1, 'services.patreon.entitledCentsOverride': 1, + 'services.google.id': 1, + 'services.google.picture': 1, + 'services.google.name': 1, + 'services.google.email': 1, + 'services.google.locale': 1, }}), Invites.find({ $or: [ diff --git a/app/imports/ui/pages/Account.vue b/app/imports/ui/pages/Account.vue index 59581282..35b91ab7 100644 --- a/app/imports/ui/pages/Account.vue +++ b/app/imports/ui/pages/Account.vue @@ -54,9 +54,20 @@ Tier: {{ tier.name }} + + + Link Google Account + + - - Link Patreon + + Link Patreon Account @@ -196,6 +207,11 @@ data: {inviteId: invite._id}, }); }, + linkWithGoogle(){ + Meteor.linkWithGoogle(error => { + if (error) console.error(error); + }); + }, linkWithPatreon, }, }