diff --git a/WotBlitzStatisticsPro.Common/Model/AccountInfoResponse.cs b/WotBlitzStatisticsPro.Common/Model/AccountInfoResponse.cs
index 8d2d0c8..2a42e6d 100644
--- a/WotBlitzStatisticsPro.Common/Model/AccountInfoResponse.cs
+++ b/WotBlitzStatisticsPro.Common/Model/AccountInfoResponse.cs
@@ -168,5 +168,9 @@ namespace WotBlitzStatisticsPro.Common.Model
///
public ClanInfoResponse? ClanInfo { get; set; }
- }
+ ///
+ /// Account Region and request language
+ ///
+ public RealmAndLanguage RegionAndLanguage { get; set; } = new(RealmType.Eu, RequestLanguage.En);
+ }
}
\ No newline at end of file
diff --git a/WotBlitzStatisticsPro.GraphQl/Helpers/ParametersParser.cs b/WotBlitzStatisticsPro.GraphQl/Helpers/ParametersParser.cs
deleted file mode 100644
index bffde51..0000000
--- a/WotBlitzStatisticsPro.GraphQl/Helpers/ParametersParser.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-using System;
-using System.Linq;
-using HotChocolate.Language;
-using WotBlitzStatisticsPro.Common.Model;
-
-namespace WotBlitzStatisticsPro.GraphQl.Helpers
-{
- public static class ParametersParser
- {
- private const RealmType DefaultRealm = RealmType.Ru;
- private const RequestLanguage DefaultRequestLanguage = RequestLanguage.En;
-
- public static RealmAndLanguage ParseOperation(this OperationDefinitionNode operationDefinition)
- {
- var realm = DefaultRealm;
- var language = DefaultRequestLanguage;
- var selections = operationDefinition?.SelectionSet.Selections.ToArray();
- if (selections != null && selections.Length == 1)
- {
- var node = selections[0] as FieldNode;
- if (node?.Arguments != null)
- {
- foreach (var argument in node.Arguments.Where(a => a != null))
- {
- switch (argument.Name.Value)
- {
- case "realmType" when argument?.Value?.Value != null:
- realm = (RealmType)Enum.Parse(typeof(RealmType), argument.Value.Value.ToString() ?? "Ru", true);
- break;
- case "requestLanguage" when argument?.Value?.Value != null:
- language = (RequestLanguage)Enum.Parse(typeof(RequestLanguage), argument.Value.Value.ToString() ?? "En", true);
- break;
- }
- }
- }
- }
-
- return new (realm, language);
- }
-
- }
-}
\ No newline at end of file
diff --git a/WotBlitzStatisticsPro.GraphQl/Resolvers/AccountInfoResolver.cs b/WotBlitzStatisticsPro.GraphQl/Resolvers/AccountInfoResolver.cs
index 43a9a1d..4ea9c73 100644
--- a/WotBlitzStatisticsPro.GraphQl/Resolvers/AccountInfoResolver.cs
+++ b/WotBlitzStatisticsPro.GraphQl/Resolvers/AccountInfoResolver.cs
@@ -1,6 +1,5 @@
using HotChocolate.Types;
using WotBlitzStatisticsPro.Common.Model;
-using WotBlitzStatisticsPro.GraphQl.Helpers;
using WotBlitzStatisticsPro.Logic;
namespace WotBlitzStatisticsPro.GraphQl.Resolvers
@@ -11,8 +10,7 @@ namespace WotBlitzStatisticsPro.GraphQl.Resolvers
protected override void Configure(IObjectTypeDescriptor descriptor)
{
descriptor.Field(t => t.ClanInfo)
- .Resolver(ctx => ctx.Service().GelClanInfoByAccount(ctx.Parent().AccountId, ctx.Operation.ParseOperation()));
-
+ .Resolver(ctx => ctx.Service().GelClanInfoByAccount(ctx.Parent().AccountId, ctx.Parent().RegionAndLanguage));
}
}
}
\ No newline at end of file
diff --git a/WotBlitzStatisticsPro.GraphQl/WotBlitzStatisticsPro.GraphQl.csproj b/WotBlitzStatisticsPro.GraphQl/WotBlitzStatisticsPro.GraphQl.csproj
index 94b5034..8b0f42b 100644
--- a/WotBlitzStatisticsPro.GraphQl/WotBlitzStatisticsPro.GraphQl.csproj
+++ b/WotBlitzStatisticsPro.GraphQl/WotBlitzStatisticsPro.GraphQl.csproj
@@ -28,6 +28,7 @@
+
diff --git a/WotBlitzStatisticsPro.Logic/AccountInformationPipeline/Operations/BuildAccountInfoResponseOperation.cs b/WotBlitzStatisticsPro.Logic/AccountInformationPipeline/Operations/BuildAccountInfoResponseOperation.cs
index 39944fd..480d8fd 100644
--- a/WotBlitzStatisticsPro.Logic/AccountInformationPipeline/Operations/BuildAccountInfoResponseOperation.cs
+++ b/WotBlitzStatisticsPro.Logic/AccountInformationPipeline/Operations/BuildAccountInfoResponseOperation.cs
@@ -46,6 +46,9 @@ namespace WotBlitzStatisticsPro.Logic.AccountInformationPipeline.Operations
contextData.Response = _mapper.Map(contextData.AccountInfo);
contextData.Response = _mapper.Map(contextData.AccountInfoHistory, contextData.Response);
+ contextData.Response.RegionAndLanguage =
+ new RealmAndLanguage(context.Request.RealmType, context.Request.RequestLanguage);
+
var tankIds = contextData.Tanks.Select(t => t.TankId).ToArray();
var vehicles = await _dictionariesDataAccessor.GetVehicles(tankIds);