UNPKG

@quinck/aws-cognito-client

Version:

Provides a user attributes generic cognito client.

68 lines (67 loc) 2.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CognitoUserService = void 0; require("@quinck/collections"); const basic_cognito_service_1 = require("./basic-cognito-service"); class CognitoUserService extends basic_cognito_service_1.BasicCognitoService { constructor(config) { super(config); this.clientId = config.clientId; } signUp(credentials, user) { return this.tryDo(async () => { const attributes = this.createAttributesFromObject(this.fitSignUpInfo(user), false); const { password, username } = credentials; await this.cognitoIdentityProvider.signUp({ Username: username, Password: password, UserAttributes: attributes, ClientId: this.clientId, }); }); } async confirmSignUp(username, code) { return this.tryDo(async () => { await this.cognitoIdentityProvider.confirmSignUp({ ClientId: this.clientId, ConfirmationCode: code, Username: username, }); }); } async resendConfirmationCode(username) { return this.tryDo(async () => { await this.cognitoIdentityProvider.resendConfirmationCode({ ClientId: this.clientId, Username: username, }); }); } getUserInfo(token) { return this.tryDo(async () => { const { Username, UserAttributes } = await this.cognitoIdentityProvider.getUser({ AccessToken: token.accessToken, }); const attributes = this.parseUserAttributes(UserAttributes ?? []); return this.createUserInfo(Username ?? '', attributes); }); } updateUserInfo(token, user) { return this.tryDo(async () => { const info = this.fitUserUpdateInfo(user); const UserAttributes = this.createAttributesFromObject(info, false); await this.cognitoIdentityProvider.updateUserAttributes({ AccessToken: token.accessToken, UserAttributes, }); }); } deleteUser(token) { return this.tryDo(async () => { await this.cognitoIdentityProvider.deleteUser({ AccessToken: token.accessToken, }); }); } } exports.CognitoUserService = CognitoUserService;