todos-contra-el-fuego-web/imports/api/Users/server/methods.js
2017-08-06 10:39:14 -05:00

37 lines
899 B
JavaScript

import { Meteor } from 'meteor/meteor';
import { check } from 'meteor/check';
import { Accounts } from 'meteor/accounts-base';
import editProfile from './edit-profile';
import rateLimit from '../../../modules/rate-limit';
Meteor.methods({
'users.sendVerificationEmail': function usersResendVerification() {
return Accounts.sendVerificationEmail(this.userId);
},
'users.editProfile': function usersEditProfile(profile) {
check(profile, {
emailAddress: String,
profile: {
name: {
first: String,
last: String,
},
},
});
return editProfile({ userId: this.userId, profile })
.then(response => response)
.catch((exception) => {
throw new Meteor.Error('500', exception);
});
},
});
rateLimit({
methods: [
'users.sendVerificationEmail',
'users.editProfile',
],
limit: 5,
timeRange: 1000,
});