Фикс обновления токена
All checks were successful
Create and publish a Docker image / Publish image (push) Successful in 3m32s

This commit is contained in:
2025-11-19 16:48:19 +03:00
parent aed3ab3e20
commit b868ee66e6
2 changed files with 17 additions and 3 deletions

View File

@@ -1,12 +1,14 @@
using ModeusSchedule.Abstractions;
using Quartz;
using SfeduSchedule.Services;
namespace SfeduSchedule.Jobs;
public class UpdateJwtJob(
IConfiguration configuration,
ILogger<UpdateJwtJob> logger,
IHttpClientFactory httpClientFactory) : IJob
IHttpClientFactory httpClientFactory,
ModeusService modeusService) : IJob
{
private const int MaxAttempts = 5; // Максимальное число попыток
private const int DelaySeconds = 20; // Задержка между попытками в секундах
@@ -68,7 +70,9 @@ public class UpdateJwtJob(
}
configuration["TOKEN"] = body.Jwt;
await File.WriteAllTextAsync(GlobalConsts.JwtFilePath, body.Jwt + "\n" + DateTime.Now.ToString("O"), cts.Token);
modeusService.SetToken(body.Jwt);
await File.WriteAllTextAsync(GlobalConsts.JwtFilePath,
body.Jwt + "\n" + DateTime.Now.ToString("O"), cts.Token);
logger.LogInformation("JWT успешно обновлён");
return;
}

View File

@@ -22,7 +22,17 @@ public class ModeusService
_logger = logger;
_configuration = configuration;
_httpClient.BaseAddress = new Uri("https://sfedu.modeus.org/");
var token = _configuration["TOKEN"];
SetToken(_configuration["TOKEN"]);
}
public void SetToken(string? token)
{
if (string.IsNullOrWhiteSpace(token)) {
_logger.LogError("SetToken: Предоставленный токен пустой.");
return;
}
_httpClient.DefaultRequestHeaders.Remove(HeaderNames.Authorization);
_httpClient.DefaultRequestHeaders.Add(HeaderNames.Authorization, $"Bearer {token}");
}