fix(update$): Remove User.update$, refactor to use native loopback interfaces
This commit is contained in:
committed by
mrugesh mohapatra
parent
97f7d53bee
commit
0f73fdbd9c
@ -45,10 +45,22 @@ module.exports = function(UserCredential) {
|
||||
return findCred(query)
|
||||
.flatMap(_credentials => {
|
||||
const modified = new Date();
|
||||
const updateUser = User.update$(
|
||||
{ id: userId },
|
||||
createUserUpdatesFromProfile(provider, profile)
|
||||
);
|
||||
const updateUser = new Promise((resolve, reject) => {
|
||||
User.find({ id: userId }, (err, user) => {
|
||||
if (err) {
|
||||
return reject(err);
|
||||
}
|
||||
return user.updateAttributes(
|
||||
createUserUpdatesFromProfile(provider, profile),
|
||||
updateErr => {
|
||||
if (updateErr) {
|
||||
return reject(updateErr);
|
||||
}
|
||||
return resolve();
|
||||
}
|
||||
);
|
||||
});
|
||||
});
|
||||
let updateCredentials;
|
||||
if (!_credentials) {
|
||||
updateCredentials = createCred({
|
||||
@ -65,25 +77,18 @@ module.exports = function(UserCredential) {
|
||||
});
|
||||
} else {
|
||||
_credentials.credentials = credentials;
|
||||
updateCredentials = observeQuery(
|
||||
_credentials,
|
||||
'updateAttributes',
|
||||
{
|
||||
profile: null,
|
||||
credentials,
|
||||
modified
|
||||
}
|
||||
);
|
||||
updateCredentials = observeQuery(_credentials, 'updateAttributes', {
|
||||
profile: null,
|
||||
credentials,
|
||||
modified
|
||||
});
|
||||
}
|
||||
return Observable.combineLatest(
|
||||
updateUser,
|
||||
Observable.fromPromise(updateUser),
|
||||
updateCredentials,
|
||||
(_, credentials) => credentials
|
||||
);
|
||||
})
|
||||
.subscribe(
|
||||
credentials => cb(null, credentials),
|
||||
cb
|
||||
);
|
||||
.subscribe(credentials => cb(null, credentials), cb);
|
||||
};
|
||||
};
|
||||
|
@ -126,16 +126,26 @@ export default function(UserIdent) {
|
||||
created: new Date(),
|
||||
ttl: user.constructor.settings.ttl
|
||||
});
|
||||
const updateUser = user.update$({
|
||||
email: email,
|
||||
emailVerified: true,
|
||||
emailAuthLinkTTL: null,
|
||||
emailVerifyTTL: null
|
||||
});
|
||||
const updateUser = new Promise((resolve, reject) =>
|
||||
user.updateAttributes(
|
||||
{
|
||||
email: email,
|
||||
emailVerified: true,
|
||||
emailAuthLinkTTL: null,
|
||||
emailVerifyTTL: null
|
||||
},
|
||||
err => {
|
||||
if (err) {
|
||||
return reject(err);
|
||||
}
|
||||
return resolve();
|
||||
}
|
||||
)
|
||||
);
|
||||
return Observable.combineLatest(
|
||||
Observable.of(user),
|
||||
createToken,
|
||||
updateUser,
|
||||
Observable.fromPromise(updateUser),
|
||||
(user, token) => ({ user, token })
|
||||
);
|
||||
})
|
||||
|
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user