fix(update$): Remove User.update$, refactor to use native loopback interfaces

This commit is contained in:
Bouncey
2018-11-12 16:58:34 +00:00
committed by mrugesh mohapatra
parent 97f7d53bee
commit 0f73fdbd9c
7 changed files with 554 additions and 575 deletions

View File

@ -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);
};
};