require 'microsoft_kiota_abstractions' require_relative '../../../../../../../../../../../microsoft_graph' require_relative '../../../../../../../../../../../models/o_data_errors/o_data_error' require_relative '../../../../../../../../../../../models/workbook_table_row' require_relative '../../../../../../../../../../drives' require_relative '../../../../../../../../../item' require_relative '../../../../../../../../items' require_relative '../../../../../../../item' require_relative '../../../../../../workbook' require_relative '../../../../../worksheets' require_relative '../../../../item' require_relative '../../../tables' require_relative '../../item' require_relative '../rows' require_relative './add' module MicrosoftGraph module Drives module Item module Items module Item module Workbook module Worksheets module Item module Tables module Item module Rows module Add ## # Provides operations to call the add method. class AddRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder ## ## Instantiates a new AddRequestBuilder and sets the default values. ## @param path_parameters Path parameters for the request ## @param request_adapter The request adapter to use to execute the requests. ## @return a void ## def initialize(path_parameters, request_adapter) super(path_parameters, request_adapter, "{+baseurl}/drives/{drive%2Did}/items/{driveItem%2Did}/workbook/worksheets/{workbookWorksheet%2Did}/tables/{workbookTable%2Did}/rows/add") end ## ## Adds rows to the end of the table. Note that the API can accept multiple rows data using this API. Adding one row at a time could lead to performance degradation. The recommended approach would be to batch the rows together in a single call rather than doing single row insertion. For best results, collect the rows to be inserted on the application side and perform single rows add operation. Experiment with the number of rows to determine the ideal number of rows to use in single API call. ## @param body The request body ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options. ## @return a Fiber of workbook_table_row ## def post(body, request_configuration=nil) raise StandardError, 'body cannot be null' if body.nil? request_info = self.to_post_request_information( body, request_configuration ) error_mapping = Hash.new error_mapping["4XX"] = lambda {|pn| MicrosoftGraph::Models::ODataErrors::ODataError.create_from_discriminator_value(pn) } error_mapping["5XX"] = lambda {|pn| MicrosoftGraph::Models::ODataErrors::ODataError.create_from_discriminator_value(pn) } return @request_adapter.send_async(request_info, lambda {|pn| MicrosoftGraph::Models::WorkbookTableRow.create_from_discriminator_value(pn) }, error_mapping) end ## ## Adds rows to the end of the table. Note that the API can accept multiple rows data using this API. Adding one row at a time could lead to performance degradation. The recommended approach would be to batch the rows together in a single call rather than doing single row insertion. For best results, collect the rows to be inserted on the application side and perform single rows add operation. Experiment with the number of rows to determine the ideal number of rows to use in single API call. ## @param body The request body ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options. ## @return a request_information ## def to_post_request_information(body, request_configuration=nil) raise StandardError, 'body cannot be null' if body.nil? request_info = MicrosoftKiotaAbstractions::RequestInformation.new() request_info.url_template = @url_template request_info.path_parameters = @path_parameters request_info.http_method = :POST request_info.headers.add('Accept', 'application/json') unless request_configuration.nil? request_info.add_headers_from_raw_object(request_configuration.headers) request_info.add_request_options(request_configuration.options) end request_info.set_content_from_parsable(self.request_adapter, "application/json", body) return request_info end end end end end end end end end end end end end end