diff options
Diffstat (limited to 'src/Pages/Read.cshtml.cs')
| -rw-r--r-- | src/Pages/Read.cshtml.cs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/Pages/Read.cshtml.cs b/src/Pages/Read.cshtml.cs new file mode 100644 index 0000000..16a1055 --- /dev/null +++ b/src/Pages/Read.cshtml.cs @@ -0,0 +1,24 @@ +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.RazorPages; + +namespace I2R.LightNews.Pages; + +public class ReadModel : PageModel +{ + private readonly GrabberService _grabber; + + public NewsArticle Source { get; set; } + + public ReadModel(GrabberService grabber) { + _grabber = grabber; + } + + public async Task<ActionResult> OnGet([FromRoute] string site, [FromQuery] string url) { + Source = site switch { + "nrk" => await _grabber.GrabNrkArticleAsync(url), + _ => default + }; + if (Source == default) return Redirect("/"); + return Page(); + } +}
\ No newline at end of file |
