| 123456789101112131415161718192021222324252627282930 |
- using RackPeek.Domain.Resources.Models;
- namespace RackPeek.Domain.Resources.Hardware.AccessPoints;
- public record AccessPointHardwareReport(
- IReadOnlyList<AccessPointHardwareRow> AccessPoints
- );
- public record AccessPointHardwareRow(
- string Name,
- string Model,
- double SpeedGb
- );
- public class AccessPointHardwareReportUseCase(IHardwareRepository repository) : IUseCase
- {
- public async Task<AccessPointHardwareReport> ExecuteAsync()
- {
- var hardware = await repository.GetAllAsync();
- var aps = hardware.OfType<AccessPoint>();
- var rows = aps.Select(ap => new AccessPointHardwareRow(
- ap.Name,
- ap.Model ?? "Unknown",
- ap.Speed ?? 0
- )).ToList();
- return new AccessPointHardwareReport(rows);
- }
- }
|