UNPKG

@quinck/aws-cognito-client

Version:

Provides a user attributes generic cognito client.

30 lines (29 loc) 2.12 kB
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; }