2021-12-14 09:06:56 +01:00

50 lines
988 B
C#

using HackerNet.Application;
using Microsoft.AspNetCore.Mvc;
namespace HackerNet.Web.Controllers;
public class LinksController : Controller
{
private readonly LinkService _linkService;
public LinksController(LinkService linkService)
{
_linkService = linkService;
}
[HttpGet]
public IActionResult Index()
{
return View(_linkService.GetPublishedLinks());
// return View(db.Links.ToArray());// retourne Link[]
// return View(_linkRepository.GetAll());// retourne Link[]
}
// TODO: Page de détail d'un lien
[HttpGet]
public IActionResult Detail(Guid id)
{
return View(_linkService.GetLinkDetail(id));
}
[HttpGet]
public IActionResult New()
{
return View(new PublishLinkCommand());
}
[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult New(PublishLinkCommand cmd)
{
if (!ModelState.IsValid)
{
return View(cmd);
}
_linkService.PublishLink(cmd);
return RedirectToAction("Index");
}
}