FlowAPI / FlowAPI.Application /DTOs /AI /QuestSchemaDto.cs
danylokhodus's picture
feat: Upgrade AutoLayoutEngine to support rich node generation (color, status, progress, tags, subgoals, etc.)
b01b49e
Raw
History Blame Contribute Delete
1.93 kB
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<string>? Tags { get; set; }
public List<QuestAssigneeDto>? Assignees { get; set; }
public QuestSubgoalsDto? Subgoals { get; set; }
public string? Url { get; set; }
public List<QuestOptionDto>? Options { get; set; }
public List<string>? 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<QuestNodeDto> Nodes { get; set; } = new();
}
}