MermaidExportOptions.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. using System.Collections.Generic;
  2. namespace RackPeek.Domain.UseCases.Mermaid
  3. {
  4. public sealed record MermaidExportOptions
  5. {
  6. /// <summary>
  7. /// Only include resources with these tags (optional)
  8. /// </summary>
  9. public IReadOnlyList<string> IncludeTags { get; init; } = new List<string>();
  10. /// <summary>
  11. /// Diagram type: "flowchart", "sequence", "class", "er", etc.
  12. /// Default: flowchart TD
  13. /// </summary>
  14. public string DiagramType { get; init; } = "flowchart TD";
  15. /// <summary>
  16. /// Whether to include resource labels as annotations
  17. /// </summary>
  18. public bool IncludeLabels { get; init; } = true;
  19. /// <summary>
  20. /// Whether to include relationships (edges)
  21. /// </summary>
  22. public bool IncludeEdges { get; init; } = true;
  23. /// <summary>
  24. /// Optional label keys to include (null = include all)
  25. /// </summary>
  26. public IReadOnlyList<string>? LabelWhitelist { get; init; }
  27. }
  28. public sealed record MermaidExportResult(
  29. string DiagramText,
  30. IReadOnlyList<string> Warnings);
  31. }