• Get avatar upload url handler

    Parameters

    • bucket: Bucket

      injected bucket service from backend-sdk bucket module

      • generateUploadSignedUrl
    • maxAvatarSizeMB: number

      Max avatar size in MB

    • logger: Logger

      injected logger used to handle the logging

    • context: AdapterHandlerContext

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

      • params.userId is required
      • query.contentType is required and should be one of the following: image/jpeg, image/jpg, image/png, image/webp
      • query.contentLength is required and should be a number

    Returns Promise<adapter.AdapterHandlerResponse>

    200 Status OK

    • data: signed url

    Description

    This handler will get avatar upload url by applying the following steps in sequence:

    1. Get userId from context.params

    2. Get maxAvatarSizeMB from context.config

    3. Get and validate contentType from context.query

    4. Get and validate contentLength from context.query

    5. Generate signed url

    6. Return signed url

    Throws

    Error

    • userId is not defined

    Throws

    400 NBError Bad Request

    • contentType is not defined in query params
    • contentType is not allowed
    • contentLength is not defined in query params
    • contentLength should be a number
    • contentLength is bigger than allowed max content length

Generated using TypeDoc