fix remaining default resx differences, enhance module message with ability to dismiss, fix issue in ConfigManager.RemoveSetting, introduce package registry service

This commit is contained in:
Shaun Walker
2021-06-22 14:14:46 -04:00
parent 247e00ecd4
commit c4e6a4af49
26 changed files with 643 additions and 420 deletions

View File

@ -6,7 +6,8 @@ namespace Oqtane.Services
{
public interface IPackageService
{
Task<List<Package>> GetPackagesAsync(string tag);
Task<List<Package>> GetPackagesAsync(string type);
Task<List<Package>> GetPackagesAsync(string type, string search);
Task DownloadPackageAsync(string packageId, string version, string folder);
Task InstallPackagesAsync();
}

View File

@ -5,6 +5,7 @@ using System.Threading.Tasks;
using System.Linq;
using Oqtane.Documentation;
using Oqtane.Shared;
using System.Net;
namespace Oqtane.Services
{
@ -19,10 +20,15 @@ namespace Oqtane.Services
}
private string Apiurl => CreateApiUrl("Package", _siteState.Alias);
public async Task<List<Package>> GetPackagesAsync(string tag)
public async Task<List<Package>> GetPackagesAsync(string type)
{
List<Package> packages = await GetJsonAsync<List<Package>>($"{Apiurl}?tag={tag}");
return packages.OrderByDescending(item => item.Downloads).ToList();
return await GetPackagesAsync(type, "");
}
public async Task<List<Package>> GetPackagesAsync(string type, string search)
{
List<Package> packages = await GetJsonAsync<List<Package>>($"{Apiurl}?type={type}&search={WebUtility.UrlEncode(search)}");
return packages.OrderByDescending(item => item.Downloads).ToList(); // order by popularity
}
public async Task DownloadPackageAsync(string packageId, string version, string folder)