Class CognitoTrait

The trait to integrate a vertex with AWS cognito

Mermaid

CognitoTrait Sequence

%%{init:{"theme":"dark"}}%% sequenceDiagram participant User participant TraitDataObject participant DataSourceWrapper participant GraphQLSchemaManager participant CognitoUserPoolApi participant CognitoTrait

User ->> CognitoTrait: postCreate(traitData, item, legacyDatasourceWrapper, context) CognitoTrait ->> CognitoUserPoolApi: createUser(false, true, context) CognitoUserPoolApi -->> CognitoTrait: Success Response CognitoTrait -->> User: Promise<void>

User ->> CognitoTrait: postUpdate(traitData, item, legacyDatasourceWrapper, context) CognitoTrait ->> CognitoUserPoolApi: updateUser(context, item) CognitoUserPoolApi -->> CognitoTrait: Success Response CognitoTrait -->> User: Promise<void>

User ->> CognitoTrait: postDelete(_traitData, entity, _legacyDatasourceWrapper, context) CognitoTrait ->> CognitoUserPoolApi: deleteUser(context) CognitoUserPoolApi -->> CognitoTrait: Success Response CognitoTrait -->> User: Promise<void>

User ->> CognitoTrait: cognitoSendWelcomeEmail(datasourceWrapper, data) CognitoTrait ->> CognitoUserPoolApi: sendWelcomeEmail( temporaryPassword, setPasswordAutomatically, context ) CognitoUserPoolApi -->> CognitoTrait: Success Response CognitoTrait -->> User: CognitoOperationResult

User ->> CognitoTrait: enableMFA(datasourceWrapper, data) CognitoTrait ->> CognitoUserPoolApi: userMFASMSpreference(context, true) CognitoUserPoolApi -->> CognitoTrait: Success Response CognitoTrait -->> User: CognitoOperationResult

User ->> CognitoTrait: disableMFA(datasourceWrapper, data) CognitoTrait ->> CognitoUserPoolApi: userMFASMSpreference(context, false) CognitoUserPoolApi -->> CognitoTrait: Success Response CognitoTrait -->> User: CognitoOperationResult

%%{init:{"theme":"default"}}%% sequenceDiagram participant User participant TraitDataObject participant DataSourceWrapper participant GraphQLSchemaManager participant CognitoUserPoolApi participant CognitoTrait

User ->> CognitoTrait: postCreate(traitData, item, legacyDatasourceWrapper, context) CognitoTrait ->> CognitoUserPoolApi: createUser(false, true, context) CognitoUserPoolApi -->> CognitoTrait: Success Response CognitoTrait -->> User: Promise<void>

User ->> CognitoTrait: postUpdate(traitData, item, legacyDatasourceWrapper, context) CognitoTrait ->> CognitoUserPoolApi: updateUser(context, item) CognitoUserPoolApi -->> CognitoTrait: Success Response CognitoTrait -->> User: Promise<void>

User ->> CognitoTrait: postDelete(_traitData, entity, _legacyDatasourceWrapper, context) CognitoTrait ->> CognitoUserPoolApi: deleteUser(context) CognitoUserPoolApi -->> CognitoTrait: Success Response CognitoTrait -->> User: Promise<void>

User ->> CognitoTrait: cognitoSendWelcomeEmail(datasourceWrapper, data) CognitoTrait ->> CognitoUserPoolApi: sendWelcomeEmail( temporaryPassword, setPasswordAutomatically, context ) CognitoUserPoolApi -->> CognitoTrait: Success Response CognitoTrait -->> User: CognitoOperationResult

User ->> CognitoTrait: enableMFA(datasourceWrapper, data) CognitoTrait ->> CognitoUserPoolApi: userMFASMSpreference(context, true) CognitoUserPoolApi -->> CognitoTrait: Success Response CognitoTrait -->> User: CognitoOperationResult

User ->> CognitoTrait: disableMFA(datasourceWrapper, data) CognitoTrait ->> CognitoUserPoolApi: userMFASMSpreference(context, false) CognitoUserPoolApi -->> CognitoTrait: Success Response CognitoTrait -->> User: CognitoOperationResult

sequenceDiagram
   participant User
   participant TraitDataObject
   participant DataSourceWrapper
   participant GraphQLSchemaManager
   participant CognitoUserPoolApi
   participant CognitoTrait

User ->> CognitoTrait: postCreate(traitData, item, legacyDatasourceWrapper, context) CognitoTrait ->> CognitoUserPoolApi: createUser(false, true, context) CognitoUserPoolApi -->> CognitoTrait: Success Response CognitoTrait -->> User: Promise<void>

User ->> CognitoTrait: postUpdate(traitData, item, legacyDatasourceWrapper, context) CognitoTrait ->> CognitoUserPoolApi: updateUser(context, item) CognitoUserPoolApi -->> CognitoTrait: Success Response CognitoTrait -->> User: Promise<void>

User ->> CognitoTrait: postDelete(_traitData, entity, _legacyDatasourceWrapper, context) CognitoTrait ->> CognitoUserPoolApi: deleteUser(context) CognitoUserPoolApi -->> CognitoTrait: Success Response CognitoTrait -->> User: Promise<void>

User ->> CognitoTrait: cognitoSendWelcomeEmail(datasourceWrapper, data) CognitoTrait ->> CognitoUserPoolApi: sendWelcomeEmail( temporaryPassword, setPasswordAutomatically, context ) CognitoUserPoolApi -->> CognitoTrait: Success Response CognitoTrait -->> User: CognitoOperationResult

User ->> CognitoTrait: enableMFA(datasourceWrapper, data) CognitoTrait ->> CognitoUserPoolApi: userMFASMSpreference(context, true) CognitoUserPoolApi -->> CognitoTrait: Success Response CognitoTrait -->> User: CognitoOperationResult

User ->> CognitoTrait: disableMFA(datasourceWrapper, data) CognitoTrait ->> CognitoUserPoolApi: userMFASMSpreference(context, false) CognitoUserPoolApi -->> CognitoTrait: Success Response CognitoTrait -->> User: CognitoOperationResult

Hierarchy

Constructors

Properties

_access: AccessControl

Trait instance configuration.

_global: boolean = false

Whether this is a global (not bound to any specific schema item) trait instance.

_graphqlSchemaManager: GraphQLSchemaManager
_type?: "cognito"

Trait type.

dataSourceWrapper: DataSourceWrapper
graphqlSchemaManager: GraphQLSchemaManager
logger: Logger

Methods

  • Checks the user roles in the provided trait data to determine if the action is allowed.

    Throws

    Throws an error if the user does not have the required roles for the action.

    Parameters

    • traitData: TraitDataObject<unknown, Record<string, any>, Promise<any>>

      The trait data object containing user roles in the context.

    Returns Promise<void>

  • This method is triggered when a trait callback has been activated

    Type Parameters

    • RT = any

    • Payload = any

    Parameters

    • callbackName: string

      This is the name of the callback function to call.

    • datasourceWrapper: DataSourceWrapper

      References to the Graph Hanlder

    • data: TraitDataObject<RT, Payload, Promise<any>>

      Request data passed along as part of the request.

    Returns Promise<RT>

Generated using TypeDoc