in MultiRegion/2_UI/src/assets/js/aws/amazon-cognito-identity.js [3389:3510]
var CognitoUserPool = function () {
/**
* Constructs a new CognitoUserPool object
* @param {object} data Creation options.
* @param {string} data.UserPoolId Cognito user pool id.
* @param {string} data.ClientId User pool application client id.
* @param {object} data.Storage Optional storage object.
*/
function CognitoUserPool(data) {
_classCallCheck(this, CognitoUserPool);
var _ref = data || {},
UserPoolId = _ref.UserPoolId,
ClientId = _ref.ClientId,
endpoint = _ref.endpoint;
if (!UserPoolId || !ClientId) {
throw new Error('Both UserPoolId and ClientId are required.');
}
if (!/^[\w-]+_.+$/.test(UserPoolId)) {
throw new Error('Invalid UserPoolId format.');
}
var region = UserPoolId.split('_')[0];
this.userPoolId = UserPoolId;
this.clientId = ClientId;
this.client = new _cognitoidentityserviceprovider2.default({ apiVersion: '2016-04-19', region: region, endpoint: endpoint });
this.storage = data.Storage || new _StorageHelper2.default().getStorage();
}
/**
* @returns {string} the user pool id
*/
CognitoUserPool.prototype.getUserPoolId = function getUserPoolId() {
return this.userPoolId;
};
/**
* @returns {string} the client id
*/
CognitoUserPool.prototype.getClientId = function getClientId() {
return this.clientId;
};
/**
* @typedef {object} SignUpResult
* @property {CognitoUser} user New user.
* @property {bool} userConfirmed If the user is already confirmed.
*/
/**
* method for signing up a user
* @param {string} username User's username.
* @param {string} password Plain-text initial password entered by user.
* @param {(AttributeArg[])=} userAttributes New user attributes.
* @param {(AttributeArg[])=} validationData Application metadata.
* @param {nodeCallback<SignUpResult>} callback Called on error or with the new user.
* @returns {void}
*/
CognitoUserPool.prototype.signUp = function signUp(username, password, userAttributes, validationData, callback) {
var _this = this;
this.client.makeUnauthenticatedRequest('signUp', {
ClientId: this.clientId,
Username: username,
Password: password,
UserAttributes: userAttributes,
ValidationData: validationData
}, function (err, data) {
if (err) {
return callback(err, null);
}
var cognitoUser = {
Username: username,
Pool: _this,
Storage: _this.storage
};
var returnData = {
user: new _CognitoUser2.default(cognitoUser),
userConfirmed: data.UserConfirmed,
userSub: data.UserSub
};
return callback(null, returnData);
});
};
/**
* method for getting the current user of the application from the local storage
*
* @returns {CognitoUser} the user retrieved from storage
*/
CognitoUserPool.prototype.getCurrentUser = function getCurrentUser() {
var lastUserKey = 'CognitoIdentityServiceProvider.' + this.clientId + '.LastAuthUser';
var lastAuthUser = this.storage.getItem(lastUserKey);
if (lastAuthUser) {
var cognitoUser = {
Username: lastAuthUser,
Pool: this,
Storage: this.storage
};
return new _CognitoUser2.default(cognitoUser);
}
return null;
};
return CognitoUserPool;
}();