From 79c3fb50b6f99bfa350fe925cb89d03144eade55 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 9 Apr 2026 13:47:55 +0000 Subject: [PATCH] feat: Updated OpenAPI spec --- .../Recraft.ColorsClient.OptimizeColors.g.cs | 29 +++- .../Generated/Recraft.ColorsClient.g.cs | 2 +- ....IRecraftClient.Authorizations.Bearer.g.cs | 1 + .../Recraft.ImageClient.CreativeUpscale.g.cs | 29 +++- .../Recraft.ImageClient.CrispUpscale.g.cs | 29 +++- .../Recraft.ImageClient.EraseRegion.g.cs | 29 +++- .../Recraft.ImageClient.Explore.g.cs | 29 +++- .../Recraft.ImageClient.ExploreSimilar.g.cs | 29 +++- ...ecraft.ImageClient.GenerateBackground.g.cs | 29 +++- .../Recraft.ImageClient.GenerateImage.g.cs | 29 +++- ...craft.ImageClient.GenerateImageRaster.g.cs | 29 +++- ...craft.ImageClient.GenerateImageVector.g.cs | 29 +++- .../Recraft.ImageClient.ImageToImage.g.cs | 29 +++- .../Recraft.ImageClient.InpaintImage.g.cs | 29 +++- .../Recraft.ImageClient.RemoveBackground.g.cs | 29 +++- ...Recraft.ImageClient.ReplaceBackground.g.cs | 29 +++- .../Recraft.ImageClient.VariateImage.g.cs | 29 +++- .../Recraft.ImageClient.VectorizeImage.g.cs | 29 +++- .../Generated/Recraft.ImageClient.g.cs | 2 +- .../Generated/Recraft.PathBuilder.g.cs | 34 ++++ ...t.RecraftClient.Authorizations.Bearer.g.cs | 12 +- ...aft.RecraftClient.Constructors.Bearer.g.cs | 1 + .../Recraft.RecraftClient.GetPing.g.cs | 29 +++- ...Recraft.RecraftClient.GetSystemStatus.g.cs | 29 +++- .../Generated/Recraft.RecraftClient.g.cs | 2 +- .../Recraft/Generated/Recraft.Security.g.cs | 145 ++++++++++++++++++ .../Recraft.StyleClient.CreateStyle.g.cs | 29 +++- .../Recraft.StyleClient.DeleteStyle.g.cs | 29 +++- .../Recraft.StyleClient.GetStyle.g.cs | 29 +++- .../Recraft.StyleClient.ListBasicStyles.g.cs | 29 +++- .../Recraft.StyleClient.ListStyles.g.cs | 29 +++- .../Generated/Recraft.StyleClient.g.cs | 2 +- .../Recraft.UserClient.GetCurrentUser.g.cs | 29 +++- .../Recraft/Generated/Recraft.UserClient.g.cs | 2 +- 34 files changed, 845 insertions(+), 54 deletions(-) create mode 100644 src/libs/Recraft/Generated/Recraft.Security.g.cs diff --git a/src/libs/Recraft/Generated/Recraft.ColorsClient.OptimizeColors.g.cs b/src/libs/Recraft/Generated/Recraft.ColorsClient.OptimizeColors.g.cs index c7f0236..65ec3b8 100644 --- a/src/libs/Recraft/Generated/Recraft.ColorsClient.OptimizeColors.g.cs +++ b/src/libs/Recraft/Generated/Recraft.ColorsClient.OptimizeColors.g.cs @@ -5,6 +5,25 @@ namespace Recraft { public partial class ColorsClient { + + + private static readonly global::Recraft.EndPointSecurityRequirement s_OptimizeColorsSecurityRequirement0 = + new global::Recraft.EndPointSecurityRequirement + { + Authorizations = new global::Recraft.EndPointAuthorizationRequirement[] + { new global::Recraft.EndPointAuthorizationRequirement + { + Type = "Http", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Recraft.EndPointSecurityRequirement[] s_OptimizeColorsSecurityRequirements = + new global::Recraft.EndPointSecurityRequirement[] + { s_OptimizeColorsSecurityRequirement0, + }; partial void PrepareOptimizeColorsArguments( global::System.Net.Http.HttpClient httpClient, ref global::Recraft.BillingType? billing, @@ -45,12 +64,18 @@ partial void ProcessOptimizeColorsResponseContent( billing: ref billing, request: request); + + var __authorizations = global::Recraft.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_OptimizeColorsSecurityRequirements, + operationName: "OptimizeColorsAsync"); + var __pathBuilder = new global::Recraft.PathBuilder( path: "/v1/colors/optimize", baseUri: HttpClient.BaseAddress); __pathBuilder .AddOptionalParameter("billing", billing?.ToValueString()) - ; + ; var __path = __pathBuilder.ToString(); using var __httpRequest = new global::System.Net.Http.HttpRequestMessage( method: global::System.Net.Http.HttpMethod.Post, @@ -60,7 +85,7 @@ partial void ProcessOptimizeColorsResponseContent( __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/Recraft/Generated/Recraft.ColorsClient.g.cs b/src/libs/Recraft/Generated/Recraft.ColorsClient.g.cs index 7220f71..8711fdf 100644 --- a/src/libs/Recraft/Generated/Recraft.ColorsClient.g.cs +++ b/src/libs/Recraft/Generated/Recraft.ColorsClient.g.cs @@ -12,7 +12,7 @@ public sealed partial class ColorsClient : global::Recraft.IColorsClient, global /// /// /// - public const string DefaultBaseUrl = "https://external.api.recraft.ai"; + public const string DefaultBaseUrl = "https://external.api.recraft.ai/"; private bool _disposeHttpClient = true; diff --git a/src/libs/Recraft/Generated/Recraft.IRecraftClient.Authorizations.Bearer.g.cs b/src/libs/Recraft/Generated/Recraft.IRecraftClient.Authorizations.Bearer.g.cs index ad0326b..7d7a0a9 100644 --- a/src/libs/Recraft/Generated/Recraft.IRecraftClient.Authorizations.Bearer.g.cs +++ b/src/libs/Recraft/Generated/Recraft.IRecraftClient.Authorizations.Bearer.g.cs @@ -9,6 +9,7 @@ public partial interface IRecraftClient /// Authorize using bearer authentication. /// /// + public void AuthorizeUsingBearer( string apiKey); } diff --git a/src/libs/Recraft/Generated/Recraft.ImageClient.CreativeUpscale.g.cs b/src/libs/Recraft/Generated/Recraft.ImageClient.CreativeUpscale.g.cs index 788000a..4a1dd59 100644 --- a/src/libs/Recraft/Generated/Recraft.ImageClient.CreativeUpscale.g.cs +++ b/src/libs/Recraft/Generated/Recraft.ImageClient.CreativeUpscale.g.cs @@ -5,6 +5,25 @@ namespace Recraft { public partial class ImageClient { + + + private static readonly global::Recraft.EndPointSecurityRequirement s_CreativeUpscaleSecurityRequirement0 = + new global::Recraft.EndPointSecurityRequirement + { + Authorizations = new global::Recraft.EndPointAuthorizationRequirement[] + { new global::Recraft.EndPointAuthorizationRequirement + { + Type = "Http", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Recraft.EndPointSecurityRequirement[] s_CreativeUpscaleSecurityRequirements = + new global::Recraft.EndPointSecurityRequirement[] + { s_CreativeUpscaleSecurityRequirement0, + }; partial void PrepareCreativeUpscaleArguments( global::System.Net.Http.HttpClient httpClient, ref global::Recraft.BillingType? billing, @@ -45,12 +64,18 @@ partial void ProcessCreativeUpscaleResponseContent( billing: ref billing, request: request); + + var __authorizations = global::Recraft.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_CreativeUpscaleSecurityRequirements, + operationName: "CreativeUpscaleAsync"); + var __pathBuilder = new global::Recraft.PathBuilder( path: "/v1/images/creativeUpscale", baseUri: HttpClient.BaseAddress); __pathBuilder .AddOptionalParameter("billing", billing?.ToValueString()) - ; + ; var __path = __pathBuilder.ToString(); using var __httpRequest = new global::System.Net.Http.HttpRequestMessage( method: global::System.Net.Http.HttpMethod.Post, @@ -60,7 +85,7 @@ partial void ProcessCreativeUpscaleResponseContent( __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/Recraft/Generated/Recraft.ImageClient.CrispUpscale.g.cs b/src/libs/Recraft/Generated/Recraft.ImageClient.CrispUpscale.g.cs index 37d75b9..7f8a0b4 100644 --- a/src/libs/Recraft/Generated/Recraft.ImageClient.CrispUpscale.g.cs +++ b/src/libs/Recraft/Generated/Recraft.ImageClient.CrispUpscale.g.cs @@ -5,6 +5,25 @@ namespace Recraft { public partial class ImageClient { + + + private static readonly global::Recraft.EndPointSecurityRequirement s_CrispUpscaleSecurityRequirement0 = + new global::Recraft.EndPointSecurityRequirement + { + Authorizations = new global::Recraft.EndPointAuthorizationRequirement[] + { new global::Recraft.EndPointAuthorizationRequirement + { + Type = "Http", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Recraft.EndPointSecurityRequirement[] s_CrispUpscaleSecurityRequirements = + new global::Recraft.EndPointSecurityRequirement[] + { s_CrispUpscaleSecurityRequirement0, + }; partial void PrepareCrispUpscaleArguments( global::System.Net.Http.HttpClient httpClient, ref global::Recraft.BillingType? billing, @@ -45,12 +64,18 @@ partial void ProcessCrispUpscaleResponseContent( billing: ref billing, request: request); + + var __authorizations = global::Recraft.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_CrispUpscaleSecurityRequirements, + operationName: "CrispUpscaleAsync"); + var __pathBuilder = new global::Recraft.PathBuilder( path: "/v1/images/crispUpscale", baseUri: HttpClient.BaseAddress); __pathBuilder .AddOptionalParameter("billing", billing?.ToValueString()) - ; + ; var __path = __pathBuilder.ToString(); using var __httpRequest = new global::System.Net.Http.HttpRequestMessage( method: global::System.Net.Http.HttpMethod.Post, @@ -60,7 +85,7 @@ partial void ProcessCrispUpscaleResponseContent( __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/Recraft/Generated/Recraft.ImageClient.EraseRegion.g.cs b/src/libs/Recraft/Generated/Recraft.ImageClient.EraseRegion.g.cs index 65cae65..27c17e9 100644 --- a/src/libs/Recraft/Generated/Recraft.ImageClient.EraseRegion.g.cs +++ b/src/libs/Recraft/Generated/Recraft.ImageClient.EraseRegion.g.cs @@ -5,6 +5,25 @@ namespace Recraft { public partial class ImageClient { + + + private static readonly global::Recraft.EndPointSecurityRequirement s_EraseRegionSecurityRequirement0 = + new global::Recraft.EndPointSecurityRequirement + { + Authorizations = new global::Recraft.EndPointAuthorizationRequirement[] + { new global::Recraft.EndPointAuthorizationRequirement + { + Type = "Http", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Recraft.EndPointSecurityRequirement[] s_EraseRegionSecurityRequirements = + new global::Recraft.EndPointSecurityRequirement[] + { s_EraseRegionSecurityRequirement0, + }; partial void PrepareEraseRegionArguments( global::System.Net.Http.HttpClient httpClient, ref global::Recraft.BillingType? billing, @@ -45,12 +64,18 @@ partial void ProcessEraseRegionResponseContent( billing: ref billing, request: request); + + var __authorizations = global::Recraft.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_EraseRegionSecurityRequirements, + operationName: "EraseRegionAsync"); + var __pathBuilder = new global::Recraft.PathBuilder( path: "/v1/images/eraseRegion", baseUri: HttpClient.BaseAddress); __pathBuilder .AddOptionalParameter("billing", billing?.ToValueString()) - ; + ; var __path = __pathBuilder.ToString(); using var __httpRequest = new global::System.Net.Http.HttpRequestMessage( method: global::System.Net.Http.HttpMethod.Post, @@ -60,7 +85,7 @@ partial void ProcessEraseRegionResponseContent( __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/Recraft/Generated/Recraft.ImageClient.Explore.g.cs b/src/libs/Recraft/Generated/Recraft.ImageClient.Explore.g.cs index 2809555..b447a22 100644 --- a/src/libs/Recraft/Generated/Recraft.ImageClient.Explore.g.cs +++ b/src/libs/Recraft/Generated/Recraft.ImageClient.Explore.g.cs @@ -5,6 +5,25 @@ namespace Recraft { public partial class ImageClient { + + + private static readonly global::Recraft.EndPointSecurityRequirement s_ExploreSecurityRequirement0 = + new global::Recraft.EndPointSecurityRequirement + { + Authorizations = new global::Recraft.EndPointAuthorizationRequirement[] + { new global::Recraft.EndPointAuthorizationRequirement + { + Type = "Http", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Recraft.EndPointSecurityRequirement[] s_ExploreSecurityRequirements = + new global::Recraft.EndPointSecurityRequirement[] + { s_ExploreSecurityRequirement0, + }; partial void PrepareExploreArguments( global::System.Net.Http.HttpClient httpClient, ref global::Recraft.BillingType? billing, @@ -45,12 +64,18 @@ partial void ProcessExploreResponseContent( billing: ref billing, request: request); + + var __authorizations = global::Recraft.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_ExploreSecurityRequirements, + operationName: "ExploreAsync"); + var __pathBuilder = new global::Recraft.PathBuilder( path: "/v1/images/explore", baseUri: HttpClient.BaseAddress); __pathBuilder .AddOptionalParameter("billing", billing?.ToValueString()) - ; + ; var __path = __pathBuilder.ToString(); using var __httpRequest = new global::System.Net.Http.HttpRequestMessage( method: global::System.Net.Http.HttpMethod.Post, @@ -60,7 +85,7 @@ partial void ProcessExploreResponseContent( __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/Recraft/Generated/Recraft.ImageClient.ExploreSimilar.g.cs b/src/libs/Recraft/Generated/Recraft.ImageClient.ExploreSimilar.g.cs index 224a15d..66791f3 100644 --- a/src/libs/Recraft/Generated/Recraft.ImageClient.ExploreSimilar.g.cs +++ b/src/libs/Recraft/Generated/Recraft.ImageClient.ExploreSimilar.g.cs @@ -5,6 +5,25 @@ namespace Recraft { public partial class ImageClient { + + + private static readonly global::Recraft.EndPointSecurityRequirement s_ExploreSimilarSecurityRequirement0 = + new global::Recraft.EndPointSecurityRequirement + { + Authorizations = new global::Recraft.EndPointAuthorizationRequirement[] + { new global::Recraft.EndPointAuthorizationRequirement + { + Type = "Http", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Recraft.EndPointSecurityRequirement[] s_ExploreSimilarSecurityRequirements = + new global::Recraft.EndPointSecurityRequirement[] + { s_ExploreSimilarSecurityRequirement0, + }; partial void PrepareExploreSimilarArguments( global::System.Net.Http.HttpClient httpClient, ref global::Recraft.BillingType? billing, @@ -45,12 +64,18 @@ partial void ProcessExploreSimilarResponseContent( billing: ref billing, request: request); + + var __authorizations = global::Recraft.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_ExploreSimilarSecurityRequirements, + operationName: "ExploreSimilarAsync"); + var __pathBuilder = new global::Recraft.PathBuilder( path: "/v1/images/explore/similar", baseUri: HttpClient.BaseAddress); __pathBuilder .AddOptionalParameter("billing", billing?.ToValueString()) - ; + ; var __path = __pathBuilder.ToString(); using var __httpRequest = new global::System.Net.Http.HttpRequestMessage( method: global::System.Net.Http.HttpMethod.Post, @@ -60,7 +85,7 @@ partial void ProcessExploreSimilarResponseContent( __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/Recraft/Generated/Recraft.ImageClient.GenerateBackground.g.cs b/src/libs/Recraft/Generated/Recraft.ImageClient.GenerateBackground.g.cs index 309bca5..d097a5b 100644 --- a/src/libs/Recraft/Generated/Recraft.ImageClient.GenerateBackground.g.cs +++ b/src/libs/Recraft/Generated/Recraft.ImageClient.GenerateBackground.g.cs @@ -5,6 +5,25 @@ namespace Recraft { public partial class ImageClient { + + + private static readonly global::Recraft.EndPointSecurityRequirement s_GenerateBackgroundSecurityRequirement0 = + new global::Recraft.EndPointSecurityRequirement + { + Authorizations = new global::Recraft.EndPointAuthorizationRequirement[] + { new global::Recraft.EndPointAuthorizationRequirement + { + Type = "Http", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Recraft.EndPointSecurityRequirement[] s_GenerateBackgroundSecurityRequirements = + new global::Recraft.EndPointSecurityRequirement[] + { s_GenerateBackgroundSecurityRequirement0, + }; partial void PrepareGenerateBackgroundArguments( global::System.Net.Http.HttpClient httpClient, ref global::Recraft.BillingType? billing, @@ -43,12 +62,18 @@ partial void ProcessGenerateBackgroundResponseContent( billing: ref billing, request: request); + + var __authorizations = global::Recraft.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_GenerateBackgroundSecurityRequirements, + operationName: "GenerateBackgroundAsync"); + var __pathBuilder = new global::Recraft.PathBuilder( path: "/v1/images/generateBackground", baseUri: HttpClient.BaseAddress); __pathBuilder .AddOptionalParameter("billing", billing?.ToValueString()) - ; + ; var __path = __pathBuilder.ToString(); using var __httpRequest = new global::System.Net.Http.HttpRequestMessage( method: global::System.Net.Http.HttpMethod.Post, @@ -58,7 +83,7 @@ partial void ProcessGenerateBackgroundResponseContent( __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/Recraft/Generated/Recraft.ImageClient.GenerateImage.g.cs b/src/libs/Recraft/Generated/Recraft.ImageClient.GenerateImage.g.cs index bf7f3f6..d1bbc20 100644 --- a/src/libs/Recraft/Generated/Recraft.ImageClient.GenerateImage.g.cs +++ b/src/libs/Recraft/Generated/Recraft.ImageClient.GenerateImage.g.cs @@ -5,6 +5,25 @@ namespace Recraft { public partial class ImageClient { + + + private static readonly global::Recraft.EndPointSecurityRequirement s_GenerateImageSecurityRequirement0 = + new global::Recraft.EndPointSecurityRequirement + { + Authorizations = new global::Recraft.EndPointAuthorizationRequirement[] + { new global::Recraft.EndPointAuthorizationRequirement + { + Type = "Http", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Recraft.EndPointSecurityRequirement[] s_GenerateImageSecurityRequirements = + new global::Recraft.EndPointSecurityRequirement[] + { s_GenerateImageSecurityRequirement0, + }; partial void PrepareGenerateImageArguments( global::System.Net.Http.HttpClient httpClient, ref global::Recraft.BillingType? billing, @@ -45,12 +64,18 @@ partial void ProcessGenerateImageResponseContent( billing: ref billing, request: request); + + var __authorizations = global::Recraft.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_GenerateImageSecurityRequirements, + operationName: "GenerateImageAsync"); + var __pathBuilder = new global::Recraft.PathBuilder( path: "/v1/images/generations", baseUri: HttpClient.BaseAddress); __pathBuilder .AddOptionalParameter("billing", billing?.ToValueString()) - ; + ; var __path = __pathBuilder.ToString(); using var __httpRequest = new global::System.Net.Http.HttpRequestMessage( method: global::System.Net.Http.HttpMethod.Post, @@ -60,7 +85,7 @@ partial void ProcessGenerateImageResponseContent( __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/Recraft/Generated/Recraft.ImageClient.GenerateImageRaster.g.cs b/src/libs/Recraft/Generated/Recraft.ImageClient.GenerateImageRaster.g.cs index 544bfb4..fe8876f 100644 --- a/src/libs/Recraft/Generated/Recraft.ImageClient.GenerateImageRaster.g.cs +++ b/src/libs/Recraft/Generated/Recraft.ImageClient.GenerateImageRaster.g.cs @@ -5,6 +5,25 @@ namespace Recraft { public partial class ImageClient { + + + private static readonly global::Recraft.EndPointSecurityRequirement s_GenerateImageRasterSecurityRequirement0 = + new global::Recraft.EndPointSecurityRequirement + { + Authorizations = new global::Recraft.EndPointAuthorizationRequirement[] + { new global::Recraft.EndPointAuthorizationRequirement + { + Type = "Http", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Recraft.EndPointSecurityRequirement[] s_GenerateImageRasterSecurityRequirements = + new global::Recraft.EndPointSecurityRequirement[] + { s_GenerateImageRasterSecurityRequirement0, + }; partial void PrepareGenerateImageRasterArguments( global::System.Net.Http.HttpClient httpClient, ref global::Recraft.BillingType? billing, @@ -45,12 +64,18 @@ partial void ProcessGenerateImageRasterResponseContent( billing: ref billing, request: request); + + var __authorizations = global::Recraft.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_GenerateImageRasterSecurityRequirements, + operationName: "GenerateImageRasterAsync"); + var __pathBuilder = new global::Recraft.PathBuilder( path: "/v1/images/generations/raster", baseUri: HttpClient.BaseAddress); __pathBuilder .AddOptionalParameter("billing", billing?.ToValueString()) - ; + ; var __path = __pathBuilder.ToString(); using var __httpRequest = new global::System.Net.Http.HttpRequestMessage( method: global::System.Net.Http.HttpMethod.Post, @@ -60,7 +85,7 @@ partial void ProcessGenerateImageRasterResponseContent( __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/Recraft/Generated/Recraft.ImageClient.GenerateImageVector.g.cs b/src/libs/Recraft/Generated/Recraft.ImageClient.GenerateImageVector.g.cs index 51101b8..010d847 100644 --- a/src/libs/Recraft/Generated/Recraft.ImageClient.GenerateImageVector.g.cs +++ b/src/libs/Recraft/Generated/Recraft.ImageClient.GenerateImageVector.g.cs @@ -5,6 +5,25 @@ namespace Recraft { public partial class ImageClient { + + + private static readonly global::Recraft.EndPointSecurityRequirement s_GenerateImageVectorSecurityRequirement0 = + new global::Recraft.EndPointSecurityRequirement + { + Authorizations = new global::Recraft.EndPointAuthorizationRequirement[] + { new global::Recraft.EndPointAuthorizationRequirement + { + Type = "Http", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Recraft.EndPointSecurityRequirement[] s_GenerateImageVectorSecurityRequirements = + new global::Recraft.EndPointSecurityRequirement[] + { s_GenerateImageVectorSecurityRequirement0, + }; partial void PrepareGenerateImageVectorArguments( global::System.Net.Http.HttpClient httpClient, ref global::Recraft.BillingType? billing, @@ -45,12 +64,18 @@ partial void ProcessGenerateImageVectorResponseContent( billing: ref billing, request: request); + + var __authorizations = global::Recraft.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_GenerateImageVectorSecurityRequirements, + operationName: "GenerateImageVectorAsync"); + var __pathBuilder = new global::Recraft.PathBuilder( path: "/v1/images/generations/vector", baseUri: HttpClient.BaseAddress); __pathBuilder .AddOptionalParameter("billing", billing?.ToValueString()) - ; + ; var __path = __pathBuilder.ToString(); using var __httpRequest = new global::System.Net.Http.HttpRequestMessage( method: global::System.Net.Http.HttpMethod.Post, @@ -60,7 +85,7 @@ partial void ProcessGenerateImageVectorResponseContent( __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/Recraft/Generated/Recraft.ImageClient.ImageToImage.g.cs b/src/libs/Recraft/Generated/Recraft.ImageClient.ImageToImage.g.cs index 2841dc3..1bcba07 100644 --- a/src/libs/Recraft/Generated/Recraft.ImageClient.ImageToImage.g.cs +++ b/src/libs/Recraft/Generated/Recraft.ImageClient.ImageToImage.g.cs @@ -5,6 +5,25 @@ namespace Recraft { public partial class ImageClient { + + + private static readonly global::Recraft.EndPointSecurityRequirement s_ImageToImageSecurityRequirement0 = + new global::Recraft.EndPointSecurityRequirement + { + Authorizations = new global::Recraft.EndPointAuthorizationRequirement[] + { new global::Recraft.EndPointAuthorizationRequirement + { + Type = "Http", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Recraft.EndPointSecurityRequirement[] s_ImageToImageSecurityRequirements = + new global::Recraft.EndPointSecurityRequirement[] + { s_ImageToImageSecurityRequirement0, + }; partial void PrepareImageToImageArguments( global::System.Net.Http.HttpClient httpClient, ref global::Recraft.BillingType? billing, @@ -45,12 +64,18 @@ partial void ProcessImageToImageResponseContent( billing: ref billing, request: request); + + var __authorizations = global::Recraft.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_ImageToImageSecurityRequirements, + operationName: "ImageToImageAsync"); + var __pathBuilder = new global::Recraft.PathBuilder( path: "/v1/images/imageToImage", baseUri: HttpClient.BaseAddress); __pathBuilder .AddOptionalParameter("billing", billing?.ToValueString()) - ; + ; var __path = __pathBuilder.ToString(); using var __httpRequest = new global::System.Net.Http.HttpRequestMessage( method: global::System.Net.Http.HttpMethod.Post, @@ -60,7 +85,7 @@ partial void ProcessImageToImageResponseContent( __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/Recraft/Generated/Recraft.ImageClient.InpaintImage.g.cs b/src/libs/Recraft/Generated/Recraft.ImageClient.InpaintImage.g.cs index a1c5c24..dac941b 100644 --- a/src/libs/Recraft/Generated/Recraft.ImageClient.InpaintImage.g.cs +++ b/src/libs/Recraft/Generated/Recraft.ImageClient.InpaintImage.g.cs @@ -5,6 +5,25 @@ namespace Recraft { public partial class ImageClient { + + + private static readonly global::Recraft.EndPointSecurityRequirement s_InpaintImageSecurityRequirement0 = + new global::Recraft.EndPointSecurityRequirement + { + Authorizations = new global::Recraft.EndPointAuthorizationRequirement[] + { new global::Recraft.EndPointAuthorizationRequirement + { + Type = "Http", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Recraft.EndPointSecurityRequirement[] s_InpaintImageSecurityRequirements = + new global::Recraft.EndPointSecurityRequirement[] + { s_InpaintImageSecurityRequirement0, + }; partial void PrepareInpaintImageArguments( global::System.Net.Http.HttpClient httpClient, ref global::Recraft.BillingType? billing, @@ -43,12 +62,18 @@ partial void ProcessInpaintImageResponseContent( billing: ref billing, request: request); + + var __authorizations = global::Recraft.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_InpaintImageSecurityRequirements, + operationName: "InpaintImageAsync"); + var __pathBuilder = new global::Recraft.PathBuilder( path: "/v1/images/inpaint", baseUri: HttpClient.BaseAddress); __pathBuilder .AddOptionalParameter("billing", billing?.ToValueString()) - ; + ; var __path = __pathBuilder.ToString(); using var __httpRequest = new global::System.Net.Http.HttpRequestMessage( method: global::System.Net.Http.HttpMethod.Post, @@ -58,7 +83,7 @@ partial void ProcessInpaintImageResponseContent( __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/Recraft/Generated/Recraft.ImageClient.RemoveBackground.g.cs b/src/libs/Recraft/Generated/Recraft.ImageClient.RemoveBackground.g.cs index 7ae3b87..5e2470f 100644 --- a/src/libs/Recraft/Generated/Recraft.ImageClient.RemoveBackground.g.cs +++ b/src/libs/Recraft/Generated/Recraft.ImageClient.RemoveBackground.g.cs @@ -5,6 +5,25 @@ namespace Recraft { public partial class ImageClient { + + + private static readonly global::Recraft.EndPointSecurityRequirement s_RemoveBackgroundSecurityRequirement0 = + new global::Recraft.EndPointSecurityRequirement + { + Authorizations = new global::Recraft.EndPointAuthorizationRequirement[] + { new global::Recraft.EndPointAuthorizationRequirement + { + Type = "Http", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Recraft.EndPointSecurityRequirement[] s_RemoveBackgroundSecurityRequirements = + new global::Recraft.EndPointSecurityRequirement[] + { s_RemoveBackgroundSecurityRequirement0, + }; partial void PrepareRemoveBackgroundArguments( global::System.Net.Http.HttpClient httpClient, ref global::Recraft.BillingType? billing, @@ -45,12 +64,18 @@ partial void ProcessRemoveBackgroundResponseContent( billing: ref billing, request: request); + + var __authorizations = global::Recraft.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_RemoveBackgroundSecurityRequirements, + operationName: "RemoveBackgroundAsync"); + var __pathBuilder = new global::Recraft.PathBuilder( path: "/v1/images/removeBackground", baseUri: HttpClient.BaseAddress); __pathBuilder .AddOptionalParameter("billing", billing?.ToValueString()) - ; + ; var __path = __pathBuilder.ToString(); using var __httpRequest = new global::System.Net.Http.HttpRequestMessage( method: global::System.Net.Http.HttpMethod.Post, @@ -60,7 +85,7 @@ partial void ProcessRemoveBackgroundResponseContent( __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/Recraft/Generated/Recraft.ImageClient.ReplaceBackground.g.cs b/src/libs/Recraft/Generated/Recraft.ImageClient.ReplaceBackground.g.cs index 8d53ef8..d16e6a6 100644 --- a/src/libs/Recraft/Generated/Recraft.ImageClient.ReplaceBackground.g.cs +++ b/src/libs/Recraft/Generated/Recraft.ImageClient.ReplaceBackground.g.cs @@ -5,6 +5,25 @@ namespace Recraft { public partial class ImageClient { + + + private static readonly global::Recraft.EndPointSecurityRequirement s_ReplaceBackgroundSecurityRequirement0 = + new global::Recraft.EndPointSecurityRequirement + { + Authorizations = new global::Recraft.EndPointAuthorizationRequirement[] + { new global::Recraft.EndPointAuthorizationRequirement + { + Type = "Http", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Recraft.EndPointSecurityRequirement[] s_ReplaceBackgroundSecurityRequirements = + new global::Recraft.EndPointSecurityRequirement[] + { s_ReplaceBackgroundSecurityRequirement0, + }; partial void PrepareReplaceBackgroundArguments( global::System.Net.Http.HttpClient httpClient, ref global::Recraft.BillingType? billing, @@ -45,12 +64,18 @@ partial void ProcessReplaceBackgroundResponseContent( billing: ref billing, request: request); + + var __authorizations = global::Recraft.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_ReplaceBackgroundSecurityRequirements, + operationName: "ReplaceBackgroundAsync"); + var __pathBuilder = new global::Recraft.PathBuilder( path: "/v1/images/replaceBackground", baseUri: HttpClient.BaseAddress); __pathBuilder .AddOptionalParameter("billing", billing?.ToValueString()) - ; + ; var __path = __pathBuilder.ToString(); using var __httpRequest = new global::System.Net.Http.HttpRequestMessage( method: global::System.Net.Http.HttpMethod.Post, @@ -60,7 +85,7 @@ partial void ProcessReplaceBackgroundResponseContent( __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/Recraft/Generated/Recraft.ImageClient.VariateImage.g.cs b/src/libs/Recraft/Generated/Recraft.ImageClient.VariateImage.g.cs index a3829ae..94860db 100644 --- a/src/libs/Recraft/Generated/Recraft.ImageClient.VariateImage.g.cs +++ b/src/libs/Recraft/Generated/Recraft.ImageClient.VariateImage.g.cs @@ -5,6 +5,25 @@ namespace Recraft { public partial class ImageClient { + + + private static readonly global::Recraft.EndPointSecurityRequirement s_VariateImageSecurityRequirement0 = + new global::Recraft.EndPointSecurityRequirement + { + Authorizations = new global::Recraft.EndPointAuthorizationRequirement[] + { new global::Recraft.EndPointAuthorizationRequirement + { + Type = "Http", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Recraft.EndPointSecurityRequirement[] s_VariateImageSecurityRequirements = + new global::Recraft.EndPointSecurityRequirement[] + { s_VariateImageSecurityRequirement0, + }; partial void PrepareVariateImageArguments( global::System.Net.Http.HttpClient httpClient, ref global::Recraft.BillingType? billing, @@ -45,12 +64,18 @@ partial void ProcessVariateImageResponseContent( billing: ref billing, request: request); + + var __authorizations = global::Recraft.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_VariateImageSecurityRequirements, + operationName: "VariateImageAsync"); + var __pathBuilder = new global::Recraft.PathBuilder( path: "/v1/images/variateImage", baseUri: HttpClient.BaseAddress); __pathBuilder .AddOptionalParameter("billing", billing?.ToValueString()) - ; + ; var __path = __pathBuilder.ToString(); using var __httpRequest = new global::System.Net.Http.HttpRequestMessage( method: global::System.Net.Http.HttpMethod.Post, @@ -60,7 +85,7 @@ partial void ProcessVariateImageResponseContent( __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/Recraft/Generated/Recraft.ImageClient.VectorizeImage.g.cs b/src/libs/Recraft/Generated/Recraft.ImageClient.VectorizeImage.g.cs index 29868b9..1a46e92 100644 --- a/src/libs/Recraft/Generated/Recraft.ImageClient.VectorizeImage.g.cs +++ b/src/libs/Recraft/Generated/Recraft.ImageClient.VectorizeImage.g.cs @@ -5,6 +5,25 @@ namespace Recraft { public partial class ImageClient { + + + private static readonly global::Recraft.EndPointSecurityRequirement s_VectorizeImageSecurityRequirement0 = + new global::Recraft.EndPointSecurityRequirement + { + Authorizations = new global::Recraft.EndPointAuthorizationRequirement[] + { new global::Recraft.EndPointAuthorizationRequirement + { + Type = "Http", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Recraft.EndPointSecurityRequirement[] s_VectorizeImageSecurityRequirements = + new global::Recraft.EndPointSecurityRequirement[] + { s_VectorizeImageSecurityRequirement0, + }; partial void PrepareVectorizeImageArguments( global::System.Net.Http.HttpClient httpClient, ref global::Recraft.BillingType? billing, @@ -43,12 +62,18 @@ partial void ProcessVectorizeImageResponseContent( billing: ref billing, request: request); + + var __authorizations = global::Recraft.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_VectorizeImageSecurityRequirements, + operationName: "VectorizeImageAsync"); + var __pathBuilder = new global::Recraft.PathBuilder( path: "/v1/images/vectorize", baseUri: HttpClient.BaseAddress); __pathBuilder .AddOptionalParameter("billing", billing?.ToValueString()) - ; + ; var __path = __pathBuilder.ToString(); using var __httpRequest = new global::System.Net.Http.HttpRequestMessage( method: global::System.Net.Http.HttpMethod.Post, @@ -58,7 +83,7 @@ partial void ProcessVectorizeImageResponseContent( __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/Recraft/Generated/Recraft.ImageClient.g.cs b/src/libs/Recraft/Generated/Recraft.ImageClient.g.cs index 72ac548..be91996 100644 --- a/src/libs/Recraft/Generated/Recraft.ImageClient.g.cs +++ b/src/libs/Recraft/Generated/Recraft.ImageClient.g.cs @@ -12,7 +12,7 @@ public sealed partial class ImageClient : global::Recraft.IImageClient, global:: /// /// /// - public const string DefaultBaseUrl = "https://external.api.recraft.ai"; + public const string DefaultBaseUrl = "https://external.api.recraft.ai/"; private bool _disposeHttpClient = true; diff --git a/src/libs/Recraft/Generated/Recraft.PathBuilder.g.cs b/src/libs/Recraft/Generated/Recraft.PathBuilder.g.cs index 1d55dc2..0a591c1 100644 --- a/src/libs/Recraft/Generated/Recraft.PathBuilder.g.cs +++ b/src/libs/Recraft/Generated/Recraft.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/Recraft/Generated/Recraft.RecraftClient.Authorizations.Bearer.g.cs b/src/libs/Recraft/Generated/Recraft.RecraftClient.Authorizations.Bearer.g.cs index 65455b1..b39e5df 100644 --- a/src/libs/Recraft/Generated/Recraft.RecraftClient.Authorizations.Bearer.g.cs +++ b/src/libs/Recraft/Generated/Recraft.RecraftClient.Authorizations.Bearer.g.cs @@ -5,13 +5,23 @@ namespace Recraft { public sealed partial class RecraftClient { + /// 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::Recraft.EndPointAuthorization { Type = "Http", diff --git a/src/libs/Recraft/Generated/Recraft.RecraftClient.Constructors.Bearer.g.cs b/src/libs/Recraft/Generated/Recraft.RecraftClient.Constructors.Bearer.g.cs index dd292c9..edbed77 100644 --- a/src/libs/Recraft/Generated/Recraft.RecraftClient.Constructors.Bearer.g.cs +++ b/src/libs/Recraft/Generated/Recraft.RecraftClient.Constructors.Bearer.g.cs @@ -6,6 +6,7 @@ namespace Recraft public sealed partial class RecraftClient { /// + public RecraftClient( string apiKey, global::System.Net.Http.HttpClient? httpClient = null, diff --git a/src/libs/Recraft/Generated/Recraft.RecraftClient.GetPing.g.cs b/src/libs/Recraft/Generated/Recraft.RecraftClient.GetPing.g.cs index bb13b3d..7f47335 100644 --- a/src/libs/Recraft/Generated/Recraft.RecraftClient.GetPing.g.cs +++ b/src/libs/Recraft/Generated/Recraft.RecraftClient.GetPing.g.cs @@ -5,6 +5,25 @@ namespace Recraft { public partial class RecraftClient { + + + private static readonly global::Recraft.EndPointSecurityRequirement s_GetPingSecurityRequirement0 = + new global::Recraft.EndPointSecurityRequirement + { + Authorizations = new global::Recraft.EndPointAuthorizationRequirement[] + { new global::Recraft.EndPointAuthorizationRequirement + { + Type = "Http", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Recraft.EndPointSecurityRequirement[] s_GetPingSecurityRequirements = + new global::Recraft.EndPointSecurityRequirement[] + { s_GetPingSecurityRequirement0, + }; partial void PrepareGetPingArguments( global::System.Net.Http.HttpClient httpClient); partial void PrepareGetPingRequest( @@ -27,9 +46,15 @@ partial void ProcessGetPingResponse( PrepareGetPingArguments( httpClient: HttpClient); + + var __authorizations = global::Recraft.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_GetPingSecurityRequirements, + operationName: "GetPingAsync"); + var __pathBuilder = new global::Recraft.PathBuilder( path: "/ping", - 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, @@ -39,7 +64,7 @@ partial void ProcessGetPingResponse( __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/Recraft/Generated/Recraft.RecraftClient.GetSystemStatus.g.cs b/src/libs/Recraft/Generated/Recraft.RecraftClient.GetSystemStatus.g.cs index e45f846..229770f 100644 --- a/src/libs/Recraft/Generated/Recraft.RecraftClient.GetSystemStatus.g.cs +++ b/src/libs/Recraft/Generated/Recraft.RecraftClient.GetSystemStatus.g.cs @@ -5,6 +5,25 @@ namespace Recraft { public partial class RecraftClient { + + + private static readonly global::Recraft.EndPointSecurityRequirement s_GetSystemStatusSecurityRequirement0 = + new global::Recraft.EndPointSecurityRequirement + { + Authorizations = new global::Recraft.EndPointAuthorizationRequirement[] + { new global::Recraft.EndPointAuthorizationRequirement + { + Type = "Http", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Recraft.EndPointSecurityRequirement[] s_GetSystemStatusSecurityRequirements = + new global::Recraft.EndPointSecurityRequirement[] + { s_GetSystemStatusSecurityRequirement0, + }; partial void PrepareGetSystemStatusArguments( global::System.Net.Http.HttpClient httpClient); partial void PrepareGetSystemStatusRequest( @@ -32,9 +51,15 @@ partial void ProcessGetSystemStatusResponseContent( PrepareGetSystemStatusArguments( httpClient: HttpClient); + + var __authorizations = global::Recraft.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_GetSystemStatusSecurityRequirements, + operationName: "GetSystemStatusAsync"); + var __pathBuilder = new global::Recraft.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, @@ -44,7 +69,7 @@ partial void ProcessGetSystemStatusResponseContent( __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/Recraft/Generated/Recraft.RecraftClient.g.cs b/src/libs/Recraft/Generated/Recraft.RecraftClient.g.cs index b1b4b0e..0890210 100644 --- a/src/libs/Recraft/Generated/Recraft.RecraftClient.g.cs +++ b/src/libs/Recraft/Generated/Recraft.RecraftClient.g.cs @@ -12,7 +12,7 @@ public sealed partial class RecraftClient : global::Recraft.IRecraftClient, glob /// /// /// - public const string DefaultBaseUrl = "https://external.api.recraft.ai"; + public const string DefaultBaseUrl = "https://external.api.recraft.ai/"; private bool _disposeHttpClient = true; diff --git a/src/libs/Recraft/Generated/Recraft.Security.g.cs b/src/libs/Recraft/Generated/Recraft.Security.g.cs new file mode 100644 index 0000000..aa8acf7 --- /dev/null +++ b/src/libs/Recraft/Generated/Recraft.Security.g.cs @@ -0,0 +1,145 @@ +#nullable enable + +namespace Recraft +{ + 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 diff --git a/src/libs/Recraft/Generated/Recraft.StyleClient.CreateStyle.g.cs b/src/libs/Recraft/Generated/Recraft.StyleClient.CreateStyle.g.cs index f6daad4..7124834 100644 --- a/src/libs/Recraft/Generated/Recraft.StyleClient.CreateStyle.g.cs +++ b/src/libs/Recraft/Generated/Recraft.StyleClient.CreateStyle.g.cs @@ -5,6 +5,25 @@ namespace Recraft { public partial class StyleClient { + + + private static readonly global::Recraft.EndPointSecurityRequirement s_CreateStyleSecurityRequirement0 = + new global::Recraft.EndPointSecurityRequirement + { + Authorizations = new global::Recraft.EndPointAuthorizationRequirement[] + { new global::Recraft.EndPointAuthorizationRequirement + { + Type = "Http", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Recraft.EndPointSecurityRequirement[] s_CreateStyleSecurityRequirements = + new global::Recraft.EndPointSecurityRequirement[] + { s_CreateStyleSecurityRequirement0, + }; partial void PrepareCreateStyleArguments( global::System.Net.Http.HttpClient httpClient, ref global::Recraft.BillingType? billing, @@ -45,12 +64,18 @@ partial void ProcessCreateStyleResponseContent( billing: ref billing, request: request); + + var __authorizations = global::Recraft.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_CreateStyleSecurityRequirements, + operationName: "CreateStyleAsync"); + var __pathBuilder = new global::Recraft.PathBuilder( path: "/v1/styles", baseUri: HttpClient.BaseAddress); __pathBuilder .AddOptionalParameter("billing", billing?.ToValueString()) - ; + ; var __path = __pathBuilder.ToString(); using var __httpRequest = new global::System.Net.Http.HttpRequestMessage( method: global::System.Net.Http.HttpMethod.Post, @@ -60,7 +85,7 @@ partial void ProcessCreateStyleResponseContent( __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/Recraft/Generated/Recraft.StyleClient.DeleteStyle.g.cs b/src/libs/Recraft/Generated/Recraft.StyleClient.DeleteStyle.g.cs index 6f81634..b6a1843 100644 --- a/src/libs/Recraft/Generated/Recraft.StyleClient.DeleteStyle.g.cs +++ b/src/libs/Recraft/Generated/Recraft.StyleClient.DeleteStyle.g.cs @@ -5,6 +5,25 @@ namespace Recraft { public partial class StyleClient { + + + private static readonly global::Recraft.EndPointSecurityRequirement s_DeleteStyleSecurityRequirement0 = + new global::Recraft.EndPointSecurityRequirement + { + Authorizations = new global::Recraft.EndPointAuthorizationRequirement[] + { new global::Recraft.EndPointAuthorizationRequirement + { + Type = "Http", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Recraft.EndPointSecurityRequirement[] s_DeleteStyleSecurityRequirements = + new global::Recraft.EndPointSecurityRequirement[] + { s_DeleteStyleSecurityRequirement0, + }; partial void PrepareDeleteStyleArguments( global::System.Net.Http.HttpClient httpClient, ref global::System.Guid styleId); @@ -37,9 +56,15 @@ partial void ProcessDeleteStyleResponseContent( httpClient: HttpClient, styleId: ref styleId); + + var __authorizations = global::Recraft.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_DeleteStyleSecurityRequirements, + operationName: "DeleteStyleAsync"); + var __pathBuilder = new global::Recraft.PathBuilder( path: $"/v1/styles/{styleId}", - 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, @@ -49,7 +74,7 @@ partial void ProcessDeleteStyleResponseContent( __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/Recraft/Generated/Recraft.StyleClient.GetStyle.g.cs b/src/libs/Recraft/Generated/Recraft.StyleClient.GetStyle.g.cs index 961a82d..5aae95a 100644 --- a/src/libs/Recraft/Generated/Recraft.StyleClient.GetStyle.g.cs +++ b/src/libs/Recraft/Generated/Recraft.StyleClient.GetStyle.g.cs @@ -5,6 +5,25 @@ namespace Recraft { public partial class StyleClient { + + + private static readonly global::Recraft.EndPointSecurityRequirement s_GetStyleSecurityRequirement0 = + new global::Recraft.EndPointSecurityRequirement + { + Authorizations = new global::Recraft.EndPointAuthorizationRequirement[] + { new global::Recraft.EndPointAuthorizationRequirement + { + Type = "Http", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Recraft.EndPointSecurityRequirement[] s_GetStyleSecurityRequirements = + new global::Recraft.EndPointSecurityRequirement[] + { s_GetStyleSecurityRequirement0, + }; partial void PrepareGetStyleArguments( global::System.Net.Http.HttpClient httpClient, ref global::System.Guid styleId); @@ -37,9 +56,15 @@ partial void ProcessGetStyleResponseContent( httpClient: HttpClient, styleId: ref styleId); + + var __authorizations = global::Recraft.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_GetStyleSecurityRequirements, + operationName: "GetStyleAsync"); + var __pathBuilder = new global::Recraft.PathBuilder( path: $"/v1/styles/{styleId}", - 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, @@ -49,7 +74,7 @@ partial void ProcessGetStyleResponseContent( __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/Recraft/Generated/Recraft.StyleClient.ListBasicStyles.g.cs b/src/libs/Recraft/Generated/Recraft.StyleClient.ListBasicStyles.g.cs index f9ff792..fce6908 100644 --- a/src/libs/Recraft/Generated/Recraft.StyleClient.ListBasicStyles.g.cs +++ b/src/libs/Recraft/Generated/Recraft.StyleClient.ListBasicStyles.g.cs @@ -5,6 +5,25 @@ namespace Recraft { public partial class StyleClient { + + + private static readonly global::Recraft.EndPointSecurityRequirement s_ListBasicStylesSecurityRequirement0 = + new global::Recraft.EndPointSecurityRequirement + { + Authorizations = new global::Recraft.EndPointAuthorizationRequirement[] + { new global::Recraft.EndPointAuthorizationRequirement + { + Type = "Http", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Recraft.EndPointSecurityRequirement[] s_ListBasicStylesSecurityRequirements = + new global::Recraft.EndPointSecurityRequirement[] + { s_ListBasicStylesSecurityRequirement0, + }; partial void PrepareListBasicStylesArguments( global::System.Net.Http.HttpClient httpClient); partial void PrepareListBasicStylesRequest( @@ -32,9 +51,15 @@ partial void ProcessListBasicStylesResponseContent( PrepareListBasicStylesArguments( httpClient: HttpClient); + + var __authorizations = global::Recraft.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_ListBasicStylesSecurityRequirements, + operationName: "ListBasicStylesAsync"); + var __pathBuilder = new global::Recraft.PathBuilder( path: "/v1/styles/basic", - 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, @@ -44,7 +69,7 @@ partial void ProcessListBasicStylesResponseContent( __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/Recraft/Generated/Recraft.StyleClient.ListStyles.g.cs b/src/libs/Recraft/Generated/Recraft.StyleClient.ListStyles.g.cs index d4533a7..b097d16 100644 --- a/src/libs/Recraft/Generated/Recraft.StyleClient.ListStyles.g.cs +++ b/src/libs/Recraft/Generated/Recraft.StyleClient.ListStyles.g.cs @@ -5,6 +5,25 @@ namespace Recraft { public partial class StyleClient { + + + private static readonly global::Recraft.EndPointSecurityRequirement s_ListStylesSecurityRequirement0 = + new global::Recraft.EndPointSecurityRequirement + { + Authorizations = new global::Recraft.EndPointAuthorizationRequirement[] + { new global::Recraft.EndPointAuthorizationRequirement + { + Type = "Http", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Recraft.EndPointSecurityRequirement[] s_ListStylesSecurityRequirements = + new global::Recraft.EndPointSecurityRequirement[] + { s_ListStylesSecurityRequirement0, + }; partial void PrepareListStylesArguments( global::System.Net.Http.HttpClient httpClient); partial void PrepareListStylesRequest( @@ -32,9 +51,15 @@ partial void ProcessListStylesResponseContent( PrepareListStylesArguments( httpClient: HttpClient); + + var __authorizations = global::Recraft.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_ListStylesSecurityRequirements, + operationName: "ListStylesAsync"); + var __pathBuilder = new global::Recraft.PathBuilder( path: "/v1/styles", - 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, @@ -44,7 +69,7 @@ partial void ProcessListStylesResponseContent( __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/Recraft/Generated/Recraft.StyleClient.g.cs b/src/libs/Recraft/Generated/Recraft.StyleClient.g.cs index 17fa91c..4b4bdfa 100644 --- a/src/libs/Recraft/Generated/Recraft.StyleClient.g.cs +++ b/src/libs/Recraft/Generated/Recraft.StyleClient.g.cs @@ -12,7 +12,7 @@ public sealed partial class StyleClient : global::Recraft.IStyleClient, global:: /// /// /// - public const string DefaultBaseUrl = "https://external.api.recraft.ai"; + public const string DefaultBaseUrl = "https://external.api.recraft.ai/"; private bool _disposeHttpClient = true; diff --git a/src/libs/Recraft/Generated/Recraft.UserClient.GetCurrentUser.g.cs b/src/libs/Recraft/Generated/Recraft.UserClient.GetCurrentUser.g.cs index 8c4eac3..a74b18c 100644 --- a/src/libs/Recraft/Generated/Recraft.UserClient.GetCurrentUser.g.cs +++ b/src/libs/Recraft/Generated/Recraft.UserClient.GetCurrentUser.g.cs @@ -5,6 +5,25 @@ namespace Recraft { public partial class UserClient { + + + private static readonly global::Recraft.EndPointSecurityRequirement s_GetCurrentUserSecurityRequirement0 = + new global::Recraft.EndPointSecurityRequirement + { + Authorizations = new global::Recraft.EndPointAuthorizationRequirement[] + { new global::Recraft.EndPointAuthorizationRequirement + { + Type = "Http", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Recraft.EndPointSecurityRequirement[] s_GetCurrentUserSecurityRequirements = + new global::Recraft.EndPointSecurityRequirement[] + { s_GetCurrentUserSecurityRequirement0, + }; partial void PrepareGetCurrentUserArguments( global::System.Net.Http.HttpClient httpClient, ref global::Recraft.BillingType? billing); @@ -37,12 +56,18 @@ partial void ProcessGetCurrentUserResponseContent( httpClient: HttpClient, billing: ref billing); + + var __authorizations = global::Recraft.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_GetCurrentUserSecurityRequirements, + operationName: "GetCurrentUserAsync"); + var __pathBuilder = new global::Recraft.PathBuilder( path: "/v1/users/me", baseUri: HttpClient.BaseAddress); __pathBuilder .AddOptionalParameter("billing", billing?.ToValueString()) - ; + ; var __path = __pathBuilder.ToString(); using var __httpRequest = new global::System.Net.Http.HttpRequestMessage( method: global::System.Net.Http.HttpMethod.Get, @@ -52,7 +77,7 @@ partial void ProcessGetCurrentUserResponseContent( __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/Recraft/Generated/Recraft.UserClient.g.cs b/src/libs/Recraft/Generated/Recraft.UserClient.g.cs index 0a61e5c..35ba42b 100644 --- a/src/libs/Recraft/Generated/Recraft.UserClient.g.cs +++ b/src/libs/Recraft/Generated/Recraft.UserClient.g.cs @@ -12,7 +12,7 @@ public sealed partial class UserClient : global::Recraft.IUserClient, global::Sy /// /// /// - public const string DefaultBaseUrl = "https://external.api.recraft.ai"; + public const string DefaultBaseUrl = "https://external.api.recraft.ai/"; private bool _disposeHttpClient = true;