aboutsummaryrefslogtreecommitdiffstats
path: root/src/Pages/Read.cshtml.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Pages/Read.cshtml.cs')
-rw-r--r--src/Pages/Read.cshtml.cs24
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