mirror of
https://github.com/DrMboga/WotBlitzStatisticsBlazor.git
synced 2026-10-21 10:27:18 +02:00
202 lines
15 KiB
C#
202 lines
15 KiB
C#
// <auto-generated/>
|
|
#nullable enable
|
|
|
|
namespace WotBlitzStatisticsPro.Blazor.GraphQl.State
|
|
{
|
|
[global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")]
|
|
public partial class PlayerBuilder : global::StrawberryShake.IOperationResultBuilder<global::System.Text.Json.JsonDocument, global::WotBlitzStatisticsPro.Blazor.GraphQl.IPlayerResult>
|
|
{
|
|
private readonly global::StrawberryShake.IEntityStore _entityStore;
|
|
private readonly global::StrawberryShake.IEntityIdSerializer _idSerializer;
|
|
private readonly global::StrawberryShake.IOperationResultDataFactory<global::WotBlitzStatisticsPro.Blazor.GraphQl.IPlayerResult> _resultDataFactory;
|
|
private readonly global::StrawberryShake.Serialization.ILeafValueParser<global::System.String, global::WotBlitzStatisticsPro.Blazor.GraphQl.RealmType> _realmTypeParser;
|
|
private readonly global::StrawberryShake.Serialization.ILeafValueParser<global::System.String, global::WotBlitzStatisticsPro.Blazor.GraphQl.RequestLanguage> _requestLanguageParser;
|
|
private readonly global::StrawberryShake.Serialization.ILeafValueParser<global::System.Int64, global::System.Int64> _longParser;
|
|
private readonly global::StrawberryShake.Serialization.ILeafValueParser<global::System.String, global::System.String> _stringParser;
|
|
private readonly global::StrawberryShake.Serialization.ILeafValueParser<global::System.String, global::System.DateTimeOffset> _dateTimeParser;
|
|
private readonly global::StrawberryShake.Serialization.ILeafValueParser<global::System.Decimal, global::System.Decimal> _decimalParser;
|
|
private readonly global::StrawberryShake.Serialization.ILeafValueParser<global::System.Double, global::System.Double> _floatParser;
|
|
private readonly global::StrawberryShake.Serialization.ILeafValueParser<global::System.Int32, global::System.Int32> _intParser;
|
|
private readonly global::StrawberryShake.Serialization.ILeafValueParser<global::System.Boolean, global::System.Boolean> _booleanParser;
|
|
public PlayerBuilder(global::StrawberryShake.IEntityStore entityStore, global::StrawberryShake.IEntityIdSerializer idSerializer, global::StrawberryShake.IOperationResultDataFactory<global::WotBlitzStatisticsPro.Blazor.GraphQl.IPlayerResult> resultDataFactory, global::StrawberryShake.Serialization.ISerializerResolver serializerResolver)
|
|
{
|
|
_entityStore = entityStore ?? throw new global::System.ArgumentNullException(nameof(entityStore));
|
|
_idSerializer = idSerializer ?? throw new global::System.ArgumentNullException(nameof(idSerializer));
|
|
_resultDataFactory = resultDataFactory ?? throw new global::System.ArgumentNullException(nameof(resultDataFactory));
|
|
_realmTypeParser = serializerResolver.GetLeafValueParser<global::System.String, global::WotBlitzStatisticsPro.Blazor.GraphQl.RealmType>("RealmType") ?? throw new global::System.ArgumentException("No serializer for type `RealmType` found.");
|
|
_requestLanguageParser = serializerResolver.GetLeafValueParser<global::System.String, global::WotBlitzStatisticsPro.Blazor.GraphQl.RequestLanguage>("RequestLanguage") ?? throw new global::System.ArgumentException("No serializer for type `RequestLanguage` found.");
|
|
_longParser = serializerResolver.GetLeafValueParser<global::System.Int64, global::System.Int64>("Long") ?? throw new global::System.ArgumentException("No serializer for type `Long` found.");
|
|
_stringParser = serializerResolver.GetLeafValueParser<global::System.String, global::System.String>("String") ?? throw new global::System.ArgumentException("No serializer for type `String` found.");
|
|
_dateTimeParser = serializerResolver.GetLeafValueParser<global::System.String, global::System.DateTimeOffset>("DateTime") ?? throw new global::System.ArgumentException("No serializer for type `DateTime` found.");
|
|
_decimalParser = serializerResolver.GetLeafValueParser<global::System.Decimal, global::System.Decimal>("Decimal") ?? throw new global::System.ArgumentException("No serializer for type `Decimal` found.");
|
|
_floatParser = serializerResolver.GetLeafValueParser<global::System.Double, global::System.Double>("Float") ?? throw new global::System.ArgumentException("No serializer for type `Float` found.");
|
|
_intParser = serializerResolver.GetLeafValueParser<global::System.Int32, global::System.Int32>("Int") ?? throw new global::System.ArgumentException("No serializer for type `Int` found.");
|
|
_booleanParser = serializerResolver.GetLeafValueParser<global::System.Boolean, global::System.Boolean>("Boolean") ?? throw new global::System.ArgumentException("No serializer for type `Boolean` found.");
|
|
}
|
|
|
|
public global::StrawberryShake.IOperationResult<IPlayerResult> Build(global::StrawberryShake.Response<global::System.Text.Json.JsonDocument> response)
|
|
{
|
|
(IPlayerResult Result, PlayerResultInfo Info)? data = null;
|
|
global::System.Collections.Generic.IReadOnlyList<global::StrawberryShake.IClientError>? errors = null;
|
|
if (response.Exception is null)
|
|
{
|
|
try
|
|
{
|
|
if (response.Body != null)
|
|
{
|
|
if (response.Body.RootElement.TryGetProperty("data", out global::System.Text.Json.JsonElement dataElement) && dataElement.ValueKind == global::System.Text.Json.JsonValueKind.Object)
|
|
{
|
|
data = BuildData(dataElement);
|
|
}
|
|
|
|
if (response.Body.RootElement.TryGetProperty("errors", out global::System.Text.Json.JsonElement errorsElement))
|
|
{
|
|
errors = global::StrawberryShake.Json.JsonErrorParser.ParseErrors(errorsElement);
|
|
}
|
|
}
|
|
}
|
|
catch (global::System.Exception ex)
|
|
{
|
|
errors = new global::StrawberryShake.IClientError[]{new global::StrawberryShake.ClientError(ex.Message, exception: ex, extensions: new global::System.Collections.Generic.Dictionary<global::System.String, global::System.Object?>{{"body", response.Body?.RootElement.ToString()}})};
|
|
}
|
|
}
|
|
else
|
|
{
|
|
errors = new global::StrawberryShake.IClientError[]{new global::StrawberryShake.ClientError(response.Exception.Message, exception: response.Exception, extensions: new global::System.Collections.Generic.Dictionary<global::System.String, global::System.Object?>{{"body", response.Body?.RootElement.ToString()}})};
|
|
}
|
|
|
|
return new global::StrawberryShake.OperationResult<IPlayerResult>(data?.Result, data?.Info, _resultDataFactory, errors);
|
|
}
|
|
|
|
private (IPlayerResult, PlayerResultInfo) BuildData(global::System.Text.Json.JsonElement obj)
|
|
{
|
|
var entityIds = new global::System.Collections.Generic.HashSet<global::StrawberryShake.EntityId>();
|
|
global::StrawberryShake.IEntityStoreSnapshot snapshot = default !;
|
|
_entityStore.Update(session =>
|
|
{
|
|
snapshot = session.CurrentSnapshot;
|
|
});
|
|
var resultInfo = new PlayerResultInfo(DeserializeNonNullableIPlayer_AccountInfo(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "accountInfo")), entityIds, snapshot.Version);
|
|
return (_resultDataFactory.Create(resultInfo), resultInfo);
|
|
}
|
|
|
|
private global::WotBlitzStatisticsPro.Blazor.GraphQl.State.AccountInfoResponseData DeserializeNonNullableIPlayer_AccountInfo(global::System.Text.Json.JsonElement? obj)
|
|
{
|
|
if (!obj.HasValue)
|
|
{
|
|
throw new global::System.ArgumentNullException();
|
|
}
|
|
|
|
var typename = obj.Value.GetProperty("__typename").GetString();
|
|
if (typename?.Equals("AccountInfoResponse", global::System.StringComparison.Ordinal) ?? false)
|
|
{
|
|
return new global::WotBlitzStatisticsPro.Blazor.GraphQl.State.AccountInfoResponseData(typename, accountId: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "accountId")), nickname: DeserializeString(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "nickname")), createdAt: DeserializeNonNullableDateTimeOffset(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "createdAt")), lastBattleTime: DeserializeNonNullableDateTimeOffset(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "lastBattleTime")), battles: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "battles")), winRate: DeserializeNonNullableDecimal(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "winRate")), avgDamage: DeserializeNonNullableDecimal(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "avgDamage")), avgXp: DeserializeNonNullableDecimal(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "avgXp")), avgTier: DeserializeNonNullableDouble(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "avgTier")), damageCoefficient: DeserializeNonNullableDecimal(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "damageCoefficient")), survivalRate: DeserializeNonNullableDecimal(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "survivalRate")), tanks: DeserializeIPlayer_AccountInfo_TanksNonNullableArray(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "tanks")));
|
|
}
|
|
|
|
throw new global::System.NotSupportedException();
|
|
}
|
|
|
|
private global::System.Int64 DeserializeNonNullableInt64(global::System.Text.Json.JsonElement? obj)
|
|
{
|
|
if (!obj.HasValue)
|
|
{
|
|
throw new global::System.ArgumentNullException();
|
|
}
|
|
|
|
return _longParser.Parse(obj.Value.GetInt64()!);
|
|
}
|
|
|
|
private global::System.String? DeserializeString(global::System.Text.Json.JsonElement? obj)
|
|
{
|
|
if (!obj.HasValue)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
return _stringParser.Parse(obj.Value.GetString()!);
|
|
}
|
|
|
|
private global::System.DateTimeOffset DeserializeNonNullableDateTimeOffset(global::System.Text.Json.JsonElement? obj)
|
|
{
|
|
if (!obj.HasValue)
|
|
{
|
|
throw new global::System.ArgumentNullException();
|
|
}
|
|
|
|
return _dateTimeParser.Parse(obj.Value.GetString()!);
|
|
}
|
|
|
|
private global::System.Decimal DeserializeNonNullableDecimal(global::System.Text.Json.JsonElement? obj)
|
|
{
|
|
if (!obj.HasValue)
|
|
{
|
|
throw new global::System.ArgumentNullException();
|
|
}
|
|
|
|
return _decimalParser.Parse(obj.Value.GetDecimal()!);
|
|
}
|
|
|
|
private global::System.Double DeserializeNonNullableDouble(global::System.Text.Json.JsonElement? obj)
|
|
{
|
|
if (!obj.HasValue)
|
|
{
|
|
throw new global::System.ArgumentNullException();
|
|
}
|
|
|
|
return _floatParser.Parse(obj.Value.GetDouble()!);
|
|
}
|
|
|
|
private global::System.Collections.Generic.IReadOnlyList<global::WotBlitzStatisticsPro.Blazor.GraphQl.State.TankInfoResponseData>? DeserializeIPlayer_AccountInfo_TanksNonNullableArray(global::System.Text.Json.JsonElement? obj)
|
|
{
|
|
if (!obj.HasValue)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
var tankInfoResponses = new global::System.Collections.Generic.List<global::WotBlitzStatisticsPro.Blazor.GraphQl.State.TankInfoResponseData>();
|
|
foreach (global::System.Text.Json.JsonElement child in obj.Value.EnumerateArray())
|
|
{
|
|
tankInfoResponses.Add(DeserializeNonNullableIPlayer_AccountInfo_Tanks(child));
|
|
}
|
|
|
|
return tankInfoResponses;
|
|
}
|
|
|
|
private global::WotBlitzStatisticsPro.Blazor.GraphQl.State.TankInfoResponseData DeserializeNonNullableIPlayer_AccountInfo_Tanks(global::System.Text.Json.JsonElement? obj)
|
|
{
|
|
if (!obj.HasValue)
|
|
{
|
|
throw new global::System.ArgumentNullException();
|
|
}
|
|
|
|
var typename = obj.Value.GetProperty("__typename").GetString();
|
|
if (typename?.Equals("TankInfoResponse", global::System.StringComparison.Ordinal) ?? false)
|
|
{
|
|
return new global::WotBlitzStatisticsPro.Blazor.GraphQl.State.TankInfoResponseData(typename, tankId: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "tankId")), name: DeserializeString(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "name")), tankNation: DeserializeString(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "tankNation")), tankType: DeserializeString(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "tankType")), tier: DeserializeNonNullableInt32(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "tier")), isPremium: DeserializeNonNullableBoolean(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "isPremium")), lastBattleTime: DeserializeNonNullableDateTimeOffset(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "lastBattleTime")), battles: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "battles")), winRate: DeserializeNonNullableDecimal(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "winRate")), avgDamage: DeserializeNonNullableDecimal(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "avgDamage")), avgXp: DeserializeNonNullableDecimal(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "avgXp")), avgBattleLifeTimeInMinutes: DeserializeNonNullableDecimal(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "avgBattleLifeTimeInMinutes")), damageCoefficient: DeserializeNonNullableDecimal(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "damageCoefficient")), survivalRate: DeserializeNonNullableDecimal(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "survivalRate")));
|
|
}
|
|
|
|
throw new global::System.NotSupportedException();
|
|
}
|
|
|
|
private global::System.Int32 DeserializeNonNullableInt32(global::System.Text.Json.JsonElement? obj)
|
|
{
|
|
if (!obj.HasValue)
|
|
{
|
|
throw new global::System.ArgumentNullException();
|
|
}
|
|
|
|
return _intParser.Parse(obj.Value.GetInt32()!);
|
|
}
|
|
|
|
private global::System.Boolean DeserializeNonNullableBoolean(global::System.Text.Json.JsonElement? obj)
|
|
{
|
|
if (!obj.HasValue)
|
|
{
|
|
throw new global::System.ArgumentNullException();
|
|
}
|
|
|
|
return _booleanParser.Parse(obj.Value.GetBoolean()!);
|
|
}
|
|
}
|
|
}
|