From a9150ff58c43da5a088162f369bc7ff1c3896f6f Mon Sep 17 00:00:00 2001 From: darkstack <1835601+darkstack@users.noreply.github.com> Date: Fri, 7 Mar 2025 10:56:24 +0100 Subject: [PATCH] URL Api Smash + Slug in HTML --- LaDOSE.Src/LaDOSE.DTO/TournamentDTO.cs | 2 ++ .../ViewModels/TournamentResultViewModel.cs | 6 +++--- LaDOSE.Src/LaDOSE.Entity/Challonge/TournamentsResult.cs | 1 + .../LaDOSE.Service/Provider/SmashProvider/SmashProvider.cs | 7 ++++--- .../LaDOSE.Service/Service/ExternalProviderService.cs | 6 +++++- 5 files changed, 15 insertions(+), 7 deletions(-) diff --git a/LaDOSE.Src/LaDOSE.DTO/TournamentDTO.cs b/LaDOSE.Src/LaDOSE.DTO/TournamentDTO.cs index c2f9c55..22f3357 100644 --- a/LaDOSE.Src/LaDOSE.DTO/TournamentDTO.cs +++ b/LaDOSE.Src/LaDOSE.DTO/TournamentDTO.cs @@ -27,6 +27,8 @@ namespace LaDOSE.DTO public List Games { get; set; } public List Results { get; set; } + + public string Slug { get; set; } } public class ResultDTO { diff --git a/LaDOSE.Src/LaDOSE.DesktopApp.Avalonia/ViewModels/TournamentResultViewModel.cs b/LaDOSE.Src/LaDOSE.DesktopApp.Avalonia/ViewModels/TournamentResultViewModel.cs index d527aa1..abd1f20 100644 --- a/LaDOSE.Src/LaDOSE.DesktopApp.Avalonia/ViewModels/TournamentResultViewModel.cs +++ b/LaDOSE.Src/LaDOSE.DesktopApp.Avalonia/ViewModels/TournamentResultViewModel.cs @@ -223,8 +223,8 @@ namespace LaDOSE.DesktopApp.Avalonia.ViewModels this.To = new DateTimeOffset(DateTime.Now); this.From = new DateTimeOffset(DateTime.Now.AddMonths(-1)); this.SelectRegex = "Ranking"; - this.SelectEventRegex = @"Ranking #10\d{2}"; - this.Slug = "ranking-1001"; + this.SelectEventRegex = @"Ranking #13\d{2}"; + this.Slug = "ranking-130"; LoadTournaments(); LoadEvents(); @@ -472,7 +472,7 @@ namespace LaDOSE.DesktopApp.Avalonia.ViewModels string url = enumerable.FirstOrDefault()?.TournamentUrl; url = url.Replace(" ", "-"); url = url.Replace(".", "-"); - sb.AppendLine($"Voir le Bracket

"); + sb.AppendLine($"
Voir le Bracket

"); } diff --git a/LaDOSE.Src/LaDOSE.Entity/Challonge/TournamentsResult.cs b/LaDOSE.Src/LaDOSE.Entity/Challonge/TournamentsResult.cs index 80d9a72..d17fbea 100644 --- a/LaDOSE.Src/LaDOSE.Entity/Challonge/TournamentsResult.cs +++ b/LaDOSE.Src/LaDOSE.Entity/Challonge/TournamentsResult.cs @@ -9,6 +9,7 @@ namespace LaDOSE.Entity.Challonge public List Games{ get; set; } public List Results { get; set; } + public string Slug { get; set; } } public class Result diff --git a/LaDOSE.Src/LaDOSE.Service/Provider/SmashProvider/SmashProvider.cs b/LaDOSE.Src/LaDOSE.Service/Provider/SmashProvider/SmashProvider.cs index cb5c453..021f5e3 100644 --- a/LaDOSE.Src/LaDOSE.Service/Provider/SmashProvider/SmashProvider.cs +++ b/LaDOSE.Src/LaDOSE.Service/Provider/SmashProvider/SmashProvider.cs @@ -15,6 +15,7 @@ namespace LaDOSE.Business.Provider.SmashProvider { public class SmashProvider : ISmashProvider { + private static string API_FQDN = "api.start.gg"; public string ApiKey { get; set; } //public SmashProvider(string apiKey) //{ @@ -34,7 +35,7 @@ namespace LaDOSE.Business.Provider.SmashProvider private async Task QuerySmash(GraphQLRequest req) { - var graphQLClient = new GraphQLHttpClient("https://api.smash.gg/gql/alpha", new NewtonsoftJsonSerializer()); + var graphQLClient = new GraphQLHttpClient($"https://{API_FQDN}/gql/alpha", new NewtonsoftJsonSerializer()); graphQLClient.HttpClient.DefaultRequestHeaders.Add("Authorization", $"Bearer {ApiKey}"); var graphQLResponse = await graphQLClient.SendQueryAsync(req); @@ -346,7 +347,7 @@ namespace LaDOSE.Business.Provider.SmashProvider public async Task GetNames(string slug) { - var graphQLClient = new GraphQLHttpClient("https://api.smash.gg/gql/alpha", new NewtonsoftJsonSerializer()); + var graphQLClient = new GraphQLHttpClient($"https://{API_FQDN}/gql/alpha", new NewtonsoftJsonSerializer()); graphQLClient.HttpClient.DefaultRequestHeaders.Add("Authorization", $"Bearer {ApiKey}"); var Event = new GraphQLRequest { @@ -412,7 +413,7 @@ namespace LaDOSE.Business.Provider.SmashProvider public async Task GetTournament(string slug) { - var graphQLClient = new GraphQLHttpClient("https://api.smash.gg/gql/alpha", new NewtonsoftJsonSerializer()); + var graphQLClient = new GraphQLHttpClient($"https://{API_FQDN}/gql/alpha", new NewtonsoftJsonSerializer()); graphQLClient.HttpClient.DefaultRequestHeaders.Add("Authorization", $"Bearer {ApiKey}"); var Event = new GraphQLRequest { diff --git a/LaDOSE.Src/LaDOSE.Service/Service/ExternalProviderService.cs b/LaDOSE.Src/LaDOSE.Service/Service/ExternalProviderService.cs index b131470..1721a26 100644 --- a/LaDOSE.Src/LaDOSE.Service/Service/ExternalProviderService.cs +++ b/LaDOSE.Src/LaDOSE.Service/Service/ExternalProviderService.cs @@ -148,10 +148,14 @@ namespace LaDOSE.Business.Service players = players.Concat(e.Tournaments.SelectMany(e => e.Results.Select(e => e.Player)).Distinct().ToList()).ToList(); cevent.Tournaments = cevent.Tournaments.Concat(e.Tournaments).ToList(); } - + var games = _context.Game.ToList(); TournamentsResult result = new TournamentsResult(); + if (id.Count == 1) + { + result.Slug = _context.Event.Where(e=> e.Id == id.First()).First().SmashSlug; + } result.Results = new List(); result.Games = new List(); result.Participents = new List();