using System.IO; using Azaion.Common.DTO.Config; using Azaion.Common.DTO.Queue; using Azaion.CommonSecurity.DTO; namespace Azaion.Common.DTO; public class Annotation { private static string _labelsDir = null!; private static string _imagesDir = null!; public static void InitializeDirs(DirectoriesConfig config) { _labelsDir = config.LabelsDirectory; _imagesDir = config.ImagesDirectory; } public string Name { get; set; } = null!; public DateTime CreatedDate { get; set; } public List Classes { get; set; } = null!; public string CreatedEmail { get; set; } = null!; public RoleEnum CreatedRole { get; set; } public SourceEnum Source { get; set; } public AnnotationStatus AnnotationStatus { get; set; } public string ImagePath => Path.Combine(_imagesDir, $"{Name}.jpg"); public string LabelPath => Path.Combine(_labelsDir, $"{Name}.txt"); } public enum AnnotationStatus { None = 0, Created = 10, Validated = 20 } public class AnnotationName { public string Name { get; set; } = null!; }