diff --git a/directory/src/FilterLists.Directory.Api/Controllers/FilterListsController.cs b/directory/src/FilterLists.Directory.Api/Controllers/FilterListsController.cs index 0af82abd7..de6fd62a6 100644 --- a/directory/src/FilterLists.Directory.Api/Controllers/FilterListsController.cs +++ b/directory/src/FilterLists.Directory.Api/Controllers/FilterListsController.cs @@ -1,10 +1,10 @@ using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; +using FilterLists.Directory.Application; using FilterLists.Directory.Infrastructure.Persistence.Queries.Entities; -using FilterLists.Directory.Infrastructure.Persistence.Queries.Facade; +using MediatR; using Microsoft.AspNetCore.Mvc; -using Microsoft.EntityFrameworkCore; namespace FilterLists.Directory.Api.Controllers { @@ -12,17 +12,17 @@ namespace FilterLists.Directory.Api.Controllers [Route("lists")] public class FilterListsController : ControllerBase { - private readonly IQueryDirectory _queryContext; + private readonly IMediator _mediator; - public FilterListsController(IQueryDirectory queryContext) + public FilterListsController(IMediator mediator) { - _queryContext = queryContext; + _mediator = mediator; } [HttpGet] public async Task> Get(CancellationToken cancellationToken) { - return await _queryContext.FilterLists.ToListAsync(cancellationToken); + return await _mediator.Send(new GetLists.Query(), cancellationToken); } } } \ No newline at end of file diff --git a/directory/src/FilterLists.Directory.Application/FilterLists.Directory.Application.csproj b/directory/src/FilterLists.Directory.Application/FilterLists.Directory.Application.csproj index 8487bd8fe..a21359f89 100644 --- a/directory/src/FilterLists.Directory.Application/FilterLists.Directory.Application.csproj +++ b/directory/src/FilterLists.Directory.Application/FilterLists.Directory.Application.csproj @@ -7,7 +7,7 @@ - 1701;1702;CA2007 + 1701;1702;CA2007;CA1034 diff --git a/directory/src/FilterLists.Directory.Application/GetLists.cs b/directory/src/FilterLists.Directory.Application/GetLists.cs new file mode 100644 index 000000000..ccfb07dfe --- /dev/null +++ b/directory/src/FilterLists.Directory.Application/GetLists.cs @@ -0,0 +1,32 @@ +using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; +using FilterLists.Directory.Infrastructure.Persistence.Queries.Entities; +using FilterLists.Directory.Infrastructure.Persistence.Queries.Facade; +using MediatR; +using Microsoft.EntityFrameworkCore; + +namespace FilterLists.Directory.Application +{ + public static class GetLists + { + public class Query : IRequest> + { + } + + public class Handler : IRequestHandler> + { + private readonly IQueryDirectory _context; + + public Handler(IQueryDirectory context) + { + _context = context; + } + + public async Task> Handle(Query request, CancellationToken cancellationToken) + { + return await _context.FilterLists.ToListAsync(cancellationToken); + } + } + } +} \ No newline at end of file