diff --git a/src/libs/Descript/Generated/Descript.ApiEndpointsClient.AgentEditJob.g.cs b/src/libs/Descript/Generated/Descript.ApiEndpointsClient.AgentEditJob.g.cs index 75bd630..73df19b 100644 --- a/src/libs/Descript/Generated/Descript.ApiEndpointsClient.AgentEditJob.g.cs +++ b/src/libs/Descript/Generated/Descript.ApiEndpointsClient.AgentEditJob.g.cs @@ -5,6 +5,25 @@ namespace Descript { public partial class ApiEndpointsClient { + + + private static readonly global::Descript.EndPointSecurityRequirement s_AgentEditJobSecurityRequirement0 = + new global::Descript.EndPointSecurityRequirement + { + Authorizations = new global::Descript.EndPointAuthorizationRequirement[] + { new global::Descript.EndPointAuthorizationRequirement + { + Type = "Http", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Descript.EndPointSecurityRequirement[] s_AgentEditJobSecurityRequirements = + new global::Descript.EndPointSecurityRequirement[] + { s_AgentEditJobSecurityRequirement0, + }; partial void PrepareAgentEditJobArguments( global::System.Net.Http.HttpClient httpClient, global::Descript.AgentEditJobRequest request); @@ -54,9 +73,15 @@ partial void ProcessAgentEditJobResponseContent( httpClient: HttpClient, request: request); + + var __authorizations = global::Descript.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_AgentEditJobSecurityRequirements, + operationName: "AgentEditJobAsync"); + var __pathBuilder = new global::Descript.PathBuilder( path: "/jobs/agent", - baseUri: HttpClient.BaseAddress); + baseUri: HttpClient.BaseAddress); var __path = __pathBuilder.ToString(); using var __httpRequest = new global::System.Net.Http.HttpRequestMessage( method: global::System.Net.Http.HttpMethod.Post, @@ -66,7 +91,7 @@ partial void ProcessAgentEditJobResponseContent( __httpRequest.VersionPolicy = global::System.Net.Http.HttpVersionPolicy.RequestVersionOrHigher; #endif - foreach (var __authorization in Authorizations) + foreach (var __authorization in __authorizations) { if (__authorization.Type == "Http" || __authorization.Type == "OAuth2") diff --git a/src/libs/Descript/Generated/Descript.ApiEndpointsClient.CancelJob.g.cs b/src/libs/Descript/Generated/Descript.ApiEndpointsClient.CancelJob.g.cs index df50caf..f4583d3 100644 --- a/src/libs/Descript/Generated/Descript.ApiEndpointsClient.CancelJob.g.cs +++ b/src/libs/Descript/Generated/Descript.ApiEndpointsClient.CancelJob.g.cs @@ -5,6 +5,25 @@ namespace Descript { public partial class ApiEndpointsClient { + + + private static readonly global::Descript.EndPointSecurityRequirement s_CancelJobSecurityRequirement0 = + new global::Descript.EndPointSecurityRequirement + { + Authorizations = new global::Descript.EndPointAuthorizationRequirement[] + { new global::Descript.EndPointAuthorizationRequirement + { + Type = "Http", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Descript.EndPointSecurityRequirement[] s_CancelJobSecurityRequirements = + new global::Descript.EndPointSecurityRequirement[] + { s_CancelJobSecurityRequirement0, + }; partial void PrepareCancelJobArguments( global::System.Net.Http.HttpClient httpClient, ref global::System.Guid jobId); @@ -33,9 +52,15 @@ partial void ProcessCancelJobResponse( httpClient: HttpClient, jobId: ref jobId); + + var __authorizations = global::Descript.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_CancelJobSecurityRequirements, + operationName: "CancelJobAsync"); + var __pathBuilder = new global::Descript.PathBuilder( path: $"/jobs/{jobId}", - baseUri: HttpClient.BaseAddress); + baseUri: HttpClient.BaseAddress); var __path = __pathBuilder.ToString(); using var __httpRequest = new global::System.Net.Http.HttpRequestMessage( method: global::System.Net.Http.HttpMethod.Delete, @@ -45,7 +70,7 @@ partial void ProcessCancelJobResponse( __httpRequest.VersionPolicy = global::System.Net.Http.HttpVersionPolicy.RequestVersionOrHigher; #endif - foreach (var __authorization in Authorizations) + foreach (var __authorization in __authorizations) { if (__authorization.Type == "Http" || __authorization.Type == "OAuth2") diff --git a/src/libs/Descript/Generated/Descript.ApiEndpointsClient.GetJob.g.cs b/src/libs/Descript/Generated/Descript.ApiEndpointsClient.GetJob.g.cs index 96648c9..d93200f 100644 --- a/src/libs/Descript/Generated/Descript.ApiEndpointsClient.GetJob.g.cs +++ b/src/libs/Descript/Generated/Descript.ApiEndpointsClient.GetJob.g.cs @@ -5,6 +5,25 @@ namespace Descript { public partial class ApiEndpointsClient { + + + private static readonly global::Descript.EndPointSecurityRequirement s_GetJobSecurityRequirement0 = + new global::Descript.EndPointSecurityRequirement + { + Authorizations = new global::Descript.EndPointAuthorizationRequirement[] + { new global::Descript.EndPointAuthorizationRequirement + { + Type = "Http", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Descript.EndPointSecurityRequirement[] s_GetJobSecurityRequirements = + new global::Descript.EndPointSecurityRequirement[] + { s_GetJobSecurityRequirement0, + }; partial void PrepareGetJobArguments( global::System.Net.Http.HttpClient httpClient, ref global::System.Guid jobId); @@ -39,9 +58,15 @@ partial void ProcessGetJobResponseContent( httpClient: HttpClient, jobId: ref jobId); + + var __authorizations = global::Descript.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_GetJobSecurityRequirements, + operationName: "GetJobAsync"); + var __pathBuilder = new global::Descript.PathBuilder( path: $"/jobs/{jobId}", - baseUri: HttpClient.BaseAddress); + baseUri: HttpClient.BaseAddress); var __path = __pathBuilder.ToString(); using var __httpRequest = new global::System.Net.Http.HttpRequestMessage( method: global::System.Net.Http.HttpMethod.Get, @@ -51,7 +76,7 @@ partial void ProcessGetJobResponseContent( __httpRequest.VersionPolicy = global::System.Net.Http.HttpVersionPolicy.RequestVersionOrHigher; #endif - foreach (var __authorization in Authorizations) + foreach (var __authorization in __authorizations) { if (__authorization.Type == "Http" || __authorization.Type == "OAuth2") diff --git a/src/libs/Descript/Generated/Descript.ApiEndpointsClient.GetStatus.g.cs b/src/libs/Descript/Generated/Descript.ApiEndpointsClient.GetStatus.g.cs index fad81ff..c6b6548 100644 --- a/src/libs/Descript/Generated/Descript.ApiEndpointsClient.GetStatus.g.cs +++ b/src/libs/Descript/Generated/Descript.ApiEndpointsClient.GetStatus.g.cs @@ -5,6 +5,25 @@ namespace Descript { public partial class ApiEndpointsClient { + + + private static readonly global::Descript.EndPointSecurityRequirement s_GetStatusSecurityRequirement0 = + new global::Descript.EndPointSecurityRequirement + { + Authorizations = new global::Descript.EndPointAuthorizationRequirement[] + { new global::Descript.EndPointAuthorizationRequirement + { + Type = "Http", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Descript.EndPointSecurityRequirement[] s_GetStatusSecurityRequirements = + new global::Descript.EndPointSecurityRequirement[] + { s_GetStatusSecurityRequirement0, + }; partial void PrepareGetStatusArguments( global::System.Net.Http.HttpClient httpClient); partial void PrepareGetStatusRequest( @@ -38,9 +57,15 @@ partial void ProcessGetStatusResponseContent( PrepareGetStatusArguments( httpClient: HttpClient); + + var __authorizations = global::Descript.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_GetStatusSecurityRequirements, + operationName: "GetStatusAsync"); + var __pathBuilder = new global::Descript.PathBuilder( path: "/status", - baseUri: HttpClient.BaseAddress); + baseUri: HttpClient.BaseAddress); var __path = __pathBuilder.ToString(); using var __httpRequest = new global::System.Net.Http.HttpRequestMessage( method: global::System.Net.Http.HttpMethod.Get, @@ -50,7 +75,7 @@ partial void ProcessGetStatusResponseContent( __httpRequest.VersionPolicy = global::System.Net.Http.HttpVersionPolicy.RequestVersionOrHigher; #endif - foreach (var __authorization in Authorizations) + foreach (var __authorization in __authorizations) { if (__authorization.Type == "Http" || __authorization.Type == "OAuth2") diff --git a/src/libs/Descript/Generated/Descript.ApiEndpointsClient.ImportProjectMedia.g.cs b/src/libs/Descript/Generated/Descript.ApiEndpointsClient.ImportProjectMedia.g.cs index 7363bc6..a005e61 100644 --- a/src/libs/Descript/Generated/Descript.ApiEndpointsClient.ImportProjectMedia.g.cs +++ b/src/libs/Descript/Generated/Descript.ApiEndpointsClient.ImportProjectMedia.g.cs @@ -5,6 +5,25 @@ namespace Descript { public partial class ApiEndpointsClient { + + + private static readonly global::Descript.EndPointSecurityRequirement s_ImportProjectMediaSecurityRequirement0 = + new global::Descript.EndPointSecurityRequirement + { + Authorizations = new global::Descript.EndPointAuthorizationRequirement[] + { new global::Descript.EndPointAuthorizationRequirement + { + Type = "Http", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Descript.EndPointSecurityRequirement[] s_ImportProjectMediaSecurityRequirements = + new global::Descript.EndPointSecurityRequirement[] + { s_ImportProjectMediaSecurityRequirement0, + }; partial void PrepareImportProjectMediaArguments( global::System.Net.Http.HttpClient httpClient, global::Descript.ImportProjectMediaRequest request); @@ -59,9 +78,15 @@ partial void ProcessImportProjectMediaResponseContent( httpClient: HttpClient, request: request); + + var __authorizations = global::Descript.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_ImportProjectMediaSecurityRequirements, + operationName: "ImportProjectMediaAsync"); + var __pathBuilder = new global::Descript.PathBuilder( path: "/jobs/import/project_media", - baseUri: HttpClient.BaseAddress); + baseUri: HttpClient.BaseAddress); var __path = __pathBuilder.ToString(); using var __httpRequest = new global::System.Net.Http.HttpRequestMessage( method: global::System.Net.Http.HttpMethod.Post, @@ -71,7 +96,7 @@ partial void ProcessImportProjectMediaResponseContent( __httpRequest.VersionPolicy = global::System.Net.Http.HttpVersionPolicy.RequestVersionOrHigher; #endif - foreach (var __authorization in Authorizations) + foreach (var __authorization in __authorizations) { if (__authorization.Type == "Http" || __authorization.Type == "OAuth2") diff --git a/src/libs/Descript/Generated/Descript.ApiEndpointsClient.ListJobs.g.cs b/src/libs/Descript/Generated/Descript.ApiEndpointsClient.ListJobs.g.cs index 9519e0c..7ca370f 100644 --- a/src/libs/Descript/Generated/Descript.ApiEndpointsClient.ListJobs.g.cs +++ b/src/libs/Descript/Generated/Descript.ApiEndpointsClient.ListJobs.g.cs @@ -5,6 +5,25 @@ namespace Descript { public partial class ApiEndpointsClient { + + + private static readonly global::Descript.EndPointSecurityRequirement s_ListJobsSecurityRequirement0 = + new global::Descript.EndPointSecurityRequirement + { + Authorizations = new global::Descript.EndPointAuthorizationRequirement[] + { new global::Descript.EndPointAuthorizationRequirement + { + Type = "Http", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Descript.EndPointSecurityRequirement[] s_ListJobsSecurityRequirements = + new global::Descript.EndPointSecurityRequirement[] + { s_ListJobsSecurityRequirement0, + }; partial void PrepareListJobsArguments( global::System.Net.Http.HttpClient httpClient, ref global::System.Guid? projectId, @@ -72,6 +91,12 @@ partial void ProcessListJobsResponseContent( createdAfter: ref createdAfter, createdBefore: ref createdBefore); + + var __authorizations = global::Descript.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_ListJobsSecurityRequirements, + operationName: "ListJobsAsync"); + var __pathBuilder = new global::Descript.PathBuilder( path: "/jobs", baseUri: HttpClient.BaseAddress); @@ -82,7 +107,7 @@ partial void ProcessListJobsResponseContent( .AddOptionalParameter("limit", limit?.ToString()) .AddOptionalParameter("created_after", createdAfter?.ToString("yyyy-MM-ddTHH:mm:ssZ")) .AddOptionalParameter("created_before", createdBefore?.ToString("yyyy-MM-ddTHH:mm:ssZ")) - ; + ; var __path = __pathBuilder.ToString(); using var __httpRequest = new global::System.Net.Http.HttpRequestMessage( method: global::System.Net.Http.HttpMethod.Get, @@ -92,7 +117,7 @@ partial void ProcessListJobsResponseContent( __httpRequest.VersionPolicy = global::System.Net.Http.HttpVersionPolicy.RequestVersionOrHigher; #endif - foreach (var __authorization in Authorizations) + foreach (var __authorization in __authorizations) { if (__authorization.Type == "Http" || __authorization.Type == "OAuth2") diff --git a/src/libs/Descript/Generated/Descript.DescriptClient.Authorizations.Bearer.g.cs b/src/libs/Descript/Generated/Descript.DescriptClient.Authorizations.Bearer.g.cs index 0b663a0..68dcfdd 100644 --- a/src/libs/Descript/Generated/Descript.DescriptClient.Authorizations.Bearer.g.cs +++ b/src/libs/Descript/Generated/Descript.DescriptClient.Authorizations.Bearer.g.cs @@ -5,13 +5,23 @@ namespace Descript { public sealed partial class DescriptClient { + /// public void AuthorizeUsingBearer( string apiKey) { apiKey = apiKey ?? throw new global::System.ArgumentNullException(nameof(apiKey)); - Authorizations.Clear(); + for (var i = Authorizations.Count - 1; i >= 0; i--) + { + var __authorization = Authorizations[i]; + if (__authorization.Type == "Http" && + __authorization.Name == "Bearer") + { + Authorizations.RemoveAt(i); + } + } + Authorizations.Add(new global::Descript.EndPointAuthorization { Type = "Http", diff --git a/src/libs/Descript/Generated/Descript.DescriptClient.Constructors.Bearer.g.cs b/src/libs/Descript/Generated/Descript.DescriptClient.Constructors.Bearer.g.cs index caf5cd2..278ff02 100644 --- a/src/libs/Descript/Generated/Descript.DescriptClient.Constructors.Bearer.g.cs +++ b/src/libs/Descript/Generated/Descript.DescriptClient.Constructors.Bearer.g.cs @@ -6,6 +6,7 @@ namespace Descript public sealed partial class DescriptClient { /// + public DescriptClient( string apiKey, global::System.Net.Http.HttpClient? httpClient = null, diff --git a/src/libs/Descript/Generated/Descript.DescriptClient.g.cs b/src/libs/Descript/Generated/Descript.DescriptClient.g.cs index 415fccd..cd50803 100644 --- a/src/libs/Descript/Generated/Descript.DescriptClient.g.cs +++ b/src/libs/Descript/Generated/Descript.DescriptClient.g.cs @@ -100,7 +100,7 @@ public sealed partial class DescriptClient : global::Descript.IDescriptClient, g /// ```
/// <meta property="descript:partner" content="9121bf3a-60fe-4a31-ad59-ed32df610cc3" />
/// <meta property="descript:source" content="409148bd-81aa-4af6-a9c3-29b761506f3a" />
- /// ``` + /// ```. /// public ExportFromDescriptClient ExportFromDescript => new ExportFromDescriptClient(HttpClient, authorizations: Authorizations) { diff --git a/src/libs/Descript/Generated/Descript.EditInDescriptClient.PostEditInDescriptSchema.g.cs b/src/libs/Descript/Generated/Descript.EditInDescriptClient.PostEditInDescriptSchema.g.cs index 9340e84..3c7de5c 100644 --- a/src/libs/Descript/Generated/Descript.EditInDescriptClient.PostEditInDescriptSchema.g.cs +++ b/src/libs/Descript/Generated/Descript.EditInDescriptClient.PostEditInDescriptSchema.g.cs @@ -5,6 +5,25 @@ namespace Descript { public partial class EditInDescriptClient { + + + private static readonly global::Descript.EndPointSecurityRequirement s_PostEditInDescriptSchemaSecurityRequirement0 = + new global::Descript.EndPointSecurityRequirement + { + Authorizations = new global::Descript.EndPointAuthorizationRequirement[] + { new global::Descript.EndPointAuthorizationRequirement + { + Type = "Http", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Descript.EndPointSecurityRequirement[] s_PostEditInDescriptSchemaSecurityRequirements = + new global::Descript.EndPointSecurityRequirement[] + { s_PostEditInDescriptSchemaSecurityRequirement0, + }; partial void PreparePostEditInDescriptSchemaArguments( global::System.Net.Http.HttpClient httpClient, global::Descript.EditInDescriptSchemaPostBody request); @@ -75,9 +94,15 @@ partial void ProcessPostEditInDescriptSchemaResponseContent( httpClient: HttpClient, request: request); + + var __authorizations = global::Descript.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_PostEditInDescriptSchemaSecurityRequirements, + operationName: "PostEditInDescriptSchemaAsync"); + var __pathBuilder = new global::Descript.PathBuilder( path: "/edit_in_descript/schema", - baseUri: HttpClient.BaseAddress); + baseUri: HttpClient.BaseAddress); var __path = __pathBuilder.ToString(); using var __httpRequest = new global::System.Net.Http.HttpRequestMessage( method: global::System.Net.Http.HttpMethod.Post, @@ -87,7 +112,7 @@ partial void ProcessPostEditInDescriptSchemaResponseContent( __httpRequest.VersionPolicy = global::System.Net.Http.HttpVersionPolicy.RequestVersionOrHigher; #endif - foreach (var __authorization in Authorizations) + foreach (var __authorization in __authorizations) { if (__authorization.Type == "Http" || __authorization.Type == "OAuth2") diff --git a/src/libs/Descript/Generated/Descript.ExportFromDescriptClient.GetPublishedProjectMetadata.g.cs b/src/libs/Descript/Generated/Descript.ExportFromDescriptClient.GetPublishedProjectMetadata.g.cs index a3ee478..8fddb4e 100644 --- a/src/libs/Descript/Generated/Descript.ExportFromDescriptClient.GetPublishedProjectMetadata.g.cs +++ b/src/libs/Descript/Generated/Descript.ExportFromDescriptClient.GetPublishedProjectMetadata.g.cs @@ -5,6 +5,25 @@ namespace Descript { public partial class ExportFromDescriptClient { + + + private static readonly global::Descript.EndPointSecurityRequirement s_GetPublishedProjectMetadataSecurityRequirement0 = + new global::Descript.EndPointSecurityRequirement + { + Authorizations = new global::Descript.EndPointAuthorizationRequirement[] + { new global::Descript.EndPointAuthorizationRequirement + { + Type = "Http", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Descript.EndPointSecurityRequirement[] s_GetPublishedProjectMetadataSecurityRequirements = + new global::Descript.EndPointSecurityRequirement[] + { s_GetPublishedProjectMetadataSecurityRequirement0, + }; partial void PrepareGetPublishedProjectMetadataArguments( global::System.Net.Http.HttpClient httpClient, ref string publishedProjectSlug); @@ -41,9 +60,15 @@ partial void ProcessGetPublishedProjectMetadataResponseContent( httpClient: HttpClient, publishedProjectSlug: ref publishedProjectSlug); + + var __authorizations = global::Descript.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_GetPublishedProjectMetadataSecurityRequirements, + operationName: "GetPublishedProjectMetadataAsync"); + var __pathBuilder = new global::Descript.PathBuilder( path: $"/published_projects/{publishedProjectSlug}", - baseUri: HttpClient.BaseAddress); + baseUri: HttpClient.BaseAddress); var __path = __pathBuilder.ToString(); using var __httpRequest = new global::System.Net.Http.HttpRequestMessage( method: global::System.Net.Http.HttpMethod.Get, @@ -53,7 +78,7 @@ partial void ProcessGetPublishedProjectMetadataResponseContent( __httpRequest.VersionPolicy = global::System.Net.Http.HttpVersionPolicy.RequestVersionOrHigher; #endif - foreach (var __authorization in Authorizations) + foreach (var __authorization in __authorizations) { if (__authorization.Type == "Http" || __authorization.Type == "OAuth2") diff --git a/src/libs/Descript/Generated/Descript.ExportFromDescriptClient.g.cs b/src/libs/Descript/Generated/Descript.ExportFromDescriptClient.g.cs index 9e8eb94..0ed985f 100644 --- a/src/libs/Descript/Generated/Descript.ExportFromDescriptClient.g.cs +++ b/src/libs/Descript/Generated/Descript.ExportFromDescriptClient.g.cs @@ -15,7 +15,7 @@ namespace Descript /// ```
/// <meta property="descript:partner" content="9121bf3a-60fe-4a31-ad59-ed32df610cc3" />
/// <meta property="descript:source" content="409148bd-81aa-4af6-a9c3-29b761506f3a" />
- /// ```
+ /// ```.
/// If no httpClient is provided, a new one will be created.
/// If no baseUri is provided, the default baseUri from OpenAPI spec will be used. /// diff --git a/src/libs/Descript/Generated/Descript.IDescriptClient.Authorizations.Bearer.g.cs b/src/libs/Descript/Generated/Descript.IDescriptClient.Authorizations.Bearer.g.cs index 016ba8e..43f4f32 100644 --- a/src/libs/Descript/Generated/Descript.IDescriptClient.Authorizations.Bearer.g.cs +++ b/src/libs/Descript/Generated/Descript.IDescriptClient.Authorizations.Bearer.g.cs @@ -9,6 +9,7 @@ public partial interface IDescriptClient /// Authorize using bearer authentication. /// /// + public void AuthorizeUsingBearer( string apiKey); } diff --git a/src/libs/Descript/Generated/Descript.IDescriptClient.g.cs b/src/libs/Descript/Generated/Descript.IDescriptClient.g.cs index f63a51e..ea1c654 100644 --- a/src/libs/Descript/Generated/Descript.IDescriptClient.g.cs +++ b/src/libs/Descript/Generated/Descript.IDescriptClient.g.cs @@ -95,7 +95,7 @@ public partial interface IDescriptClient : global::System.IDisposable /// ```
/// <meta property="descript:partner" content="9121bf3a-60fe-4a31-ad59-ed32df610cc3" />
/// <meta property="descript:source" content="409148bd-81aa-4af6-a9c3-29b761506f3a" />
- /// ``` + /// ```. /// public ExportFromDescriptClient ExportFromDescript { get; } diff --git a/src/libs/Descript/Generated/Descript.IExportFromDescriptClient.g.cs b/src/libs/Descript/Generated/Descript.IExportFromDescriptClient.g.cs index b27d70f..e8ae868 100644 --- a/src/libs/Descript/Generated/Descript.IExportFromDescriptClient.g.cs +++ b/src/libs/Descript/Generated/Descript.IExportFromDescriptClient.g.cs @@ -15,7 +15,7 @@ namespace Descript /// ```
/// <meta property="descript:partner" content="9121bf3a-60fe-4a31-ad59-ed32df610cc3" />
/// <meta property="descript:source" content="409148bd-81aa-4af6-a9c3-29b761506f3a" />
- /// ```
+ /// ```.
/// If no httpClient is provided, a new one will be created.
/// If no baseUri is provided, the default baseUri from OpenAPI spec will be used. /// diff --git a/src/libs/Descript/Generated/Descript.PathBuilder.g.cs b/src/libs/Descript/Generated/Descript.PathBuilder.g.cs index d57a734..4d2891a 100644 --- a/src/libs/Descript/Generated/Descript.PathBuilder.g.cs +++ b/src/libs/Descript/Generated/Descript.PathBuilder.g.cs @@ -224,6 +224,40 @@ public PathBuilder AddOptionalParameter( return this; } + /// + /// Adds a pre-serialized query string fragment to the URL. + /// + /// The serialized query string value. + /// The current instance. + public PathBuilder AddRawQueryString( + string value) + { + if (string.IsNullOrWhiteSpace(value)) + { + return this; + } + + value = value.TrimStart('?', '&'); + if (value.Length == 0) + { + return this; + } + + if (_firstParameter) + { + _stringBuilder.Append('?'); + _firstParameter = false; + } + else + { + _stringBuilder.Append('&'); + } + + _stringBuilder.Append(value); + + return this; + } + /// /// Returns the constructed URL as a string. /// diff --git a/src/libs/Descript/Generated/Descript.Security.g.cs b/src/libs/Descript/Generated/Descript.Security.g.cs new file mode 100644 index 0000000..6b2625a --- /dev/null +++ b/src/libs/Descript/Generated/Descript.Security.g.cs @@ -0,0 +1,145 @@ +#nullable enable + +namespace Descript +{ + internal sealed class EndPointAuthorizationRequirement + { + internal string Type { get; set; } = string.Empty; + + internal string Location { get; set; } = string.Empty; + + internal string Name { get; set; } = string.Empty; + + internal string FriendlyName { get; set; } = string.Empty; + } + + internal sealed class EndPointSecurityRequirement + { + internal global::System.Collections.Generic.IReadOnlyList Authorizations { get; set; } = + global::System.Array.Empty(); + } + + internal static class EndPointSecurityResolver + { + internal static global::System.Collections.Generic.List ResolveAuthorizations( + global::System.Collections.Generic.IReadOnlyList availableAuthorizations, + global::System.Collections.Generic.IReadOnlyList securityRequirements, + string operationName) + { + availableAuthorizations = availableAuthorizations ?? throw new global::System.ArgumentNullException(nameof(availableAuthorizations)); + securityRequirements = securityRequirements ?? throw new global::System.ArgumentNullException(nameof(securityRequirements)); + operationName = operationName ?? throw new global::System.ArgumentNullException(nameof(operationName)); + + if (securityRequirements.Count == 0) + { + return new global::System.Collections.Generic.List(); + } + + var allowsAnonymous = false; + + foreach (var requirement in securityRequirements) + { + if (requirement.Authorizations.Count == 0) + { + allowsAnonymous = true; + continue; + } + + var selected = new global::System.Collections.Generic.List(requirement.Authorizations.Count); + var satisfied = true; + + foreach (var requiredAuthorization in requirement.Authorizations) + { + var found = false; + + for (var i = 0; i < availableAuthorizations.Count; i++) + { + if (!Matches(availableAuthorizations[i], requiredAuthorization)) + { + continue; + } + + selected.Add(availableAuthorizations[i]); + found = true; + break; + } + + if (!found) + { + satisfied = false; + break; + } + } + + if (satisfied) + { + return selected; + } + } + + if (allowsAnonymous) + { + return new global::System.Collections.Generic.List(); + } + + throw new global::System.InvalidOperationException( + $"Operation '{operationName}' requires one of the configured security alternatives: {DescribeRequirements(securityRequirements)}."); + } + + private static bool Matches( + EndPointAuthorization availableAuthorization, + EndPointAuthorizationRequirement requiredAuthorization) + { + if (!string.Equals(availableAuthorization.Type, requiredAuthorization.Type, global::System.StringComparison.Ordinal)) + { + return false; + } + + return requiredAuthorization.Type switch + { + "OAuth2" => true, + "Http" => string.Equals( + availableAuthorization.Name, + requiredAuthorization.Name, + global::System.StringComparison.Ordinal), + "ApiKey" => string.Equals( + availableAuthorization.Location, + requiredAuthorization.Location, + global::System.StringComparison.Ordinal) && + string.Equals( + availableAuthorization.Name, + requiredAuthorization.Name, + global::System.StringComparison.Ordinal), + _ => string.Equals( + availableAuthorization.Location, + requiredAuthorization.Location, + global::System.StringComparison.Ordinal) && + string.Equals( + availableAuthorization.Name, + requiredAuthorization.Name, + global::System.StringComparison.Ordinal), + }; + } + + private static string DescribeRequirements( + global::System.Collections.Generic.IReadOnlyList securityRequirements) + { + var parts = new global::System.Collections.Generic.List(securityRequirements.Count); + + foreach (var requirement in securityRequirements) + { + if (requirement.Authorizations.Count == 0) + { + parts.Add("anonymous"); + continue; + } + + parts.Add(string.Join( + " + ", + global::System.Linq.Enumerable.Select(requirement.Authorizations, static x => x.FriendlyName))); + } + + return string.Join(" or ", parts); + } + } +} \ No newline at end of file