using Flashsharp.Auth; using Flashsharp.Data; using Flashsharp.Domain; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; namespace Flashsharp.Pages.Courses; public sealed class DetailsModel(Store store) : PageModel { public CourseSummary Course { get; private set; } = null!; public IReadOnlyList Lessons { get; private set; } = []; public async Task OnGetAsync(long id, CancellationToken cancellationToken) { var userId = User.GetUserId(); var course = await store.GetCourseAsync(id, userId, cancellationToken); if (course is null) { return NotFound(); } Course = course; Lessons = await store.ListLessonsAsync(id, userId, cancellationToken); return Page(); } }