using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace Managing.Infrastructure.Databases.PostgreSql.Entities;

public class SynthPredictionEntity
{
    [Key]
    public Guid Id { get; set; }

    [Required]
    [MaxLength(32)]
    public string Asset { get; set; }

    [Required]
    public int MinerUid { get; set; }

    [Required]
    public int TimeIncrement { get; set; }

    [Required]
    public int TimeLength { get; set; }

    public DateTime? SignalDate { get; set; }

    [Required]
    public bool IsBacktest { get; set; }

    [Column(TypeName = "jsonb")]
    public string PredictionData { get; set; } // JSON serialized MinerPrediction

    [Required]
    [MaxLength(255)]
    public string CacheKey { get; set; }

    [Required]
    public DateTime CreatedAt { get; set; }
} 