using Predictalytics.Domain.Enums;

namespace Predictalytics.Application.Interfaces;

public interface IPlatformStatisticsService
{
    void TrackMarketSync(PlatformType platform, int count = 1);
    void TrackTraderDiscovery(PlatformType platform, int count = 1);
    void TrackTradeActivity(PlatformType platform, int count = 1);
    void TrackDuplicateError(PlatformType platform, int count = 1);
    void TrackTradersAnalyzed(PlatformType platform, int count = 1);
    
    Dictionary<PlatformType, PlatformStats> GetAndResetStats();
}

public class PlatformStats
{
    public int MarketsSynced { get; set; }
    public int TradersDiscovered { get; set; }
    public int TradesProcessed { get; set; }
    public int DuplicateErrors { get; set; }
    public int TradersAnalyzed { get; set; }
}
