using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using SkyArtShop.Models;
using SkyArtShop.Services;

namespace SkyArtShop.Controllers;

[Route("page")]
public class PageController : Controller
{
	private readonly PostgreSQLService _pgService;

	public PageController(PostgreSQLService pgService)
	{
		_pgService = pgService;
	}

	[HttpGet("{slug}")]
	public async Task<IActionResult> Index(string slug)
	{
		Page page = (await _pgService.GetAllAsync<Page>("Pages")).FirstOrDefault((Page p) => p.PageSlug == slug && p.IsActive);
		if (page == null)
		{
			return NotFound();
		}
		return View("View", page);
	}
}
