namespace Tasks.Module.Models; public class FolderDto { public string Id { get; set; } = string.Empty; public string Name { get; set; } = string.Empty; public string? ParentId { get; set; } public string? UserId { get; set; } public DateTime CreatedAt { get; set; } public DateTime? UpdatedAt { get; set; } public List Children { get; set; } = new(); public List Files { get; set; } = new(); public List TasksSheets { get; set; } = new(); } public class CreateFolderDto { public string Name { get; set; } = string.Empty; public string? ParentId { get; set; } } public class UpdateFolderDto { public string Id { get; set; } = string.Empty; public string Name { get; set; } = string.Empty; public string? ParentId { get; set; } } public class FileReferenceDto { public string Id { get; set; } = string.Empty; public string Name { get; set; } = string.Empty; public string Type { get; set; } = string.Empty; public string? ParentId { get; set; } public string? ContentPath { get; set; } public string? UserId { get; set; } public DateTime CreatedAt { get; set; } public DateTime? UpdatedAt { get; set; } } public class CreateFileReferenceDto { public string Name { get; set; } = string.Empty; public string Type { get; set; } = string.Empty; public string? ParentId { get; set; } public string? ContentPath { get; set; } } public class TasksSheetDto { public string Id { get; set; } = string.Empty; public string Title { get; set; } = string.Empty; public string? Description { get; set; } public string? ParentFolderId { get; set; } public string? UserId { get; set; } public DateTime CreatedAt { get; set; } public DateTime? UpdatedAt { get; set; } public string? CategoryId { get; set; } public List TagIds { get; set; } = new(); public List Tasks { get; set; } = new(); } public class CreateTasksSheetDto { public string Title { get; set; } = string.Empty; public string? Description { get; set; } public string? ParentFolderId { get; set; } public string? CategoryId { get; set; } public List TagIds { get; set; } = new(); } public class TreeItemDto { public string Id { get; set; } = string.Empty; public string Name { get; set; } = string.Empty; public TreeItemType Type { get; set; } public string? ParentId { get; set; } public List Children { get; set; } = new(); public bool IsExpanded { get; set; } = false; public bool IsDragOver { get; set; } = false; public bool IsDragSource { get; set; } = false; } public enum TreeItemType { Folder, TasksSheet, Document }