using Domain.AggregateModel.AppAggregate; using Domain.AggregateModel.LinkAggregate; using Microsoft.AspNetCore.Mvc; using QRCodeService.Models; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using MediatR; using QRCodeService.Application.Queries; using QRCodeService.Application.Commands; namespace QRCodeService.Controllers.Api { [Route("api/v1/[controller]")] [ApiController] public class LinkController:ControllerBase { readonly IMediator mediator; readonly ILinkQueries queries; public LinkController(IMediator mediator, ILinkQueries queries) { this.mediator = mediator; this.queries = queries; } [HttpGet] public IActionResult Get() { return Ok(); } [HttpPost] public async Task Create(CreateLinkModel input) { var command = new CreateLinkCommand(input.SuffixUrl,1); var link = await mediator.Send(command); if (link==null) { return BadRequest(); } return Ok(link.ShortCode); } } }