using InfluxDB.Client.Core;

namespace Managing.Infrastructure.Databases.InfluxDb.Models;

[Measurement("price")]
public class PriceDto
{
    [Column("exchange", IsTag = true)]
    public string Exchange { get; set; }
    [Column("ticker", IsTag = true)]
    public string Ticker { get; set; }
    [Column("timeframe", IsTag = true)]
    public string Timeframe { get; set; }
    [Column("openTime", IsTimestamp = true)]
    public DateTime OpenTime { get; set; }
    [Column("closeTime", IsTimestamp = true)]
    public DateTime CloseTime { get; set; }
    [Column("open")]
    public decimal Open { get; set; }
    [Column("close")]
    public decimal Close { get; set; }
    [Column("high")]
    public decimal High { get; set; }
    [Column("low")]
    public decimal Low { get; set; }
    [Column("baseVolume")]
    public decimal BaseVolume { get; set; }
    [Column("quoteVolume")]
    public decimal QuoteVolume { get; set; }
    [Column("TradeCount")]
    public int TradeCount { get; set; }
    [Column("takerBuyBaseVolume")]
    public decimal TakerBuyBaseVolume { get; set; }
    [Column("takerBuyQuoteVolume")]
    public decimal TakerBuyQuoteVolume { get; set; }
}
