// #pragma warning disable CS0618 using Marechai.App.Machines.Documents.Item; using Marechai.App.Models; using Microsoft.Kiota.Abstractions.Extensions; using Microsoft.Kiota.Abstractions.Serialization; using Microsoft.Kiota.Abstractions; using System.Collections.Generic; using System.IO; using System.Threading.Tasks; using System.Threading; using System; namespace Marechai.App.Machines.Documents { /// /// Builds and executes requests for operations under \machines\documents /// [global::System.CodeDom.Compiler.GeneratedCode("Kiota", "1.0.0")] public partial class DocumentsRequestBuilder : BaseRequestBuilder { /// Gets an item from the Marechai.App.machines.documents.item collection /// Unique identifier of the item /// A public global::Marechai.App.Machines.Documents.Item.DocumentsItemRequestBuilder this[long position] { get { var urlTplParams = new Dictionary(PathParameters); urlTplParams.Add("id", position); return new global::Marechai.App.Machines.Documents.Item.DocumentsItemRequestBuilder(urlTplParams, RequestAdapter); } } /// Gets an item from the Marechai.App.machines.documents.item collection /// Unique identifier of the item /// A [Obsolete("This indexer is deprecated and will be removed in the next major version. Use the one with the typed parameter instead.")] public global::Marechai.App.Machines.Documents.Item.DocumentsItemRequestBuilder this[string position] { get { var urlTplParams = new Dictionary(PathParameters); if (!string.IsNullOrWhiteSpace(position)) urlTplParams.Add("id", position); return new global::Marechai.App.Machines.Documents.Item.DocumentsItemRequestBuilder(urlTplParams, RequestAdapter); } } /// /// Instantiates a new and sets the default values. /// /// Path parameters for the request /// The request adapter to use to execute the requests. public DocumentsRequestBuilder(Dictionary pathParameters, IRequestAdapter requestAdapter) : base(requestAdapter, "{+baseurl}/machines/documents", pathParameters) { } /// /// Instantiates a new and sets the default values. /// /// The raw URL to use for the request builder. /// The request adapter to use to execute the requests. public DocumentsRequestBuilder(string rawUrl, IRequestAdapter requestAdapter) : base(requestAdapter, "{+baseurl}/machines/documents", rawUrl) { } /// A /// The request body /// Cancellation token to use when cancelling requests /// Configuration for the request such as headers, query parameters, and middleware options. /// When receiving a 400 status code /// When receiving a 401 status code #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER #nullable enable public async Task PostAsync(global::Marechai.App.Models.DocumentByMachineDto body, Action>? requestConfiguration = default, CancellationToken cancellationToken = default) { #nullable restore #else public async Task PostAsync(global::Marechai.App.Models.DocumentByMachineDto body, Action> requestConfiguration = default, CancellationToken cancellationToken = default) { #endif if(ReferenceEquals(body, null)) throw new ArgumentNullException(nameof(body)); var requestInfo = ToPostRequestInformation(body, requestConfiguration); var errorMapping = new Dictionary> { { "400", global::Marechai.App.Models.ProblemDetails.CreateFromDiscriminatorValue }, { "401", global::Marechai.App.Models.ProblemDetails.CreateFromDiscriminatorValue }, }; return await RequestAdapter.SendPrimitiveAsync(requestInfo, errorMapping, cancellationToken).ConfigureAwait(false); } /// A /// The request body /// Configuration for the request such as headers, query parameters, and middleware options. #if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER #nullable enable public RequestInformation ToPostRequestInformation(global::Marechai.App.Models.DocumentByMachineDto body, Action>? requestConfiguration = default) { #nullable restore #else public RequestInformation ToPostRequestInformation(global::Marechai.App.Models.DocumentByMachineDto body, Action> requestConfiguration = default) { #endif if(ReferenceEquals(body, null)) throw new ArgumentNullException(nameof(body)); var requestInfo = new RequestInformation(Method.POST, UrlTemplate, PathParameters); requestInfo.Configure(requestConfiguration); requestInfo.Headers.TryAdd("Accept", "text/plain;q=0.9"); requestInfo.SetContentFromParsable(RequestAdapter, "application/json", body); return requestInfo; } /// /// Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored. /// /// A /// The raw URL to use for the request builder. public global::Marechai.App.Machines.Documents.DocumentsRequestBuilder WithUrl(string rawUrl) { return new global::Marechai.App.Machines.Documents.DocumentsRequestBuilder(rawUrl, RequestAdapter); } /// /// Configuration for the request such as headers, query parameters, and middleware options. /// [Obsolete("This class is deprecated. Please use the generic RequestConfiguration class generated by the generator.")] [global::System.CodeDom.Compiler.GeneratedCode("Kiota", "1.0.0")] public partial class DocumentsRequestBuilderPostRequestConfiguration : RequestConfiguration { } } } #pragma warning restore CS0618