@quinck/aws-cognito-client
Version:
Provides a user attributes generic cognito client.
30 lines (29 loc) • 2.12 kB
TypeScript
import { AttributeType, CognitoIdentityProvider, CognitoIdentityProviderClientConfig } from '@aws-sdk/client-cognito-identity-provider';
import '@quinck/collections';
import { BasicUserInfo, UserInfo } from '../models/utils/user';
import { CognitoUserAttribute } from './models/attributes';
import { UserStructure } from './models/users';
export type CognitoServiceConfig<SignUpInfo extends Partial<UserInfoAttributes>, UserUpdateInfo extends Partial<UserInfoAttributes>, UserInfoAttributes extends Record<string, unknown>> = {
userPoolId: string;
userStructure: UserStructure<UserInfoAttributes>;
fitSignUpInfo?: (user: SignUpInfo) => SignUpInfo;
fitUserUpdateInfo?: (user: UserUpdateInfo) => UserUpdateInfo;
cognitoIdentityProviderClientConfig?: CognitoIdentityProviderClientConfig;
};
export declare class BasicCognitoService<SignUpInfo extends Partial<UserInfoAttributes>, UserUpdateInfo extends Partial<UserInfoAttributes>, UserInfoAttributes extends Record<string, unknown>> {
static readonly DEFAULT_FIT_INFO: <X>(user: X) => X;
protected readonly userPoolId: string;
protected readonly cognitoIdentityProvider: CognitoIdentityProvider;
protected readonly fitSignUpInfo: (user: SignUpInfo) => SignUpInfo;
protected readonly fitUserUpdateInfo: (user: UserUpdateInfo) => UserUpdateInfo;
private readonly userStructure;
private readonly userAttributes;
constructor(config: CognitoServiceConfig<SignUpInfo, UserUpdateInfo, UserInfoAttributes>);
protected tryDo<X>(fun: () => Promise<X>): Promise<X>;
protected createAttributesFromObject(user: Partial<Record<string, unknown>>, defaultIfUndefined?: boolean): CognitoUserAttribute[];
protected createUserInfoAttributesFromAttributes(attributes: CognitoUserAttribute[]): UserInfoAttributes;
protected getBasicUserInfo(username: string): BasicUserInfo;
protected createUserInfo(username: string, attributes: CognitoUserAttribute[]): UserInfo<UserInfoAttributes>;
protected parseUserAttributes(attributes: AttributeType[]): CognitoUserAttribute[];
protected createError(error: unknown): Error;
}