diff --git a/src/libs/Terra/Generated/Terra.ActivityClient.Authorizations.Bearer.g.cs b/src/libs/Terra/Generated/Terra.ActivityClient.Authorizations.Bearer.g.cs new file mode 100644 index 0000000..2ce3b45 --- /dev/null +++ b/src/libs/Terra/Generated/Terra.ActivityClient.Authorizations.Bearer.g.cs @@ -0,0 +1,35 @@ + +#nullable enable + +namespace Terra +{ + public sealed partial class ActivityClient + { + + /// + public void AuthorizeUsingBearer( + 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 == "Bearer") + { + Authorizations.RemoveAt(i); + } + } + + Authorizations.Add(new global::Terra.EndPointAuthorization + { + Type = "Http", + SchemeId = "HttpBearer", + Location = "Header", + Name = "Bearer", + Value = apiKey, + }); + } + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.ActivityClient.Constructors.Bearer.g.cs b/src/libs/Terra/Generated/Terra.ActivityClient.Constructors.Bearer.g.cs new file mode 100644 index 0000000..82760c7 --- /dev/null +++ b/src/libs/Terra/Generated/Terra.ActivityClient.Constructors.Bearer.g.cs @@ -0,0 +1,31 @@ + +#nullable enable + +namespace Terra +{ + public sealed partial class ActivityClient + { + /// + + public ActivityClient( + 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); + + AuthorizeUsingBearer(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/Terra/Generated/Terra.Athlete.JsonSerializerContext.g.cs b/src/libs/Terra/Generated/Terra.Athlete.JsonSerializerContext.g.cs new file mode 100644 index 0000000..a6a3559 --- /dev/null +++ b/src/libs/Terra/Generated/Terra.Athlete.JsonSerializerContext.g.cs @@ -0,0 +1,184 @@ + +#nullable enable + +#pragma warning disable CS0618 // Type or member is obsolete +#pragma warning disable CS3016 // Arrays as attribute arguments is not CLS-compliant + +namespace Terra +{ + /// + /// + /// + [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(object))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.DateTime))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(bool))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.Problem))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.TerraUser))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DataSentToWebhook))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DataSentToWebhookStatus), TypeInfoPropertyName = "DataSentToWebhookStatus2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DataSentToWebhookUser))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.Athlete))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(int))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.AthleteCollection))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OneOf), TypeInfoPropertyName = "OneOfAthleteCollectionDataSentToWebhook2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.DateTime?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(bool?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DataSentToWebhookStatus?), TypeInfoPropertyName = "NullableDataSentToWebhookStatus2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OneOf?), TypeInfoPropertyName = "NullableOneOfAthleteCollectionDataSentToWebhook2")] + internal sealed partial class AthleteSourceGenerationContextChunk0 : global::System.Text.Json.Serialization.JsonSerializerContext + { + } + /// + /// + /// + public sealed partial class AthleteSourceGenerationContext : 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 AthleteSourceGenerationContext Default { get; } = new(DefaultOptions); + + private AthleteSourceGenerationContext(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::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.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::Terra.DataSentToWebhookStatus) + + || typeToConvert == typeof(global::Terra.DataSentToWebhookStatus?); + } + + public override global::System.Text.Json.Serialization.JsonConverter CreateConverter( + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + if (typeToConvert == typeof(global::Terra.DataSentToWebhookStatus)) + { + return new global::Terra.JsonConverters.DataSentToWebhookStatusJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.DataSentToWebhookStatus?)) + { + return new global::Terra.JsonConverters.DataSentToWebhookStatusNullableJsonConverter(); + } + 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 AthleteSourceGenerationContextChunk0(new global::System.Text.Json.JsonSerializerOptions()), + _ => throw new global::System.ArgumentOutOfRangeException(nameof(index)), + }; + } + } + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.AthleteClient.Authorizations.Bearer.g.cs b/src/libs/Terra/Generated/Terra.AthleteClient.Authorizations.Bearer.g.cs new file mode 100644 index 0000000..34fa4a4 --- /dev/null +++ b/src/libs/Terra/Generated/Terra.AthleteClient.Authorizations.Bearer.g.cs @@ -0,0 +1,35 @@ + +#nullable enable + +namespace Terra +{ + public sealed partial class AthleteClient + { + + /// + public void AuthorizeUsingBearer( + 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 == "Bearer") + { + Authorizations.RemoveAt(i); + } + } + + Authorizations.Add(new global::Terra.EndPointAuthorization + { + Type = "Http", + SchemeId = "HttpBearer", + Location = "Header", + Name = "Bearer", + Value = apiKey, + }); + } + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.AthleteClient.Constructors.Bearer.g.cs b/src/libs/Terra/Generated/Terra.AthleteClient.Constructors.Bearer.g.cs new file mode 100644 index 0000000..77b638e --- /dev/null +++ b/src/libs/Terra/Generated/Terra.AthleteClient.Constructors.Bearer.g.cs @@ -0,0 +1,31 @@ + +#nullable enable + +namespace Terra +{ + public sealed partial class AthleteClient + { + /// + + public AthleteClient( + 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); + + AuthorizeUsingBearer(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/Terra/Generated/Terra.AthleteClient.g.cs b/src/libs/Terra/Generated/Terra.AthleteClient.g.cs index d8557f7..90111ea 100644 --- a/src/libs/Terra/Generated/Terra.AthleteClient.g.cs +++ b/src/libs/Terra/Generated/Terra.AthleteClient.g.cs @@ -34,7 +34,7 @@ public sealed partial class AthleteClient : global::Terra.IAthleteClient, global /// public global::Terra.AutoSDKClientOptions Options { get; } - internal global::System.Lazy JsonSerializerContextProvider { get; set; } = new(() => global::Terra.SourceGenerationContext.Default); + internal global::System.Lazy JsonSerializerContextProvider { get; set; } = new(() => global::Terra.AthleteSourceGenerationContext.Default); /// /// diff --git a/src/libs/Terra/Generated/Terra.Authentication.JsonSerializerContext.g.cs b/src/libs/Terra/Generated/Terra.Authentication.JsonSerializerContext.g.cs new file mode 100644 index 0000000..71b38ab --- /dev/null +++ b/src/libs/Terra/Generated/Terra.Authentication.JsonSerializerContext.g.cs @@ -0,0 +1,227 @@ + +#nullable enable + +#pragma warning disable CS0618 // Type or member is obsolete +#pragma warning disable CS3016 // Arrays as attribute arguments is not CLS-compliant + +namespace Terra +{ + /// + /// + /// + [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(double))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.Problem))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WidgetSessionParams))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(int))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.AuthenticationAuthenticateUserRequest))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.AuthenticationAuthenticateUserRequestSdkApp), TypeInfoPropertyName = "AuthenticationAuthenticateUserRequestSdkApp2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.AuthenticationAuthenticateUserResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.AuthenticationAuthenticateUserResponseStatus), TypeInfoPropertyName = "AuthenticationAuthenticateUserResponseStatus2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.AuthenticationGenerateWidgetSessionResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.AuthenticationGenerateWidgetSessionResponseStatus), TypeInfoPropertyName = "AuthenticationGenerateWidgetSessionResponseStatus2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.AuthenticationDeauthenticateUserResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.AuthenticationDeauthenticateUserResponseStatus), TypeInfoPropertyName = "AuthenticationDeauthenticateUserResponseStatus2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.AuthenticationCreateAuthTokenResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.AuthenticationGenerateAuthTokenResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.AuthenticationAuthenticateUserRequestSdkApp?), TypeInfoPropertyName = "NullableAuthenticationAuthenticateUserRequestSdkApp2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.AuthenticationAuthenticateUserResponseStatus?), TypeInfoPropertyName = "NullableAuthenticationAuthenticateUserResponseStatus2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.AuthenticationGenerateWidgetSessionResponseStatus?), TypeInfoPropertyName = "NullableAuthenticationGenerateWidgetSessionResponseStatus2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.AuthenticationDeauthenticateUserResponseStatus?), TypeInfoPropertyName = "NullableAuthenticationDeauthenticateUserResponseStatus2")] + internal sealed partial class AuthenticationSourceGenerationContextChunk0 : global::System.Text.Json.Serialization.JsonSerializerContext + { + } + /// + /// + /// + public sealed partial class AuthenticationSourceGenerationContext : 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 AuthenticationSourceGenerationContext Default { get; } = new(DefaultOptions); + + private AuthenticationSourceGenerationContext(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::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.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::Terra.AuthenticationAuthenticateUserRequestSdkApp) + + || typeToConvert == typeof(global::Terra.AuthenticationAuthenticateUserRequestSdkApp?) + + || typeToConvert == typeof(global::Terra.AuthenticationAuthenticateUserResponseStatus) + + || typeToConvert == typeof(global::Terra.AuthenticationAuthenticateUserResponseStatus?) + + || typeToConvert == typeof(global::Terra.AuthenticationGenerateWidgetSessionResponseStatus) + + || typeToConvert == typeof(global::Terra.AuthenticationGenerateWidgetSessionResponseStatus?) + + || typeToConvert == typeof(global::Terra.AuthenticationDeauthenticateUserResponseStatus) + + || typeToConvert == typeof(global::Terra.AuthenticationDeauthenticateUserResponseStatus?); + } + + public override global::System.Text.Json.Serialization.JsonConverter CreateConverter( + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + if (typeToConvert == typeof(global::Terra.AuthenticationAuthenticateUserRequestSdkApp)) + { + return new global::Terra.JsonConverters.AuthenticationAuthenticateUserRequestSdkAppJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.AuthenticationAuthenticateUserRequestSdkApp?)) + { + return new global::Terra.JsonConverters.AuthenticationAuthenticateUserRequestSdkAppNullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.AuthenticationAuthenticateUserResponseStatus)) + { + return new global::Terra.JsonConverters.AuthenticationAuthenticateUserResponseStatusJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.AuthenticationAuthenticateUserResponseStatus?)) + { + return new global::Terra.JsonConverters.AuthenticationAuthenticateUserResponseStatusNullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.AuthenticationGenerateWidgetSessionResponseStatus)) + { + return new global::Terra.JsonConverters.AuthenticationGenerateWidgetSessionResponseStatusJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.AuthenticationGenerateWidgetSessionResponseStatus?)) + { + return new global::Terra.JsonConverters.AuthenticationGenerateWidgetSessionResponseStatusNullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.AuthenticationDeauthenticateUserResponseStatus)) + { + return new global::Terra.JsonConverters.AuthenticationDeauthenticateUserResponseStatusJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.AuthenticationDeauthenticateUserResponseStatus?)) + { + return new global::Terra.JsonConverters.AuthenticationDeauthenticateUserResponseStatusNullableJsonConverter(); + } + 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 AuthenticationSourceGenerationContextChunk0(new global::System.Text.Json.JsonSerializerOptions()), + _ => throw new global::System.ArgumentOutOfRangeException(nameof(index)), + }; + } + } + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.AuthenticationClient.Authorizations.Bearer.g.cs b/src/libs/Terra/Generated/Terra.AuthenticationClient.Authorizations.Bearer.g.cs new file mode 100644 index 0000000..be2cbad --- /dev/null +++ b/src/libs/Terra/Generated/Terra.AuthenticationClient.Authorizations.Bearer.g.cs @@ -0,0 +1,35 @@ + +#nullable enable + +namespace Terra +{ + public sealed partial class AuthenticationClient + { + + /// + public void AuthorizeUsingBearer( + 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 == "Bearer") + { + Authorizations.RemoveAt(i); + } + } + + Authorizations.Add(new global::Terra.EndPointAuthorization + { + Type = "Http", + SchemeId = "HttpBearer", + Location = "Header", + Name = "Bearer", + Value = apiKey, + }); + } + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.AuthenticationClient.Constructors.Bearer.g.cs b/src/libs/Terra/Generated/Terra.AuthenticationClient.Constructors.Bearer.g.cs new file mode 100644 index 0000000..282be51 --- /dev/null +++ b/src/libs/Terra/Generated/Terra.AuthenticationClient.Constructors.Bearer.g.cs @@ -0,0 +1,31 @@ + +#nullable enable + +namespace Terra +{ + public sealed partial class AuthenticationClient + { + /// + + public AuthenticationClient( + 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); + + AuthorizeUsingBearer(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/Terra/Generated/Terra.AuthenticationClient.g.cs b/src/libs/Terra/Generated/Terra.AuthenticationClient.g.cs index 6a25709..4639240 100644 --- a/src/libs/Terra/Generated/Terra.AuthenticationClient.g.cs +++ b/src/libs/Terra/Generated/Terra.AuthenticationClient.g.cs @@ -34,7 +34,7 @@ public sealed partial class AuthenticationClient : global::Terra.IAuthentication /// public global::Terra.AutoSDKClientOptions Options { get; } - internal global::System.Lazy JsonSerializerContextProvider { get; set; } = new(() => global::Terra.SourceGenerationContext.Default); + internal global::System.Lazy JsonSerializerContextProvider { get; set; } = new(() => global::Terra.AuthenticationSourceGenerationContext.Default); /// /// diff --git a/src/libs/Terra/Generated/Terra.Body.JsonSerializerContext.g.cs b/src/libs/Terra/Generated/Terra.Body.JsonSerializerContext.g.cs new file mode 100644 index 0000000..97c38ed --- /dev/null +++ b/src/libs/Terra/Generated/Terra.Body.JsonSerializerContext.g.cs @@ -0,0 +1,277 @@ + +#nullable enable + +#pragma warning disable CS0618 // Type or member is obsolete +#pragma warning disable CS3016 // Arrays as attribute arguments is not CLS-compliant + +namespace Terra +{ + /// + /// + /// + [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(object))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(double))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.DateTime))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(bool))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.Problem))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.TerraUser))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DataSentToWebhook))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DataSentToWebhookStatus), TypeInfoPropertyName = "DataSentToWebhookStatus2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DataSentToWebhookUser))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DeviceData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.HeartRateData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OxygenData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(int))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.Body))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.BloodPressureData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.HeartData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.HydrationData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.KetoneData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.MeasurementsData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.BodyMetadata))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.TemperatureData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.GlucoseData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DeviceDataType), TypeInfoPropertyName = "DeviceDataType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OtherDeviceData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.HeartRateDataSample))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.HeartRateVariabilityDataSampleRMSSD))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.HeartRateVariabilityDataSampleSDNN))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.HeartRateDataDetailed))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.HeartRateZoneData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.HeartRateDataSummary))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OxygenSaturationSample))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.Vo2MaxSample))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.BloodPressureSample))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.AFibClassificationSample))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.RawECGSample))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.ECGReading))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.PulseVelocitySample))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.RRIntervalSample))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.HydrationMeasurementSample))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.KetoneSample))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.MeasurementDataSample))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.TemperatureSample))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.GlucoseDataSample))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DailyPatternSample))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OneOf), TypeInfoPropertyName = "OneOfInt32DateTime2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OneOf), TypeInfoPropertyName = "OneOfBodyGetResponse2DataSentToWebhook2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.BodyGetResponse2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.DateTime?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(bool?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DataSentToWebhookStatus?), TypeInfoPropertyName = "NullableDataSentToWebhookStatus2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DeviceDataType?), TypeInfoPropertyName = "NullableDeviceDataType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OneOf?), TypeInfoPropertyName = "NullableOneOfInt32DateTime2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OneOf?), TypeInfoPropertyName = "NullableOneOfBodyGetResponse2DataSentToWebhook2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + internal sealed partial class BodySourceGenerationContextChunk0 : global::System.Text.Json.Serialization.JsonSerializerContext + { + } + /// + /// + /// + public sealed partial class BodySourceGenerationContext : 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 BodySourceGenerationContext Default { get; } = new(DefaultOptions); + + private BodySourceGenerationContext(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::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.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::Terra.DataSentToWebhookStatus) + + || typeToConvert == typeof(global::Terra.DataSentToWebhookStatus?) + + || typeToConvert == typeof(global::Terra.DeviceDataType) + + || typeToConvert == typeof(global::Terra.DeviceDataType?); + } + + public override global::System.Text.Json.Serialization.JsonConverter CreateConverter( + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + if (typeToConvert == typeof(global::Terra.DataSentToWebhookStatus)) + { + return new global::Terra.JsonConverters.DataSentToWebhookStatusJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.DataSentToWebhookStatus?)) + { + return new global::Terra.JsonConverters.DataSentToWebhookStatusNullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.DeviceDataType)) + { + return new global::Terra.JsonConverters.DeviceDataTypeJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.DeviceDataType?)) + { + return new global::Terra.JsonConverters.DeviceDataTypeNullableJsonConverter(); + } + 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 BodySourceGenerationContextChunk0(new global::System.Text.Json.JsonSerializerOptions()), + _ => throw new global::System.ArgumentOutOfRangeException(nameof(index)), + }; + } + } + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.BodyClient.Authorizations.Bearer.g.cs b/src/libs/Terra/Generated/Terra.BodyClient.Authorizations.Bearer.g.cs new file mode 100644 index 0000000..d2a38b8 --- /dev/null +++ b/src/libs/Terra/Generated/Terra.BodyClient.Authorizations.Bearer.g.cs @@ -0,0 +1,35 @@ + +#nullable enable + +namespace Terra +{ + public sealed partial class BodyClient + { + + /// + public void AuthorizeUsingBearer( + 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 == "Bearer") + { + Authorizations.RemoveAt(i); + } + } + + Authorizations.Add(new global::Terra.EndPointAuthorization + { + Type = "Http", + SchemeId = "HttpBearer", + Location = "Header", + Name = "Bearer", + Value = apiKey, + }); + } + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.BodyClient.Constructors.Bearer.g.cs b/src/libs/Terra/Generated/Terra.BodyClient.Constructors.Bearer.g.cs new file mode 100644 index 0000000..3312736 --- /dev/null +++ b/src/libs/Terra/Generated/Terra.BodyClient.Constructors.Bearer.g.cs @@ -0,0 +1,31 @@ + +#nullable enable + +namespace Terra +{ + public sealed partial class BodyClient + { + /// + + public BodyClient( + 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); + + AuthorizeUsingBearer(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/Terra/Generated/Terra.BodyClient.g.cs b/src/libs/Terra/Generated/Terra.BodyClient.g.cs index 7951852..d011d7b 100644 --- a/src/libs/Terra/Generated/Terra.BodyClient.g.cs +++ b/src/libs/Terra/Generated/Terra.BodyClient.g.cs @@ -34,7 +34,7 @@ public sealed partial class BodyClient : global::Terra.IBodyClient, global::Syst /// public global::Terra.AutoSDKClientOptions Options { get; } - internal global::System.Lazy JsonSerializerContextProvider { get; set; } = new(() => global::Terra.SourceGenerationContext.Default); + internal global::System.Lazy JsonSerializerContextProvider { get; set; } = new(() => global::Terra.BodySourceGenerationContext.Default); /// /// diff --git a/src/libs/Terra/Generated/Terra.Daily.JsonSerializerContext.g.cs b/src/libs/Terra/Generated/Terra.Daily.JsonSerializerContext.g.cs new file mode 100644 index 0000000..da1594e --- /dev/null +++ b/src/libs/Terra/Generated/Terra.Daily.JsonSerializerContext.g.cs @@ -0,0 +1,277 @@ + +#nullable enable + +#pragma warning disable CS0618 // Type or member is obsolete +#pragma warning disable CS3016 // Arrays as attribute arguments is not CLS-compliant + +namespace Terra +{ + /// + /// + /// + [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(object))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(double))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.DateTime))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(bool))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.Problem))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.TerraUser))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DataSentToWebhook))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DataSentToWebhookStatus), TypeInfoPropertyName = "DataSentToWebhookStatus2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DataSentToWebhookUser))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.ActiveDurationsData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CaloriesData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DeviceData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.HeartRateData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.METData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OxygenData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.StrainData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(int))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.Daily))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DailyDataEnrichment))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DailyDistanceData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DailyMetadata))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.ScoresData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.StressData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.TagData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.ActivityLevelSample))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CalorieSample))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.RecordFloat))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DeviceDataType), TypeInfoPropertyName = "DeviceDataType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OtherDeviceData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DistanceSample))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.ElevationSample))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.FloorsClimbedSample))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.StepSample))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DistanceDataDetailed))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.ElevationData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SwimmingData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.HeartRateDataSample))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.HeartRateVariabilityDataSampleRMSSD))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.HeartRateVariabilityDataSampleSDNN))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.HeartRateDataDetailed))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.HeartRateZoneData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.HeartRateDataSummary))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.METSample))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OxygenSaturationSample))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.Vo2MaxSample))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.StressSample))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.BodyBatterySample))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.TagEntry))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OneOf), TypeInfoPropertyName = "OneOfInt32DateTime2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OneOf), TypeInfoPropertyName = "OneOfDailyGetResponse2DataSentToWebhook2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DailyGetResponse2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.DateTime?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(bool?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DataSentToWebhookStatus?), TypeInfoPropertyName = "NullableDataSentToWebhookStatus2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DeviceDataType?), TypeInfoPropertyName = "NullableDeviceDataType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OneOf?), TypeInfoPropertyName = "NullableOneOfInt32DateTime2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OneOf?), TypeInfoPropertyName = "NullableOneOfDailyGetResponse2DataSentToWebhook2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + internal sealed partial class DailySourceGenerationContextChunk0 : global::System.Text.Json.Serialization.JsonSerializerContext + { + } + /// + /// + /// + public sealed partial class DailySourceGenerationContext : 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 DailySourceGenerationContext Default { get; } = new(DefaultOptions); + + private DailySourceGenerationContext(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::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.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::Terra.DataSentToWebhookStatus) + + || typeToConvert == typeof(global::Terra.DataSentToWebhookStatus?) + + || typeToConvert == typeof(global::Terra.DeviceDataType) + + || typeToConvert == typeof(global::Terra.DeviceDataType?); + } + + public override global::System.Text.Json.Serialization.JsonConverter CreateConverter( + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + if (typeToConvert == typeof(global::Terra.DataSentToWebhookStatus)) + { + return new global::Terra.JsonConverters.DataSentToWebhookStatusJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.DataSentToWebhookStatus?)) + { + return new global::Terra.JsonConverters.DataSentToWebhookStatusNullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.DeviceDataType)) + { + return new global::Terra.JsonConverters.DeviceDataTypeJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.DeviceDataType?)) + { + return new global::Terra.JsonConverters.DeviceDataTypeNullableJsonConverter(); + } + 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 DailySourceGenerationContextChunk0(new global::System.Text.Json.JsonSerializerOptions()), + _ => throw new global::System.ArgumentOutOfRangeException(nameof(index)), + }; + } + } + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.DailyClient.Authorizations.Bearer.g.cs b/src/libs/Terra/Generated/Terra.DailyClient.Authorizations.Bearer.g.cs new file mode 100644 index 0000000..ed6c93a --- /dev/null +++ b/src/libs/Terra/Generated/Terra.DailyClient.Authorizations.Bearer.g.cs @@ -0,0 +1,35 @@ + +#nullable enable + +namespace Terra +{ + public sealed partial class DailyClient + { + + /// + public void AuthorizeUsingBearer( + 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 == "Bearer") + { + Authorizations.RemoveAt(i); + } + } + + Authorizations.Add(new global::Terra.EndPointAuthorization + { + Type = "Http", + SchemeId = "HttpBearer", + Location = "Header", + Name = "Bearer", + Value = apiKey, + }); + } + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.DailyClient.Constructors.Bearer.g.cs b/src/libs/Terra/Generated/Terra.DailyClient.Constructors.Bearer.g.cs new file mode 100644 index 0000000..18c5a86 --- /dev/null +++ b/src/libs/Terra/Generated/Terra.DailyClient.Constructors.Bearer.g.cs @@ -0,0 +1,31 @@ + +#nullable enable + +namespace Terra +{ + public sealed partial class DailyClient + { + /// + + public DailyClient( + 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); + + AuthorizeUsingBearer(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/Terra/Generated/Terra.DailyClient.g.cs b/src/libs/Terra/Generated/Terra.DailyClient.g.cs index 2079509..f0429ee 100644 --- a/src/libs/Terra/Generated/Terra.DailyClient.g.cs +++ b/src/libs/Terra/Generated/Terra.DailyClient.g.cs @@ -34,7 +34,7 @@ public sealed partial class DailyClient : global::Terra.IDailyClient, global::Sy /// public global::Terra.AutoSDKClientOptions Options { get; } - internal global::System.Lazy JsonSerializerContextProvider { get; set; } = new(() => global::Terra.SourceGenerationContext.Default); + internal global::System.Lazy JsonSerializerContextProvider { get; set; } = new(() => global::Terra.DailySourceGenerationContext.Default); /// /// diff --git a/src/libs/Terra/Generated/Terra.IActivityClient.Authorizations.Bearer.g.cs b/src/libs/Terra/Generated/Terra.IActivityClient.Authorizations.Bearer.g.cs new file mode 100644 index 0000000..7c051d5 --- /dev/null +++ b/src/libs/Terra/Generated/Terra.IActivityClient.Authorizations.Bearer.g.cs @@ -0,0 +1,16 @@ + +#nullable enable + +namespace Terra +{ + public partial interface IActivityClient + { + /// + /// Authorize using bearer authentication. + /// + /// + + public void AuthorizeUsingBearer( + string apiKey); + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.IAthleteClient.Authorizations.Bearer.g.cs b/src/libs/Terra/Generated/Terra.IAthleteClient.Authorizations.Bearer.g.cs new file mode 100644 index 0000000..578a7c3 --- /dev/null +++ b/src/libs/Terra/Generated/Terra.IAthleteClient.Authorizations.Bearer.g.cs @@ -0,0 +1,16 @@ + +#nullable enable + +namespace Terra +{ + public partial interface IAthleteClient + { + /// + /// Authorize using bearer authentication. + /// + /// + + public void AuthorizeUsingBearer( + string apiKey); + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.IAuthenticationClient.Authorizations.Bearer.g.cs b/src/libs/Terra/Generated/Terra.IAuthenticationClient.Authorizations.Bearer.g.cs new file mode 100644 index 0000000..e419296 --- /dev/null +++ b/src/libs/Terra/Generated/Terra.IAuthenticationClient.Authorizations.Bearer.g.cs @@ -0,0 +1,16 @@ + +#nullable enable + +namespace Terra +{ + public partial interface IAuthenticationClient + { + /// + /// Authorize using bearer authentication. + /// + /// + + public void AuthorizeUsingBearer( + string apiKey); + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.IBodyClient.Authorizations.Bearer.g.cs b/src/libs/Terra/Generated/Terra.IBodyClient.Authorizations.Bearer.g.cs new file mode 100644 index 0000000..5562b6b --- /dev/null +++ b/src/libs/Terra/Generated/Terra.IBodyClient.Authorizations.Bearer.g.cs @@ -0,0 +1,16 @@ + +#nullable enable + +namespace Terra +{ + public partial interface IBodyClient + { + /// + /// Authorize using bearer authentication. + /// + /// + + public void AuthorizeUsingBearer( + string apiKey); + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.IDailyClient.Authorizations.Bearer.g.cs b/src/libs/Terra/Generated/Terra.IDailyClient.Authorizations.Bearer.g.cs new file mode 100644 index 0000000..c192ffa --- /dev/null +++ b/src/libs/Terra/Generated/Terra.IDailyClient.Authorizations.Bearer.g.cs @@ -0,0 +1,16 @@ + +#nullable enable + +namespace Terra +{ + public partial interface IDailyClient + { + /// + /// Authorize using bearer authentication. + /// + /// + + public void AuthorizeUsingBearer( + string apiKey); + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.IIntegrationsClient.Authorizations.Bearer.g.cs b/src/libs/Terra/Generated/Terra.IIntegrationsClient.Authorizations.Bearer.g.cs new file mode 100644 index 0000000..6930fe6 --- /dev/null +++ b/src/libs/Terra/Generated/Terra.IIntegrationsClient.Authorizations.Bearer.g.cs @@ -0,0 +1,16 @@ + +#nullable enable + +namespace Terra +{ + public partial interface IIntegrationsClient + { + /// + /// Authorize using bearer authentication. + /// + /// + + public void AuthorizeUsingBearer( + string apiKey); + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.ILabReportsClient.Authorizations.Bearer.g.cs b/src/libs/Terra/Generated/Terra.ILabReportsClient.Authorizations.Bearer.g.cs new file mode 100644 index 0000000..070f660 --- /dev/null +++ b/src/libs/Terra/Generated/Terra.ILabReportsClient.Authorizations.Bearer.g.cs @@ -0,0 +1,16 @@ + +#nullable enable + +namespace Terra +{ + public partial interface ILabReportsClient + { + /// + /// Authorize using bearer authentication. + /// + /// + + public void AuthorizeUsingBearer( + string apiKey); + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.IMenstruationClient.Authorizations.Bearer.g.cs b/src/libs/Terra/Generated/Terra.IMenstruationClient.Authorizations.Bearer.g.cs new file mode 100644 index 0000000..c2d7ad0 --- /dev/null +++ b/src/libs/Terra/Generated/Terra.IMenstruationClient.Authorizations.Bearer.g.cs @@ -0,0 +1,16 @@ + +#nullable enable + +namespace Terra +{ + public partial interface IMenstruationClient + { + /// + /// Authorize using bearer authentication. + /// + /// + + public void AuthorizeUsingBearer( + string apiKey); + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.INutritionClient.Authorizations.Bearer.g.cs b/src/libs/Terra/Generated/Terra.INutritionClient.Authorizations.Bearer.g.cs new file mode 100644 index 0000000..1fdfb00 --- /dev/null +++ b/src/libs/Terra/Generated/Terra.INutritionClient.Authorizations.Bearer.g.cs @@ -0,0 +1,16 @@ + +#nullable enable + +namespace Terra +{ + public partial interface INutritionClient + { + /// + /// Authorize using bearer authentication. + /// + /// + + public void AuthorizeUsingBearer( + string apiKey); + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.ISleepClient.Authorizations.Bearer.g.cs b/src/libs/Terra/Generated/Terra.ISleepClient.Authorizations.Bearer.g.cs new file mode 100644 index 0000000..d1d9e81 --- /dev/null +++ b/src/libs/Terra/Generated/Terra.ISleepClient.Authorizations.Bearer.g.cs @@ -0,0 +1,16 @@ + +#nullable enable + +namespace Terra +{ + public partial interface ISleepClient + { + /// + /// Authorize using bearer authentication. + /// + /// + + public void AuthorizeUsingBearer( + string apiKey); + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.IUserClient.Authorizations.Bearer.g.cs b/src/libs/Terra/Generated/Terra.IUserClient.Authorizations.Bearer.g.cs new file mode 100644 index 0000000..1a5ce09 --- /dev/null +++ b/src/libs/Terra/Generated/Terra.IUserClient.Authorizations.Bearer.g.cs @@ -0,0 +1,16 @@ + +#nullable enable + +namespace Terra +{ + public partial interface IUserClient + { + /// + /// Authorize using bearer authentication. + /// + /// + + public void AuthorizeUsingBearer( + string apiKey); + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.IWorkoutsClient.Authorizations.Bearer.g.cs b/src/libs/Terra/Generated/Terra.IWorkoutsClient.Authorizations.Bearer.g.cs new file mode 100644 index 0000000..2e57df2 --- /dev/null +++ b/src/libs/Terra/Generated/Terra.IWorkoutsClient.Authorizations.Bearer.g.cs @@ -0,0 +1,16 @@ + +#nullable enable + +namespace Terra +{ + public partial interface IWorkoutsClient + { + /// + /// Authorize using bearer authentication. + /// + /// + + public void AuthorizeUsingBearer( + string apiKey); + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.Integrations.JsonSerializerContext.g.cs b/src/libs/Terra/Generated/Terra.Integrations.JsonSerializerContext.g.cs new file mode 100644 index 0000000..0ba8ce6 --- /dev/null +++ b/src/libs/Terra/Generated/Terra.Integrations.JsonSerializerContext.g.cs @@ -0,0 +1,179 @@ + +#nullable enable + +#pragma warning disable CS0618 // Type or member is obsolete +#pragma warning disable CS3016 // Arrays as attribute arguments is not CLS-compliant + +namespace Terra +{ + /// + /// + /// + [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::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.IntegrationsResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.IntegrationProvider))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.IntegrationProviderTypes))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.IntegrationsListResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.IntegrationsListResponseStatus), TypeInfoPropertyName = "IntegrationsListResponseStatus2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(bool?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.IntegrationsListResponseStatus?), TypeInfoPropertyName = "NullableIntegrationsListResponseStatus2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + internal sealed partial class IntegrationsSourceGenerationContextChunk0 : global::System.Text.Json.Serialization.JsonSerializerContext + { + } + /// + /// + /// + public sealed partial class IntegrationsSourceGenerationContext : 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 IntegrationsSourceGenerationContext Default { get; } = new(DefaultOptions); + + private IntegrationsSourceGenerationContext(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::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.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::Terra.IntegrationsListResponseStatus) + + || typeToConvert == typeof(global::Terra.IntegrationsListResponseStatus?); + } + + public override global::System.Text.Json.Serialization.JsonConverter CreateConverter( + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + if (typeToConvert == typeof(global::Terra.IntegrationsListResponseStatus)) + { + return new global::Terra.JsonConverters.IntegrationsListResponseStatusJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.IntegrationsListResponseStatus?)) + { + return new global::Terra.JsonConverters.IntegrationsListResponseStatusNullableJsonConverter(); + } + 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 IntegrationsSourceGenerationContextChunk0(new global::System.Text.Json.JsonSerializerOptions()), + _ => throw new global::System.ArgumentOutOfRangeException(nameof(index)), + }; + } + } + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.IntegrationsClient.Authorizations.Bearer.g.cs b/src/libs/Terra/Generated/Terra.IntegrationsClient.Authorizations.Bearer.g.cs new file mode 100644 index 0000000..a1ac219 --- /dev/null +++ b/src/libs/Terra/Generated/Terra.IntegrationsClient.Authorizations.Bearer.g.cs @@ -0,0 +1,35 @@ + +#nullable enable + +namespace Terra +{ + public sealed partial class IntegrationsClient + { + + /// + public void AuthorizeUsingBearer( + 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 == "Bearer") + { + Authorizations.RemoveAt(i); + } + } + + Authorizations.Add(new global::Terra.EndPointAuthorization + { + Type = "Http", + SchemeId = "HttpBearer", + Location = "Header", + Name = "Bearer", + Value = apiKey, + }); + } + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.IntegrationsClient.Constructors.Bearer.g.cs b/src/libs/Terra/Generated/Terra.IntegrationsClient.Constructors.Bearer.g.cs new file mode 100644 index 0000000..b7d41ef --- /dev/null +++ b/src/libs/Terra/Generated/Terra.IntegrationsClient.Constructors.Bearer.g.cs @@ -0,0 +1,31 @@ + +#nullable enable + +namespace Terra +{ + public sealed partial class IntegrationsClient + { + /// + + public IntegrationsClient( + 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); + + AuthorizeUsingBearer(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/Terra/Generated/Terra.IntegrationsClient.g.cs b/src/libs/Terra/Generated/Terra.IntegrationsClient.g.cs index f112bb5..6a4537c 100644 --- a/src/libs/Terra/Generated/Terra.IntegrationsClient.g.cs +++ b/src/libs/Terra/Generated/Terra.IntegrationsClient.g.cs @@ -34,7 +34,7 @@ public sealed partial class IntegrationsClient : global::Terra.IIntegrationsClie /// public global::Terra.AutoSDKClientOptions Options { get; } - internal global::System.Lazy JsonSerializerContextProvider { get; set; } = new(() => global::Terra.SourceGenerationContext.Default); + internal global::System.Lazy JsonSerializerContextProvider { get; set; } = new(() => global::Terra.IntegrationsSourceGenerationContext.Default); /// /// diff --git a/src/libs/Terra/Generated/Terra.LabReports.JsonSerializerContext.g.cs b/src/libs/Terra/Generated/Terra.LabReports.JsonSerializerContext.g.cs new file mode 100644 index 0000000..3efe9e9 --- /dev/null +++ b/src/libs/Terra/Generated/Terra.LabReports.JsonSerializerContext.g.cs @@ -0,0 +1,263 @@ + +#nullable enable + +#pragma warning disable CS0618 // Type or member is obsolete +#pragma warning disable CS3016 // Arrays as attribute arguments is not CLS-compliant + +namespace Terra +{ + /// + /// + /// + [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(object))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(double))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.DateTime))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.Problem))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(int))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.LabReportUploadResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.LabReportListResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.LabReportSession))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.ReportType), TypeInfoPropertyName = "ReportType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(long))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.LabReportStatusEntry))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.LabReportResult))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.LabReportPanel))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.LabReportResultSource))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.LabReportBiomarker))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.LabReportMeasurement))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.LabReportInterpretation))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.LabReportReferenceRange))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.AnatomicalRegion), TypeInfoPropertyName = "AnatomicalRegion2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.LabReportBoundedValue))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.LabReportQualitativeValue))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.LabReportAppliedRange))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.LabReportRangeContext))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.LabReportDeliveriesResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.LabReportDelivery))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.LabReportFilesResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.LabReportFile))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(byte[]))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.ReportsUploadRequest))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.LabReportsUploadRequest))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.ReportsListReportType), TypeInfoPropertyName = "ReportsListReportType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.LabReportsListReportType), TypeInfoPropertyName = "LabReportsListReportType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.DateTime?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.ReportType?), TypeInfoPropertyName = "NullableReportType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(long?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.AnatomicalRegion?), TypeInfoPropertyName = "NullableAnatomicalRegion2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.ReportsListReportType?), TypeInfoPropertyName = "NullableReportsListReportType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.LabReportsListReportType?), TypeInfoPropertyName = "NullableLabReportsListReportType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + internal sealed partial class LabReportsSourceGenerationContextChunk0 : global::System.Text.Json.Serialization.JsonSerializerContext + { + } + /// + /// + /// + public sealed partial class LabReportsSourceGenerationContext : 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 LabReportsSourceGenerationContext Default { get; } = new(DefaultOptions); + + private LabReportsSourceGenerationContext(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::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.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::Terra.ReportType) + + || typeToConvert == typeof(global::Terra.ReportType?) + + || typeToConvert == typeof(global::Terra.AnatomicalRegion) + + || typeToConvert == typeof(global::Terra.AnatomicalRegion?) + + || typeToConvert == typeof(global::Terra.ReportsListReportType) + + || typeToConvert == typeof(global::Terra.ReportsListReportType?) + + || typeToConvert == typeof(global::Terra.LabReportsListReportType) + + || typeToConvert == typeof(global::Terra.LabReportsListReportType?); + } + + public override global::System.Text.Json.Serialization.JsonConverter CreateConverter( + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + if (typeToConvert == typeof(global::Terra.ReportType)) + { + return new global::Terra.JsonConverters.ReportTypeJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.ReportType?)) + { + return new global::Terra.JsonConverters.ReportTypeNullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.AnatomicalRegion)) + { + return new global::Terra.JsonConverters.AnatomicalRegionJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.AnatomicalRegion?)) + { + return new global::Terra.JsonConverters.AnatomicalRegionNullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.ReportsListReportType)) + { + return new global::Terra.JsonConverters.ReportsListReportTypeJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.ReportsListReportType?)) + { + return new global::Terra.JsonConverters.ReportsListReportTypeNullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.LabReportsListReportType)) + { + return new global::Terra.JsonConverters.LabReportsListReportTypeJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.LabReportsListReportType?)) + { + return new global::Terra.JsonConverters.LabReportsListReportTypeNullableJsonConverter(); + } + 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 LabReportsSourceGenerationContextChunk0(new global::System.Text.Json.JsonSerializerOptions()), + _ => throw new global::System.ArgumentOutOfRangeException(nameof(index)), + }; + } + } + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.LabReportsClient.Authorizations.Bearer.g.cs b/src/libs/Terra/Generated/Terra.LabReportsClient.Authorizations.Bearer.g.cs new file mode 100644 index 0000000..5b6803a --- /dev/null +++ b/src/libs/Terra/Generated/Terra.LabReportsClient.Authorizations.Bearer.g.cs @@ -0,0 +1,35 @@ + +#nullable enable + +namespace Terra +{ + public sealed partial class LabReportsClient + { + + /// + public void AuthorizeUsingBearer( + 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 == "Bearer") + { + Authorizations.RemoveAt(i); + } + } + + Authorizations.Add(new global::Terra.EndPointAuthorization + { + Type = "Http", + SchemeId = "HttpBearer", + Location = "Header", + Name = "Bearer", + Value = apiKey, + }); + } + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.LabReportsClient.Constructors.Bearer.g.cs b/src/libs/Terra/Generated/Terra.LabReportsClient.Constructors.Bearer.g.cs new file mode 100644 index 0000000..93c94a3 --- /dev/null +++ b/src/libs/Terra/Generated/Terra.LabReportsClient.Constructors.Bearer.g.cs @@ -0,0 +1,31 @@ + +#nullable enable + +namespace Terra +{ + public sealed partial class LabReportsClient + { + /// + + public LabReportsClient( + 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); + + AuthorizeUsingBearer(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/Terra/Generated/Terra.LabReportsClient.g.cs b/src/libs/Terra/Generated/Terra.LabReportsClient.g.cs index b529cca..7055fe5 100644 --- a/src/libs/Terra/Generated/Terra.LabReportsClient.g.cs +++ b/src/libs/Terra/Generated/Terra.LabReportsClient.g.cs @@ -34,7 +34,7 @@ public sealed partial class LabReportsClient : global::Terra.ILabReportsClient, /// public global::Terra.AutoSDKClientOptions Options { get; } - internal global::System.Lazy JsonSerializerContextProvider { get; set; } = new(() => global::Terra.SourceGenerationContext.Default); + internal global::System.Lazy JsonSerializerContextProvider { get; set; } = new(() => global::Terra.LabReportsSourceGenerationContext.Default); /// /// diff --git a/src/libs/Terra/Generated/Terra.Menstruation.JsonSerializerContext.g.cs b/src/libs/Terra/Generated/Terra.Menstruation.JsonSerializerContext.g.cs new file mode 100644 index 0000000..2b464d2 --- /dev/null +++ b/src/libs/Terra/Generated/Terra.Menstruation.JsonSerializerContext.g.cs @@ -0,0 +1,197 @@ + +#nullable enable + +#pragma warning disable CS0618 // Type or member is obsolete +#pragma warning disable CS3016 // Arrays as attribute arguments is not CLS-compliant + +namespace Terra +{ + /// + /// + /// + [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(object))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(double))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.DateTime))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(bool))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.Problem))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.TerraUser))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DataSentToWebhook))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DataSentToWebhookStatus), TypeInfoPropertyName = "DataSentToWebhookStatus2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DataSentToWebhookUser))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(int))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.Menstruation))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.MenstruationMetadata))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.MenstruationData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.MenstruationFlowSample))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.MenstruationIntervalSample))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OneOf), TypeInfoPropertyName = "OneOfInt32DateTime2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OneOf), TypeInfoPropertyName = "OneOfMenstruationGetResponse2DataSentToWebhook2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.MenstruationGetResponse2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.DateTime?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(bool?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DataSentToWebhookStatus?), TypeInfoPropertyName = "NullableDataSentToWebhookStatus2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OneOf?), TypeInfoPropertyName = "NullableOneOfInt32DateTime2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OneOf?), TypeInfoPropertyName = "NullableOneOfMenstruationGetResponse2DataSentToWebhook2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + internal sealed partial class MenstruationSourceGenerationContextChunk0 : global::System.Text.Json.Serialization.JsonSerializerContext + { + } + /// + /// + /// + public sealed partial class MenstruationSourceGenerationContext : 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 MenstruationSourceGenerationContext Default { get; } = new(DefaultOptions); + + private MenstruationSourceGenerationContext(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::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.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::Terra.DataSentToWebhookStatus) + + || typeToConvert == typeof(global::Terra.DataSentToWebhookStatus?); + } + + public override global::System.Text.Json.Serialization.JsonConverter CreateConverter( + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + if (typeToConvert == typeof(global::Terra.DataSentToWebhookStatus)) + { + return new global::Terra.JsonConverters.DataSentToWebhookStatusJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.DataSentToWebhookStatus?)) + { + return new global::Terra.JsonConverters.DataSentToWebhookStatusNullableJsonConverter(); + } + 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 MenstruationSourceGenerationContextChunk0(new global::System.Text.Json.JsonSerializerOptions()), + _ => throw new global::System.ArgumentOutOfRangeException(nameof(index)), + }; + } + } + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.MenstruationClient.Authorizations.Bearer.g.cs b/src/libs/Terra/Generated/Terra.MenstruationClient.Authorizations.Bearer.g.cs new file mode 100644 index 0000000..7031b23 --- /dev/null +++ b/src/libs/Terra/Generated/Terra.MenstruationClient.Authorizations.Bearer.g.cs @@ -0,0 +1,35 @@ + +#nullable enable + +namespace Terra +{ + public sealed partial class MenstruationClient + { + + /// + public void AuthorizeUsingBearer( + 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 == "Bearer") + { + Authorizations.RemoveAt(i); + } + } + + Authorizations.Add(new global::Terra.EndPointAuthorization + { + Type = "Http", + SchemeId = "HttpBearer", + Location = "Header", + Name = "Bearer", + Value = apiKey, + }); + } + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.MenstruationClient.Constructors.Bearer.g.cs b/src/libs/Terra/Generated/Terra.MenstruationClient.Constructors.Bearer.g.cs new file mode 100644 index 0000000..6298e32 --- /dev/null +++ b/src/libs/Terra/Generated/Terra.MenstruationClient.Constructors.Bearer.g.cs @@ -0,0 +1,31 @@ + +#nullable enable + +namespace Terra +{ + public sealed partial class MenstruationClient + { + /// + + public MenstruationClient( + 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); + + AuthorizeUsingBearer(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/Terra/Generated/Terra.MenstruationClient.g.cs b/src/libs/Terra/Generated/Terra.MenstruationClient.g.cs index 618c3cf..dfe8d79 100644 --- a/src/libs/Terra/Generated/Terra.MenstruationClient.g.cs +++ b/src/libs/Terra/Generated/Terra.MenstruationClient.g.cs @@ -34,7 +34,7 @@ public sealed partial class MenstruationClient : global::Terra.IMenstruationClie /// public global::Terra.AutoSDKClientOptions Options { get; } - internal global::System.Lazy JsonSerializerContextProvider { get; set; } = new(() => global::Terra.SourceGenerationContext.Default); + internal global::System.Lazy JsonSerializerContextProvider { get; set; } = new(() => global::Terra.MenstruationSourceGenerationContext.Default); /// /// diff --git a/src/libs/Terra/Generated/Terra.Nutrition.JsonSerializerContext.g.cs b/src/libs/Terra/Generated/Terra.Nutrition.JsonSerializerContext.g.cs new file mode 100644 index 0000000..8684831 --- /dev/null +++ b/src/libs/Terra/Generated/Terra.Nutrition.JsonSerializerContext.g.cs @@ -0,0 +1,200 @@ + +#nullable enable + +#pragma warning disable CS0618 // Type or member is obsolete +#pragma warning disable CS3016 // Arrays as attribute arguments is not CLS-compliant + +namespace Terra +{ + /// + /// + /// + [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(object))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(double))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.DateTime))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(bool))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.Problem))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.TerraUser))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DataSentToWebhook))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DataSentToWebhookStatus), TypeInfoPropertyName = "DataSentToWebhookStatus2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DataSentToWebhookUser))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(int))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.Nutrition))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DrinkSample))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.Meal))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.NutritionMetadata))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.NutritionSummary))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.NutritionMicros))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.NutritionQuantity))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.NutritionMacros))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OneOf), TypeInfoPropertyName = "OneOfInt32DateTime2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OneOf), TypeInfoPropertyName = "OneOfNutritionGetResponse2DataSentToWebhook2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.NutritionGetResponse2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.DateTime?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(bool?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DataSentToWebhookStatus?), TypeInfoPropertyName = "NullableDataSentToWebhookStatus2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OneOf?), TypeInfoPropertyName = "NullableOneOfInt32DateTime2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OneOf?), TypeInfoPropertyName = "NullableOneOfNutritionGetResponse2DataSentToWebhook2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + internal sealed partial class NutritionSourceGenerationContextChunk0 : global::System.Text.Json.Serialization.JsonSerializerContext + { + } + /// + /// + /// + public sealed partial class NutritionSourceGenerationContext : 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 NutritionSourceGenerationContext Default { get; } = new(DefaultOptions); + + private NutritionSourceGenerationContext(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::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.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::Terra.DataSentToWebhookStatus) + + || typeToConvert == typeof(global::Terra.DataSentToWebhookStatus?); + } + + public override global::System.Text.Json.Serialization.JsonConverter CreateConverter( + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + if (typeToConvert == typeof(global::Terra.DataSentToWebhookStatus)) + { + return new global::Terra.JsonConverters.DataSentToWebhookStatusJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.DataSentToWebhookStatus?)) + { + return new global::Terra.JsonConverters.DataSentToWebhookStatusNullableJsonConverter(); + } + 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 NutritionSourceGenerationContextChunk0(new global::System.Text.Json.JsonSerializerOptions()), + _ => throw new global::System.ArgumentOutOfRangeException(nameof(index)), + }; + } + } + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.NutritionClient.Authorizations.Bearer.g.cs b/src/libs/Terra/Generated/Terra.NutritionClient.Authorizations.Bearer.g.cs new file mode 100644 index 0000000..51d557c --- /dev/null +++ b/src/libs/Terra/Generated/Terra.NutritionClient.Authorizations.Bearer.g.cs @@ -0,0 +1,35 @@ + +#nullable enable + +namespace Terra +{ + public sealed partial class NutritionClient + { + + /// + public void AuthorizeUsingBearer( + 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 == "Bearer") + { + Authorizations.RemoveAt(i); + } + } + + Authorizations.Add(new global::Terra.EndPointAuthorization + { + Type = "Http", + SchemeId = "HttpBearer", + Location = "Header", + Name = "Bearer", + Value = apiKey, + }); + } + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.NutritionClient.Constructors.Bearer.g.cs b/src/libs/Terra/Generated/Terra.NutritionClient.Constructors.Bearer.g.cs new file mode 100644 index 0000000..7d2a4f6 --- /dev/null +++ b/src/libs/Terra/Generated/Terra.NutritionClient.Constructors.Bearer.g.cs @@ -0,0 +1,31 @@ + +#nullable enable + +namespace Terra +{ + public sealed partial class NutritionClient + { + /// + + public NutritionClient( + 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); + + AuthorizeUsingBearer(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/Terra/Generated/Terra.NutritionClient.g.cs b/src/libs/Terra/Generated/Terra.NutritionClient.g.cs index ad98864..a558ba0 100644 --- a/src/libs/Terra/Generated/Terra.NutritionClient.g.cs +++ b/src/libs/Terra/Generated/Terra.NutritionClient.g.cs @@ -34,7 +34,7 @@ public sealed partial class NutritionClient : global::Terra.INutritionClient, gl /// public global::Terra.AutoSDKClientOptions Options { get; } - internal global::System.Lazy JsonSerializerContextProvider { get; set; } = new(() => global::Terra.SourceGenerationContext.Default); + internal global::System.Lazy JsonSerializerContextProvider { get; set; } = new(() => global::Terra.NutritionSourceGenerationContext.Default); /// /// diff --git a/src/libs/Terra/Generated/Terra.Sleep.JsonSerializerContext.g.cs b/src/libs/Terra/Generated/Terra.Sleep.JsonSerializerContext.g.cs new file mode 100644 index 0000000..031f3ad --- /dev/null +++ b/src/libs/Terra/Generated/Terra.Sleep.JsonSerializerContext.g.cs @@ -0,0 +1,252 @@ + +#nullable enable + +#pragma warning disable CS0618 // Type or member is obsolete +#pragma warning disable CS3016 // Arrays as attribute arguments is not CLS-compliant + +namespace Terra +{ + /// + /// + /// + [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(object))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(double))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.DateTime))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(bool))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.Problem))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.TerraUser))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DataSentToWebhook))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DataSentToWebhookStatus), TypeInfoPropertyName = "DataSentToWebhookStatus2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DataSentToWebhookUser))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DeviceData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.HeartRateData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(int))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.Sleep))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SleepDataEnrichment))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SleepMetadata))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.ReadinessData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.RespirationData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SleepScores))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SleepDurationsData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SleepTemperatureData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.RecordFloat))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DeviceDataType), TypeInfoPropertyName = "DeviceDataType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OtherDeviceData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.HeartRateDataSample))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.HeartRateVariabilityDataSampleRMSSD))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.HeartRateVariabilityDataSampleSDNN))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.HeartRateDataDetailed))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.HeartRateZoneData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.HeartRateDataSummary))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OxygenSaturationSample))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.BreathSample))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.BreathsData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OxygenSaturationData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SnoringSample))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SnoringData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.AsleepDurations))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.AwakeDurations))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SleepHypnogramSample))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OtherSleepDurations))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OneOf), TypeInfoPropertyName = "OneOfInt32DateTime2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OneOf), TypeInfoPropertyName = "OneOfSleepGetResponse2DataSentToWebhook2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SleepGetResponse2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.DateTime?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(bool?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DataSentToWebhookStatus?), TypeInfoPropertyName = "NullableDataSentToWebhookStatus2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DeviceDataType?), TypeInfoPropertyName = "NullableDeviceDataType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OneOf?), TypeInfoPropertyName = "NullableOneOfInt32DateTime2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OneOf?), TypeInfoPropertyName = "NullableOneOfSleepGetResponse2DataSentToWebhook2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + internal sealed partial class SleepSourceGenerationContextChunk0 : global::System.Text.Json.Serialization.JsonSerializerContext + { + } + /// + /// + /// + public sealed partial class SleepSourceGenerationContext : 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 SleepSourceGenerationContext Default { get; } = new(DefaultOptions); + + private SleepSourceGenerationContext(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::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.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::Terra.DataSentToWebhookStatus) + + || typeToConvert == typeof(global::Terra.DataSentToWebhookStatus?) + + || typeToConvert == typeof(global::Terra.DeviceDataType) + + || typeToConvert == typeof(global::Terra.DeviceDataType?); + } + + public override global::System.Text.Json.Serialization.JsonConverter CreateConverter( + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + if (typeToConvert == typeof(global::Terra.DataSentToWebhookStatus)) + { + return new global::Terra.JsonConverters.DataSentToWebhookStatusJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.DataSentToWebhookStatus?)) + { + return new global::Terra.JsonConverters.DataSentToWebhookStatusNullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.DeviceDataType)) + { + return new global::Terra.JsonConverters.DeviceDataTypeJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.DeviceDataType?)) + { + return new global::Terra.JsonConverters.DeviceDataTypeNullableJsonConverter(); + } + 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 SleepSourceGenerationContextChunk0(new global::System.Text.Json.JsonSerializerOptions()), + _ => throw new global::System.ArgumentOutOfRangeException(nameof(index)), + }; + } + } + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.SleepClient.Authorizations.Bearer.g.cs b/src/libs/Terra/Generated/Terra.SleepClient.Authorizations.Bearer.g.cs new file mode 100644 index 0000000..763ee25 --- /dev/null +++ b/src/libs/Terra/Generated/Terra.SleepClient.Authorizations.Bearer.g.cs @@ -0,0 +1,35 @@ + +#nullable enable + +namespace Terra +{ + public sealed partial class SleepClient + { + + /// + public void AuthorizeUsingBearer( + 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 == "Bearer") + { + Authorizations.RemoveAt(i); + } + } + + Authorizations.Add(new global::Terra.EndPointAuthorization + { + Type = "Http", + SchemeId = "HttpBearer", + Location = "Header", + Name = "Bearer", + Value = apiKey, + }); + } + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.SleepClient.Constructors.Bearer.g.cs b/src/libs/Terra/Generated/Terra.SleepClient.Constructors.Bearer.g.cs new file mode 100644 index 0000000..0749968 --- /dev/null +++ b/src/libs/Terra/Generated/Terra.SleepClient.Constructors.Bearer.g.cs @@ -0,0 +1,31 @@ + +#nullable enable + +namespace Terra +{ + public sealed partial class SleepClient + { + /// + + public SleepClient( + 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); + + AuthorizeUsingBearer(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/Terra/Generated/Terra.SleepClient.g.cs b/src/libs/Terra/Generated/Terra.SleepClient.g.cs index e69074e..5720360 100644 --- a/src/libs/Terra/Generated/Terra.SleepClient.g.cs +++ b/src/libs/Terra/Generated/Terra.SleepClient.g.cs @@ -34,7 +34,7 @@ public sealed partial class SleepClient : global::Terra.ISleepClient, global::Sy /// public global::Terra.AutoSDKClientOptions Options { get; } - internal global::System.Lazy JsonSerializerContextProvider { get; set; } = new(() => global::Terra.SourceGenerationContext.Default); + internal global::System.Lazy JsonSerializerContextProvider { get; set; } = new(() => global::Terra.SleepSourceGenerationContext.Default); /// /// diff --git a/src/libs/Terra/Generated/Terra.User.JsonSerializerContext.g.cs b/src/libs/Terra/Generated/Terra.User.JsonSerializerContext.g.cs new file mode 100644 index 0000000..32317a3 --- /dev/null +++ b/src/libs/Terra/Generated/Terra.User.JsonSerializerContext.g.cs @@ -0,0 +1,207 @@ + +#nullable enable + +#pragma warning disable CS0618 // Type or member is obsolete +#pragma warning disable CS3016 // Arrays as attribute arguments is not CLS-compliant + +namespace Terra +{ + /// + /// + /// + [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(object))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.DateTime))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(bool))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.Problem))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.TerraUser))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(int))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OneOf>), TypeInfoPropertyName = "OneOfUserGetResponse2IListTerraUser2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.UserGetResponse2))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.AllOf), TypeInfoPropertyName = "AllOfTerraUserUserGetResponseUser2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.UserGetResponseUser))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.UserGetResponseStatus), TypeInfoPropertyName = "UserGetResponseStatus2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.UserListResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.UserListResponseStatus), TypeInfoPropertyName = "UserListResponseStatus2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.DateTime?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(bool?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OneOf>?), TypeInfoPropertyName = "NullableOneOfUserGetResponse2IListTerraUser2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.AllOf?), TypeInfoPropertyName = "NullableAllOfTerraUserUserGetResponseUser2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.UserGetResponseStatus?), TypeInfoPropertyName = "NullableUserGetResponseStatus2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.UserListResponseStatus?), TypeInfoPropertyName = "NullableUserListResponseStatus2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.OneOf>))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + internal sealed partial class UserSourceGenerationContextChunk0 : global::System.Text.Json.Serialization.JsonSerializerContext + { + } + /// + /// + /// + public sealed partial class UserSourceGenerationContext : 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 UserSourceGenerationContext Default { get; } = new(DefaultOptions); + + private UserSourceGenerationContext(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::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter>()); + options.Converters.Add(new global::Terra.JsonConverters.AllOfJsonConverter()); + options.Converters.Add(new global::Terra.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::Terra.UserGetResponseStatus) + + || typeToConvert == typeof(global::Terra.UserGetResponseStatus?) + + || typeToConvert == typeof(global::Terra.UserListResponseStatus) + + || typeToConvert == typeof(global::Terra.UserListResponseStatus?); + } + + public override global::System.Text.Json.Serialization.JsonConverter CreateConverter( + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + if (typeToConvert == typeof(global::Terra.UserGetResponseStatus)) + { + return new global::Terra.JsonConverters.UserGetResponseStatusJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.UserGetResponseStatus?)) + { + return new global::Terra.JsonConverters.UserGetResponseStatusNullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.UserListResponseStatus)) + { + return new global::Terra.JsonConverters.UserListResponseStatusJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.UserListResponseStatus?)) + { + return new global::Terra.JsonConverters.UserListResponseStatusNullableJsonConverter(); + } + 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 UserSourceGenerationContextChunk0(new global::System.Text.Json.JsonSerializerOptions()), + _ => throw new global::System.ArgumentOutOfRangeException(nameof(index)), + }; + } + } + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.UserClient.Authorizations.Bearer.g.cs b/src/libs/Terra/Generated/Terra.UserClient.Authorizations.Bearer.g.cs new file mode 100644 index 0000000..9e0f15c --- /dev/null +++ b/src/libs/Terra/Generated/Terra.UserClient.Authorizations.Bearer.g.cs @@ -0,0 +1,35 @@ + +#nullable enable + +namespace Terra +{ + public sealed partial class UserClient + { + + /// + public void AuthorizeUsingBearer( + 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 == "Bearer") + { + Authorizations.RemoveAt(i); + } + } + + Authorizations.Add(new global::Terra.EndPointAuthorization + { + Type = "Http", + SchemeId = "HttpBearer", + Location = "Header", + Name = "Bearer", + Value = apiKey, + }); + } + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.UserClient.Constructors.Bearer.g.cs b/src/libs/Terra/Generated/Terra.UserClient.Constructors.Bearer.g.cs new file mode 100644 index 0000000..ee475f6 --- /dev/null +++ b/src/libs/Terra/Generated/Terra.UserClient.Constructors.Bearer.g.cs @@ -0,0 +1,31 @@ + +#nullable enable + +namespace Terra +{ + public sealed partial class UserClient + { + /// + + public UserClient( + 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); + + AuthorizeUsingBearer(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/Terra/Generated/Terra.UserClient.g.cs b/src/libs/Terra/Generated/Terra.UserClient.g.cs index 310b120..4a78398 100644 --- a/src/libs/Terra/Generated/Terra.UserClient.g.cs +++ b/src/libs/Terra/Generated/Terra.UserClient.g.cs @@ -34,7 +34,7 @@ public sealed partial class UserClient : global::Terra.IUserClient, global::Syst /// public global::Terra.AutoSDKClientOptions Options { get; } - internal global::System.Lazy JsonSerializerContextProvider { get; set; } = new(() => global::Terra.SourceGenerationContext.Default); + internal global::System.Lazy JsonSerializerContextProvider { get; set; } = new(() => global::Terra.UserSourceGenerationContext.Default); /// /// diff --git a/src/libs/Terra/Generated/Terra.Workouts.JsonSerializerContext.g.cs b/src/libs/Terra/Generated/Terra.Workouts.JsonSerializerContext.g.cs new file mode 100644 index 0000000..25b961b --- /dev/null +++ b/src/libs/Terra/Generated/Terra.Workouts.JsonSerializerContext.g.cs @@ -0,0 +1,1554 @@ + +#nullable enable + +#pragma warning disable CS0618 // Type or member is obsolete +#pragma warning disable CS3016 // Arrays as attribute arguments is not CLS-compliant + +namespace Terra +{ + /// + /// + /// + [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(global::Terra.WorkoutTemplate))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(string))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(object))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.EnvironmentType))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(double))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.StepBlock))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutSport), TypeInfoPropertyName = "WorkoutSport2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.PlannedWorkout))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.PlannedWorkoutSummary))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.DateTime))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(bool))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CoercionWarning))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.PlannedWorkoutBody))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.PlannedWorkoutSport), TypeInfoPropertyName = "PlannedWorkoutSport2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.Problem))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(int))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(long))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.EnvironmentTypeVariant1), TypeInfoPropertyName = "EnvironmentTypeVariant12")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.EnvironmentTypeVariant2), TypeInfoPropertyName = "EnvironmentTypeVariant22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.EnvironmentTypeVariant3), TypeInfoPropertyName = "EnvironmentTypeVariant32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionType), TypeInfoPropertyName = "CompletionConditionType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionTypeVariant1), TypeInfoPropertyName = "CompletionConditionTypeVariant12_3")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionTypeVariant2), TypeInfoPropertyName = "CompletionConditionTypeVariant22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionTypeVariant3), TypeInfoPropertyName = "CompletionConditionTypeVariant32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionTypeVariant4), TypeInfoPropertyName = "CompletionConditionTypeVariant42")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionTypeVariant5), TypeInfoPropertyName = "CompletionConditionTypeVariant52")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionTypeVariant6), TypeInfoPropertyName = "CompletionConditionTypeVariant62")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionTypeVariant7), TypeInfoPropertyName = "CompletionConditionTypeVariant72")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionTypeVariant8), TypeInfoPropertyName = "CompletionConditionTypeVariant82")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionTypeVariant9), TypeInfoPropertyName = "CompletionConditionTypeVariant92")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionTypeVariant10), TypeInfoPropertyName = "CompletionConditionTypeVariant102")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionTypeVariant11), TypeInfoPropertyName = "CompletionConditionTypeVariant112")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionTypeVariant12), TypeInfoPropertyName = "CompletionConditionTypeVariant122")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionTypeVariant13), TypeInfoPropertyName = "CompletionConditionTypeVariant132")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionTypeVariant14), TypeInfoPropertyName = "CompletionConditionTypeVariant142")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionTypeVariant15), TypeInfoPropertyName = "CompletionConditionTypeVariant152")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionTypeVariant16), TypeInfoPropertyName = "CompletionConditionTypeVariant162")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionTypeVariant17), TypeInfoPropertyName = "CompletionConditionTypeVariant172")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionCondition))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetType), TypeInfoPropertyName = "WorkoutStepTargetType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant1), TypeInfoPropertyName = "WorkoutStepTargetTypeVariant12_3")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant2), TypeInfoPropertyName = "WorkoutStepTargetTypeVariant22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant3), TypeInfoPropertyName = "WorkoutStepTargetTypeVariant32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant4), TypeInfoPropertyName = "WorkoutStepTargetTypeVariant42")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant5), TypeInfoPropertyName = "WorkoutStepTargetTypeVariant52")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant6), TypeInfoPropertyName = "WorkoutStepTargetTypeVariant62")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant7), TypeInfoPropertyName = "WorkoutStepTargetTypeVariant72")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant8), TypeInfoPropertyName = "WorkoutStepTargetTypeVariant82")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant9), TypeInfoPropertyName = "WorkoutStepTargetTypeVariant92")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant10), TypeInfoPropertyName = "WorkoutStepTargetTypeVariant102")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant11), TypeInfoPropertyName = "WorkoutStepTargetTypeVariant112")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant12), TypeInfoPropertyName = "WorkoutStepTargetTypeVariant122")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant13), TypeInfoPropertyName = "WorkoutStepTargetTypeVariant132")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant14), TypeInfoPropertyName = "WorkoutStepTargetTypeVariant142")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant15), TypeInfoPropertyName = "WorkoutStepTargetTypeVariant152")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant16), TypeInfoPropertyName = "WorkoutStepTargetTypeVariant162")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant17), TypeInfoPropertyName = "WorkoutStepTargetTypeVariant172")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant18), TypeInfoPropertyName = "WorkoutStepTargetTypeVariant182")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant19), TypeInfoPropertyName = "WorkoutStepTargetTypeVariant192")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.IntensityTarget))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepIntensity), TypeInfoPropertyName = "WorkoutStepIntensity2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepIntensityVariant1), TypeInfoPropertyName = "WorkoutStepIntensityVariant12")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepIntensityVariant2), TypeInfoPropertyName = "WorkoutStepIntensityVariant22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepIntensityVariant3), TypeInfoPropertyName = "WorkoutStepIntensityVariant32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepIntensityVariant4), TypeInfoPropertyName = "WorkoutStepIntensityVariant42")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepIntensityVariant5), TypeInfoPropertyName = "WorkoutStepIntensityVariant52")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.StepControlType), TypeInfoPropertyName = "StepControlType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.StepControlTypeVariant1), TypeInfoPropertyName = "StepControlTypeVariant12")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.StepControlTypeVariant2), TypeInfoPropertyName = "StepControlTypeVariant22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.StepControl))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WeightUnit), TypeInfoPropertyName = "WeightUnit2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WeightUnitVariant1), TypeInfoPropertyName = "WeightUnitVariant12")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WeightUnitVariant2), TypeInfoPropertyName = "WeightUnitVariant22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.StrengthData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SwimStrokeType), TypeInfoPropertyName = "SwimStrokeType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SwimStrokeTypeVariant1), TypeInfoPropertyName = "SwimStrokeTypeVariant12")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SwimStrokeTypeVariant2), TypeInfoPropertyName = "SwimStrokeTypeVariant22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SwimStrokeTypeVariant3), TypeInfoPropertyName = "SwimStrokeTypeVariant32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SwimStrokeTypeVariant4), TypeInfoPropertyName = "SwimStrokeTypeVariant42")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SwimStrokeTypeVariant5), TypeInfoPropertyName = "SwimStrokeTypeVariant52")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SwimStrokeTypeVariant6), TypeInfoPropertyName = "SwimStrokeTypeVariant62")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SwimStrokeTypeVariant7), TypeInfoPropertyName = "SwimStrokeTypeVariant72")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DrillType), TypeInfoPropertyName = "DrillType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DrillTypeVariant1), TypeInfoPropertyName = "DrillTypeVariant12")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DrillTypeVariant2), TypeInfoPropertyName = "DrillTypeVariant22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DrillTypeVariant3), TypeInfoPropertyName = "DrillTypeVariant32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SwimEquipmentType), TypeInfoPropertyName = "SwimEquipmentType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SwimEquipmentTypeVariant1), TypeInfoPropertyName = "SwimEquipmentTypeVariant12")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SwimEquipmentTypeVariant2), TypeInfoPropertyName = "SwimEquipmentTypeVariant22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SwimEquipmentTypeVariant3), TypeInfoPropertyName = "SwimEquipmentTypeVariant32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SwimEquipmentTypeVariant4), TypeInfoPropertyName = "SwimEquipmentTypeVariant42")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SwimEquipmentTypeVariant5), TypeInfoPropertyName = "SwimEquipmentTypeVariant52")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SwimEquipmentTypeVariant6), TypeInfoPropertyName = "SwimEquipmentTypeVariant62")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SwimStepData))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStep))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutSportVariant1), TypeInfoPropertyName = "WorkoutSportVariant12_3")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutSportVariant2), TypeInfoPropertyName = "WorkoutSportVariant22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutSportVariant3), TypeInfoPropertyName = "WorkoutSportVariant32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutSportVariant4), TypeInfoPropertyName = "WorkoutSportVariant42")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutSportVariant5), TypeInfoPropertyName = "WorkoutSportVariant52")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutSportVariant6), TypeInfoPropertyName = "WorkoutSportVariant62")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutSportVariant7), TypeInfoPropertyName = "WorkoutSportVariant72")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutSportVariant8), TypeInfoPropertyName = "WorkoutSportVariant82")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutSportVariant9), TypeInfoPropertyName = "WorkoutSportVariant92")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutSportVariant10), TypeInfoPropertyName = "WorkoutSportVariant102")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutSportVariant11), TypeInfoPropertyName = "WorkoutSportVariant112")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutSportVariant12), TypeInfoPropertyName = "WorkoutSportVariant122")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutSportVariant13), TypeInfoPropertyName = "WorkoutSportVariant132")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutSportVariant14), TypeInfoPropertyName = "WorkoutSportVariant142")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutSportVariant15), TypeInfoPropertyName = "WorkoutSportVariant152")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.AthleteMetrics))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.PlannedWorkoutSportEnum), TypeInfoPropertyName = "PlannedWorkoutSportEnum2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.PlannedWorkoutDetailsMetadata))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.PlannedWorkoutDetailsStepDuration))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.PlannedWorkoutDetailsStepTarget))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.PlannedWorkoutDetailsStep))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.PlannedWorkoutDetails))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutsPlanWorkoutRequest))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutsUpdatePlannedWorkoutRequest))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutsCreateWorkoutResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutsCreateWorkoutResponseStatus), TypeInfoPropertyName = "WorkoutsCreateWorkoutResponseStatus2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutsDeleteWorkoutResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutsPlanWorkoutResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutsPlanWorkoutResponseStatus), TypeInfoPropertyName = "WorkoutsPlanWorkoutResponseStatus2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutSport?), TypeInfoPropertyName = "NullableWorkoutSport2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.DateTime?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(bool?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.PlannedWorkoutSport?), TypeInfoPropertyName = "NullablePlannedWorkoutSport2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(long?))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.EnvironmentTypeVariant1?), TypeInfoPropertyName = "NullableEnvironmentTypeVariant12")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.EnvironmentTypeVariant2?), TypeInfoPropertyName = "NullableEnvironmentTypeVariant22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.EnvironmentTypeVariant3?), TypeInfoPropertyName = "NullableEnvironmentTypeVariant32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionType?), TypeInfoPropertyName = "NullableCompletionConditionType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionTypeVariant1?), TypeInfoPropertyName = "NullableCompletionConditionTypeVariant12_3")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionTypeVariant2?), TypeInfoPropertyName = "NullableCompletionConditionTypeVariant22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionTypeVariant3?), TypeInfoPropertyName = "NullableCompletionConditionTypeVariant32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionTypeVariant4?), TypeInfoPropertyName = "NullableCompletionConditionTypeVariant42")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionTypeVariant5?), TypeInfoPropertyName = "NullableCompletionConditionTypeVariant52")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionTypeVariant6?), TypeInfoPropertyName = "NullableCompletionConditionTypeVariant62")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionTypeVariant7?), TypeInfoPropertyName = "NullableCompletionConditionTypeVariant72")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionTypeVariant8?), TypeInfoPropertyName = "NullableCompletionConditionTypeVariant82")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionTypeVariant9?), TypeInfoPropertyName = "NullableCompletionConditionTypeVariant92")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionTypeVariant10?), TypeInfoPropertyName = "NullableCompletionConditionTypeVariant102")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionTypeVariant11?), TypeInfoPropertyName = "NullableCompletionConditionTypeVariant112")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionTypeVariant12?), TypeInfoPropertyName = "NullableCompletionConditionTypeVariant122")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionTypeVariant13?), TypeInfoPropertyName = "NullableCompletionConditionTypeVariant132")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionTypeVariant14?), TypeInfoPropertyName = "NullableCompletionConditionTypeVariant142")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionTypeVariant15?), TypeInfoPropertyName = "NullableCompletionConditionTypeVariant152")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionTypeVariant16?), TypeInfoPropertyName = "NullableCompletionConditionTypeVariant162")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.CompletionConditionTypeVariant17?), TypeInfoPropertyName = "NullableCompletionConditionTypeVariant172")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetType?), TypeInfoPropertyName = "NullableWorkoutStepTargetType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant1?), TypeInfoPropertyName = "NullableWorkoutStepTargetTypeVariant12_3")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant2?), TypeInfoPropertyName = "NullableWorkoutStepTargetTypeVariant22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant3?), TypeInfoPropertyName = "NullableWorkoutStepTargetTypeVariant32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant4?), TypeInfoPropertyName = "NullableWorkoutStepTargetTypeVariant42")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant5?), TypeInfoPropertyName = "NullableWorkoutStepTargetTypeVariant52")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant6?), TypeInfoPropertyName = "NullableWorkoutStepTargetTypeVariant62")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant7?), TypeInfoPropertyName = "NullableWorkoutStepTargetTypeVariant72")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant8?), TypeInfoPropertyName = "NullableWorkoutStepTargetTypeVariant82")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant9?), TypeInfoPropertyName = "NullableWorkoutStepTargetTypeVariant92")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant10?), TypeInfoPropertyName = "NullableWorkoutStepTargetTypeVariant102")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant11?), TypeInfoPropertyName = "NullableWorkoutStepTargetTypeVariant112")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant12?), TypeInfoPropertyName = "NullableWorkoutStepTargetTypeVariant122")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant13?), TypeInfoPropertyName = "NullableWorkoutStepTargetTypeVariant132")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant14?), TypeInfoPropertyName = "NullableWorkoutStepTargetTypeVariant142")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant15?), TypeInfoPropertyName = "NullableWorkoutStepTargetTypeVariant152")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant16?), TypeInfoPropertyName = "NullableWorkoutStepTargetTypeVariant162")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant17?), TypeInfoPropertyName = "NullableWorkoutStepTargetTypeVariant172")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant18?), TypeInfoPropertyName = "NullableWorkoutStepTargetTypeVariant182")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepTargetTypeVariant19?), TypeInfoPropertyName = "NullableWorkoutStepTargetTypeVariant192")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepIntensity?), TypeInfoPropertyName = "NullableWorkoutStepIntensity2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepIntensityVariant1?), TypeInfoPropertyName = "NullableWorkoutStepIntensityVariant12")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepIntensityVariant2?), TypeInfoPropertyName = "NullableWorkoutStepIntensityVariant22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepIntensityVariant3?), TypeInfoPropertyName = "NullableWorkoutStepIntensityVariant32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepIntensityVariant4?), TypeInfoPropertyName = "NullableWorkoutStepIntensityVariant42")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutStepIntensityVariant5?), TypeInfoPropertyName = "NullableWorkoutStepIntensityVariant52")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.StepControlType?), TypeInfoPropertyName = "NullableStepControlType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.StepControlTypeVariant1?), TypeInfoPropertyName = "NullableStepControlTypeVariant12")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.StepControlTypeVariant2?), TypeInfoPropertyName = "NullableStepControlTypeVariant22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WeightUnit?), TypeInfoPropertyName = "NullableWeightUnit2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WeightUnitVariant1?), TypeInfoPropertyName = "NullableWeightUnitVariant12")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WeightUnitVariant2?), TypeInfoPropertyName = "NullableWeightUnitVariant22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SwimStrokeType?), TypeInfoPropertyName = "NullableSwimStrokeType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SwimStrokeTypeVariant1?), TypeInfoPropertyName = "NullableSwimStrokeTypeVariant12")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SwimStrokeTypeVariant2?), TypeInfoPropertyName = "NullableSwimStrokeTypeVariant22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SwimStrokeTypeVariant3?), TypeInfoPropertyName = "NullableSwimStrokeTypeVariant32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SwimStrokeTypeVariant4?), TypeInfoPropertyName = "NullableSwimStrokeTypeVariant42")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SwimStrokeTypeVariant5?), TypeInfoPropertyName = "NullableSwimStrokeTypeVariant52")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SwimStrokeTypeVariant6?), TypeInfoPropertyName = "NullableSwimStrokeTypeVariant62")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SwimStrokeTypeVariant7?), TypeInfoPropertyName = "NullableSwimStrokeTypeVariant72")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DrillType?), TypeInfoPropertyName = "NullableDrillType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DrillTypeVariant1?), TypeInfoPropertyName = "NullableDrillTypeVariant12")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DrillTypeVariant2?), TypeInfoPropertyName = "NullableDrillTypeVariant22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.DrillTypeVariant3?), TypeInfoPropertyName = "NullableDrillTypeVariant32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SwimEquipmentType?), TypeInfoPropertyName = "NullableSwimEquipmentType2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SwimEquipmentTypeVariant1?), TypeInfoPropertyName = "NullableSwimEquipmentTypeVariant12")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SwimEquipmentTypeVariant2?), TypeInfoPropertyName = "NullableSwimEquipmentTypeVariant22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SwimEquipmentTypeVariant3?), TypeInfoPropertyName = "NullableSwimEquipmentTypeVariant32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SwimEquipmentTypeVariant4?), TypeInfoPropertyName = "NullableSwimEquipmentTypeVariant42")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SwimEquipmentTypeVariant5?), TypeInfoPropertyName = "NullableSwimEquipmentTypeVariant52")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.SwimEquipmentTypeVariant6?), TypeInfoPropertyName = "NullableSwimEquipmentTypeVariant62")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutSportVariant1?), TypeInfoPropertyName = "NullableWorkoutSportVariant12_3")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutSportVariant2?), TypeInfoPropertyName = "NullableWorkoutSportVariant22")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutSportVariant3?), TypeInfoPropertyName = "NullableWorkoutSportVariant32")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutSportVariant4?), TypeInfoPropertyName = "NullableWorkoutSportVariant42")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutSportVariant5?), TypeInfoPropertyName = "NullableWorkoutSportVariant52")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutSportVariant6?), TypeInfoPropertyName = "NullableWorkoutSportVariant62")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutSportVariant7?), TypeInfoPropertyName = "NullableWorkoutSportVariant72")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutSportVariant8?), TypeInfoPropertyName = "NullableWorkoutSportVariant82")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutSportVariant9?), TypeInfoPropertyName = "NullableWorkoutSportVariant92")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutSportVariant10?), TypeInfoPropertyName = "NullableWorkoutSportVariant102")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutSportVariant11?), TypeInfoPropertyName = "NullableWorkoutSportVariant112")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutSportVariant12?), TypeInfoPropertyName = "NullableWorkoutSportVariant122")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutSportVariant13?), TypeInfoPropertyName = "NullableWorkoutSportVariant132")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutSportVariant14?), TypeInfoPropertyName = "NullableWorkoutSportVariant142")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutSportVariant15?), TypeInfoPropertyName = "NullableWorkoutSportVariant152")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.PlannedWorkoutSportEnum?), TypeInfoPropertyName = "NullablePlannedWorkoutSportEnum2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutsCreateWorkoutResponseStatus?), TypeInfoPropertyName = "NullableWorkoutsCreateWorkoutResponseStatus2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Terra.WorkoutsPlanWorkoutResponseStatus?), TypeInfoPropertyName = "NullableWorkoutsPlanWorkoutResponseStatus2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + internal sealed partial class WorkoutsSourceGenerationContextChunk0 : global::System.Text.Json.Serialization.JsonSerializerContext + { + } + /// + /// + /// + public sealed partial class WorkoutsSourceGenerationContext : 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 WorkoutsSourceGenerationContext Default { get; } = new(DefaultOptions); + + private WorkoutsSourceGenerationContext(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::Terra.JsonConverters.EnvironmentTypeJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.CompletionConditionTypeJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.WorkoutStepTargetTypeJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.WorkoutStepIntensityJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.StepControlTypeJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.WeightUnitJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.SwimStrokeTypeJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.DrillTypeJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.SwimEquipmentTypeJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.WorkoutSportJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.PlannedWorkoutSportJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.JsonConverters.OneOfJsonConverter()); + options.Converters.Add(new global::Terra.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::Terra.EnvironmentTypeVariant1) + + || typeToConvert == typeof(global::Terra.EnvironmentTypeVariant1?) + + || typeToConvert == typeof(global::Terra.EnvironmentTypeVariant2) + + || typeToConvert == typeof(global::Terra.EnvironmentTypeVariant2?) + + || typeToConvert == typeof(global::Terra.EnvironmentTypeVariant3) + + || typeToConvert == typeof(global::Terra.EnvironmentTypeVariant3?) + + || typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant1) + + || typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant1?) + + || typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant2) + + || typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant2?) + + || typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant3) + + || typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant3?) + + || typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant4) + + || typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant4?) + + || typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant5) + + || typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant5?) + + || typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant6) + + || typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant6?) + + || typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant7) + + || typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant7?) + + || typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant8) + + || typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant8?) + + || typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant9) + + || typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant9?) + + || typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant10) + + || typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant10?) + + || typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant11) + + || typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant11?) + + || typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant12) + + || typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant12?) + + || typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant13) + + || typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant13?) + + || typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant14) + + || typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant14?) + + || typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant15) + + || typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant15?) + + || typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant16) + + || typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant16?) + + || typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant17) + + || typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant17?) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant1) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant1?) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant2) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant2?) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant3) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant3?) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant4) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant4?) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant5) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant5?) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant6) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant6?) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant7) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant7?) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant8) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant8?) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant9) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant9?) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant10) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant10?) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant11) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant11?) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant12) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant12?) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant13) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant13?) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant14) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant14?) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant15) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant15?) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant16) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant16?) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant17) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant17?) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant18) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant18?) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant19) + + || typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant19?) + + || typeToConvert == typeof(global::Terra.WorkoutStepIntensityVariant1) + + || typeToConvert == typeof(global::Terra.WorkoutStepIntensityVariant1?) + + || typeToConvert == typeof(global::Terra.WorkoutStepIntensityVariant2) + + || typeToConvert == typeof(global::Terra.WorkoutStepIntensityVariant2?) + + || typeToConvert == typeof(global::Terra.WorkoutStepIntensityVariant3) + + || typeToConvert == typeof(global::Terra.WorkoutStepIntensityVariant3?) + + || typeToConvert == typeof(global::Terra.WorkoutStepIntensityVariant4) + + || typeToConvert == typeof(global::Terra.WorkoutStepIntensityVariant4?) + + || typeToConvert == typeof(global::Terra.WorkoutStepIntensityVariant5) + + || typeToConvert == typeof(global::Terra.WorkoutStepIntensityVariant5?) + + || typeToConvert == typeof(global::Terra.StepControlTypeVariant1) + + || typeToConvert == typeof(global::Terra.StepControlTypeVariant1?) + + || typeToConvert == typeof(global::Terra.StepControlTypeVariant2) + + || typeToConvert == typeof(global::Terra.StepControlTypeVariant2?) + + || typeToConvert == typeof(global::Terra.WeightUnitVariant1) + + || typeToConvert == typeof(global::Terra.WeightUnitVariant1?) + + || typeToConvert == typeof(global::Terra.WeightUnitVariant2) + + || typeToConvert == typeof(global::Terra.WeightUnitVariant2?) + + || typeToConvert == typeof(global::Terra.SwimStrokeTypeVariant1) + + || typeToConvert == typeof(global::Terra.SwimStrokeTypeVariant1?) + + || typeToConvert == typeof(global::Terra.SwimStrokeTypeVariant2) + + || typeToConvert == typeof(global::Terra.SwimStrokeTypeVariant2?) + + || typeToConvert == typeof(global::Terra.SwimStrokeTypeVariant3) + + || typeToConvert == typeof(global::Terra.SwimStrokeTypeVariant3?) + + || typeToConvert == typeof(global::Terra.SwimStrokeTypeVariant4) + + || typeToConvert == typeof(global::Terra.SwimStrokeTypeVariant4?) + + || typeToConvert == typeof(global::Terra.SwimStrokeTypeVariant5) + + || typeToConvert == typeof(global::Terra.SwimStrokeTypeVariant5?) + + || typeToConvert == typeof(global::Terra.SwimStrokeTypeVariant6) + + || typeToConvert == typeof(global::Terra.SwimStrokeTypeVariant6?) + + || typeToConvert == typeof(global::Terra.SwimStrokeTypeVariant7) + + || typeToConvert == typeof(global::Terra.SwimStrokeTypeVariant7?) + + || typeToConvert == typeof(global::Terra.DrillTypeVariant1) + + || typeToConvert == typeof(global::Terra.DrillTypeVariant1?) + + || typeToConvert == typeof(global::Terra.DrillTypeVariant2) + + || typeToConvert == typeof(global::Terra.DrillTypeVariant2?) + + || typeToConvert == typeof(global::Terra.DrillTypeVariant3) + + || typeToConvert == typeof(global::Terra.DrillTypeVariant3?) + + || typeToConvert == typeof(global::Terra.SwimEquipmentTypeVariant1) + + || typeToConvert == typeof(global::Terra.SwimEquipmentTypeVariant1?) + + || typeToConvert == typeof(global::Terra.SwimEquipmentTypeVariant2) + + || typeToConvert == typeof(global::Terra.SwimEquipmentTypeVariant2?) + + || typeToConvert == typeof(global::Terra.SwimEquipmentTypeVariant3) + + || typeToConvert == typeof(global::Terra.SwimEquipmentTypeVariant3?) + + || typeToConvert == typeof(global::Terra.SwimEquipmentTypeVariant4) + + || typeToConvert == typeof(global::Terra.SwimEquipmentTypeVariant4?) + + || typeToConvert == typeof(global::Terra.SwimEquipmentTypeVariant5) + + || typeToConvert == typeof(global::Terra.SwimEquipmentTypeVariant5?) + + || typeToConvert == typeof(global::Terra.SwimEquipmentTypeVariant6) + + || typeToConvert == typeof(global::Terra.SwimEquipmentTypeVariant6?) + + || typeToConvert == typeof(global::Terra.WorkoutSportVariant1) + + || typeToConvert == typeof(global::Terra.WorkoutSportVariant1?) + + || typeToConvert == typeof(global::Terra.WorkoutSportVariant2) + + || typeToConvert == typeof(global::Terra.WorkoutSportVariant2?) + + || typeToConvert == typeof(global::Terra.WorkoutSportVariant3) + + || typeToConvert == typeof(global::Terra.WorkoutSportVariant3?) + + || typeToConvert == typeof(global::Terra.WorkoutSportVariant4) + + || typeToConvert == typeof(global::Terra.WorkoutSportVariant4?) + + || typeToConvert == typeof(global::Terra.WorkoutSportVariant5) + + || typeToConvert == typeof(global::Terra.WorkoutSportVariant5?) + + || typeToConvert == typeof(global::Terra.WorkoutSportVariant6) + + || typeToConvert == typeof(global::Terra.WorkoutSportVariant6?) + + || typeToConvert == typeof(global::Terra.WorkoutSportVariant7) + + || typeToConvert == typeof(global::Terra.WorkoutSportVariant7?) + + || typeToConvert == typeof(global::Terra.WorkoutSportVariant8) + + || typeToConvert == typeof(global::Terra.WorkoutSportVariant8?) + + || typeToConvert == typeof(global::Terra.WorkoutSportVariant9) + + || typeToConvert == typeof(global::Terra.WorkoutSportVariant9?) + + || typeToConvert == typeof(global::Terra.WorkoutSportVariant10) + + || typeToConvert == typeof(global::Terra.WorkoutSportVariant10?) + + || typeToConvert == typeof(global::Terra.WorkoutSportVariant11) + + || typeToConvert == typeof(global::Terra.WorkoutSportVariant11?) + + || typeToConvert == typeof(global::Terra.WorkoutSportVariant12) + + || typeToConvert == typeof(global::Terra.WorkoutSportVariant12?) + + || typeToConvert == typeof(global::Terra.WorkoutSportVariant13) + + || typeToConvert == typeof(global::Terra.WorkoutSportVariant13?) + + || typeToConvert == typeof(global::Terra.WorkoutSportVariant14) + + || typeToConvert == typeof(global::Terra.WorkoutSportVariant14?) + + || typeToConvert == typeof(global::Terra.WorkoutSportVariant15) + + || typeToConvert == typeof(global::Terra.WorkoutSportVariant15?) + + || typeToConvert == typeof(global::Terra.PlannedWorkoutSportEnum) + + || typeToConvert == typeof(global::Terra.PlannedWorkoutSportEnum?) + + || typeToConvert == typeof(global::Terra.WorkoutsCreateWorkoutResponseStatus) + + || typeToConvert == typeof(global::Terra.WorkoutsCreateWorkoutResponseStatus?) + + || typeToConvert == typeof(global::Terra.WorkoutsPlanWorkoutResponseStatus) + + || typeToConvert == typeof(global::Terra.WorkoutsPlanWorkoutResponseStatus?); + } + + public override global::System.Text.Json.Serialization.JsonConverter CreateConverter( + global::System.Type typeToConvert, + global::System.Text.Json.JsonSerializerOptions options) + { + if (typeToConvert == typeof(global::Terra.EnvironmentTypeVariant1)) + { + return new global::Terra.JsonConverters.EnvironmentTypeVariant1JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.EnvironmentTypeVariant1?)) + { + return new global::Terra.JsonConverters.EnvironmentTypeVariant1NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.EnvironmentTypeVariant2)) + { + return new global::Terra.JsonConverters.EnvironmentTypeVariant2JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.EnvironmentTypeVariant2?)) + { + return new global::Terra.JsonConverters.EnvironmentTypeVariant2NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.EnvironmentTypeVariant3)) + { + return new global::Terra.JsonConverters.EnvironmentTypeVariant3JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.EnvironmentTypeVariant3?)) + { + return new global::Terra.JsonConverters.EnvironmentTypeVariant3NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant1)) + { + return new global::Terra.JsonConverters.CompletionConditionTypeVariant1JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant1?)) + { + return new global::Terra.JsonConverters.CompletionConditionTypeVariant1NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant2)) + { + return new global::Terra.JsonConverters.CompletionConditionTypeVariant2JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant2?)) + { + return new global::Terra.JsonConverters.CompletionConditionTypeVariant2NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant3)) + { + return new global::Terra.JsonConverters.CompletionConditionTypeVariant3JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant3?)) + { + return new global::Terra.JsonConverters.CompletionConditionTypeVariant3NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant4)) + { + return new global::Terra.JsonConverters.CompletionConditionTypeVariant4JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant4?)) + { + return new global::Terra.JsonConverters.CompletionConditionTypeVariant4NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant5)) + { + return new global::Terra.JsonConverters.CompletionConditionTypeVariant5JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant5?)) + { + return new global::Terra.JsonConverters.CompletionConditionTypeVariant5NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant6)) + { + return new global::Terra.JsonConverters.CompletionConditionTypeVariant6JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant6?)) + { + return new global::Terra.JsonConverters.CompletionConditionTypeVariant6NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant7)) + { + return new global::Terra.JsonConverters.CompletionConditionTypeVariant7JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant7?)) + { + return new global::Terra.JsonConverters.CompletionConditionTypeVariant7NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant8)) + { + return new global::Terra.JsonConverters.CompletionConditionTypeVariant8JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant8?)) + { + return new global::Terra.JsonConverters.CompletionConditionTypeVariant8NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant9)) + { + return new global::Terra.JsonConverters.CompletionConditionTypeVariant9JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant9?)) + { + return new global::Terra.JsonConverters.CompletionConditionTypeVariant9NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant10)) + { + return new global::Terra.JsonConverters.CompletionConditionTypeVariant10JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant10?)) + { + return new global::Terra.JsonConverters.CompletionConditionTypeVariant10NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant11)) + { + return new global::Terra.JsonConverters.CompletionConditionTypeVariant11JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant11?)) + { + return new global::Terra.JsonConverters.CompletionConditionTypeVariant11NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant12)) + { + return new global::Terra.JsonConverters.CompletionConditionTypeVariant12JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant12?)) + { + return new global::Terra.JsonConverters.CompletionConditionTypeVariant12NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant13)) + { + return new global::Terra.JsonConverters.CompletionConditionTypeVariant13JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant13?)) + { + return new global::Terra.JsonConverters.CompletionConditionTypeVariant13NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant14)) + { + return new global::Terra.JsonConverters.CompletionConditionTypeVariant14JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant14?)) + { + return new global::Terra.JsonConverters.CompletionConditionTypeVariant14NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant15)) + { + return new global::Terra.JsonConverters.CompletionConditionTypeVariant15JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant15?)) + { + return new global::Terra.JsonConverters.CompletionConditionTypeVariant15NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant16)) + { + return new global::Terra.JsonConverters.CompletionConditionTypeVariant16JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant16?)) + { + return new global::Terra.JsonConverters.CompletionConditionTypeVariant16NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant17)) + { + return new global::Terra.JsonConverters.CompletionConditionTypeVariant17JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.CompletionConditionTypeVariant17?)) + { + return new global::Terra.JsonConverters.CompletionConditionTypeVariant17NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant1)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant1JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant1?)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant1NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant2)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant2JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant2?)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant2NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant3)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant3JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant3?)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant3NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant4)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant4JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant4?)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant4NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant5)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant5JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant5?)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant5NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant6)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant6JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant6?)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant6NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant7)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant7JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant7?)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant7NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant8)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant8JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant8?)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant8NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant9)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant9JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant9?)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant9NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant10)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant10JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant10?)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant10NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant11)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant11JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant11?)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant11NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant12)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant12JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant12?)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant12NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant13)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant13JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant13?)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant13NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant14)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant14JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant14?)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant14NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant15)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant15JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant15?)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant15NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant16)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant16JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant16?)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant16NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant17)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant17JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant17?)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant17NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant18)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant18JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant18?)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant18NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant19)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant19JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepTargetTypeVariant19?)) + { + return new global::Terra.JsonConverters.WorkoutStepTargetTypeVariant19NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepIntensityVariant1)) + { + return new global::Terra.JsonConverters.WorkoutStepIntensityVariant1JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepIntensityVariant1?)) + { + return new global::Terra.JsonConverters.WorkoutStepIntensityVariant1NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepIntensityVariant2)) + { + return new global::Terra.JsonConverters.WorkoutStepIntensityVariant2JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepIntensityVariant2?)) + { + return new global::Terra.JsonConverters.WorkoutStepIntensityVariant2NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepIntensityVariant3)) + { + return new global::Terra.JsonConverters.WorkoutStepIntensityVariant3JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepIntensityVariant3?)) + { + return new global::Terra.JsonConverters.WorkoutStepIntensityVariant3NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepIntensityVariant4)) + { + return new global::Terra.JsonConverters.WorkoutStepIntensityVariant4JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepIntensityVariant4?)) + { + return new global::Terra.JsonConverters.WorkoutStepIntensityVariant4NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepIntensityVariant5)) + { + return new global::Terra.JsonConverters.WorkoutStepIntensityVariant5JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutStepIntensityVariant5?)) + { + return new global::Terra.JsonConverters.WorkoutStepIntensityVariant5NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.StepControlTypeVariant1)) + { + return new global::Terra.JsonConverters.StepControlTypeVariant1JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.StepControlTypeVariant1?)) + { + return new global::Terra.JsonConverters.StepControlTypeVariant1NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.StepControlTypeVariant2)) + { + return new global::Terra.JsonConverters.StepControlTypeVariant2JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.StepControlTypeVariant2?)) + { + return new global::Terra.JsonConverters.StepControlTypeVariant2NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WeightUnitVariant1)) + { + return new global::Terra.JsonConverters.WeightUnitVariant1JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WeightUnitVariant1?)) + { + return new global::Terra.JsonConverters.WeightUnitVariant1NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WeightUnitVariant2)) + { + return new global::Terra.JsonConverters.WeightUnitVariant2JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WeightUnitVariant2?)) + { + return new global::Terra.JsonConverters.WeightUnitVariant2NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.SwimStrokeTypeVariant1)) + { + return new global::Terra.JsonConverters.SwimStrokeTypeVariant1JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.SwimStrokeTypeVariant1?)) + { + return new global::Terra.JsonConverters.SwimStrokeTypeVariant1NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.SwimStrokeTypeVariant2)) + { + return new global::Terra.JsonConverters.SwimStrokeTypeVariant2JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.SwimStrokeTypeVariant2?)) + { + return new global::Terra.JsonConverters.SwimStrokeTypeVariant2NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.SwimStrokeTypeVariant3)) + { + return new global::Terra.JsonConverters.SwimStrokeTypeVariant3JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.SwimStrokeTypeVariant3?)) + { + return new global::Terra.JsonConverters.SwimStrokeTypeVariant3NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.SwimStrokeTypeVariant4)) + { + return new global::Terra.JsonConverters.SwimStrokeTypeVariant4JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.SwimStrokeTypeVariant4?)) + { + return new global::Terra.JsonConverters.SwimStrokeTypeVariant4NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.SwimStrokeTypeVariant5)) + { + return new global::Terra.JsonConverters.SwimStrokeTypeVariant5JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.SwimStrokeTypeVariant5?)) + { + return new global::Terra.JsonConverters.SwimStrokeTypeVariant5NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.SwimStrokeTypeVariant6)) + { + return new global::Terra.JsonConverters.SwimStrokeTypeVariant6JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.SwimStrokeTypeVariant6?)) + { + return new global::Terra.JsonConverters.SwimStrokeTypeVariant6NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.SwimStrokeTypeVariant7)) + { + return new global::Terra.JsonConverters.SwimStrokeTypeVariant7JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.SwimStrokeTypeVariant7?)) + { + return new global::Terra.JsonConverters.SwimStrokeTypeVariant7NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.DrillTypeVariant1)) + { + return new global::Terra.JsonConverters.DrillTypeVariant1JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.DrillTypeVariant1?)) + { + return new global::Terra.JsonConverters.DrillTypeVariant1NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.DrillTypeVariant2)) + { + return new global::Terra.JsonConverters.DrillTypeVariant2JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.DrillTypeVariant2?)) + { + return new global::Terra.JsonConverters.DrillTypeVariant2NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.DrillTypeVariant3)) + { + return new global::Terra.JsonConverters.DrillTypeVariant3JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.DrillTypeVariant3?)) + { + return new global::Terra.JsonConverters.DrillTypeVariant3NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.SwimEquipmentTypeVariant1)) + { + return new global::Terra.JsonConverters.SwimEquipmentTypeVariant1JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.SwimEquipmentTypeVariant1?)) + { + return new global::Terra.JsonConverters.SwimEquipmentTypeVariant1NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.SwimEquipmentTypeVariant2)) + { + return new global::Terra.JsonConverters.SwimEquipmentTypeVariant2JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.SwimEquipmentTypeVariant2?)) + { + return new global::Terra.JsonConverters.SwimEquipmentTypeVariant2NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.SwimEquipmentTypeVariant3)) + { + return new global::Terra.JsonConverters.SwimEquipmentTypeVariant3JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.SwimEquipmentTypeVariant3?)) + { + return new global::Terra.JsonConverters.SwimEquipmentTypeVariant3NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.SwimEquipmentTypeVariant4)) + { + return new global::Terra.JsonConverters.SwimEquipmentTypeVariant4JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.SwimEquipmentTypeVariant4?)) + { + return new global::Terra.JsonConverters.SwimEquipmentTypeVariant4NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.SwimEquipmentTypeVariant5)) + { + return new global::Terra.JsonConverters.SwimEquipmentTypeVariant5JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.SwimEquipmentTypeVariant5?)) + { + return new global::Terra.JsonConverters.SwimEquipmentTypeVariant5NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.SwimEquipmentTypeVariant6)) + { + return new global::Terra.JsonConverters.SwimEquipmentTypeVariant6JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.SwimEquipmentTypeVariant6?)) + { + return new global::Terra.JsonConverters.SwimEquipmentTypeVariant6NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutSportVariant1)) + { + return new global::Terra.JsonConverters.WorkoutSportVariant1JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutSportVariant1?)) + { + return new global::Terra.JsonConverters.WorkoutSportVariant1NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutSportVariant2)) + { + return new global::Terra.JsonConverters.WorkoutSportVariant2JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutSportVariant2?)) + { + return new global::Terra.JsonConverters.WorkoutSportVariant2NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutSportVariant3)) + { + return new global::Terra.JsonConverters.WorkoutSportVariant3JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutSportVariant3?)) + { + return new global::Terra.JsonConverters.WorkoutSportVariant3NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutSportVariant4)) + { + return new global::Terra.JsonConverters.WorkoutSportVariant4JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutSportVariant4?)) + { + return new global::Terra.JsonConverters.WorkoutSportVariant4NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutSportVariant5)) + { + return new global::Terra.JsonConverters.WorkoutSportVariant5JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutSportVariant5?)) + { + return new global::Terra.JsonConverters.WorkoutSportVariant5NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutSportVariant6)) + { + return new global::Terra.JsonConverters.WorkoutSportVariant6JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutSportVariant6?)) + { + return new global::Terra.JsonConverters.WorkoutSportVariant6NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutSportVariant7)) + { + return new global::Terra.JsonConverters.WorkoutSportVariant7JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutSportVariant7?)) + { + return new global::Terra.JsonConverters.WorkoutSportVariant7NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutSportVariant8)) + { + return new global::Terra.JsonConverters.WorkoutSportVariant8JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutSportVariant8?)) + { + return new global::Terra.JsonConverters.WorkoutSportVariant8NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutSportVariant9)) + { + return new global::Terra.JsonConverters.WorkoutSportVariant9JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutSportVariant9?)) + { + return new global::Terra.JsonConverters.WorkoutSportVariant9NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutSportVariant10)) + { + return new global::Terra.JsonConverters.WorkoutSportVariant10JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutSportVariant10?)) + { + return new global::Terra.JsonConverters.WorkoutSportVariant10NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutSportVariant11)) + { + return new global::Terra.JsonConverters.WorkoutSportVariant11JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutSportVariant11?)) + { + return new global::Terra.JsonConverters.WorkoutSportVariant11NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutSportVariant12)) + { + return new global::Terra.JsonConverters.WorkoutSportVariant12JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutSportVariant12?)) + { + return new global::Terra.JsonConverters.WorkoutSportVariant12NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutSportVariant13)) + { + return new global::Terra.JsonConverters.WorkoutSportVariant13JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutSportVariant13?)) + { + return new global::Terra.JsonConverters.WorkoutSportVariant13NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutSportVariant14)) + { + return new global::Terra.JsonConverters.WorkoutSportVariant14JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutSportVariant14?)) + { + return new global::Terra.JsonConverters.WorkoutSportVariant14NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutSportVariant15)) + { + return new global::Terra.JsonConverters.WorkoutSportVariant15JsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutSportVariant15?)) + { + return new global::Terra.JsonConverters.WorkoutSportVariant15NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.PlannedWorkoutSportEnum)) + { + return new global::Terra.JsonConverters.PlannedWorkoutSportEnumJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.PlannedWorkoutSportEnum?)) + { + return new global::Terra.JsonConverters.PlannedWorkoutSportEnumNullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutsCreateWorkoutResponseStatus)) + { + return new global::Terra.JsonConverters.WorkoutsCreateWorkoutResponseStatusJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutsCreateWorkoutResponseStatus?)) + { + return new global::Terra.JsonConverters.WorkoutsCreateWorkoutResponseStatusNullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutsPlanWorkoutResponseStatus)) + { + return new global::Terra.JsonConverters.WorkoutsPlanWorkoutResponseStatusJsonConverter(); + } + + if (typeToConvert == typeof(global::Terra.WorkoutsPlanWorkoutResponseStatus?)) + { + return new global::Terra.JsonConverters.WorkoutsPlanWorkoutResponseStatusNullableJsonConverter(); + } + 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 WorkoutsSourceGenerationContextChunk0(new global::System.Text.Json.JsonSerializerOptions()), + _ => throw new global::System.ArgumentOutOfRangeException(nameof(index)), + }; + } + } + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.WorkoutsClient.Authorizations.Bearer.g.cs b/src/libs/Terra/Generated/Terra.WorkoutsClient.Authorizations.Bearer.g.cs new file mode 100644 index 0000000..c7fc570 --- /dev/null +++ b/src/libs/Terra/Generated/Terra.WorkoutsClient.Authorizations.Bearer.g.cs @@ -0,0 +1,35 @@ + +#nullable enable + +namespace Terra +{ + public sealed partial class WorkoutsClient + { + + /// + public void AuthorizeUsingBearer( + 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 == "Bearer") + { + Authorizations.RemoveAt(i); + } + } + + Authorizations.Add(new global::Terra.EndPointAuthorization + { + Type = "Http", + SchemeId = "HttpBearer", + Location = "Header", + Name = "Bearer", + Value = apiKey, + }); + } + } +} \ No newline at end of file diff --git a/src/libs/Terra/Generated/Terra.WorkoutsClient.Constructors.Bearer.g.cs b/src/libs/Terra/Generated/Terra.WorkoutsClient.Constructors.Bearer.g.cs new file mode 100644 index 0000000..2914b4c --- /dev/null +++ b/src/libs/Terra/Generated/Terra.WorkoutsClient.Constructors.Bearer.g.cs @@ -0,0 +1,31 @@ + +#nullable enable + +namespace Terra +{ + public sealed partial class WorkoutsClient + { + /// + + public WorkoutsClient( + 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); + + AuthorizeUsingBearer(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/Terra/Generated/Terra.WorkoutsClient.g.cs b/src/libs/Terra/Generated/Terra.WorkoutsClient.g.cs index 9175e2b..af5dbe0 100644 --- a/src/libs/Terra/Generated/Terra.WorkoutsClient.g.cs +++ b/src/libs/Terra/Generated/Terra.WorkoutsClient.g.cs @@ -34,7 +34,7 @@ public sealed partial class WorkoutsClient : global::Terra.IWorkoutsClient, glob /// public global::Terra.AutoSDKClientOptions Options { get; } - internal global::System.Lazy JsonSerializerContextProvider { get; set; } = new(() => global::Terra.SourceGenerationContext.Default); + internal global::System.Lazy JsonSerializerContextProvider { get; set; } = new(() => global::Terra.WorkoutsSourceGenerationContext.Default); /// ///