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

namespace e_suite.Database.Core.Tables.Diagnostics;

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

    [Required]
    public string Application { get; set; } = string.Empty;

    [Required]
    public string ExceptionJson { get; set; } = string.Empty;

    [Required]
    public string Message { get; set; } = string.Empty;

    [Required]
    public string StackTrace { get; set; } = string.Empty;

    [Required]
    public string SupportingData { get; set;} = string.Empty;

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