using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using e_suite.Database.Audit.Attributes;
using e_suite.Database.Audit.Models;

namespace e_suite.Database.Core.Tables.Diagnostics;

[NoAudit]
[Table("PerformanceReports", Schema = "Diagnostics")]
public class PerformanceReport : IId
{
    [Key]
    public long Id { get; set; }

    [Required]
    public string Host { get; set; } = null!;

    [Required]
    public string ControllerName { get; set; } = null!;

    [Required]
    public string ActionName { get; set; } = null!;

    [Required]
    public string RequestType { get; set; } = null!;

    [Required]
    public string ActionParameters { get; set; } = null!;

    [Required]
    public DateTimeOffset StartDateTime { get; set; }

    [Required]
    public string Timings { get; set; } = null!;

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