using System;
using System.Collections.Generic;

namespace Vulnerator.Model.Object
{
    public class FprVulnerability
    {
        public string InstanceId = string.Empty;
        public string ClassId = string.Empty;
        public string Kingdom = string.Empty;
        public string Type = string.Empty;
        public string SubType = string.Empty;
        public string Output = string.Empty;
        public string RiskStatement = string.Empty;
        public string Description = string.Empty;
        public string FixText = string.Empty;
        public string Status = string.Empty;
        public string Comments = string.Empty;
        public string RawRisk = string.Empty;
        public Dictionary<string, string> ReplacementDefinitions = new Dictionary<string, string>();
        public string[] CCIs = {};
        public List<LocationDef> LocationDefinitions = new List<LocationDef>();
        public List<AuditComment> AuditComments = new List<AuditComment>();
        public class LocationDef
        {
            public string Path = string.Empty;
            public string Line = string.Empty;
            public string LineEnd = string.Empty;
            public string ColumnStart = string.Empty;
            public string ColumnEnd = string.Empty;
        }

        public class AuditComment
        {
            public DateTime EditTime { get; set; }
            public string Content { get; set; }
            public string UserName { get; set; }
        }
    }
}
