diff --git a/src/libs/SoundCloud/Generated/SoundCloud.ILikesClient.Authorizations.OAuth.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.ILikesClient.Authorizations.OAuth.g.cs new file mode 100644 index 0000000..65770ee --- /dev/null +++ b/src/libs/SoundCloud/Generated/SoundCloud.ILikesClient.Authorizations.OAuth.g.cs @@ -0,0 +1,16 @@ + +#nullable enable + +namespace SoundCloud +{ + public partial interface ILikesClient + { + /// + /// Authorize using OAuth authentication. + /// + /// + + public void AuthorizeUsingOAuth( + string apiKey); + } +} \ No newline at end of file diff --git a/src/libs/SoundCloud/Generated/SoundCloud.IMeClient.Authorizations.OAuth.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.IMeClient.Authorizations.OAuth.g.cs new file mode 100644 index 0000000..41ea45b --- /dev/null +++ b/src/libs/SoundCloud/Generated/SoundCloud.IMeClient.Authorizations.OAuth.g.cs @@ -0,0 +1,16 @@ + +#nullable enable + +namespace SoundCloud +{ + public partial interface IMeClient + { + /// + /// Authorize using OAuth authentication. + /// + /// + + public void AuthorizeUsingOAuth( + string apiKey); + } +} \ No newline at end of file diff --git a/src/libs/SoundCloud/Generated/SoundCloud.IMiscellaneousClient.Authorizations.OAuth.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.IMiscellaneousClient.Authorizations.OAuth.g.cs new file mode 100644 index 0000000..fc2e056 --- /dev/null +++ b/src/libs/SoundCloud/Generated/SoundCloud.IMiscellaneousClient.Authorizations.OAuth.g.cs @@ -0,0 +1,16 @@ + +#nullable enable + +namespace SoundCloud +{ + public partial interface IMiscellaneousClient + { + /// + /// Authorize using OAuth authentication. + /// + /// + + public void AuthorizeUsingOAuth( + string apiKey); + } +} \ No newline at end of file diff --git a/src/libs/SoundCloud/Generated/SoundCloud.IPlaylistsClient.Authorizations.OAuth.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.IPlaylistsClient.Authorizations.OAuth.g.cs new file mode 100644 index 0000000..bb9eb51 --- /dev/null +++ b/src/libs/SoundCloud/Generated/SoundCloud.IPlaylistsClient.Authorizations.OAuth.g.cs @@ -0,0 +1,16 @@ + +#nullable enable + +namespace SoundCloud +{ + public partial interface IPlaylistsClient + { + /// + /// Authorize using OAuth authentication. + /// + /// + + public void AuthorizeUsingOAuth( + string apiKey); + } +} \ No newline at end of file diff --git a/src/libs/SoundCloud/Generated/SoundCloud.IRepostsClient.Authorizations.OAuth.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.IRepostsClient.Authorizations.OAuth.g.cs new file mode 100644 index 0000000..95f0de1 --- /dev/null +++ b/src/libs/SoundCloud/Generated/SoundCloud.IRepostsClient.Authorizations.OAuth.g.cs @@ -0,0 +1,16 @@ + +#nullable enable + +namespace SoundCloud +{ + public partial interface IRepostsClient + { + /// + /// Authorize using OAuth authentication. + /// + /// + + public void AuthorizeUsingOAuth( + string apiKey); + } +} \ No newline at end of file diff --git a/src/libs/SoundCloud/Generated/SoundCloud.ISearchClient.Authorizations.OAuth.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.ISearchClient.Authorizations.OAuth.g.cs new file mode 100644 index 0000000..6711e14 --- /dev/null +++ b/src/libs/SoundCloud/Generated/SoundCloud.ISearchClient.Authorizations.OAuth.g.cs @@ -0,0 +1,16 @@ + +#nullable enable + +namespace SoundCloud +{ + public partial interface ISearchClient + { + /// + /// Authorize using OAuth authentication. + /// + /// + + public void AuthorizeUsingOAuth( + string apiKey); + } +} \ No newline at end of file diff --git a/src/libs/SoundCloud/Generated/SoundCloud.ITracksClient.Authorizations.OAuth.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.ITracksClient.Authorizations.OAuth.g.cs new file mode 100644 index 0000000..e083339 --- /dev/null +++ b/src/libs/SoundCloud/Generated/SoundCloud.ITracksClient.Authorizations.OAuth.g.cs @@ -0,0 +1,16 @@ + +#nullable enable + +namespace SoundCloud +{ + public partial interface ITracksClient + { + /// + /// Authorize using OAuth authentication. + /// + /// + + public void AuthorizeUsingOAuth( + string apiKey); + } +} \ No newline at end of file diff --git a/src/libs/SoundCloud/Generated/SoundCloud.IUsersClient.Authorizations.OAuth.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.IUsersClient.Authorizations.OAuth.g.cs new file mode 100644 index 0000000..414551d --- /dev/null +++ b/src/libs/SoundCloud/Generated/SoundCloud.IUsersClient.Authorizations.OAuth.g.cs @@ -0,0 +1,16 @@ + +#nullable enable + +namespace SoundCloud +{ + public partial interface IUsersClient + { + /// + /// Authorize using OAuth authentication. + /// + /// + + public void AuthorizeUsingOAuth( + string apiKey); + } +} \ No newline at end of file diff --git a/src/libs/SoundCloud/Generated/SoundCloud.Likes.JsonSerializerContext.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.Likes.JsonSerializerContext.g.cs new file mode 100644 index 0000000..a46c8a4 --- /dev/null +++ b/src/libs/SoundCloud/Generated/SoundCloud.Likes.JsonSerializerContext.g.cs @@ -0,0 +1,137 @@ + +#nullable enable + +#pragma warning disable CS0618 // Type or member is obsolete +#pragma warning disable CS3016 // Arrays as attribute arguments is not CLS-compliant + +namespace SoundCloud +{ + /// + /// + /// + [global::System.Text.Json.Serialization.JsonSourceGenerationOptions( + DefaultIgnoreCondition = global::System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull, + Converters = new global::System.Type[] + { + })] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.Dictionary))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.Dictionary))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), TypeInfoPropertyName = "SystemCollectionsGeneric_ObjectList")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Text.Json.JsonElement?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(string))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.Error), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(int))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.ErrorError), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.TooManyRequests), TypeInfoPropertyName = "TooManyRequests2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.TooManyRequestsVariant2), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(int?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.TooManyRequests?), TypeInfoPropertyName = "NullableTooManyRequests2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + internal sealed partial class LikesSourceGenerationContextChunk0 : global::System.Text.Json.Serialization.JsonSerializerContext + { + } + /// + /// + /// + public sealed partial class LikesSourceGenerationContext : global::System.Text.Json.Serialization.JsonSerializerContext + { + private static readonly global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver Resolver = new LazyChunkResolver(); + + + private static readonly global::System.Text.Json.JsonSerializerOptions DefaultOptions = CreateDefaultOptions(); + + /// + /// + /// + public static LikesSourceGenerationContext Default { get; } = new(DefaultOptions); + + private LikesSourceGenerationContext(global::System.Text.Json.JsonSerializerOptions options) + : base(options) + { + } + + /// + protected override global::System.Text.Json.JsonSerializerOptions? GeneratedSerializerOptions => DefaultOptions; + + /// + public override global::System.Text.Json.Serialization.Metadata.JsonTypeInfo? GetTypeInfo(global::System.Type type) + { + return Resolver.GetTypeInfo(type, Options); + } + + /// + /// Adds this package's converters to . + /// + /// + /// A converter has to be on the options a chained resolver builds its JsonTypeInfo against, + /// and a context resolves types from every package below it. Each package contributes only + /// what it owns and calls down the chain for the rest, so the family's converter table is + /// written once rather than copied into all of them. + /// + [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] + public static void AddConverters(global::System.Text.Json.JsonSerializerOptions options) + { + options.Converters.Add(new global::SoundCloud.JsonConverters.TooManyRequestsJsonConverter()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::SoundCloud.JsonConverters.UnixTimestampJsonConverter()); + } + + private static global::System.Text.Json.JsonSerializerOptions CreateDefaultOptions() + { + var options = new global::System.Text.Json.JsonSerializerOptions + { + DefaultIgnoreCondition = global::System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull, + TypeInfoResolver = Resolver, + }; + AddConverters(options); + + return options; + } + + private sealed class LazyChunkResolver : global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver + { + private readonly object _gate = new(); + private readonly global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver?[] _resolvers = new global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver?[1]; + + public global::System.Text.Json.Serialization.Metadata.JsonTypeInfo? GetTypeInfo( + global::System.Type type, + global::System.Text.Json.JsonSerializerOptions options) + { + for (var index = 0; index < _resolvers.Length; index++) + { + var typeInfo = GetResolver(index).GetTypeInfo(type, options); + if (typeInfo is not null) + { + return typeInfo; + } + } + + return null; + } + + private global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver GetResolver(int index) + { + var resolver = global::System.Threading.Volatile.Read(ref _resolvers[index]); + if (resolver is not null) + { + return resolver; + } + + lock (_gate) + { + return _resolvers[index] ??= CreateResolver(index); + } + } + + private static global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver CreateResolver(int index) + { + return index switch + { + 0 => new LikesSourceGenerationContextChunk0(new global::System.Text.Json.JsonSerializerOptions()), + _ => throw new global::System.ArgumentOutOfRangeException(nameof(index)), + }; + } + } + } +} \ No newline at end of file diff --git a/src/libs/SoundCloud/Generated/SoundCloud.LikesClient.Authorizations.OAuth.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.LikesClient.Authorizations.OAuth.g.cs new file mode 100644 index 0000000..464819e --- /dev/null +++ b/src/libs/SoundCloud/Generated/SoundCloud.LikesClient.Authorizations.OAuth.g.cs @@ -0,0 +1,35 @@ + +#nullable enable + +namespace SoundCloud +{ + public sealed partial class LikesClient + { + + /// + public void AuthorizeUsingOAuth( + string apiKey) + { + apiKey = apiKey ?? throw new global::System.ArgumentNullException(nameof(apiKey)); + + for (var i = Authorizations.Count - 1; i >= 0; i--) + { + var __authorization = Authorizations[i]; + if (__authorization.Type == "Http" && + __authorization.Name == "OAuth") + { + Authorizations.RemoveAt(i); + } + } + + Authorizations.Add(new global::SoundCloud.EndPointAuthorization + { + Type = "Http", + SchemeId = "HttpOauth", + Location = "Header", + Name = "OAuth", + Value = apiKey, + }); + } + } +} \ No newline at end of file diff --git a/src/libs/SoundCloud/Generated/SoundCloud.LikesClient.Constructors.OAuth.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.LikesClient.Constructors.OAuth.g.cs new file mode 100644 index 0000000..2a34f9a --- /dev/null +++ b/src/libs/SoundCloud/Generated/SoundCloud.LikesClient.Constructors.OAuth.g.cs @@ -0,0 +1,31 @@ + +#nullable enable + +namespace SoundCloud +{ + public sealed partial class LikesClient + { + /// + + public LikesClient( + string apiKey, + global::System.Net.Http.HttpClient? httpClient = null, + global::System.Uri? baseUri = null, + global::System.Collections.Generic.List? authorizations = null, + bool disposeHttpClient = true) : this(httpClient, baseUri, authorizations, disposeHttpClient) + { + Authorizing(HttpClient, ref apiKey); + + AuthorizeUsingOAuth(apiKey); + + Authorized(HttpClient); + } + + partial void Authorizing( + global::System.Net.Http.HttpClient client, + ref string apiKey); + partial void Authorized( + global::System.Net.Http.HttpClient client); + + } +} \ No newline at end of file diff --git a/src/libs/SoundCloud/Generated/SoundCloud.LikesClient.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.LikesClient.g.cs index 2bb10d2..f397d7f 100644 --- a/src/libs/SoundCloud/Generated/SoundCloud.LikesClient.g.cs +++ b/src/libs/SoundCloud/Generated/SoundCloud.LikesClient.g.cs @@ -35,7 +35,7 @@ public sealed partial class LikesClient : global::SoundCloud.ILikesClient, globa /// public global::SoundCloud.AutoSDKClientOptions Options { get; } - internal global::System.Lazy JsonSerializerContextProvider { get; set; } = new(() => global::SoundCloud.SourceGenerationContext.Default); + internal global::System.Lazy JsonSerializerContextProvider { get; set; } = new(() => global::SoundCloud.LikesSourceGenerationContext.Default); /// /// diff --git a/src/libs/SoundCloud/Generated/SoundCloud.MeClient.Authorizations.OAuth.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.MeClient.Authorizations.OAuth.g.cs new file mode 100644 index 0000000..585646e --- /dev/null +++ b/src/libs/SoundCloud/Generated/SoundCloud.MeClient.Authorizations.OAuth.g.cs @@ -0,0 +1,35 @@ + +#nullable enable + +namespace SoundCloud +{ + public sealed partial class MeClient + { + + /// + public void AuthorizeUsingOAuth( + string apiKey) + { + apiKey = apiKey ?? throw new global::System.ArgumentNullException(nameof(apiKey)); + + for (var i = Authorizations.Count - 1; i >= 0; i--) + { + var __authorization = Authorizations[i]; + if (__authorization.Type == "Http" && + __authorization.Name == "OAuth") + { + Authorizations.RemoveAt(i); + } + } + + Authorizations.Add(new global::SoundCloud.EndPointAuthorization + { + Type = "Http", + SchemeId = "HttpOauth", + Location = "Header", + Name = "OAuth", + Value = apiKey, + }); + } + } +} \ No newline at end of file diff --git a/src/libs/SoundCloud/Generated/SoundCloud.MeClient.Constructors.OAuth.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.MeClient.Constructors.OAuth.g.cs new file mode 100644 index 0000000..6420361 --- /dev/null +++ b/src/libs/SoundCloud/Generated/SoundCloud.MeClient.Constructors.OAuth.g.cs @@ -0,0 +1,31 @@ + +#nullable enable + +namespace SoundCloud +{ + public sealed partial class MeClient + { + /// + + public MeClient( + string apiKey, + global::System.Net.Http.HttpClient? httpClient = null, + global::System.Uri? baseUri = null, + global::System.Collections.Generic.List? authorizations = null, + bool disposeHttpClient = true) : this(httpClient, baseUri, authorizations, disposeHttpClient) + { + Authorizing(HttpClient, ref apiKey); + + AuthorizeUsingOAuth(apiKey); + + Authorized(HttpClient); + } + + partial void Authorizing( + global::System.Net.Http.HttpClient client, + ref string apiKey); + partial void Authorized( + global::System.Net.Http.HttpClient client); + + } +} \ No newline at end of file diff --git a/src/libs/SoundCloud/Generated/SoundCloud.Miscellaneous.JsonSerializerContext.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.Miscellaneous.JsonSerializerContext.g.cs new file mode 100644 index 0000000..256650b --- /dev/null +++ b/src/libs/SoundCloud/Generated/SoundCloud.Miscellaneous.JsonSerializerContext.g.cs @@ -0,0 +1,134 @@ + +#nullable enable + +#pragma warning disable CS0618 // Type or member is obsolete +#pragma warning disable CS3016 // Arrays as attribute arguments is not CLS-compliant + +namespace SoundCloud +{ + /// + /// + /// + [global::System.Text.Json.Serialization.JsonSourceGenerationOptions( + DefaultIgnoreCondition = global::System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull, + Converters = new global::System.Type[] + { + })] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.Dictionary))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.Dictionary))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), TypeInfoPropertyName = "SystemCollectionsGeneric_ObjectList")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Text.Json.JsonElement?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(string))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.Found), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.Error), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(int))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.ErrorError), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(int?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + internal sealed partial class MiscellaneousSourceGenerationContextChunk0 : global::System.Text.Json.Serialization.JsonSerializerContext + { + } + /// + /// + /// + public sealed partial class MiscellaneousSourceGenerationContext : global::System.Text.Json.Serialization.JsonSerializerContext + { + private static readonly global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver Resolver = new LazyChunkResolver(); + + + private static readonly global::System.Text.Json.JsonSerializerOptions DefaultOptions = CreateDefaultOptions(); + + /// + /// + /// + public static MiscellaneousSourceGenerationContext Default { get; } = new(DefaultOptions); + + private MiscellaneousSourceGenerationContext(global::System.Text.Json.JsonSerializerOptions options) + : base(options) + { + } + + /// + protected override global::System.Text.Json.JsonSerializerOptions? GeneratedSerializerOptions => DefaultOptions; + + /// + public override global::System.Text.Json.Serialization.Metadata.JsonTypeInfo? GetTypeInfo(global::System.Type type) + { + return Resolver.GetTypeInfo(type, Options); + } + + /// + /// Adds this package's converters to . + /// + /// + /// A converter has to be on the options a chained resolver builds its JsonTypeInfo against, + /// and a context resolves types from every package below it. Each package contributes only + /// what it owns and calls down the chain for the rest, so the family's converter table is + /// written once rather than copied into all of them. + /// + [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] + public static void AddConverters(global::System.Text.Json.JsonSerializerOptions options) + { + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::SoundCloud.JsonConverters.UnixTimestampJsonConverter()); + } + + private static global::System.Text.Json.JsonSerializerOptions CreateDefaultOptions() + { + var options = new global::System.Text.Json.JsonSerializerOptions + { + DefaultIgnoreCondition = global::System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull, + TypeInfoResolver = Resolver, + }; + AddConverters(options); + + return options; + } + + private sealed class LazyChunkResolver : global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver + { + private readonly object _gate = new(); + private readonly global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver?[] _resolvers = new global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver?[1]; + + public global::System.Text.Json.Serialization.Metadata.JsonTypeInfo? GetTypeInfo( + global::System.Type type, + global::System.Text.Json.JsonSerializerOptions options) + { + for (var index = 0; index < _resolvers.Length; index++) + { + var typeInfo = GetResolver(index).GetTypeInfo(type, options); + if (typeInfo is not null) + { + return typeInfo; + } + } + + return null; + } + + private global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver GetResolver(int index) + { + var resolver = global::System.Threading.Volatile.Read(ref _resolvers[index]); + if (resolver is not null) + { + return resolver; + } + + lock (_gate) + { + return _resolvers[index] ??= CreateResolver(index); + } + } + + private static global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver CreateResolver(int index) + { + return index switch + { + 0 => new MiscellaneousSourceGenerationContextChunk0(new global::System.Text.Json.JsonSerializerOptions()), + _ => throw new global::System.ArgumentOutOfRangeException(nameof(index)), + }; + } + } + } +} \ No newline at end of file diff --git a/src/libs/SoundCloud/Generated/SoundCloud.MiscellaneousClient.Authorizations.OAuth.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.MiscellaneousClient.Authorizations.OAuth.g.cs new file mode 100644 index 0000000..037d0f1 --- /dev/null +++ b/src/libs/SoundCloud/Generated/SoundCloud.MiscellaneousClient.Authorizations.OAuth.g.cs @@ -0,0 +1,35 @@ + +#nullable enable + +namespace SoundCloud +{ + public sealed partial class MiscellaneousClient + { + + /// + public void AuthorizeUsingOAuth( + string apiKey) + { + apiKey = apiKey ?? throw new global::System.ArgumentNullException(nameof(apiKey)); + + for (var i = Authorizations.Count - 1; i >= 0; i--) + { + var __authorization = Authorizations[i]; + if (__authorization.Type == "Http" && + __authorization.Name == "OAuth") + { + Authorizations.RemoveAt(i); + } + } + + Authorizations.Add(new global::SoundCloud.EndPointAuthorization + { + Type = "Http", + SchemeId = "HttpOauth", + Location = "Header", + Name = "OAuth", + Value = apiKey, + }); + } + } +} \ No newline at end of file diff --git a/src/libs/SoundCloud/Generated/SoundCloud.MiscellaneousClient.Constructors.OAuth.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.MiscellaneousClient.Constructors.OAuth.g.cs new file mode 100644 index 0000000..adc6c2b --- /dev/null +++ b/src/libs/SoundCloud/Generated/SoundCloud.MiscellaneousClient.Constructors.OAuth.g.cs @@ -0,0 +1,31 @@ + +#nullable enable + +namespace SoundCloud +{ + public sealed partial class MiscellaneousClient + { + /// + + public MiscellaneousClient( + string apiKey, + global::System.Net.Http.HttpClient? httpClient = null, + global::System.Uri? baseUri = null, + global::System.Collections.Generic.List? authorizations = null, + bool disposeHttpClient = true) : this(httpClient, baseUri, authorizations, disposeHttpClient) + { + Authorizing(HttpClient, ref apiKey); + + AuthorizeUsingOAuth(apiKey); + + Authorized(HttpClient); + } + + partial void Authorizing( + global::System.Net.Http.HttpClient client, + ref string apiKey); + partial void Authorized( + global::System.Net.Http.HttpClient client); + + } +} \ No newline at end of file diff --git a/src/libs/SoundCloud/Generated/SoundCloud.MiscellaneousClient.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.MiscellaneousClient.g.cs index 6b08e41..fe58279 100644 --- a/src/libs/SoundCloud/Generated/SoundCloud.MiscellaneousClient.g.cs +++ b/src/libs/SoundCloud/Generated/SoundCloud.MiscellaneousClient.g.cs @@ -35,7 +35,7 @@ public sealed partial class MiscellaneousClient : global::SoundCloud.IMiscellane /// public global::SoundCloud.AutoSDKClientOptions Options { get; } - internal global::System.Lazy JsonSerializerContextProvider { get; set; } = new(() => global::SoundCloud.SourceGenerationContext.Default); + internal global::System.Lazy JsonSerializerContextProvider { get; set; } = new(() => global::SoundCloud.MiscellaneousSourceGenerationContext.Default); /// /// diff --git a/src/libs/SoundCloud/Generated/SoundCloud.Playlists.JsonSerializerContext.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.Playlists.JsonSerializerContext.g.cs new file mode 100644 index 0000000..07e7754 --- /dev/null +++ b/src/libs/SoundCloud/Generated/SoundCloud.Playlists.JsonSerializerContext.g.cs @@ -0,0 +1,317 @@ + +#nullable enable + +#pragma warning disable CS0618 // Type or member is obsolete +#pragma warning disable CS3016 // Arrays as attribute arguments is not CLS-compliant + +namespace SoundCloud +{ + /// + /// + /// + [global::System.Text.Json.Serialization.JsonSourceGenerationOptions( + DefaultIgnoreCondition = global::System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull, + Converters = new global::System.Type[] + { + })] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.Dictionary))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.Dictionary))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), TypeInfoPropertyName = "SystemCollectionsGeneric_ObjectList")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Text.Json.JsonElement?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(string))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(bool))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.CreateUpdatePlaylistRequest), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.CreateUpdatePlaylistRequestPlaylist), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.CreateUpdatePlaylistRequestPlaylistSharing), TypeInfoPropertyName = "CreateUpdatePlaylistRequestPlaylistSharing2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.CreateUpdatePlaylistRequestPlaylistTrack), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(byte[]))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.CreateUpdatePlaylistRequestPlaylistSetType), TypeInfoPropertyName = "CreateUpdatePlaylistRequestPlaylistSetType2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.CreateUpdatePlaylistFormRequest), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.CreateUpdatePlaylistFormRequestPlaylistSharing), TypeInfoPropertyName = "CreateUpdatePlaylistFormRequestPlaylistSharing2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.CreateUpdatePlaylistFormRequestPlaylistSetType), TypeInfoPropertyName = "CreateUpdatePlaylistFormRequestPlaylistSetType2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.Error), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(int))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.ErrorError), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.User), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.DateTime), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.UserSubscription), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.UserSubscriptionProduct), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.Users), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.Track), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(double))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(long), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.AllOf), TypeInfoPropertyName = "AllOfUserObject2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(object))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.TrackAccess), TypeInfoPropertyName = "TrackAccess2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.Tracks), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.Playlist), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.AllOf), TypeInfoPropertyName = "AllOfObjectUser2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.AllOf), TypeInfoPropertyName = "AllOfCreateUpdatePlaylistFormRequestObject2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.GetPlaylistsAcces2), TypeInfoPropertyName = "GetPlaylistsAcces22", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.GetPlaylistsTracksAcces), TypeInfoPropertyName = "GetPlaylistsTracksAcces2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.OneOf>), TypeInfoPropertyName = "OneOfTracksIListTrack2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(bool?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.CreateUpdatePlaylistRequestPlaylistSharing?), TypeInfoPropertyName = "NullableCreateUpdatePlaylistRequestPlaylistSharing2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.CreateUpdatePlaylistRequestPlaylistSetType?), TypeInfoPropertyName = "NullableCreateUpdatePlaylistRequestPlaylistSetType2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.CreateUpdatePlaylistFormRequestPlaylistSharing?), TypeInfoPropertyName = "NullableCreateUpdatePlaylistFormRequestPlaylistSharing2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.CreateUpdatePlaylistFormRequestPlaylistSetType?), TypeInfoPropertyName = "NullableCreateUpdatePlaylistFormRequestPlaylistSetType2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(int?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.DateTime?), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(double?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(long?), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.AllOf?), TypeInfoPropertyName = "NullableAllOfUserObject2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.TrackAccess?), TypeInfoPropertyName = "NullableTrackAccess2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.AllOf?), TypeInfoPropertyName = "NullableAllOfObjectUser2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.AllOf?), TypeInfoPropertyName = "NullableAllOfCreateUpdatePlaylistFormRequestObject2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.GetPlaylistsAcces2?), TypeInfoPropertyName = "NullableGetPlaylistsAcces22", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.GetPlaylistsTracksAcces?), TypeInfoPropertyName = "NullableGetPlaylistsTracksAcces2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.OneOf>?), TypeInfoPropertyName = "NullableOneOfTracksIListTrack2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.OneOf>), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + internal sealed partial class PlaylistsSourceGenerationContextChunk0 : global::System.Text.Json.Serialization.JsonSerializerContext + { + } + /// + /// + /// + public sealed partial class PlaylistsSourceGenerationContext : global::System.Text.Json.Serialization.JsonSerializerContext + { + private static readonly global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver Resolver = new LazyChunkResolver(); + + + private static readonly global::System.Text.Json.JsonSerializerOptions DefaultOptions = CreateDefaultOptions(); + + /// + /// + /// + public static PlaylistsSourceGenerationContext Default { get; } = new(DefaultOptions); + + private PlaylistsSourceGenerationContext(global::System.Text.Json.JsonSerializerOptions options) + : base(options) + { + } + + /// + protected override global::System.Text.Json.JsonSerializerOptions? GeneratedSerializerOptions => DefaultOptions; + + /// + public override global::System.Text.Json.Serialization.Metadata.JsonTypeInfo? GetTypeInfo(global::System.Type type) + { + return Resolver.GetTypeInfo(type, Options); + } + + /// + /// Adds this package's converters to . + /// + /// + /// A converter has to be on the options a chained resolver builds its JsonTypeInfo against, + /// and a context resolves types from every package below it. Each package contributes only + /// what it owns and calls down the chain for the rest, so the family's converter table is + /// written once rather than copied into all of them. + /// + [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] + public static void AddConverters(global::System.Text.Json.JsonSerializerOptions options) + { + options.Converters.Add(new global::SoundCloud.JsonConverters.AllOfJsonConverter()); + options.Converters.Add(new global::SoundCloud.JsonConverters.AllOfJsonConverter()); + options.Converters.Add(new global::SoundCloud.JsonConverters.AnyOfJsonConverter()); + options.Converters.Add(new global::SoundCloud.JsonConverters.AllOfJsonConverter()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.UnixTimestampJsonConverter()); + options.Converters.Add(new LazyEnumJsonConverterFactory()); + } + + private static global::System.Text.Json.JsonSerializerOptions CreateDefaultOptions() + { + var options = new global::System.Text.Json.JsonSerializerOptions + { + DefaultIgnoreCondition = global::System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull, + TypeInfoResolver = Resolver, + }; + AddConverters(options); + + return options; + } + + + private sealed class LazyEnumJsonConverterFactory : global::System.Text.Json.Serialization.JsonConverterFactory + { + public override bool CanConvert(global::System.Type typeToConvert) + { + return + typeToConvert == typeof(global::SoundCloud.CreateUpdatePlaylistRequestPlaylistSharing) + + || typeToConvert == typeof(global::SoundCloud.CreateUpdatePlaylistRequestPlaylistSharing?) + + || typeToConvert == typeof(global::SoundCloud.CreateUpdatePlaylistRequestPlaylistSetType) + + || typeToConvert == typeof(global::SoundCloud.CreateUpdatePlaylistRequestPlaylistSetType?) + + || typeToConvert == typeof(global::SoundCloud.CreateUpdatePlaylistFormRequestPlaylistSharing) + + || typeToConvert == typeof(global::SoundCloud.CreateUpdatePlaylistFormRequestPlaylistSharing?) + + || typeToConvert == typeof(global::SoundCloud.CreateUpdatePlaylistFormRequestPlaylistSetType) + + || typeToConvert == typeof(global::SoundCloud.CreateUpdatePlaylistFormRequestPlaylistSetType?) + + || typeToConvert == typeof(global::SoundCloud.TrackAccess) + + || typeToConvert == typeof(global::SoundCloud.TrackAccess?) + + || typeToConvert == typeof(global::SoundCloud.GetPlaylistsAcces2) + + || typeToConvert == typeof(global::SoundCloud.GetPlaylistsAcces2?) + + || typeToConvert == typeof(global::SoundCloud.GetPlaylistsTracksAcces) + + || typeToConvert == typeof(global::SoundCloud.GetPlaylistsTracksAcces?); + } + + public override global::System.Text.Json.Serialization.JsonConverter CreateConverter( + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + if (typeToConvert == typeof(global::SoundCloud.CreateUpdatePlaylistRequestPlaylistSharing)) + { + return new global::SoundCloud.JsonConverters.CreateUpdatePlaylistRequestPlaylistSharingJsonConverter(); + } + + if (typeToConvert == typeof(global::SoundCloud.CreateUpdatePlaylistRequestPlaylistSharing?)) + { + return new global::SoundCloud.JsonConverters.CreateUpdatePlaylistRequestPlaylistSharingNullableJsonConverter(); + } + + if (typeToConvert == typeof(global::SoundCloud.CreateUpdatePlaylistRequestPlaylistSetType)) + { + return new global::SoundCloud.JsonConverters.CreateUpdatePlaylistRequestPlaylistSetTypeJsonConverter(); + } + + if (typeToConvert == typeof(global::SoundCloud.CreateUpdatePlaylistRequestPlaylistSetType?)) + { + return new global::SoundCloud.JsonConverters.CreateUpdatePlaylistRequestPlaylistSetTypeNullableJsonConverter(); + } + + if (typeToConvert == typeof(global::SoundCloud.CreateUpdatePlaylistFormRequestPlaylistSharing)) + { + return new global::SoundCloud.JsonConverters.CreateUpdatePlaylistFormRequestPlaylistSharingJsonConverter(); + } + + if (typeToConvert == typeof(global::SoundCloud.CreateUpdatePlaylistFormRequestPlaylistSharing?)) + { + return new global::SoundCloud.JsonConverters.CreateUpdatePlaylistFormRequestPlaylistSharingNullableJsonConverter(); + } + + if (typeToConvert == typeof(global::SoundCloud.CreateUpdatePlaylistFormRequestPlaylistSetType)) + { + return new global::SoundCloud.JsonConverters.CreateUpdatePlaylistFormRequestPlaylistSetTypeJsonConverter(); + } + + if (typeToConvert == typeof(global::SoundCloud.CreateUpdatePlaylistFormRequestPlaylistSetType?)) + { + return new global::SoundCloud.JsonConverters.CreateUpdatePlaylistFormRequestPlaylistSetTypeNullableJsonConverter(); + } + + if (typeToConvert == typeof(global::SoundCloud.TrackAccess)) + { + return new global::SoundCloud.JsonConverters.TrackAccessJsonConverter(); + } + + if (typeToConvert == typeof(global::SoundCloud.TrackAccess?)) + { + return new global::SoundCloud.JsonConverters.TrackAccessNullableJsonConverter(); + } + + if (typeToConvert == typeof(global::SoundCloud.GetPlaylistsAcces2)) + { + return new global::SoundCloud.JsonConverters.GetPlaylistsAcces2JsonConverter(); + } + + if (typeToConvert == typeof(global::SoundCloud.GetPlaylistsAcces2?)) + { + return new global::SoundCloud.JsonConverters.GetPlaylistsAcces2NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::SoundCloud.GetPlaylistsTracksAcces)) + { + return new global::SoundCloud.JsonConverters.GetPlaylistsTracksAccesJsonConverter(); + } + + if (typeToConvert == typeof(global::SoundCloud.GetPlaylistsTracksAcces?)) + { + return new global::SoundCloud.JsonConverters.GetPlaylistsTracksAccesNullableJsonConverter(); + } + throw new global::System.NotSupportedException($"No generated enum converter is registered for '{typeToConvert}'."); + } + } + + private sealed class LazyChunkResolver : global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver + { + private readonly object _gate = new(); + private readonly global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver?[] _resolvers = new global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver?[1]; + + public global::System.Text.Json.Serialization.Metadata.JsonTypeInfo? GetTypeInfo( + global::System.Type type, + global::System.Text.Json.JsonSerializerOptions options) + { + for (var index = 0; index < _resolvers.Length; index++) + { + var typeInfo = GetResolver(index).GetTypeInfo(type, options); + if (typeInfo is not null) + { + return typeInfo; + } + } + + return null; + } + + private global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver GetResolver(int index) + { + var resolver = global::System.Threading.Volatile.Read(ref _resolvers[index]); + if (resolver is not null) + { + return resolver; + } + + lock (_gate) + { + return _resolvers[index] ??= CreateResolver(index); + } + } + + private static global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver CreateResolver(int index) + { + return index switch + { + 0 => new PlaylistsSourceGenerationContextChunk0(new global::System.Text.Json.JsonSerializerOptions()), + _ => throw new global::System.ArgumentOutOfRangeException(nameof(index)), + }; + } + } + } +} \ No newline at end of file diff --git a/src/libs/SoundCloud/Generated/SoundCloud.PlaylistsClient.Authorizations.OAuth.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.PlaylistsClient.Authorizations.OAuth.g.cs new file mode 100644 index 0000000..823f259 --- /dev/null +++ b/src/libs/SoundCloud/Generated/SoundCloud.PlaylistsClient.Authorizations.OAuth.g.cs @@ -0,0 +1,35 @@ + +#nullable enable + +namespace SoundCloud +{ + public sealed partial class PlaylistsClient + { + + /// + public void AuthorizeUsingOAuth( + string apiKey) + { + apiKey = apiKey ?? throw new global::System.ArgumentNullException(nameof(apiKey)); + + for (var i = Authorizations.Count - 1; i >= 0; i--) + { + var __authorization = Authorizations[i]; + if (__authorization.Type == "Http" && + __authorization.Name == "OAuth") + { + Authorizations.RemoveAt(i); + } + } + + Authorizations.Add(new global::SoundCloud.EndPointAuthorization + { + Type = "Http", + SchemeId = "HttpOauth", + Location = "Header", + Name = "OAuth", + Value = apiKey, + }); + } + } +} \ No newline at end of file diff --git a/src/libs/SoundCloud/Generated/SoundCloud.PlaylistsClient.Constructors.OAuth.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.PlaylistsClient.Constructors.OAuth.g.cs new file mode 100644 index 0000000..aa0cfbf --- /dev/null +++ b/src/libs/SoundCloud/Generated/SoundCloud.PlaylistsClient.Constructors.OAuth.g.cs @@ -0,0 +1,31 @@ + +#nullable enable + +namespace SoundCloud +{ + public sealed partial class PlaylistsClient + { + /// + + public PlaylistsClient( + string apiKey, + global::System.Net.Http.HttpClient? httpClient = null, + global::System.Uri? baseUri = null, + global::System.Collections.Generic.List? authorizations = null, + bool disposeHttpClient = true) : this(httpClient, baseUri, authorizations, disposeHttpClient) + { + Authorizing(HttpClient, ref apiKey); + + AuthorizeUsingOAuth(apiKey); + + Authorized(HttpClient); + } + + partial void Authorizing( + global::System.Net.Http.HttpClient client, + ref string apiKey); + partial void Authorized( + global::System.Net.Http.HttpClient client); + + } +} \ No newline at end of file diff --git a/src/libs/SoundCloud/Generated/SoundCloud.PlaylistsClient.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.PlaylistsClient.g.cs index ecff4f1..85bdf11 100644 --- a/src/libs/SoundCloud/Generated/SoundCloud.PlaylistsClient.g.cs +++ b/src/libs/SoundCloud/Generated/SoundCloud.PlaylistsClient.g.cs @@ -35,7 +35,7 @@ public sealed partial class PlaylistsClient : global::SoundCloud.IPlaylistsClien /// public global::SoundCloud.AutoSDKClientOptions Options { get; } - internal global::System.Lazy JsonSerializerContextProvider { get; set; } = new(() => global::SoundCloud.SourceGenerationContext.Default); + internal global::System.Lazy JsonSerializerContextProvider { get; set; } = new(() => global::SoundCloud.PlaylistsSourceGenerationContext.Default); /// /// diff --git a/src/libs/SoundCloud/Generated/SoundCloud.Reposts.JsonSerializerContext.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.Reposts.JsonSerializerContext.g.cs new file mode 100644 index 0000000..353c92a --- /dev/null +++ b/src/libs/SoundCloud/Generated/SoundCloud.Reposts.JsonSerializerContext.g.cs @@ -0,0 +1,254 @@ + +#nullable enable + +#pragma warning disable CS0618 // Type or member is obsolete +#pragma warning disable CS3016 // Arrays as attribute arguments is not CLS-compliant + +namespace SoundCloud +{ + /// + /// + /// + [global::System.Text.Json.Serialization.JsonSourceGenerationOptions( + DefaultIgnoreCondition = global::System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull, + Converters = new global::System.Type[] + { + })] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.Dictionary))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.Dictionary))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), TypeInfoPropertyName = "SystemCollectionsGeneric_ObjectList")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Text.Json.JsonElement?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(string))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(bool))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(byte[]))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.Error), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(int))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.ErrorError), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.User), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.DateTime), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.UserSubscription), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.UserSubscriptionProduct), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.Track), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(double))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(long), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.AllOf), TypeInfoPropertyName = "AllOfUserObject2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(object))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.TrackAccess), TypeInfoPropertyName = "TrackAccess2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.Tracks), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.Playlist), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.AllOf), TypeInfoPropertyName = "AllOfObjectUser2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.Playlists), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.GetMeRepostsTracksAcces), TypeInfoPropertyName = "GetMeRepostsTracksAcces2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.GetUsersRepostsTracksAcces), TypeInfoPropertyName = "GetUsersRepostsTracksAcces2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.OneOf>), TypeInfoPropertyName = "OneOfTracksIListTrack2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.OneOf>), TypeInfoPropertyName = "OneOfPlaylistsIListPlaylist2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(bool?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(int?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.DateTime?), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(double?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(long?), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.AllOf?), TypeInfoPropertyName = "NullableAllOfUserObject2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.TrackAccess?), TypeInfoPropertyName = "NullableTrackAccess2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.AllOf?), TypeInfoPropertyName = "NullableAllOfObjectUser2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.GetMeRepostsTracksAcces?), TypeInfoPropertyName = "NullableGetMeRepostsTracksAcces2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.GetUsersRepostsTracksAcces?), TypeInfoPropertyName = "NullableGetUsersRepostsTracksAcces2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.OneOf>?), TypeInfoPropertyName = "NullableOneOfTracksIListTrack2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.OneOf>?), TypeInfoPropertyName = "NullableOneOfPlaylistsIListPlaylist2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.OneOf>), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.OneOf>), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + internal sealed partial class RepostsSourceGenerationContextChunk0 : global::System.Text.Json.Serialization.JsonSerializerContext + { + } + /// + /// + /// + public sealed partial class RepostsSourceGenerationContext : global::System.Text.Json.Serialization.JsonSerializerContext + { + private static readonly global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver Resolver = new LazyChunkResolver(); + + + private static readonly global::System.Text.Json.JsonSerializerOptions DefaultOptions = CreateDefaultOptions(); + + /// + /// + /// + public static RepostsSourceGenerationContext Default { get; } = new(DefaultOptions); + + private RepostsSourceGenerationContext(global::System.Text.Json.JsonSerializerOptions options) + : base(options) + { + } + + /// + protected override global::System.Text.Json.JsonSerializerOptions? GeneratedSerializerOptions => DefaultOptions; + + /// + public override global::System.Text.Json.Serialization.Metadata.JsonTypeInfo? GetTypeInfo(global::System.Type type) + { + return Resolver.GetTypeInfo(type, Options); + } + + /// + /// Adds this package's converters to . + /// + /// + /// A converter has to be on the options a chained resolver builds its JsonTypeInfo against, + /// and a context resolves types from every package below it. Each package contributes only + /// what it owns and calls down the chain for the rest, so the family's converter table is + /// written once rather than copied into all of them. + /// + [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] + public static void AddConverters(global::System.Text.Json.JsonSerializerOptions options) + { + options.Converters.Add(new global::SoundCloud.JsonConverters.AllOfJsonConverter()); + options.Converters.Add(new global::SoundCloud.JsonConverters.AllOfJsonConverter()); + options.Converters.Add(new global::SoundCloud.JsonConverters.AnyOfJsonConverter()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.UnixTimestampJsonConverter()); + options.Converters.Add(new LazyEnumJsonConverterFactory()); + } + + private static global::System.Text.Json.JsonSerializerOptions CreateDefaultOptions() + { + var options = new global::System.Text.Json.JsonSerializerOptions + { + DefaultIgnoreCondition = global::System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull, + TypeInfoResolver = Resolver, + }; + AddConverters(options); + + return options; + } + + + private sealed class LazyEnumJsonConverterFactory : global::System.Text.Json.Serialization.JsonConverterFactory + { + public override bool CanConvert(global::System.Type typeToConvert) + { + return + typeToConvert == typeof(global::SoundCloud.TrackAccess) + + || typeToConvert == typeof(global::SoundCloud.TrackAccess?) + + || typeToConvert == typeof(global::SoundCloud.GetMeRepostsTracksAcces) + + || typeToConvert == typeof(global::SoundCloud.GetMeRepostsTracksAcces?) + + || typeToConvert == typeof(global::SoundCloud.GetUsersRepostsTracksAcces) + + || typeToConvert == typeof(global::SoundCloud.GetUsersRepostsTracksAcces?); + } + + public override global::System.Text.Json.Serialization.JsonConverter CreateConverter( + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + if (typeToConvert == typeof(global::SoundCloud.TrackAccess)) + { + return new global::SoundCloud.JsonConverters.TrackAccessJsonConverter(); + } + + if (typeToConvert == typeof(global::SoundCloud.TrackAccess?)) + { + return new global::SoundCloud.JsonConverters.TrackAccessNullableJsonConverter(); + } + + if (typeToConvert == typeof(global::SoundCloud.GetMeRepostsTracksAcces)) + { + return new global::SoundCloud.JsonConverters.GetMeRepostsTracksAccesJsonConverter(); + } + + if (typeToConvert == typeof(global::SoundCloud.GetMeRepostsTracksAcces?)) + { + return new global::SoundCloud.JsonConverters.GetMeRepostsTracksAccesNullableJsonConverter(); + } + + if (typeToConvert == typeof(global::SoundCloud.GetUsersRepostsTracksAcces)) + { + return new global::SoundCloud.JsonConverters.GetUsersRepostsTracksAccesJsonConverter(); + } + + if (typeToConvert == typeof(global::SoundCloud.GetUsersRepostsTracksAcces?)) + { + return new global::SoundCloud.JsonConverters.GetUsersRepostsTracksAccesNullableJsonConverter(); + } + throw new global::System.NotSupportedException($"No generated enum converter is registered for '{typeToConvert}'."); + } + } + + private sealed class LazyChunkResolver : global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver + { + private readonly object _gate = new(); + private readonly global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver?[] _resolvers = new global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver?[1]; + + public global::System.Text.Json.Serialization.Metadata.JsonTypeInfo? GetTypeInfo( + global::System.Type type, + global::System.Text.Json.JsonSerializerOptions options) + { + for (var index = 0; index < _resolvers.Length; index++) + { + var typeInfo = GetResolver(index).GetTypeInfo(type, options); + if (typeInfo is not null) + { + return typeInfo; + } + } + + return null; + } + + private global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver GetResolver(int index) + { + var resolver = global::System.Threading.Volatile.Read(ref _resolvers[index]); + if (resolver is not null) + { + return resolver; + } + + lock (_gate) + { + return _resolvers[index] ??= CreateResolver(index); + } + } + + private static global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver CreateResolver(int index) + { + return index switch + { + 0 => new RepostsSourceGenerationContextChunk0(new global::System.Text.Json.JsonSerializerOptions()), + _ => throw new global::System.ArgumentOutOfRangeException(nameof(index)), + }; + } + } + } +} \ No newline at end of file diff --git a/src/libs/SoundCloud/Generated/SoundCloud.RepostsClient.Authorizations.OAuth.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.RepostsClient.Authorizations.OAuth.g.cs new file mode 100644 index 0000000..af77ea1 --- /dev/null +++ b/src/libs/SoundCloud/Generated/SoundCloud.RepostsClient.Authorizations.OAuth.g.cs @@ -0,0 +1,35 @@ + +#nullable enable + +namespace SoundCloud +{ + public sealed partial class RepostsClient + { + + /// + public void AuthorizeUsingOAuth( + string apiKey) + { + apiKey = apiKey ?? throw new global::System.ArgumentNullException(nameof(apiKey)); + + for (var i = Authorizations.Count - 1; i >= 0; i--) + { + var __authorization = Authorizations[i]; + if (__authorization.Type == "Http" && + __authorization.Name == "OAuth") + { + Authorizations.RemoveAt(i); + } + } + + Authorizations.Add(new global::SoundCloud.EndPointAuthorization + { + Type = "Http", + SchemeId = "HttpOauth", + Location = "Header", + Name = "OAuth", + Value = apiKey, + }); + } + } +} \ No newline at end of file diff --git a/src/libs/SoundCloud/Generated/SoundCloud.RepostsClient.Constructors.OAuth.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.RepostsClient.Constructors.OAuth.g.cs new file mode 100644 index 0000000..e7a88bd --- /dev/null +++ b/src/libs/SoundCloud/Generated/SoundCloud.RepostsClient.Constructors.OAuth.g.cs @@ -0,0 +1,31 @@ + +#nullable enable + +namespace SoundCloud +{ + public sealed partial class RepostsClient + { + /// + + public RepostsClient( + string apiKey, + global::System.Net.Http.HttpClient? httpClient = null, + global::System.Uri? baseUri = null, + global::System.Collections.Generic.List? authorizations = null, + bool disposeHttpClient = true) : this(httpClient, baseUri, authorizations, disposeHttpClient) + { + Authorizing(HttpClient, ref apiKey); + + AuthorizeUsingOAuth(apiKey); + + Authorized(HttpClient); + } + + partial void Authorizing( + global::System.Net.Http.HttpClient client, + ref string apiKey); + partial void Authorized( + global::System.Net.Http.HttpClient client); + + } +} \ No newline at end of file diff --git a/src/libs/SoundCloud/Generated/SoundCloud.RepostsClient.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.RepostsClient.g.cs index 23fd54d..f5045b0 100644 --- a/src/libs/SoundCloud/Generated/SoundCloud.RepostsClient.g.cs +++ b/src/libs/SoundCloud/Generated/SoundCloud.RepostsClient.g.cs @@ -35,7 +35,7 @@ public sealed partial class RepostsClient : global::SoundCloud.IRepostsClient, g /// public global::SoundCloud.AutoSDKClientOptions Options { get; } - internal global::System.Lazy JsonSerializerContextProvider { get; set; } = new(() => global::SoundCloud.SourceGenerationContext.Default); + internal global::System.Lazy JsonSerializerContextProvider { get; set; } = new(() => global::SoundCloud.RepostsSourceGenerationContext.Default); /// /// diff --git a/src/libs/SoundCloud/Generated/SoundCloud.Search.JsonSerializerContext.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.Search.JsonSerializerContext.g.cs new file mode 100644 index 0000000..097c1d4 --- /dev/null +++ b/src/libs/SoundCloud/Generated/SoundCloud.Search.JsonSerializerContext.g.cs @@ -0,0 +1,260 @@ + +#nullable enable + +#pragma warning disable CS0618 // Type or member is obsolete +#pragma warning disable CS3016 // Arrays as attribute arguments is not CLS-compliant + +namespace SoundCloud +{ + /// + /// + /// + [global::System.Text.Json.Serialization.JsonSourceGenerationOptions( + DefaultIgnoreCondition = global::System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull, + Converters = new global::System.Type[] + { + })] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.Dictionary))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.Dictionary))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), TypeInfoPropertyName = "SystemCollectionsGeneric_ObjectList")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Text.Json.JsonElement?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(string))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(bool))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(byte[]))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.Error), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(int))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.ErrorError), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.User), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.DateTime), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.UserSubscription), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.UserSubscriptionProduct), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.Users), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.Track), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(double))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(long), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.AllOf), TypeInfoPropertyName = "AllOfUserObject2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(object))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.TrackAccess), TypeInfoPropertyName = "TrackAccess2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.Tracks), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.Playlist), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.AllOf), TypeInfoPropertyName = "AllOfObjectUser2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.Playlists), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.GetTracksBpm), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.GetTracksDuration), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.GetTracksCreatedAt), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.GetTracksAcces), TypeInfoPropertyName = "GetTracksAcces2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.GetPlaylistsAcces), TypeInfoPropertyName = "GetPlaylistsAcces2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.OneOf>), TypeInfoPropertyName = "OneOfTracksIListTrack2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.OneOf>), TypeInfoPropertyName = "OneOfPlaylistsIListPlaylist2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(bool?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(int?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.DateTime?), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(double?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(long?), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.AllOf?), TypeInfoPropertyName = "NullableAllOfUserObject2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.TrackAccess?), TypeInfoPropertyName = "NullableTrackAccess2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.AllOf?), TypeInfoPropertyName = "NullableAllOfObjectUser2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.GetTracksAcces?), TypeInfoPropertyName = "NullableGetTracksAcces2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.GetPlaylistsAcces?), TypeInfoPropertyName = "NullableGetPlaylistsAcces2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.OneOf>?), TypeInfoPropertyName = "NullableOneOfTracksIListTrack2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.OneOf>?), TypeInfoPropertyName = "NullableOneOfPlaylistsIListPlaylist2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.OneOf>), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.OneOf>), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + internal sealed partial class SearchSourceGenerationContextChunk0 : global::System.Text.Json.Serialization.JsonSerializerContext + { + } + /// + /// + /// + public sealed partial class SearchSourceGenerationContext : global::System.Text.Json.Serialization.JsonSerializerContext + { + private static readonly global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver Resolver = new LazyChunkResolver(); + + + private static readonly global::System.Text.Json.JsonSerializerOptions DefaultOptions = CreateDefaultOptions(); + + /// + /// + /// + public static SearchSourceGenerationContext Default { get; } = new(DefaultOptions); + + private SearchSourceGenerationContext(global::System.Text.Json.JsonSerializerOptions options) + : base(options) + { + } + + /// + protected override global::System.Text.Json.JsonSerializerOptions? GeneratedSerializerOptions => DefaultOptions; + + /// + public override global::System.Text.Json.Serialization.Metadata.JsonTypeInfo? GetTypeInfo(global::System.Type type) + { + return Resolver.GetTypeInfo(type, Options); + } + + /// + /// Adds this package's converters to . + /// + /// + /// A converter has to be on the options a chained resolver builds its JsonTypeInfo against, + /// and a context resolves types from every package below it. Each package contributes only + /// what it owns and calls down the chain for the rest, so the family's converter table is + /// written once rather than copied into all of them. + /// + [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] + public static void AddConverters(global::System.Text.Json.JsonSerializerOptions options) + { + options.Converters.Add(new global::SoundCloud.JsonConverters.AllOfJsonConverter()); + options.Converters.Add(new global::SoundCloud.JsonConverters.AllOfJsonConverter()); + options.Converters.Add(new global::SoundCloud.JsonConverters.AnyOfJsonConverter()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.UnixTimestampJsonConverter()); + options.Converters.Add(new LazyEnumJsonConverterFactory()); + } + + private static global::System.Text.Json.JsonSerializerOptions CreateDefaultOptions() + { + var options = new global::System.Text.Json.JsonSerializerOptions + { + DefaultIgnoreCondition = global::System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull, + TypeInfoResolver = Resolver, + }; + AddConverters(options); + + return options; + } + + + private sealed class LazyEnumJsonConverterFactory : global::System.Text.Json.Serialization.JsonConverterFactory + { + public override bool CanConvert(global::System.Type typeToConvert) + { + return + typeToConvert == typeof(global::SoundCloud.TrackAccess) + + || typeToConvert == typeof(global::SoundCloud.TrackAccess?) + + || typeToConvert == typeof(global::SoundCloud.GetTracksAcces) + + || typeToConvert == typeof(global::SoundCloud.GetTracksAcces?) + + || typeToConvert == typeof(global::SoundCloud.GetPlaylistsAcces) + + || typeToConvert == typeof(global::SoundCloud.GetPlaylistsAcces?); + } + + public override global::System.Text.Json.Serialization.JsonConverter CreateConverter( + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + if (typeToConvert == typeof(global::SoundCloud.TrackAccess)) + { + return new global::SoundCloud.JsonConverters.TrackAccessJsonConverter(); + } + + if (typeToConvert == typeof(global::SoundCloud.TrackAccess?)) + { + return new global::SoundCloud.JsonConverters.TrackAccessNullableJsonConverter(); + } + + if (typeToConvert == typeof(global::SoundCloud.GetTracksAcces)) + { + return new global::SoundCloud.JsonConverters.GetTracksAccesJsonConverter(); + } + + if (typeToConvert == typeof(global::SoundCloud.GetTracksAcces?)) + { + return new global::SoundCloud.JsonConverters.GetTracksAccesNullableJsonConverter(); + } + + if (typeToConvert == typeof(global::SoundCloud.GetPlaylistsAcces)) + { + return new global::SoundCloud.JsonConverters.GetPlaylistsAccesJsonConverter(); + } + + if (typeToConvert == typeof(global::SoundCloud.GetPlaylistsAcces?)) + { + return new global::SoundCloud.JsonConverters.GetPlaylistsAccesNullableJsonConverter(); + } + throw new global::System.NotSupportedException($"No generated enum converter is registered for '{typeToConvert}'."); + } + } + + private sealed class LazyChunkResolver : global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver + { + private readonly object _gate = new(); + private readonly global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver?[] _resolvers = new global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver?[1]; + + public global::System.Text.Json.Serialization.Metadata.JsonTypeInfo? GetTypeInfo( + global::System.Type type, + global::System.Text.Json.JsonSerializerOptions options) + { + for (var index = 0; index < _resolvers.Length; index++) + { + var typeInfo = GetResolver(index).GetTypeInfo(type, options); + if (typeInfo is not null) + { + return typeInfo; + } + } + + return null; + } + + private global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver GetResolver(int index) + { + var resolver = global::System.Threading.Volatile.Read(ref _resolvers[index]); + if (resolver is not null) + { + return resolver; + } + + lock (_gate) + { + return _resolvers[index] ??= CreateResolver(index); + } + } + + private static global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver CreateResolver(int index) + { + return index switch + { + 0 => new SearchSourceGenerationContextChunk0(new global::System.Text.Json.JsonSerializerOptions()), + _ => throw new global::System.ArgumentOutOfRangeException(nameof(index)), + }; + } + } + } +} \ No newline at end of file diff --git a/src/libs/SoundCloud/Generated/SoundCloud.SearchClient.Authorizations.OAuth.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.SearchClient.Authorizations.OAuth.g.cs new file mode 100644 index 0000000..53f149e --- /dev/null +++ b/src/libs/SoundCloud/Generated/SoundCloud.SearchClient.Authorizations.OAuth.g.cs @@ -0,0 +1,35 @@ + +#nullable enable + +namespace SoundCloud +{ + public sealed partial class SearchClient + { + + /// + public void AuthorizeUsingOAuth( + string apiKey) + { + apiKey = apiKey ?? throw new global::System.ArgumentNullException(nameof(apiKey)); + + for (var i = Authorizations.Count - 1; i >= 0; i--) + { + var __authorization = Authorizations[i]; + if (__authorization.Type == "Http" && + __authorization.Name == "OAuth") + { + Authorizations.RemoveAt(i); + } + } + + Authorizations.Add(new global::SoundCloud.EndPointAuthorization + { + Type = "Http", + SchemeId = "HttpOauth", + Location = "Header", + Name = "OAuth", + Value = apiKey, + }); + } + } +} \ No newline at end of file diff --git a/src/libs/SoundCloud/Generated/SoundCloud.SearchClient.Constructors.OAuth.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.SearchClient.Constructors.OAuth.g.cs new file mode 100644 index 0000000..01976e6 --- /dev/null +++ b/src/libs/SoundCloud/Generated/SoundCloud.SearchClient.Constructors.OAuth.g.cs @@ -0,0 +1,31 @@ + +#nullable enable + +namespace SoundCloud +{ + public sealed partial class SearchClient + { + /// + + public SearchClient( + string apiKey, + global::System.Net.Http.HttpClient? httpClient = null, + global::System.Uri? baseUri = null, + global::System.Collections.Generic.List? authorizations = null, + bool disposeHttpClient = true) : this(httpClient, baseUri, authorizations, disposeHttpClient) + { + Authorizing(HttpClient, ref apiKey); + + AuthorizeUsingOAuth(apiKey); + + Authorized(HttpClient); + } + + partial void Authorizing( + global::System.Net.Http.HttpClient client, + ref string apiKey); + partial void Authorized( + global::System.Net.Http.HttpClient client); + + } +} \ No newline at end of file diff --git a/src/libs/SoundCloud/Generated/SoundCloud.SearchClient.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.SearchClient.g.cs index 231245b..112eff8 100644 --- a/src/libs/SoundCloud/Generated/SoundCloud.SearchClient.g.cs +++ b/src/libs/SoundCloud/Generated/SoundCloud.SearchClient.g.cs @@ -35,7 +35,7 @@ public sealed partial class SearchClient : global::SoundCloud.ISearchClient, glo /// public global::SoundCloud.AutoSDKClientOptions Options { get; } - internal global::System.Lazy JsonSerializerContextProvider { get; set; } = new(() => global::SoundCloud.SourceGenerationContext.Default); + internal global::System.Lazy JsonSerializerContextProvider { get; set; } = new(() => global::SoundCloud.SearchSourceGenerationContext.Default); /// /// diff --git a/src/libs/SoundCloud/Generated/SoundCloud.TracksClient.Authorizations.OAuth.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.TracksClient.Authorizations.OAuth.g.cs new file mode 100644 index 0000000..497f06b --- /dev/null +++ b/src/libs/SoundCloud/Generated/SoundCloud.TracksClient.Authorizations.OAuth.g.cs @@ -0,0 +1,35 @@ + +#nullable enable + +namespace SoundCloud +{ + public sealed partial class TracksClient + { + + /// + public void AuthorizeUsingOAuth( + string apiKey) + { + apiKey = apiKey ?? throw new global::System.ArgumentNullException(nameof(apiKey)); + + for (var i = Authorizations.Count - 1; i >= 0; i--) + { + var __authorization = Authorizations[i]; + if (__authorization.Type == "Http" && + __authorization.Name == "OAuth") + { + Authorizations.RemoveAt(i); + } + } + + Authorizations.Add(new global::SoundCloud.EndPointAuthorization + { + Type = "Http", + SchemeId = "HttpOauth", + Location = "Header", + Name = "OAuth", + Value = apiKey, + }); + } + } +} \ No newline at end of file diff --git a/src/libs/SoundCloud/Generated/SoundCloud.TracksClient.Constructors.OAuth.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.TracksClient.Constructors.OAuth.g.cs new file mode 100644 index 0000000..2a9dcdc --- /dev/null +++ b/src/libs/SoundCloud/Generated/SoundCloud.TracksClient.Constructors.OAuth.g.cs @@ -0,0 +1,31 @@ + +#nullable enable + +namespace SoundCloud +{ + public sealed partial class TracksClient + { + /// + + public TracksClient( + string apiKey, + global::System.Net.Http.HttpClient? httpClient = null, + global::System.Uri? baseUri = null, + global::System.Collections.Generic.List? authorizations = null, + bool disposeHttpClient = true) : this(httpClient, baseUri, authorizations, disposeHttpClient) + { + Authorizing(HttpClient, ref apiKey); + + AuthorizeUsingOAuth(apiKey); + + Authorized(HttpClient); + } + + partial void Authorizing( + global::System.Net.Http.HttpClient client, + ref string apiKey); + partial void Authorized( + global::System.Net.Http.HttpClient client); + + } +} \ No newline at end of file diff --git a/src/libs/SoundCloud/Generated/SoundCloud.Users.JsonSerializerContext.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.Users.JsonSerializerContext.g.cs new file mode 100644 index 0000000..7cc80df --- /dev/null +++ b/src/libs/SoundCloud/Generated/SoundCloud.Users.JsonSerializerContext.g.cs @@ -0,0 +1,312 @@ + +#nullable enable + +#pragma warning disable CS0618 // Type or member is obsolete +#pragma warning disable CS3016 // Arrays as attribute arguments is not CLS-compliant + +namespace SoundCloud +{ + /// + /// + /// + [global::System.Text.Json.Serialization.JsonSourceGenerationOptions( + DefaultIgnoreCondition = global::System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull, + Converters = new global::System.Type[] + { + })] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.Dictionary))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.Dictionary))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), TypeInfoPropertyName = "SystemCollectionsGeneric_ObjectList")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Text.Json.JsonElement?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(string))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(bool))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(byte[]))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.Error), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(int))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.ErrorError), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.User), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.DateTime), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.UserSubscription), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.UserSubscriptionProduct), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.Users), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.Track), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(double))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(long), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.AllOf), TypeInfoPropertyName = "AllOfUserObject2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(object))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.TrackAccess), TypeInfoPropertyName = "TrackAccess2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.Tracks), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.Playlist), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.AllOf), TypeInfoPropertyName = "AllOfObjectUser2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.Playlists), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.WebProfile), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.GetUsersPlaylistsAcces), TypeInfoPropertyName = "GetUsersPlaylistsAcces2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.GetUsersTracksAcces), TypeInfoPropertyName = "GetUsersTracksAcces2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.GetUsersTracksSort), TypeInfoPropertyName = "GetUsersTracksSort2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.GetUsersLikesTracksAcces), TypeInfoPropertyName = "GetUsersLikesTracksAcces2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.GetUsersRepostsTracksAcces), TypeInfoPropertyName = "GetUsersRepostsTracksAcces2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.OneOf>), TypeInfoPropertyName = "OneOfTracksIListTrack2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.OneOf>), TypeInfoPropertyName = "OneOfPlaylistsIListPlaylist2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(bool?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(int?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.DateTime?), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(double?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(long?), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.AllOf?), TypeInfoPropertyName = "NullableAllOfUserObject2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.TrackAccess?), TypeInfoPropertyName = "NullableTrackAccess2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.AllOf?), TypeInfoPropertyName = "NullableAllOfObjectUser2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.GetUsersPlaylistsAcces?), TypeInfoPropertyName = "NullableGetUsersPlaylistsAcces2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.GetUsersTracksAcces?), TypeInfoPropertyName = "NullableGetUsersTracksAcces2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.GetUsersTracksSort?), TypeInfoPropertyName = "NullableGetUsersTracksSort2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.GetUsersLikesTracksAcces?), TypeInfoPropertyName = "NullableGetUsersLikesTracksAcces2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.GetUsersRepostsTracksAcces?), TypeInfoPropertyName = "NullableGetUsersRepostsTracksAcces2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.OneOf>?), TypeInfoPropertyName = "NullableOneOfTracksIListTrack2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.OneOf>?), TypeInfoPropertyName = "NullableOneOfPlaylistsIListPlaylist2", GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.OneOf>), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::SoundCloud.OneOf>), GenerationMode = global::System.Text.Json.Serialization.JsonSourceGenerationMode.Metadata)] + internal sealed partial class UsersSourceGenerationContextChunk0 : global::System.Text.Json.Serialization.JsonSerializerContext + { + } + /// + /// + /// + public sealed partial class UsersSourceGenerationContext : global::System.Text.Json.Serialization.JsonSerializerContext + { + private static readonly global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver Resolver = new LazyChunkResolver(); + + + private static readonly global::System.Text.Json.JsonSerializerOptions DefaultOptions = CreateDefaultOptions(); + + /// + /// + /// + public static UsersSourceGenerationContext Default { get; } = new(DefaultOptions); + + private UsersSourceGenerationContext(global::System.Text.Json.JsonSerializerOptions options) + : base(options) + { + } + + /// + protected override global::System.Text.Json.JsonSerializerOptions? GeneratedSerializerOptions => DefaultOptions; + + /// + public override global::System.Text.Json.Serialization.Metadata.JsonTypeInfo? GetTypeInfo(global::System.Type type) + { + return Resolver.GetTypeInfo(type, Options); + } + + /// + /// Adds this package's converters to . + /// + /// + /// A converter has to be on the options a chained resolver builds its JsonTypeInfo against, + /// and a context resolves types from every package below it. Each package contributes only + /// what it owns and calls down the chain for the rest, so the family's converter table is + /// written once rather than copied into all of them. + /// + [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] + public static void AddConverters(global::System.Text.Json.JsonSerializerOptions options) + { + options.Converters.Add(new global::SoundCloud.JsonConverters.AllOfJsonConverter()); + options.Converters.Add(new global::SoundCloud.JsonConverters.AllOfJsonConverter()); + options.Converters.Add(new global::SoundCloud.JsonConverters.AnyOfJsonConverter()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::SoundCloud.JsonConverters.UnixTimestampJsonConverter()); + options.Converters.Add(new LazyEnumJsonConverterFactory()); + } + + private static global::System.Text.Json.JsonSerializerOptions CreateDefaultOptions() + { + var options = new global::System.Text.Json.JsonSerializerOptions + { + DefaultIgnoreCondition = global::System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull, + TypeInfoResolver = Resolver, + }; + AddConverters(options); + + return options; + } + + + private sealed class LazyEnumJsonConverterFactory : global::System.Text.Json.Serialization.JsonConverterFactory + { + public override bool CanConvert(global::System.Type typeToConvert) + { + return + typeToConvert == typeof(global::SoundCloud.TrackAccess) + + || typeToConvert == typeof(global::SoundCloud.TrackAccess?) + + || typeToConvert == typeof(global::SoundCloud.GetUsersPlaylistsAcces) + + || typeToConvert == typeof(global::SoundCloud.GetUsersPlaylistsAcces?) + + || typeToConvert == typeof(global::SoundCloud.GetUsersTracksAcces) + + || typeToConvert == typeof(global::SoundCloud.GetUsersTracksAcces?) + + || typeToConvert == typeof(global::SoundCloud.GetUsersTracksSort) + + || typeToConvert == typeof(global::SoundCloud.GetUsersTracksSort?) + + || typeToConvert == typeof(global::SoundCloud.GetUsersLikesTracksAcces) + + || typeToConvert == typeof(global::SoundCloud.GetUsersLikesTracksAcces?) + + || typeToConvert == typeof(global::SoundCloud.GetUsersRepostsTracksAcces) + + || typeToConvert == typeof(global::SoundCloud.GetUsersRepostsTracksAcces?); + } + + public override global::System.Text.Json.Serialization.JsonConverter CreateConverter( + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + if (typeToConvert == typeof(global::SoundCloud.TrackAccess)) + { + return new global::SoundCloud.JsonConverters.TrackAccessJsonConverter(); + } + + if (typeToConvert == typeof(global::SoundCloud.TrackAccess?)) + { + return new global::SoundCloud.JsonConverters.TrackAccessNullableJsonConverter(); + } + + if (typeToConvert == typeof(global::SoundCloud.GetUsersPlaylistsAcces)) + { + return new global::SoundCloud.JsonConverters.GetUsersPlaylistsAccesJsonConverter(); + } + + if (typeToConvert == typeof(global::SoundCloud.GetUsersPlaylistsAcces?)) + { + return new global::SoundCloud.JsonConverters.GetUsersPlaylistsAccesNullableJsonConverter(); + } + + if (typeToConvert == typeof(global::SoundCloud.GetUsersTracksAcces)) + { + return new global::SoundCloud.JsonConverters.GetUsersTracksAccesJsonConverter(); + } + + if (typeToConvert == typeof(global::SoundCloud.GetUsersTracksAcces?)) + { + return new global::SoundCloud.JsonConverters.GetUsersTracksAccesNullableJsonConverter(); + } + + if (typeToConvert == typeof(global::SoundCloud.GetUsersTracksSort)) + { + return new global::SoundCloud.JsonConverters.GetUsersTracksSortJsonConverter(); + } + + if (typeToConvert == typeof(global::SoundCloud.GetUsersTracksSort?)) + { + return new global::SoundCloud.JsonConverters.GetUsersTracksSortNullableJsonConverter(); + } + + if (typeToConvert == typeof(global::SoundCloud.GetUsersLikesTracksAcces)) + { + return new global::SoundCloud.JsonConverters.GetUsersLikesTracksAccesJsonConverter(); + } + + if (typeToConvert == typeof(global::SoundCloud.GetUsersLikesTracksAcces?)) + { + return new global::SoundCloud.JsonConverters.GetUsersLikesTracksAccesNullableJsonConverter(); + } + + if (typeToConvert == typeof(global::SoundCloud.GetUsersRepostsTracksAcces)) + { + return new global::SoundCloud.JsonConverters.GetUsersRepostsTracksAccesJsonConverter(); + } + + if (typeToConvert == typeof(global::SoundCloud.GetUsersRepostsTracksAcces?)) + { + return new global::SoundCloud.JsonConverters.GetUsersRepostsTracksAccesNullableJsonConverter(); + } + throw new global::System.NotSupportedException($"No generated enum converter is registered for '{typeToConvert}'."); + } + } + + private sealed class LazyChunkResolver : global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver + { + private readonly object _gate = new(); + private readonly global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver?[] _resolvers = new global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver?[1]; + + public global::System.Text.Json.Serialization.Metadata.JsonTypeInfo? GetTypeInfo( + global::System.Type type, + global::System.Text.Json.JsonSerializerOptions options) + { + for (var index = 0; index < _resolvers.Length; index++) + { + var typeInfo = GetResolver(index).GetTypeInfo(type, options); + if (typeInfo is not null) + { + return typeInfo; + } + } + + return null; + } + + private global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver GetResolver(int index) + { + var resolver = global::System.Threading.Volatile.Read(ref _resolvers[index]); + if (resolver is not null) + { + return resolver; + } + + lock (_gate) + { + return _resolvers[index] ??= CreateResolver(index); + } + } + + private static global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver CreateResolver(int index) + { + return index switch + { + 0 => new UsersSourceGenerationContextChunk0(new global::System.Text.Json.JsonSerializerOptions()), + _ => throw new global::System.ArgumentOutOfRangeException(nameof(index)), + }; + } + } + } +} \ No newline at end of file diff --git a/src/libs/SoundCloud/Generated/SoundCloud.UsersClient.Authorizations.OAuth.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.UsersClient.Authorizations.OAuth.g.cs new file mode 100644 index 0000000..abf144d --- /dev/null +++ b/src/libs/SoundCloud/Generated/SoundCloud.UsersClient.Authorizations.OAuth.g.cs @@ -0,0 +1,35 @@ + +#nullable enable + +namespace SoundCloud +{ + public sealed partial class UsersClient + { + + /// + public void AuthorizeUsingOAuth( + string apiKey) + { + apiKey = apiKey ?? throw new global::System.ArgumentNullException(nameof(apiKey)); + + for (var i = Authorizations.Count - 1; i >= 0; i--) + { + var __authorization = Authorizations[i]; + if (__authorization.Type == "Http" && + __authorization.Name == "OAuth") + { + Authorizations.RemoveAt(i); + } + } + + Authorizations.Add(new global::SoundCloud.EndPointAuthorization + { + Type = "Http", + SchemeId = "HttpOauth", + Location = "Header", + Name = "OAuth", + Value = apiKey, + }); + } + } +} \ No newline at end of file diff --git a/src/libs/SoundCloud/Generated/SoundCloud.UsersClient.Constructors.OAuth.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.UsersClient.Constructors.OAuth.g.cs new file mode 100644 index 0000000..75155d9 --- /dev/null +++ b/src/libs/SoundCloud/Generated/SoundCloud.UsersClient.Constructors.OAuth.g.cs @@ -0,0 +1,31 @@ + +#nullable enable + +namespace SoundCloud +{ + public sealed partial class UsersClient + { + /// + + public UsersClient( + string apiKey, + global::System.Net.Http.HttpClient? httpClient = null, + global::System.Uri? baseUri = null, + global::System.Collections.Generic.List? authorizations = null, + bool disposeHttpClient = true) : this(httpClient, baseUri, authorizations, disposeHttpClient) + { + Authorizing(HttpClient, ref apiKey); + + AuthorizeUsingOAuth(apiKey); + + Authorized(HttpClient); + } + + partial void Authorizing( + global::System.Net.Http.HttpClient client, + ref string apiKey); + partial void Authorized( + global::System.Net.Http.HttpClient client); + + } +} \ No newline at end of file diff --git a/src/libs/SoundCloud/Generated/SoundCloud.UsersClient.g.cs b/src/libs/SoundCloud/Generated/SoundCloud.UsersClient.g.cs index 8d9fcd9..b8c9bad 100644 --- a/src/libs/SoundCloud/Generated/SoundCloud.UsersClient.g.cs +++ b/src/libs/SoundCloud/Generated/SoundCloud.UsersClient.g.cs @@ -35,7 +35,7 @@ public sealed partial class UsersClient : global::SoundCloud.IUsersClient, globa /// public global::SoundCloud.AutoSDKClientOptions Options { get; } - internal global::System.Lazy JsonSerializerContextProvider { get; set; } = new(() => global::SoundCloud.SourceGenerationContext.Default); + internal global::System.Lazy JsonSerializerContextProvider { get; set; } = new(() => global::SoundCloud.UsersSourceGenerationContext.Default); /// ///