From 1a5aedd63c3ccb4d57cf9b91eb4b1764b2e905c5 Mon Sep 17 00:00:00 2001 From: "Collin M. Barrett" Date: Sun, 23 Aug 2020 10:56:08 -0500 Subject: [PATCH] =?UTF-8?q?refactor(directory):=20=E2=99=BB=20return=20VM?= =?UTF-8?q?=20for=20sample=20endpoint?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/FilterListsController.cs | 3 +-- .../GetLists.cs | 23 +++++++++++++++---- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/directory/src/FilterLists.Directory.Api/Controllers/FilterListsController.cs b/directory/src/FilterLists.Directory.Api/Controllers/FilterListsController.cs index de6fd62a6..a9da6d06a 100644 --- a/directory/src/FilterLists.Directory.Api/Controllers/FilterListsController.cs +++ b/directory/src/FilterLists.Directory.Api/Controllers/FilterListsController.cs @@ -2,7 +2,6 @@ using System.Threading; using System.Threading.Tasks; using FilterLists.Directory.Application; -using FilterLists.Directory.Infrastructure.Persistence.Queries.Entities; using MediatR; using Microsoft.AspNetCore.Mvc; @@ -20,7 +19,7 @@ public FilterListsController(IMediator mediator) } [HttpGet] - public async Task> Get(CancellationToken cancellationToken) + public async Task> Get(CancellationToken cancellationToken) { return await _mediator.Send(new GetLists.Query(), cancellationToken); } diff --git a/directory/src/FilterLists.Directory.Application/GetLists.cs b/directory/src/FilterLists.Directory.Application/GetLists.cs index ba39c1a34..741085228 100644 --- a/directory/src/FilterLists.Directory.Application/GetLists.cs +++ b/directory/src/FilterLists.Directory.Application/GetLists.cs @@ -1,8 +1,8 @@ using System.Collections.Generic; +using System.Linq; using System.Threading; using System.Threading.Tasks; using FilterLists.Directory.Infrastructure.Persistence.Queries.Context; -using FilterLists.Directory.Infrastructure.Persistence.Queries.Entities; using MediatR; using Microsoft.EntityFrameworkCore; @@ -10,11 +10,11 @@ namespace FilterLists.Directory.Application { public static class GetLists { - public class Query : IRequest> + public class Query : IRequest> { } - public class Handler : IRequestHandler> + public class Handler : IRequestHandler> { private readonly IQueryContext _context; @@ -23,10 +23,23 @@ public Handler(IQueryContext context) _context = context; } - public async Task> Handle(Query request, CancellationToken cancellationToken) + public async Task> Handle(Query request, + CancellationToken cancellationToken) { - return await _context.FilterLists.ToListAsync(cancellationToken); + return await _context.FilterLists + .Select(fl => new FilterListViewModel(fl.Name)) + .ToListAsync(cancellationToken); } } + + public class FilterListViewModel + { + public FilterListViewModel(string name) + { + Name = name; + } + + public string Name { get; } + } } } \ No newline at end of file