require 'microsoft_kiota_abstractions' require_relative '../../../../../microsoft_graph' require_relative '../../../../../models/education_assignment' require_relative '../../../../../models/o_data_errors_o_data_error' require_relative '../../../../education' require_relative '../../../me' require_relative '../../assignments' require_relative '../item' require_relative './publish' module MicrosoftGraph module Education module Me module Assignments module Item module Publish ## # Provides operations to call the publish method. class PublishRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder ## ## Instantiates a new PublishRequestBuilder 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}/education/me/assignments/{educationAssignment%2Did}/publish") end ## ## Publish an education assignment. Change the state of an educationAssignment from its original draft status to the published status. You can change the state from draft to scheduled if the assignment is scheduled for a future date. Only a teacher in the class can make this call. When an assignment is in draft status, students will not see the assignment, nor will there be any submission objects. Calling this API creates educationSubmission objects and displays the assignment in each student's list. The state of the assignment goes back to draft if there is any backend failure during publish process. To update the properties of a published assignment, see update an assignment. ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options. ## @return a Fiber of education_assignment ## def post(request_configuration=nil) request_info = self.to_post_request_information( request_configuration ) error_mapping = Hash.new error_mapping["4XX"] = lambda {|pn| MicrosoftGraph::Models::ODataErrorsODataError.create_from_discriminator_value(pn) } error_mapping["5XX"] = lambda {|pn| MicrosoftGraph::Models::ODataErrorsODataError.create_from_discriminator_value(pn) } return @request_adapter.send_async(request_info, lambda {|pn| MicrosoftGraph::Models::EducationAssignment.create_from_discriminator_value(pn) }, error_mapping) end ## ## Publish an education assignment. Change the state of an educationAssignment from its original draft status to the published status. You can change the state from draft to scheduled if the assignment is scheduled for a future date. Only a teacher in the class can make this call. When an assignment is in draft status, students will not see the assignment, nor will there be any submission objects. Calling this API creates educationSubmission objects and displays the assignment in each student's list. The state of the assignment goes back to draft if there is any backend failure during publish process. To update the properties of a published assignment, see update an assignment. ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options. ## @return a request_information ## def to_post_request_information(request_configuration=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 return request_info end end end end end end end end