71 lines
2.4 KiB
Plaintext
71 lines
2.4 KiB
Plaintext
@namespace Oqtane.Modules.Admin.Upgrade
|
|
@inherits ModuleBase
|
|
@inject NavigationManager NavigationManager
|
|
@inject IFileService FileService
|
|
@inject IPackageService PackageService
|
|
@inject IInstallationService InstallationService
|
|
|
|
@if (_package != null)
|
|
{
|
|
<TabStrip>
|
|
<TabPanel Name="Download">
|
|
@if (_upgradeavailable)
|
|
{
|
|
<ModuleMessage Type="MessageType.Info" Message="Select The Upgrade Button To Install a New Framework Version"></ModuleMessage>
|
|
@("Framework") @_package.Version <button type="button" class="btn btn-success" @onclick=@(async () => await Download(Constants.PackageId, Constants.Version))>Upgrade</button>
|
|
}
|
|
else
|
|
{
|
|
<ModuleMessage Type="MessageType.Info" Message="Framework Is Already Up To Date"></ModuleMessage>
|
|
}
|
|
</TabPanel>
|
|
<TabPanel Name="Upload">
|
|
<table class="table table-borderless">
|
|
<tr>
|
|
<td>
|
|
<Label HelpText="Upload a framework package and select Install to complete the installation">Framework: </Label>
|
|
</td>
|
|
<td>
|
|
<FileManager Filter="nupkg" Folder="Framework" />
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<button type="button" class="btn btn-success" @onclick="Upgrade">Install</button>
|
|
</TabPanel>
|
|
</TabStrip>
|
|
}
|
|
|
|
@code {
|
|
private Package _package;
|
|
private bool _upgradeavailable = false;
|
|
|
|
public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Host;
|
|
|
|
protected override async Task OnInitializedAsync()
|
|
{
|
|
List<Package> packages = await PackageService.GetPackagesAsync("framework");
|
|
_package = packages.FirstOrDefault();
|
|
if (_package != null)
|
|
{
|
|
_upgradeavailable = (Version.Parse(_package.Version).CompareTo(Version.Parse(Constants.Version)) > 0);
|
|
}
|
|
else
|
|
{
|
|
_package = new Package { Name = Constants.PackageId, Version = Constants.Version };
|
|
}
|
|
}
|
|
|
|
private async Task Upgrade()
|
|
{
|
|
await InstallationService.Upgrade();
|
|
NavigationManager.NavigateTo(NavigateUrl());
|
|
}
|
|
|
|
private async Task Download(string packageid, string version)
|
|
{
|
|
await PackageService.DownloadPackageAsync(packageid, version, "Framework");
|
|
await InstallationService.Upgrade();
|
|
NavigationManager.NavigateTo(NavigateUrl());
|
|
}
|
|
}
|