Clear a bit more
This commit is contained in:
@@ -32,6 +32,7 @@ public class DataController : ControllerBase
|
|||||||
private readonly IAccountService _accountService;
|
private readonly IAccountService _accountService;
|
||||||
private readonly ICacheService _cacheService;
|
private readonly ICacheService _cacheService;
|
||||||
private readonly IStatisticService _statisticService;
|
private readonly IStatisticService _statisticService;
|
||||||
|
private readonly IAgentService _agentService;
|
||||||
private readonly IHubContext<CandleHub> _hubContext;
|
private readonly IHubContext<CandleHub> _hubContext;
|
||||||
private readonly IMediator _mediator;
|
private readonly IMediator _mediator;
|
||||||
private readonly ITradingService _tradingService;
|
private readonly ITradingService _tradingService;
|
||||||
@@ -51,6 +52,7 @@ public class DataController : ControllerBase
|
|||||||
IAccountService accountService,
|
IAccountService accountService,
|
||||||
ICacheService cacheService,
|
ICacheService cacheService,
|
||||||
IStatisticService statisticService,
|
IStatisticService statisticService,
|
||||||
|
IAgentService agentService,
|
||||||
IHubContext<CandleHub> hubContext,
|
IHubContext<CandleHub> hubContext,
|
||||||
IMediator mediator,
|
IMediator mediator,
|
||||||
ITradingService tradingService)
|
ITradingService tradingService)
|
||||||
@@ -59,6 +61,7 @@ public class DataController : ControllerBase
|
|||||||
_accountService = accountService;
|
_accountService = accountService;
|
||||||
_cacheService = cacheService;
|
_cacheService = cacheService;
|
||||||
_statisticService = statisticService;
|
_statisticService = statisticService;
|
||||||
|
_agentService = agentService;
|
||||||
_hubContext = hubContext;
|
_hubContext = hubContext;
|
||||||
_mediator = mediator;
|
_mediator = mediator;
|
||||||
_tradingService = tradingService;
|
_tradingService = tradingService;
|
||||||
@@ -664,7 +667,7 @@ public class DataController : ControllerBase
|
|||||||
DateTime startDate,
|
DateTime startDate,
|
||||||
DateTime? endDate = null)
|
DateTime? endDate = null)
|
||||||
{
|
{
|
||||||
var balances = await _statisticService.GetAgentBalances(agentName, startDate, endDate);
|
var balances = await _agentService.GetAgentBalances(agentName, startDate, endDate);
|
||||||
return Ok(balances);
|
return Ok(balances);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -683,7 +686,7 @@ public class DataController : ControllerBase
|
|||||||
int page = 1,
|
int page = 1,
|
||||||
int pageSize = 10)
|
int pageSize = 10)
|
||||||
{
|
{
|
||||||
var (agents, totalCount) = await _statisticService.GetBestAgents(startDate, endDate, page, pageSize);
|
var (agents, totalCount) = await _agentService.GetBestAgents(startDate, endDate, page, pageSize);
|
||||||
|
|
||||||
var response = new BestAgentsResponse
|
var response = new BestAgentsResponse
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,5 +1,16 @@
|
|||||||
|
using Managing.Domain.Statistics;
|
||||||
|
|
||||||
namespace Managing.Application.Abstractions.Services;
|
namespace Managing.Application.Abstractions.Services;
|
||||||
|
|
||||||
public interface IAgentService
|
public interface IAgentService
|
||||||
{
|
{
|
||||||
|
Task<AgentBalanceHistory> GetAgentBalances(string agentName, DateTime start, DateTime? end = null);
|
||||||
|
|
||||||
|
Task<(IList<AgentBalanceHistory> Agents, int TotalCount)> GetBestAgents(DateTime start, DateTime? end = null,
|
||||||
|
int page = 1,
|
||||||
|
int pageSize = 10);
|
||||||
|
|
||||||
|
Task SaveOrUpdateAgentSummary(AgentSummary agentSummary);
|
||||||
|
|
||||||
|
Task<IEnumerable<AgentSummary>> GetAllAgentSummaries();
|
||||||
}
|
}
|
||||||
@@ -6,12 +6,6 @@ namespace Managing.Application.Abstractions.Services;
|
|||||||
|
|
||||||
public interface IStatisticService
|
public interface IStatisticService
|
||||||
{
|
{
|
||||||
Task<AgentBalanceHistory> GetAgentBalances(string agentName, DateTime start, DateTime? end = null);
|
|
||||||
|
|
||||||
Task<(IList<AgentBalanceHistory> Agents, int TotalCount)> GetBestAgents(DateTime start, DateTime? end = null,
|
|
||||||
int page = 1,
|
|
||||||
int pageSize = 10);
|
|
||||||
|
|
||||||
List<Trader> GetBadTraders();
|
List<Trader> GetBadTraders();
|
||||||
Task<List<Trader>> GetBadTradersAsync();
|
Task<List<Trader>> GetBadTradersAsync();
|
||||||
List<Trader> GetBestTraders();
|
List<Trader> GetBestTraders();
|
||||||
@@ -28,6 +22,4 @@ public interface IStatisticService
|
|||||||
Task UpdateTopVolumeTicker(Enums.TradingExchanges exchange, int top);
|
Task UpdateTopVolumeTicker(Enums.TradingExchanges exchange, int top);
|
||||||
Task UpdateFundingRates();
|
Task UpdateFundingRates();
|
||||||
Task<List<FundingRate>> GetFundingRates();
|
Task<List<FundingRate>> GetFundingRates();
|
||||||
Task SaveOrUpdateAgentSummary(AgentSummary agentSummary);
|
|
||||||
Task<IEnumerable<AgentSummary>> GetAllAgentSummaries();
|
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,117 @@
|
|||||||
|
using Managing.Application.Abstractions.Repositories;
|
||||||
using Managing.Application.Abstractions.Services;
|
using Managing.Application.Abstractions.Services;
|
||||||
|
using Managing.Domain.Statistics;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
|
|
||||||
namespace Managing.Application.Agents;
|
namespace Managing.Application.Agents;
|
||||||
|
|
||||||
public class AgentService : IAgentService
|
public class AgentService : IAgentService
|
||||||
{
|
{
|
||||||
|
private readonly IAgentBalanceRepository _agentBalanceRepository;
|
||||||
|
private readonly IAgentSummaryRepository _agentSummaryRepository;
|
||||||
|
private readonly ICacheService _cacheService;
|
||||||
|
private readonly ILogger<AgentService> _logger;
|
||||||
|
|
||||||
|
public AgentService(
|
||||||
|
IAgentBalanceRepository agentBalanceRepository,
|
||||||
|
IAgentSummaryRepository agentSummaryRepository,
|
||||||
|
ICacheService cacheService,
|
||||||
|
ILogger<AgentService> logger)
|
||||||
|
{
|
||||||
|
_agentBalanceRepository = agentBalanceRepository;
|
||||||
|
_agentSummaryRepository = agentSummaryRepository;
|
||||||
|
_cacheService = cacheService;
|
||||||
|
_logger = logger;
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<AgentBalanceHistory> GetAgentBalances(string agentName, DateTime start,
|
||||||
|
DateTime? end = null)
|
||||||
|
{
|
||||||
|
var effectiveEnd = end ?? DateTime.UtcNow;
|
||||||
|
string cacheKey = $"AgentBalances_{agentName}_{start:yyyyMMdd}_{effectiveEnd:yyyyMMdd}";
|
||||||
|
|
||||||
|
// Check if the balances are already cached
|
||||||
|
var cachedBalances = _cacheService.GetValue<AgentBalanceHistory>(cacheKey);
|
||||||
|
|
||||||
|
if (cachedBalances != null)
|
||||||
|
{
|
||||||
|
return cachedBalances;
|
||||||
|
}
|
||||||
|
|
||||||
|
var balances = await _agentBalanceRepository.GetAgentBalances(agentName, start, end);
|
||||||
|
|
||||||
|
// Create a single AgentBalanceHistory with all balances
|
||||||
|
var result = new AgentBalanceHistory
|
||||||
|
{
|
||||||
|
AgentName = agentName,
|
||||||
|
AgentBalances = balances.OrderBy(b => b.Time).ToList()
|
||||||
|
};
|
||||||
|
|
||||||
|
// Cache the results for 5 minutes
|
||||||
|
_cacheService.SaveValue(cacheKey, result, TimeSpan.FromMinutes(5));
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<(IList<AgentBalanceHistory> Agents, int TotalCount)> GetBestAgents(
|
||||||
|
DateTime start,
|
||||||
|
DateTime? end = null,
|
||||||
|
int page = 1,
|
||||||
|
int pageSize = 10)
|
||||||
|
{
|
||||||
|
var effectiveEnd = end ?? DateTime.UtcNow;
|
||||||
|
string cacheKey = $"BestAgents_{start:yyyyMMdd}_{effectiveEnd:yyyyMMdd}";
|
||||||
|
|
||||||
|
// Check if the results are already cached
|
||||||
|
var cachedResult = _cacheService.GetValue<(IList<AgentBalanceHistory>, int)>(cacheKey);
|
||||||
|
|
||||||
|
if (cachedResult != default)
|
||||||
|
{
|
||||||
|
// Apply pagination to cached results
|
||||||
|
var (cachedAgents, cachedTotalCount) = cachedResult;
|
||||||
|
var paginatedAgents = cachedAgents
|
||||||
|
.Skip((page - 1) * pageSize)
|
||||||
|
.Take(pageSize)
|
||||||
|
.ToList();
|
||||||
|
return (paginatedAgents, cachedTotalCount);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get all agents with their balance history
|
||||||
|
var (fetchedAgents, fetchedTotalCount) =
|
||||||
|
await _agentBalanceRepository.GetAllAgentBalancesWithHistory(start, end);
|
||||||
|
|
||||||
|
// Cache all results for 5 minutes
|
||||||
|
_cacheService.SaveValue(cacheKey, (fetchedAgents, fetchedTotalCount), TimeSpan.FromMinutes(5));
|
||||||
|
|
||||||
|
// Apply pagination
|
||||||
|
var result = fetchedAgents
|
||||||
|
.Skip((page - 1) * pageSize)
|
||||||
|
.Take(pageSize)
|
||||||
|
.ToList();
|
||||||
|
|
||||||
|
return (result, fetchedTotalCount);
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task SaveOrUpdateAgentSummary(AgentSummary agentSummary)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// Use the injected AgentSummaryRepository to save or update
|
||||||
|
await _agentSummaryRepository.SaveOrUpdateAsync(agentSummary);
|
||||||
|
|
||||||
|
_logger.LogInformation("AgentSummary saved/updated for user {UserId} with agent name {AgentName}",
|
||||||
|
agentSummary.UserId, agentSummary.AgentName);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_logger.LogError(ex, "Error saving/updating AgentSummary for user {UserId} with agent name {AgentName}",
|
||||||
|
agentSummary.UserId, agentSummary.AgentName);
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<IEnumerable<AgentSummary>> GetAllAgentSummaries()
|
||||||
|
{
|
||||||
|
return await _agentSummaryRepository.GetAllAsync();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -13,7 +13,7 @@ public class AgentGrain : Grain, IAgentGrain, IRemindable
|
|||||||
private readonly IPersistentState<AgentGrainState> _state;
|
private readonly IPersistentState<AgentGrainState> _state;
|
||||||
private readonly ILogger<AgentGrain> _logger;
|
private readonly ILogger<AgentGrain> _logger;
|
||||||
private readonly IBotService _botService;
|
private readonly IBotService _botService;
|
||||||
private readonly IStatisticService _statisticService;
|
private readonly IAgentService _agentService;
|
||||||
private const string _updateSummaryReminderName = "UpdateAgentSummary";
|
private const string _updateSummaryReminderName = "UpdateAgentSummary";
|
||||||
|
|
||||||
public AgentGrain(
|
public AgentGrain(
|
||||||
@@ -21,12 +21,12 @@ public class AgentGrain : Grain, IAgentGrain, IRemindable
|
|||||||
IPersistentState<AgentGrainState> state,
|
IPersistentState<AgentGrainState> state,
|
||||||
ILogger<AgentGrain> logger,
|
ILogger<AgentGrain> logger,
|
||||||
IBotService botService,
|
IBotService botService,
|
||||||
IStatisticService statisticService)
|
IAgentService agentService)
|
||||||
{
|
{
|
||||||
_state = state;
|
_state = state;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
_botService = botService;
|
_botService = botService;
|
||||||
_statisticService = statisticService;
|
_agentService = agentService;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Task OnActivateAsync(CancellationToken cancellationToken)
|
public override Task OnActivateAsync(CancellationToken cancellationToken)
|
||||||
@@ -135,7 +135,7 @@ public class AgentGrain : Grain, IAgentGrain, IRemindable
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Save summary to database
|
// Save summary to database
|
||||||
await _statisticService.SaveOrUpdateAgentSummary(summary);
|
await _agentService.SaveOrUpdateAgentSummary(summary);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -11,18 +11,18 @@ namespace Managing.Application.ManageBot
|
|||||||
public class GetAllAgentSummariesCommandHandler : IRequestHandler<GetAllAgentSummariesCommand,
|
public class GetAllAgentSummariesCommandHandler : IRequestHandler<GetAllAgentSummariesCommand,
|
||||||
IEnumerable<AgentSummary>>
|
IEnumerable<AgentSummary>>
|
||||||
{
|
{
|
||||||
private readonly IStatisticService _statisticService;
|
private readonly IAgentService _agentService;
|
||||||
|
|
||||||
public GetAllAgentSummariesCommandHandler(IStatisticService statisticService)
|
public GetAllAgentSummariesCommandHandler(IAgentService agentService)
|
||||||
{
|
{
|
||||||
_statisticService = statisticService;
|
_agentService = agentService;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<IEnumerable<AgentSummary>> Handle(GetAllAgentSummariesCommand request,
|
public async Task<IEnumerable<AgentSummary>> Handle(GetAllAgentSummariesCommand request,
|
||||||
CancellationToken cancellationToken)
|
CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
// Get all agent summaries from the database
|
// Get all agent summaries from the database
|
||||||
var allAgentSummaries = await _statisticService.GetAllAgentSummaries();
|
var allAgentSummaries = await _agentService.GetAllAgentSummaries();
|
||||||
|
|
||||||
if (request.TimeFilter != "Total")
|
if (request.TimeFilter != "Total")
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -24,8 +24,7 @@ public class StatisticService : IStatisticService
|
|||||||
private readonly ITradaoService _tradaoService;
|
private readonly ITradaoService _tradaoService;
|
||||||
private readonly IMessengerService _messengerService;
|
private readonly IMessengerService _messengerService;
|
||||||
private readonly ICacheService _cacheService;
|
private readonly ICacheService _cacheService;
|
||||||
private readonly IAgentBalanceRepository _agentBalanceRepository;
|
|
||||||
private readonly IAgentSummaryRepository _agentSummaryRepository;
|
|
||||||
private readonly ILogger<StatisticService> _logger;
|
private readonly ILogger<StatisticService> _logger;
|
||||||
|
|
||||||
public StatisticService(
|
public StatisticService(
|
||||||
@@ -38,9 +37,7 @@ public class StatisticService : IStatisticService
|
|||||||
IBacktester backtester,
|
IBacktester backtester,
|
||||||
ITradaoService tradaoService,
|
ITradaoService tradaoService,
|
||||||
IMessengerService messengerService,
|
IMessengerService messengerService,
|
||||||
ICacheService cacheService,
|
ICacheService cacheService)
|
||||||
IAgentBalanceRepository agentBalanceRepository,
|
|
||||||
IAgentSummaryRepository agentSummaryRepository)
|
|
||||||
{
|
{
|
||||||
_exchangeService = exchangeService;
|
_exchangeService = exchangeService;
|
||||||
_accountService = accountService;
|
_accountService = accountService;
|
||||||
@@ -52,8 +49,6 @@ public class StatisticService : IStatisticService
|
|||||||
_tradaoService = tradaoService;
|
_tradaoService = tradaoService;
|
||||||
_messengerService = messengerService;
|
_messengerService = messengerService;
|
||||||
_cacheService = cacheService;
|
_cacheService = cacheService;
|
||||||
_agentBalanceRepository = agentBalanceRepository;
|
|
||||||
_agentSummaryRepository = agentSummaryRepository;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task UpdateTopVolumeTicker(TradingExchanges exchange, int top)
|
public async Task UpdateTopVolumeTicker(TradingExchanges exchange, int top)
|
||||||
@@ -433,95 +428,4 @@ public class StatisticService : IStatisticService
|
|||||||
|
|
||||||
await _messengerService.SendBadTraders(lastBadTrader);
|
await _messengerService.SendBadTraders(lastBadTrader);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<AgentBalanceHistory> GetAgentBalances(string agentName, DateTime start,
|
|
||||||
DateTime? end = null)
|
|
||||||
{
|
|
||||||
var effectiveEnd = end ?? DateTime.UtcNow;
|
|
||||||
string cacheKey = $"AgentBalances_{agentName}_{start:yyyyMMdd}_{effectiveEnd:yyyyMMdd}";
|
|
||||||
|
|
||||||
// Check if the balances are already cached
|
|
||||||
var cachedBalances = _cacheService.GetValue<AgentBalanceHistory>(cacheKey);
|
|
||||||
|
|
||||||
if (cachedBalances != null)
|
|
||||||
{
|
|
||||||
return cachedBalances;
|
|
||||||
}
|
|
||||||
|
|
||||||
var balances = await _agentBalanceRepository.GetAgentBalances(agentName, start, end);
|
|
||||||
|
|
||||||
// Create a single AgentBalanceHistory with all balances
|
|
||||||
var result = new AgentBalanceHistory
|
|
||||||
{
|
|
||||||
AgentName = agentName,
|
|
||||||
AgentBalances = balances.OrderBy(b => b.Time).ToList()
|
|
||||||
};
|
|
||||||
|
|
||||||
// Cache the results for 5 minutes
|
|
||||||
_cacheService.SaveValue(cacheKey, result, TimeSpan.FromMinutes(5));
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task<(IList<AgentBalanceHistory> Agents, int TotalCount)> GetBestAgents(
|
|
||||||
DateTime start,
|
|
||||||
DateTime? end = null,
|
|
||||||
int page = 1,
|
|
||||||
int pageSize = 10)
|
|
||||||
{
|
|
||||||
var effectiveEnd = end ?? DateTime.UtcNow;
|
|
||||||
string cacheKey = $"BestAgents_{start:yyyyMMdd}_{effectiveEnd:yyyyMMdd}";
|
|
||||||
|
|
||||||
// Check if the results are already cached
|
|
||||||
var cachedResult = _cacheService.GetValue<(IList<AgentBalanceHistory>, int)>(cacheKey);
|
|
||||||
|
|
||||||
if (cachedResult != default)
|
|
||||||
{
|
|
||||||
// Apply pagination to cached results
|
|
||||||
var (cachedAgents, cachedTotalCount) = cachedResult;
|
|
||||||
var paginatedAgents = cachedAgents
|
|
||||||
.Skip((page - 1) * pageSize)
|
|
||||||
.Take(pageSize)
|
|
||||||
.ToList();
|
|
||||||
return (paginatedAgents, cachedTotalCount);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get all agents with their balance history
|
|
||||||
var (fetchedAgents, fetchedTotalCount) =
|
|
||||||
await _agentBalanceRepository.GetAllAgentBalancesWithHistory(start, end);
|
|
||||||
|
|
||||||
// Cache all results for 5 minutes
|
|
||||||
_cacheService.SaveValue(cacheKey, (fetchedAgents, fetchedTotalCount), TimeSpan.FromMinutes(5));
|
|
||||||
|
|
||||||
// Apply pagination
|
|
||||||
var result = fetchedAgents
|
|
||||||
.Skip((page - 1) * pageSize)
|
|
||||||
.Take(pageSize)
|
|
||||||
.ToList();
|
|
||||||
|
|
||||||
return (result, fetchedTotalCount);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task SaveOrUpdateAgentSummary(AgentSummary agentSummary)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
// Use the injected AgentSummaryRepository to save or update
|
|
||||||
await _agentSummaryRepository.SaveOrUpdateAsync(agentSummary);
|
|
||||||
|
|
||||||
_logger.LogInformation("AgentSummary saved/updated for user {UserId} with agent name {AgentName}",
|
|
||||||
agentSummary.UserId, agentSummary.AgentName);
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
_logger.LogError(ex, "Error saving/updating AgentSummary for user {UserId} with agent name {AgentName}",
|
|
||||||
agentSummary.UserId, agentSummary.AgentName);
|
|
||||||
throw;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task<IEnumerable<AgentSummary>> GetAllAgentSummaries()
|
|
||||||
{
|
|
||||||
return await _agentSummaryRepository.GetAllAsync();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -4,7 +4,6 @@ using Managing.Application.Abstractions.Repositories;
|
|||||||
using Managing.Application.Abstractions.Services;
|
using Managing.Application.Abstractions.Services;
|
||||||
using Managing.Common;
|
using Managing.Common;
|
||||||
using Managing.Domain.Accounts;
|
using Managing.Domain.Accounts;
|
||||||
using Managing.Domain.Statistics;
|
|
||||||
using Managing.Domain.Users;
|
using Managing.Domain.Users;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
|
||||||
@@ -18,7 +17,6 @@ public class UserService : IUserService
|
|||||||
private readonly ILogger<UserService> _logger;
|
private readonly ILogger<UserService> _logger;
|
||||||
private readonly ICacheService _cacheService;
|
private readonly ICacheService _cacheService;
|
||||||
private readonly IGrainFactory _grainFactory;
|
private readonly IGrainFactory _grainFactory;
|
||||||
private readonly IAgentSummaryRepository _agentSummaryRepository;
|
|
||||||
|
|
||||||
private string[] authorizedAddresses =
|
private string[] authorizedAddresses =
|
||||||
[
|
[
|
||||||
@@ -40,8 +38,7 @@ public class UserService : IUserService
|
|||||||
IAccountService accountService,
|
IAccountService accountService,
|
||||||
ILogger<UserService> logger,
|
ILogger<UserService> logger,
|
||||||
ICacheService cacheService,
|
ICacheService cacheService,
|
||||||
IGrainFactory grainFactory,
|
IGrainFactory grainFactory)
|
||||||
IAgentSummaryRepository agentSummaryRepository)
|
|
||||||
{
|
{
|
||||||
_evmManager = evmManager;
|
_evmManager = evmManager;
|
||||||
_userRepository = userRepository;
|
_userRepository = userRepository;
|
||||||
@@ -49,7 +46,6 @@ public class UserService : IUserService
|
|||||||
_logger = logger;
|
_logger = logger;
|
||||||
_cacheService = cacheService;
|
_cacheService = cacheService;
|
||||||
_grainFactory = grainFactory;
|
_grainFactory = grainFactory;
|
||||||
_agentSummaryRepository = agentSummaryRepository;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<User> Authenticate(string name, string address, string message, string signature)
|
public async Task<User> Authenticate(string name, string address, string message, string signature)
|
||||||
@@ -252,19 +248,5 @@ public class UserService : IUserService
|
|||||||
return await _userRepository.GetAllUsersAsync();
|
return await _userRepository.GetAllUsersAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task SaveOrUpdateAgentSummary(AgentSummary agentSummary)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
await _agentSummaryRepository.SaveOrUpdateAsync(agentSummary);
|
|
||||||
_logger.LogInformation("AgentSummary saved/updated for user {UserId} with agent name {AgentName}",
|
|
||||||
agentSummary.UserId, agentSummary.AgentName);
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
_logger.LogError(ex, "Failed to save/update AgentSummary for user {UserId} with agent name {AgentName}",
|
|
||||||
agentSummary.UserId, agentSummary.AgentName);
|
|
||||||
throw;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -19,4 +19,9 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Folder Include="Migrations\"/>
|
<Folder Include="Migrations\"/>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\Managing.Application.Abstractions\Managing.Application.Abstractions.csproj"/>
|
||||||
|
<ProjectReference Include="..\Managing.Domain\Managing.Domain.csproj"/>
|
||||||
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
Reference in New Issue
Block a user