From 4ca8db6c132cb713fd5f1cf4bc9c6beb3a644267 Mon Sep 17 00:00:00 2001
From: InfinityGhost
Date: Tue, 7 Jun 2022 22:08:10 -0400
Subject: [PATCH] Move release download logic to separate controller
---
.../Controllers/ReleaseController.cs | 28 +++++++++++++++++++
.../Views/Wiki/Install/Linux.cshtml | 12 ++------
.../Views/Wiki/Install/MacOS.cshtml | 11 ++------
.../Views/Wiki/Install/Windows.cshtml | 14 ++++------
4 files changed, 39 insertions(+), 26 deletions(-)
create mode 100644 OpenTabletDriver.Web/Controllers/ReleaseController.cs
diff --git a/OpenTabletDriver.Web/Controllers/ReleaseController.cs b/OpenTabletDriver.Web/Controllers/ReleaseController.cs
new file mode 100644
index 0000000..4d35760
--- /dev/null
+++ b/OpenTabletDriver.Web/Controllers/ReleaseController.cs
@@ -0,0 +1,28 @@
+using System.Linq;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Mvc;
+using OpenTabletDriver.Web.Core.Services;
+
+#nullable enable
+
+namespace OpenTabletDriver.Web.Controllers
+{
+ public class ReleaseController : Controller
+ {
+ private readonly IReleaseService _releaseService;
+
+ public ReleaseController(IReleaseService releaseService)
+ {
+ _releaseService = releaseService;
+ }
+
+ [Route("{Release}/{Download}/{file}")]
+ public async Task Download(string file)
+ {
+ var release = await _releaseService.GetLatestRelease();
+ var assets = await release.GetReleaseAssets();
+ var asset = assets.First(a => a.FileName == file);
+ return Redirect(asset.Url);
+ }
+ }
+}
diff --git a/OpenTabletDriver.Web/Views/Wiki/Install/Linux.cshtml b/OpenTabletDriver.Web/Views/Wiki/Install/Linux.cshtml
index 2bdc52b..23ea41a 100644
--- a/OpenTabletDriver.Web/Views/Wiki/Install/Linux.cshtml
+++ b/OpenTabletDriver.Web/Views/Wiki/Install/Linux.cshtml
@@ -1,12 +1,5 @@
-@using OpenTabletDriver.Web.Core.Services
-
-@inject IReleaseService releaseService
-
@{
ViewBag.Title = "Linux Installation Guide";
- var release = await releaseService.GetLatestRelease();
- var assets = await release.GetReleaseAssets();
- var deb = assets.FirstOrDefault(a => a.FileName == "OpenTabletDriver.deb")!;
}
@@ -14,7 +7,8 @@
-
- Download the latest release
+ Download the
+ latest release
(OpenTabletDriver.deb)
-
@@ -73,7 +67,7 @@
Alternatively, you can install opentabletdriver without an AUR helper.
- -
+
-
Run the following commands in a terminal to install and enable the OpenTabletDriver service.
# Downloads the pkgbuild from the AUR.
diff --git a/OpenTabletDriver.Web/Views/Wiki/Install/MacOS.cshtml b/OpenTabletDriver.Web/Views/Wiki/Install/MacOS.cshtml
index 8311d4c..7e9b0bb 100644
--- a/OpenTabletDriver.Web/Views/Wiki/Install/MacOS.cshtml
+++ b/OpenTabletDriver.Web/Views/Wiki/Install/MacOS.cshtml
@@ -1,11 +1,5 @@
-@using OpenTabletDriver.Web.Core.Services
-@inject IReleaseService releaseService
-
@{
ViewBag.Title = "macOS Installation Guide";
- var release = await releaseService.GetLatestRelease();
- var assets = await release.GetReleaseAssets();
- var asset = assets.First(a => a.FileName.Contains("osx-x64"));
}
@@ -13,7 +7,8 @@
-
- Download the latest release
+ Download the
+ latest release
(OpenTabletDriver-osx-x64.tar.gz)
-
@@ -22,4 +17,4 @@
-
Run the OpenTabletDriver app.
-
\ No newline at end of file
+
diff --git a/OpenTabletDriver.Web/Views/Wiki/Install/Windows.cshtml b/OpenTabletDriver.Web/Views/Wiki/Install/Windows.cshtml
index 1b3a446..64dd233 100644
--- a/OpenTabletDriver.Web/Views/Wiki/Install/Windows.cshtml
+++ b/OpenTabletDriver.Web/Views/Wiki/Install/Windows.cshtml
@@ -1,12 +1,5 @@
-@using OpenTabletDriver.Web.Core.Services
-
-@inject IReleaseService releaseService
-
@{
ViewBag.Title = "Windows Installation Guide";
- var release = await releaseService.GetLatestRelease();
- var assets = await release.GetReleaseAssets();
- var winzip = assets.FirstOrDefault(a => a.FileName == "OpenTabletDriver.win-x64.zip")!;
}
@@ -39,7 +32,7 @@
-
Download the
- latest release
+ latest release
(OpenTabletDriver-win-x64.zip)
-
@@ -72,7 +65,10 @@
requires WinUSB, and if it does, what interface. Check the supported list of tablets here.
- - If your tablet does require WinUSB download it from here.
+ -
+ If your tablet does require WinUSB download it from
+ here.
+
- Start Zadig.
- Go to
Options > show all devices
- Find your tablet on the device list and the interface.