Files
WotBlitzStatisticsBlazor/WotBlitzStatisticsPro.GraphQl/Mutation/WotBlitzStatisticsMutation.cs
T

49 lines
1.9 KiB
C#

using System.Threading.Tasks;
using HotChocolate.AspNetCore.Authorization;
using HotChocolate.Types;
using WotBlitzStatisticsPro.Common.Model;
using WotBlitzStatisticsPro.Logic;
namespace WotBlitzStatisticsPro.GraphQl.Mutation
{
/// <summary>
/// WotBlitzStatistics Mutations
/// </summary>
[ExtendObjectType(Name = "Mutation")]
public class WotBlitzStatisticsMutation
{
private readonly IWargamingDictionaries _wargamingDictionaries;
private readonly IWargamingAccounts _wargamingAccounts;
public WotBlitzStatisticsMutation(IWargamingDictionaries wargamingDictionaries,
IWargamingAccounts wargamingAccounts)
{
_wargamingDictionaries = wargamingDictionaries;
_wargamingAccounts = wargamingAccounts;
}
/// <summary>
/// Updates the necessary dictionaries in database.
/// </summary>
/// <param name="updateDictionariesRequest">Determines what dictionaries should be updated.</param>
/// <returns>Information about what was updated.</returns>
[Authorize(Policy = "GithubMbogaOnly")]
public Task<UpdateDictionariesResponseItem[]> UpdateDictionaries(
UpdateDictionariesRequest updateDictionariesRequest)
{
return _wargamingDictionaries.UpdateDictionaries(updateDictionariesRequest);
}
/// <summary>
/// Gathers all account information
/// </summary>
/// <param name="realmType">Account region</param>
/// <param name="accountId">AccountId</param>
/// <param name="requestLanguage">Request language</param>
/// <returns></returns>
public Task<AccountInfoResponse> GatherAccountInformation(RealmType realmType, long accountId, RequestLanguage requestLanguage)
{
return _wargamingAccounts.GatherAndSaveAccountInformation(realmType, accountId, requestLanguage);
}
}
}