Files
flashsharp/src/Flashsharp/Pages/Courses/Details.cshtml.cs
T
2026-10-22 21:18:32 -04:00

29 lines
819 B
C#

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<LessonSummary> Lessons { get; private set; } = [];
public async Task<IActionResult> 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();
}
}