MermaidExportOptions.cs 1004 B

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