Fix Solicitud de Token 2
This commit is contained in:
		| @@ -29,7 +29,7 @@ public class ElectoralApiService : IElectoralApiService | ||||
|         _rateLimiter = rateLimiter; | ||||
|     } | ||||
|  | ||||
|     public async Task<string?> GetAuthTokenAsync() | ||||
|     public async Task<TokenResponse?> GetAuthTokenAsync() | ||||
|     { | ||||
|         // "Pedir una ficha". Este método ahora devuelve un "lease" (permiso). | ||||
|         // Si no hay fichas, esperará aquí automáticamente hasta que se rellene el cubo. | ||||
| @@ -42,14 +42,18 @@ public class ElectoralApiService : IElectoralApiService | ||||
|             var username = _configuration["ElectoralApi:Username"]; | ||||
|             var password = _configuration["ElectoralApi:Password"]; | ||||
|             if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password)) return null; | ||||
|             var request = new HttpRequestMessage(HttpMethod.Get, "/api/createtoken/"); | ||||
|  | ||||
|             var request = new HttpRequestMessage(HttpMethod.Get, "/api/createtoken"); | ||||
|             request.Headers.Add("username", username); | ||||
|             request.Headers.Add("password", password); | ||||
|  | ||||
|             var response = await client.SendAsync(request); | ||||
|             if (!response.IsSuccessStatusCode) return null; | ||||
|             var tokenResponse = await response.Content.ReadFromJsonAsync<TokenResponse>(); | ||||
|             return (tokenResponse is { Success: true, Data.AccessToken: not null }) ? tokenResponse.Data.AccessToken : null; | ||||
|  | ||||
|             // Ahora esto es válido, porque el método devuelve Task<TokenResponse?> | ||||
|             return await response.Content.ReadFromJsonAsync<TokenResponse>(); | ||||
|         } | ||||
|  | ||||
|         // Si no se pudo obtener un permiso (ej. la cola está llena), devolvemos null. | ||||
|         return null; | ||||
|     } | ||||
|   | ||||
| @@ -7,8 +7,7 @@ namespace Elecciones.Infrastructure.Services; | ||||
|  | ||||
| public interface IElectoralApiService | ||||
| { | ||||
|     Task<string?> GetAuthTokenAsync(); | ||||
|  | ||||
|     Task<TokenResponse?> GetAuthTokenAsync(); | ||||
|     // Métodos para catálogos | ||||
|     Task<CatalogoDto?> GetCatalogoAmbitosAsync(string authToken, int categoriaId); | ||||
|     Task<List<AgrupacionDto>?> GetAgrupacionesAsync(string authToken, string distritoId, int categoriaId); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user