MermaidDiagramExportUseCase.cs 705 B

1234567891011121314151617181920212223
  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. {
  7. public class MermaidDiagramExportUseCase : IUseCase
  8. {
  9. private readonly IResourceCollection _repository;
  10. public MermaidDiagramExportUseCase(IResourceCollection repository)
  11. {
  12. _repository = repository;
  13. }
  14. public async Task<MermaidExportResult?> ExecuteAsync(MermaidExportOptions options)
  15. {
  16. IReadOnlyList<Resource> resources = await _repository.GetAllOfTypeAsync<Resource>();
  17. return resources.ToMermaidDiagram(options);
  18. }
  19. }
  20. }