mirror of
https://github.com/collinbarrett/FilterLists.git
synced 2026-03-11 09:04:27 +00:00
feat(directory): ✨ use MediatR query for sample endpoint
This commit is contained in:
parent
ed3a370ed5
commit
69d9b1b4f9
3 changed files with 39 additions and 7 deletions
|
|
@ -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<IEnumerable<FilterList>> Get(CancellationToken cancellationToken)
|
||||
{
|
||||
return await _queryContext.FilterLists.ToListAsync(cancellationToken);
|
||||
return await _mediator.Send(new GetLists.Query(), cancellationToken);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -7,7 +7,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
<NoWarn>1701;1702;CA2007</NoWarn>
|
||||
<NoWarn>1701;1702;CA2007;CA1034</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
|||
32
directory/src/FilterLists.Directory.Application/GetLists.cs
Normal file
32
directory/src/FilterLists.Directory.Application/GetLists.cs
Normal file
|
|
@ -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<IEnumerable<FilterList>>
|
||||
{
|
||||
}
|
||||
|
||||
public class Handler : IRequestHandler<Query, IEnumerable<FilterList>>
|
||||
{
|
||||
private readonly IQueryDirectory _context;
|
||||
|
||||
public Handler(IQueryDirectory context)
|
||||
{
|
||||
_context = context;
|
||||
}
|
||||
|
||||
public async Task<IEnumerable<FilterList>> Handle(Query request, CancellationToken cancellationToken)
|
||||
{
|
||||
return await _context.FilterLists.ToListAsync(cancellationToken);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue