MermaidExportOptions.cs 1.1 KB

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