From 992ecaba2d8e75def820f76e4767c1c1f72bd60b Mon Sep 17 00:00:00 2001 From: "Collin M. Barrett" Date: Tue, 25 Aug 2020 06:36:30 -0500 Subject: [PATCH] =?UTF-8?q?feat(directory):=20=E2=9C=A8=F0=9F=9A=A7=20stub?= =?UTF-8?q?=20ListsViewModel=20to=20match=20legacy?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/FilterListsController.cs | 27 ---------- .../Controllers/ListsController.cs | 26 +++++++++ .../Queries/GetLists.cs | 54 +++++++++++++++---- 3 files changed, 69 insertions(+), 38 deletions(-) delete mode 100644 services/directory/src/FilterLists.Directory.Api/Controllers/FilterListsController.cs create mode 100644 services/directory/src/FilterLists.Directory.Api/Controllers/ListsController.cs diff --git a/services/directory/src/FilterLists.Directory.Api/Controllers/FilterListsController.cs b/services/directory/src/FilterLists.Directory.Api/Controllers/FilterListsController.cs deleted file mode 100644 index e27cb46ce..000000000 --- a/services/directory/src/FilterLists.Directory.Api/Controllers/FilterListsController.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System.Collections.Generic; -using System.Threading; -using System.Threading.Tasks; -using FilterLists.Directory.Application.Queries; -using MediatR; -using Microsoft.AspNetCore.Mvc; - -namespace FilterLists.Directory.Api.Controllers -{ - [ApiController] - [Route("lists")] - public class FilterListsController : ControllerBase - { - private readonly IMediator _mediator; - - public FilterListsController(IMediator mediator) - { - _mediator = mediator; - } - - [HttpGet] - public async Task> Get(CancellationToken cancellationToken) - { - return await _mediator.Send(new GetLists.Query(), cancellationToken); - } - } -} \ No newline at end of file diff --git a/services/directory/src/FilterLists.Directory.Api/Controllers/ListsController.cs b/services/directory/src/FilterLists.Directory.Api/Controllers/ListsController.cs new file mode 100644 index 000000000..2f7db4e2d --- /dev/null +++ b/services/directory/src/FilterLists.Directory.Api/Controllers/ListsController.cs @@ -0,0 +1,26 @@ +using System.Threading; +using System.Threading.Tasks; +using FilterLists.Directory.Application.Queries; +using MediatR; +using Microsoft.AspNetCore.Mvc; + +namespace FilterLists.Directory.Api.Controllers +{ + [ApiController] + [Route("v1/[controller]")] + public class ListsController : ControllerBase + { + private readonly IMediator _mediator; + + public ListsController(IMediator mediator) + { + _mediator = mediator; + } + + [HttpGet] + public async Task Get(CancellationToken cancellationToken) + { + return Ok(await _mediator.Send(new GetLists.Query(), cancellationToken)); + } + } +} \ No newline at end of file diff --git a/services/directory/src/FilterLists.Directory.Application/Queries/GetLists.cs b/services/directory/src/FilterLists.Directory.Application/Queries/GetLists.cs index 656cf08e0..85089f647 100644 --- a/services/directory/src/FilterLists.Directory.Application/Queries/GetLists.cs +++ b/services/directory/src/FilterLists.Directory.Application/Queries/GetLists.cs @@ -10,11 +10,11 @@ namespace FilterLists.Directory.Application.Queries { 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,23 +23,55 @@ public Handler(IQueryContext context) _context = context; } - public async Task> Handle(Query request, + public async Task> Handle(Query request, CancellationToken cancellationToken) { return await _context.FilterLists - .Select(fl => new FilterListViewModel(fl.Name)) + .Select(fl => new ListViewModel + { + Id = default, + Name = fl.Name, + Description = fl.Description, + LicenseId = default, + SyntaxId = default, + LanguageIds = default, + TagIds = default, + ViewUrl = default, + ViewUrlMirrors = default, + HomeUrl = default, + PolicyUrl = default, + SubmissionUrl = default, + IssuesUrl = default, + ForumUrl = default, + ChatUrl = default, + EmailAddress = default, + DonateUrl = default, + MaintainerIds = default + }) .ToListAsync(cancellationToken); } } - public class FilterListViewModel + public class ListViewModel { - public FilterListViewModel(string name) - { - Name = name; - } - - public string Name { get; } + public int Id { get; set; } + public string Name { get; set; } + public string? Description { get; set; } + public int? LicenseId { get; set; } + public int? SyntaxId { get; set; } + public IEnumerable LanguageIds { get; set; } + public IEnumerable TagIds { get; set; } + public string ViewUrl { get; set; } + public IEnumerable ViewUrlMirrors { get; set; } + public string HomeUrl { get; set; } + public string PolicyUrl { get; set; } + public string SubmissionUrl { get; set; } + public string IssuesUrl { get; set; } + public string ForumUrl { get; set; } + public string ChatUrl { get; set; } + public string EmailAddress { get; set; } + public string DonateUrl { get; set; } + public IEnumerable MaintainerIds { get; set; } } } } \ No newline at end of file