deep-security
Version:
DEEP Security Library
47 lines (38 loc) • 1.32 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.FrontendUserProvider = undefined;
var _LoadUserException = require('./Exception/LoadUserException');
var _AbstractUserProvider = require('./AbstractUserProvider');
class FrontendUserProvider extends _AbstractUserProvider.AbstractUserProvider {
/**
* @param {String} retrieveUserResource
* @param {Object} deepResourceService
*/
constructor(retrieveUserResource, deepResourceService) {
super();
this._retrieveUserResource = retrieveUserResource;
this._deepResource = deepResourceService;
}
/**
* @param {String} id
* @param {Function} callback
*/
loadUserByIdentityId(id, callback) {
if (!this._retrieveUserResource) {
callback(null, null);
return;
}
let retrieveUserResource = this._deepResource.get(this._retrieveUserResource);
// authScope(null) forces deep-resource to use cognito default credentials
retrieveUserResource.request({ Id: id }).authScope(null).retry(3).disableCache().send(response => {
if (response.error) {
callback(new _LoadUserException.LoadUserException(id, response.error), null);
return;
}
return callback(null, response.data);
});
}
}
exports.FrontendUserProvider = FrontendUserProvider;