MermaidDiagramExportUseCase.cs 685 B

12345678910111213141516171819
  1. using System.Collections.Generic;
  2. using System.Threading.Tasks;
  3. using RackPeek.Domain.Resources;
  4. using RackPeek.Domain.Persistence;
  5. namespace RackPeek.Domain.UseCases.Mermaid {
  6. public class MermaidDiagramExportUseCase : IUseCase {
  7. private readonly IResourceCollection _repository;
  8. public MermaidDiagramExportUseCase(IResourceCollection repository) {
  9. _repository = repository;
  10. }
  11. public async Task<MermaidExportResult?> ExecuteAsync(MermaidExportOptions options) {
  12. IReadOnlyList<Resource> resources = await _repository.GetAllOfTypeAsync<Resource>();
  13. return resources.ToMermaidDiagram(options);
  14. }
  15. }
  16. }