• Send reset password email handler

    Parameters

    • authAPI: Pick<AuthDefaultAdapterAPI, "generateOnetimeToken">

      injected API to handle the authentication related operations

      • generateOnetimeToken
    • sendResetPasswordEmailConfig: PasswordEmailConfig & {
          mailService?: MailService;
          sender: string;
      }

      reset password configuration

      • enabled : boolean to enable/disable reset email feature
      • sender : email sender address
      • mailService : Mail service from backend-sdk external module
      • vendorTemplate : email template for vendor {bodyTemplate, subject, urlTemplate}
      • customerTemplate : email template for customer {bodyTemplate, subject, urlTemplate}
    • userService: UserDataService

      injected service use to handle the user related operations

      • findUsers
    • logger: Logger

      injected logger used to handle the logging

    • context: AdapterHandlerContext

      request context [headers, body, params, query].

    Returns Promise<adapter.AdapterHandlerResponse>

    204 Status No Content

    Description

    This handler will send reset password email by applying the following steps in sequence:

    1. Check if reset password feature is enabled, if yes continue next step, otherwise throw 404 error

    2. Find user by email (userService.findUsers)

    3. Generate token (authAPI.generateOnetimeToken)

    4. Send email (sendResetPasswordEmailConfig.mailService.sendMail)

    Throws

    404 NBError Not Found

    • reset password feature not defined

    Throws

    400 NBError Bad Request

    • email not found

    Throws

    500 NBError Internal Server Error

    • multiple records found
    • reset password configuration not provided in adapter option
    • send reset password email failed

Generated using TypeDoc