mirror of
https://github.com/collinbarrett/FilterLists.git
synced 2026-03-11 09:04:27 +00:00
iterate over all models to validate and package up aggregated results
This commit is contained in:
parent
6475687ec7
commit
7d1d5b82bc
3 changed files with 45 additions and 6 deletions
|
|
@ -0,0 +1,17 @@
|
|||
using System.Collections.Generic;
|
||||
|
||||
namespace FilterLists.Agent.Features.Urls
|
||||
{
|
||||
public class DataFileUrlValidationResults
|
||||
{
|
||||
public DataFileUrlValidationResults(string dataFileName, IEnumerable<UrlValidationResult> results)
|
||||
{
|
||||
DataFileName = dataFileName;
|
||||
Results = results;
|
||||
}
|
||||
|
||||
public string DataFileName { get; }
|
||||
|
||||
public IEnumerable<UrlValidationResult> Results { get; }
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,6 @@
|
|||
using System.Threading;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using FilterLists.Agent.Core.Interfaces;
|
||||
using FilterLists.Agent.Features.Urls.Models;
|
||||
|
|
@ -25,12 +27,32 @@ public Handler(IMediator mediator, IUrlsRepository urlsRepository)
|
|||
|
||||
protected override async Task Handle(Command request, CancellationToken cancellationToken)
|
||||
{
|
||||
var results = new List<DataFileUrlValidationResults>();
|
||||
|
||||
var licenseUrls = await _repo.GetAllAsync<LicenseUrls>();
|
||||
var licenseUrlErrors = (await _mediator.Send(new ValidateUrls.Command(licenseUrls), cancellationToken)).ToList();
|
||||
if (licenseUrlErrors.Any())
|
||||
results.Add(new DataFileUrlValidationResults("License.json", licenseUrlErrors));
|
||||
|
||||
var listUrls = await _repo.GetAllAsync<ListUrls>();
|
||||
var listUrlErrors = (await _mediator.Send(new ValidateUrls.Command(listUrls), cancellationToken)).ToList();
|
||||
if (listUrlErrors.Any())
|
||||
results.Add(new DataFileUrlValidationResults("FilterList.json", listUrlErrors));
|
||||
|
||||
var maintainerUrls = await _repo.GetAllAsync<MaintainerUrls>();
|
||||
var errors = await _mediator.Send(new ValidateUrls.Command(maintainerUrls), cancellationToken);
|
||||
var maintainerUrlErrors = (await _mediator.Send(new ValidateUrls.Command(maintainerUrls), cancellationToken)).ToList();
|
||||
if (maintainerUrlErrors.Any())
|
||||
results.Add(new DataFileUrlValidationResults("Maintainer.json", maintainerUrlErrors));
|
||||
|
||||
//TODO: validate if http can be changed to https
|
||||
var softwareUrls = await _repo.GetAllAsync<SoftwareUrls>();
|
||||
var softwareUrlErrors = (await _mediator.Send(new ValidateUrls.Command(softwareUrls), cancellationToken)).ToList();
|
||||
if (softwareUrlErrors.Any())
|
||||
results.Add(new DataFileUrlValidationResults("Software.json", softwareUrlErrors));
|
||||
|
||||
//TODO: iterate through each IEntityUrl impl
|
||||
var syntaxUrls = await _repo.GetAllAsync<SyntaxUrls>();
|
||||
var syntaxUrlErrors = (await _mediator.Send(new ValidateUrls.Command(syntaxUrls), cancellationToken)).ToList();
|
||||
if (syntaxUrlErrors.Any())
|
||||
results.Add(new DataFileUrlValidationResults("Syntax.json", syntaxUrlErrors));
|
||||
|
||||
//TODO: create or edit GitHub issue with results
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,8 +16,8 @@ public static async Task Main()
|
|||
{
|
||||
BuildServiceProvider();
|
||||
var mediator = _serviceProvider.GetService<IMediator>();
|
||||
//await mediator.Send(new CaptureLists.Command());
|
||||
await mediator.Send(new ValidateAllUrls.Command());
|
||||
await mediator.Send(new CaptureLists.Command());
|
||||
//await mediator.Send(new ValidateAllUrls.Command());
|
||||
}
|
||||
|
||||
private static void BuildServiceProvider()
|
||||
|
|
|
|||
Loading…
Reference in a new issue