using EARSystem.Infrastructure; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; namespace EARSystem.Web.Controllers; [Authorize] public class AppController(AppDbContext db, CatalogPlaceProvider places) : Controller { [HttpGet("/Diary")] public IActionResult Diary() => View(); [HttpGet("/Nearby")] public IActionResult Nearby() => View(); [HttpGet("/Review")] public IActionResult Review() => View(); [HttpGet("/Favorites")] public IActionResult Favorites() => View(); [HttpGet("/Settings")] public IActionResult Settings() => View(); [HttpGet("/Experiences")] public async Task Experiences(Guid? placeId, CancellationToken ct) { ViewBag.PlaceId = placeId; return View(await db.Places.AsNoTracking().OrderBy(x => x.Name).ToArrayAsync(ct)); } [HttpGet("/Places/{id:guid}")] public async Task Place(Guid id, CancellationToken ct) { var place = await places.GetAsync(id, ct); return place == null ? NotFound() : View(place); } }