Instead of executing write directly, reuse rest.update to fix request object in user before save is empty when reset password. #951

This commit is contained in:
Carmen
2016-03-22 19:08:25 +08:00
parent ee8f85baef
commit 53e152e975

View File

@@ -2,6 +2,7 @@ import { randomString } from '../cryptoUtils';
import { inflate } from '../triggers'; import { inflate } from '../triggers';
import AdaptableController from './AdaptableController'; import AdaptableController from './AdaptableController';
import MailAdapter from '../Adapters/Email/MailAdapter'; import MailAdapter from '../Adapters/Email/MailAdapter';
import rest from '../rest';
var DatabaseAdapter = require('../DatabaseAdapter'); var DatabaseAdapter = require('../DatabaseAdapter');
var RestWrite = require('../RestWrite'); var RestWrite = require('../RestWrite');
@@ -165,8 +166,8 @@ export class UserController extends AdaptableController {
} }
updatePassword(username, token, password, config) { updatePassword(username, token, password, config) {
return this.checkResetTokenValidity(username, token).then(() => { return this.checkResetTokenValidity(username, token).then((user) => {
return updateUserPassword(username, token, password, this.config); return updateUserPassword(user._id, password, this.config);
}); });
} }
@@ -192,12 +193,11 @@ export class UserController extends AdaptableController {
} }
// Mark this private // Mark this private
function updateUserPassword(username, token, password, config) { function updateUserPassword(userId, password, config) {
var write = new RestWrite(config, Auth.master(config), '_User', { return rest.update(config, Auth.master(config), '_User', userId, {
username: username, password: password,
_perishable_token: token _perishable_token: null
}, {password: password, _perishable_token: null }, undefined); });
return write.execute();
} }
export default UserController; export default UserController;