• Is user in organization roles for invitations validator

    Parameters

    • roles: string[]

      list of allowed roles eq. ['owner', 'admin']

    • opts: {
          authSecrets: AuthSecrets;
          authenticate: AuthenticationFunction;
          invitationService: Pick<InvitationDataService, "getInvitation">;
          organizationAPI: Pick<OrganizationDefaultAdapterAPI, "getUserOrganizations">;
          targetField: TargetField;
      }

      authSecrets authentication secrets

      • authenticate injected function to handle the authentication
      • invitationService injected service use to handle the invitation related operations
      • organizationAPI injected service use to handle the organization related operations
        • getUserOrganizations
      • targetField which field to get the invitation id
      • authSecrets: AuthSecrets
      • authenticate: AuthenticationFunction
      • invitationService: Pick<InvitationDataService, "getInvitation">
      • organizationAPI: Pick<OrganizationDefaultAdapterAPI, "getUserOrganizations">
      • targetField: TargetField
    • logger: Logger

      injected logger used to handle the logging

    • context: AdapterHandlerContext

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

    Returns Promise<util.StatusCodes>

    200 Status OK

    Description

    This validator will check if user is in organization roles for invitations by applying the following steps in sequence:

    1. Get invitation id from target field

    2. Get invitation from invitationService

    3. Make sure orgId exists in invitation

    4. Use orgId to check if user is in organization roles

    5. Return check result

    Throws

    401 NBError Unauthorized

    • error parsing user token ${error.message}

    Throws

    403 NBError Forbidden

    • cannot find parameter in ${targetField.type} ${targetField.name}

Generated using TypeDoc