mirror of
https://github.com/DrMboga/WotBlitzStatisticsBlazor.git
synced 2026-10-24 11:50:05 +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
|
public class WotBlitzStatisticsQuery
|
||||||
{
|
{
|
||||||
|
// 571050560 - mboga Eu
|
||||||
|
// 90277267 - Mboga Ru
|
||||||
|
|
||||||
private readonly IWargamingSearch _wargamingSearcher;
|
private readonly IWargamingSearch _wargamingSearcher;
|
||||||
|
|
||||||
public WotBlitzStatisticsQuery(IWargamingSearch wargamingSearcher)
|
public WotBlitzStatisticsQuery(IWargamingSearch wargamingSearcher)
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ using Microsoft.AspNetCore.Builder;
|
|||||||
using Microsoft.AspNetCore.Hosting;
|
using Microsoft.AspNetCore.Hosting;
|
||||||
using Microsoft.Extensions.Configuration;
|
using Microsoft.Extensions.Configuration;
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
using WotBlitzStatistics.GraphQl.Mutation;
|
||||||
using WotBlitzStatistics.GraphQl.ObjectTypes;
|
using WotBlitzStatistics.GraphQl.ObjectTypes;
|
||||||
using WotBlitzStatistics.GraphQl.Query;
|
using WotBlitzStatistics.GraphQl.Query;
|
||||||
using WotBlitzStatistics.Logic;
|
using WotBlitzStatistics.Logic;
|
||||||
@@ -49,7 +50,7 @@ namespace WotBlitzStatistics.GraphQl
|
|||||||
.AddAuthorizeDirectiveType()
|
.AddAuthorizeDirectiveType()
|
||||||
|
|
||||||
.AddQueryType<WotBlitzStatisticsQuery>()
|
.AddQueryType<WotBlitzStatisticsQuery>()
|
||||||
//.AddMutationType<MutationType>()
|
.AddMutationType<WotBlitzStatisticsMutation>()
|
||||||
//.AddSubscriptionType<SubscriptionType>()
|
//.AddSubscriptionType<SubscriptionType>()
|
||||||
.AddType<AccountsSearchItemObjectType>()
|
.AddType<AccountsSearchItemObjectType>()
|
||||||
.AddType<AccountsSearchObjectType>()
|
.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.AddAutoMapper(typeof(WotBlitzStatisticsLogicInstaller));
|
||||||
services.AddHttpClient<IWargamingApiClient, WargamingApiClient>();
|
services.AddHttpClient<IWargamingApiClient, WargamingApiClient>();
|
||||||
services.AddTransient<IWargamingSearch, WargamingSearch>();
|
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
|
namespace WotBlitzStatisticsPro.Common.Model
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Mastery
|
||||||
|
/// </summary>
|
||||||
public enum MarkOfMastery
|
public enum MarkOfMastery
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// No mastery
|
||||||
|
/// </summary>
|
||||||
None = 0,
|
None = 0,
|
||||||
|
/// <summary>
|
||||||
|
/// Third mark of mastery
|
||||||
|
/// </summary>
|
||||||
Rank3 = 1,
|
Rank3 = 1,
|
||||||
|
/// <summary>
|
||||||
|
/// Second mark of mastery
|
||||||
|
/// </summary>
|
||||||
Rank2 = 2,
|
Rank2 = 2,
|
||||||
|
/// <summary>
|
||||||
|
/// First mark of mastery
|
||||||
|
/// </summary>
|
||||||
Rank1 = 3,
|
Rank1 = 3,
|
||||||
|
/// <summary>
|
||||||
|
/// Master mark
|
||||||
|
/// </summary>
|
||||||
Master = 4
|
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