mirror of
https://github.com/DrMboga/WotBlitzStatisticsBlazor.git
synced 2026-10-21 10:27:18 +02:00
Ditionaries Mutation beginning
This commit is contained in:
1 parent
5b88704edf
commit
3f4fdadb65
10 files changed
+154
-1
No files matched your search
@@ -0,0 +1,31 @@
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using WotBlitzStatistics.Logic;
|
||||
using WotBlitzStatisticsPro.Common.Model;
|
||||
|
||||
namespace WotBlitzStatistics.GraphQl.Mutation
|
||||
{
|
||||
/// <summary>
|
||||
/// WotBlitzStatistics Mutations
|
||||
/// </summary>
|
||||
public class WotBlitzStatisticsMutation
|
||||
{
|
||||
private readonly IWargamingDictionaries _wargamingDictionaries;
|
||||
|
||||
public WotBlitzStatisticsMutation(IWargamingDictionaries wargamingDictionaries)
|
||||
{
|
||||
_wargamingDictionaries = wargamingDictionaries;
|
||||
}
|
||||
|
||||
/// <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>
|
||||
public Task<UpdateDictionariesResponseItem[]> UpdateDictionaries(
|
||||
UpdateDictionariesRequest updateDictionariesRequest)
|
||||
{
|
||||
return _wargamingDictionaries.UpdateDictionaries(updateDictionariesRequest);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7,6 +7,9 @@ namespace WotBlitzStatistics.GraphQl.Query
|
||||
{
|
||||
public class WotBlitzStatisticsQuery
|
||||
{
|
||||
// 571050560 - mboga Eu
|
||||
// 90277267 - Mboga Ru
|
||||
|
||||
private readonly IWargamingSearch _wargamingSearcher;
|
||||
|
||||
public WotBlitzStatisticsQuery(IWargamingSearch wargamingSearcher)
|
||||
|
||||
@@ -6,6 +6,7 @@ using Microsoft.AspNetCore.Builder;
|
||||
using Microsoft.AspNetCore.Hosting;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using WotBlitzStatistics.GraphQl.Mutation;
|
||||
using WotBlitzStatistics.GraphQl.ObjectTypes;
|
||||
using WotBlitzStatistics.GraphQl.Query;
|
||||
using WotBlitzStatistics.Logic;
|
||||
@@ -49,7 +50,7 @@ namespace WotBlitzStatistics.GraphQl
|
||||
.AddAuthorizeDirectiveType()
|
||||
|
||||
.AddQueryType<WotBlitzStatisticsQuery>()
|
||||
//.AddMutationType<MutationType>()
|
||||
.AddMutationType<WotBlitzStatisticsMutation>()
|
||||
//.AddSubscriptionType<SubscriptionType>()
|
||||
.AddType<AccountsSearchItemObjectType>()
|
||||
.AddType<AccountsSearchObjectType>()
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
using System.Threading.Tasks;
|
||||
using WotBlitzStatisticsPro.Common.Model;
|
||||
|
||||
namespace WotBlitzStatistics.Logic
|
||||
{
|
||||
public interface IWargamingDictionaries
|
||||
{
|
||||
Task<UpdateDictionariesResponseItem[]> UpdateDictionaries(
|
||||
UpdateDictionariesRequest updateDictionariesRequest);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
using System.Threading.Tasks;
|
||||
using WotBlitzStatisticsPro.Common.Model;
|
||||
|
||||
namespace WotBlitzStatistics.Logic
|
||||
{
|
||||
public class WargamingDictionaries: IWargamingDictionaries
|
||||
{
|
||||
public Task<UpdateDictionariesResponseItem[]> UpdateDictionaries(UpdateDictionariesRequest updateDictionariesRequest)
|
||||
{
|
||||
if ((updateDictionariesRequest.DictionaryTypes & DictionaryType.StaticDictionaries) != 0)
|
||||
{
|
||||
// Update static
|
||||
}
|
||||
if ((updateDictionariesRequest.DictionaryTypes & DictionaryType.Achievements) != 0)
|
||||
{
|
||||
// Update achievements
|
||||
}
|
||||
if ((updateDictionariesRequest.DictionaryTypes & DictionaryType.Vehicles) != 0)
|
||||
{
|
||||
// Update vehicles
|
||||
}
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -11,6 +11,7 @@ namespace WotBlitzStatistics.Logic
|
||||
services.AddAutoMapper(typeof(WotBlitzStatisticsLogicInstaller));
|
||||
services.AddHttpClient<IWargamingApiClient, WargamingApiClient>();
|
||||
services.AddTransient<IWargamingSearch, WargamingSearch>();
|
||||
services.AddTransient<IWargamingDictionaries, WargamingDictionaries>();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
using System;
|
||||
|
||||
namespace WotBlitzStatisticsPro.Common.Model
|
||||
{
|
||||
/// <summary>
|
||||
/// List of dictionaries
|
||||
/// </summary>
|
||||
[Flags]
|
||||
public enum DictionaryType
|
||||
{
|
||||
/// <summary>
|
||||
/// Static dictionaries - Languages, VehicleNations, VehicleTypes, AchievementSections, ClanRoles
|
||||
/// </summary>
|
||||
StaticDictionaries = 1,
|
||||
/// <summary>
|
||||
/// Achievements
|
||||
/// </summary>
|
||||
Achievements = 2,
|
||||
/// <summary>
|
||||
/// Vehicles encyclopedia
|
||||
/// </summary>
|
||||
Vehicles = 4,
|
||||
/// <summary>
|
||||
/// Only vehicles and Achievements
|
||||
/// </summary>
|
||||
AchievementsAndVehicles = Achievements | Vehicles,
|
||||
/// <summary>
|
||||
/// All dictionaries
|
||||
/// </summary>
|
||||
All = StaticDictionaries | Achievements | Vehicles
|
||||
}
|
||||
}
|
||||
@@ -1,11 +1,29 @@
|
||||
namespace WotBlitzStatisticsPro.Common.Model
|
||||
{
|
||||
/// <summary>
|
||||
/// Mastery
|
||||
/// </summary>
|
||||
public enum MarkOfMastery
|
||||
{
|
||||
/// <summary>
|
||||
/// No mastery
|
||||
/// </summary>
|
||||
None = 0,
|
||||
/// <summary>
|
||||
/// Third mark of mastery
|
||||
/// </summary>
|
||||
Rank3 = 1,
|
||||
/// <summary>
|
||||
/// Second mark of mastery
|
||||
/// </summary>
|
||||
Rank2 = 2,
|
||||
/// <summary>
|
||||
/// First mark of mastery
|
||||
/// </summary>
|
||||
Rank1 = 3,
|
||||
/// <summary>
|
||||
/// Master mark
|
||||
/// </summary>
|
||||
Master = 4
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
namespace WotBlitzStatisticsPro.Common.Model
|
||||
{
|
||||
/// <summary>
|
||||
/// Request for update dictionaries mutation
|
||||
/// </summary>
|
||||
public class UpdateDictionariesRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// Determines what dictionaries should be updated. Usage: StaticDictionaries | Achievements | Vehicles
|
||||
/// </summary>
|
||||
public DictionaryType DictionaryTypes { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
namespace WotBlitzStatisticsPro.Common.Model
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents the response of the Update dictionaries mutation
|
||||
/// </summary>
|
||||
public class UpdateDictionariesResponseItem
|
||||
{
|
||||
/// <summary>
|
||||
/// Type of updated dictionary
|
||||
/// </summary>
|
||||
public DictionaryType DictionaryType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// A bit summary about what have been updated
|
||||
/// </summary>
|
||||
public string Description { get; set; }
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user