• Is my subscription validator

    Parameters

    • chatService: ChatDataService

      injected service use to handle the chat related operations

      • getOneSubscription
    • organizationAPI: Pick<OrganizationDefaultAdapterAPI, "isUserInOrganization">
    • options: {
          authSecrets: AuthSecrets;
          authenticate: AuthenticationFunction;
          subscriptionIdField: TargetField;
      }

      Options

      • authSecrets authenticate secret
      • authenticate injected authenticate function
      • subscriptionIdField which field to get the subscription id from
      • authSecrets: AuthSecrets
      • authenticate: AuthenticationFunction
      • subscriptionIdField: TargetField
    • logger: Logger

      injected logger used to handle the logging

    • context: AdapterHandlerContext

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

    Returns Promise<number>

    200 Status OK

    Description

    This validator checks if the user has any subscription permission by applying the following steps in sequence:

    1. Authenticate the user (authenticate)

    2. Get subscription by id (chatService.getOneSubscription)

    3. Return 200 if the user has any subscription permission

    Throws

    403 NBError Forbidden

    • check user subscription validator need token type to be user token
    • user not subscribed to the topic: ${subscription.topicId}

    Throws

    404 NBError Not Found

    • subscription: ${subscriptionId} not found.
    • topic: ${subscription.topicId} not found.

Generated using TypeDoc