def add_video_transcript_moderation_result_async(content_type, team_name, review_id, transcript_moderation_body, custom_headers:nil)
      fail ArgumentError, '@client.endpoint is nil' if @client.endpoint.nil?
      fail ArgumentError, 'content_type is nil' if content_type.nil?
      fail ArgumentError, 'team_name is nil' if team_name.nil?
      fail ArgumentError, 'review_id is nil' if review_id.nil?
      fail ArgumentError, 'transcript_moderation_body is nil' if transcript_moderation_body.nil?


      request_headers = {}
      request_headers['Content-Type'] = 'application/json; charset=utf-8'

      # Set Headers
      request_headers['x-ms-client-request-id'] = SecureRandom.uuid
      request_headers['Content-Type'] = content_type unless content_type.nil?
      request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?

      # Serialize Request
      request_mapper = {
        client_side_validation: true,
        required: true,
        serialized_name: 'transcriptModerationBody',
        type: {
          name: 'Sequence',
          element: {
              client_side_validation: true,
              required: false,
              serialized_name: 'TranscriptModerationBodyItemElementType',
              type: {
                name: 'Composite',
                class_name: 'TranscriptModerationBodyItem'
              }
          }
        }
      }
      request_content = @client.serialize(request_mapper,  transcript_moderation_body)
      request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil

      path_template = 'contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}/transcriptmoderationresult'

      request_url = @base_url || @client.base_url
    request_url = request_url.gsub('{Endpoint}', @client.endpoint)

      options = {
          middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
          path_params: {'teamName' => team_name,'reviewId' => review_id},
          body: request_content,
          headers: request_headers.merge(custom_headers || {}),
          base_url: request_url
      }
      promise = @client.make_request_async(:put, path_template, options)

      promise = promise.then do |result|
        http_response = result.response
        status_code = http_response.status
        response_content = http_response.body
        unless status_code == 204
          error_model = JSON.load(response_content)
          fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
        end

        result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?

        result
      end

      promise.execute
    end
def add_video_transcript_moderation_result_async(content_type, team_name, review_id, transcript_moderation_body, custom_headers:nil)
      fail ArgumentError, '@client.endpoint is nil' if @client.endpoint.nil?
      fail ArgumentError, 'content_type is nil' if content_type.nil?
      fail ArgumentError, 'team_name is nil' if team_name.nil?
      fail ArgumentError, 'review_id is nil' if review_id.nil?
      fail ArgumentError, 'transcript_moderation_body is nil' if transcript_moderation_body.nil?


      request_headers = {}
      request_headers['Content-Type'] = 'application/json; charset=utf-8'

      # Set Headers
      request_headers['x-ms-client-request-id'] = SecureRandom.uuid
      request_headers['Content-Type'] = content_type unless content_type.nil?
      request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?

      # Serialize Request
      request_mapper = {
        client_side_validation: true,
        required: true,
        serialized_name: 'transcriptModerationBody',
        type: {
          name: 'Sequence',
          element: {
              client_side_validation: true,
              required: false,
              serialized_name: 'TranscriptModerationBodyItemElementType',
              type: {
                name: 'Composite',
                class_name: 'TranscriptModerationBodyItem'
              }
          }
        }
      }
      request_content = @client.serialize(request_mapper,  transcript_moderation_body)
      request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil

      path_template = 'contentmoderator/review/v1.0/teams/{teamName}/reviews/{reviewId}/transcriptmoderationresult'

      request_url = @base_url || @client.base_url
    request_url = request_url.gsub('{Endpoint}', @client.endpoint)

      options = {
          middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
          path_params: {'teamName' => team_name,'reviewId' => review_id},
          body: request_content,
          headers: request_headers.merge(custom_headers || {}),
          base_url: request_url
      }
      promise = @client.make_request_async(:put, path_template, options)

      promise = promise.then do |result|
        http_response = result.response
        status_code = http_response.status
        response_content = http_response.body
        unless status_code == 204
          error_model = JSON.load(response_content)
          fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
        end

        result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?

        result
      end

      promise.execute
    end
This API adds a transcript screen text result file for a video review.
 Transcript screen text result file is a result of Screen Text API . In order
 to generate transcript screen text result file , a transcript file has to be
 screened for profanity using Screen Text API.

 @param content_type [String] The content type.
 @param team_name [String] Your team name.
 @param review_id [String] Id of the review.
 @param transcript_moderation_body [Array<TranscriptModerationBodyItem>] Body
 for add video transcript moderation result API
 @param [Hash{String => String}] A hash of custom headers that will be added
 to the HTTP request.

 @return [Concurrent::Promise] Promise object which holds the HTTP response.