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();