using System.Collections.Generic; namespace FlowAPI.Application.DTOs.AI { public class QuestAssigneeDto { public string Email { get; set; } = string.Empty; public string DisplayName { get; set; } = string.Empty; public string SharedWithUserId { get; set; } = string.Empty; } public class QuestSubgoalsDto { public int Total { get; set; } public int Done { get; set; } } public class QuestOptionDto { public string Id { get; set; } = string.Empty; public string Label { get; set; } = string.Empty; } public class QuestNodeDto { public string Id { get; set; } = string.Empty; public string Label { get; set; } = string.Empty; public string? Description { get; set; } public string? DependsOn { get; set; } public string? Condition { get; set; } // Expanded fields to support rich graphs public string? Type { get; set; } public string? Status { get; set; } public int? Progress { get; set; } public bool? ShowProgress { get; set; } public string? Color { get; set; } public bool? IsPinned { get; set; } public List? Tags { get; set; } public List? Assignees { get; set; } public QuestSubgoalsDto? Subgoals { get; set; } public string? Url { get; set; } public List? Options { get; set; } public List? SelectedOptions { get; set; } public bool? MultiSelect { get; set; } public object? ResetRule { get; set; } public double? Width { get; set; } public double? Height { get; set; } } public class QuestSchemaDto { public string Title { get; set; } = string.Empty; public string? Description { get; set; } public List Nodes { get; set; } = new(); } }