Formatted code and rebuilt PluginLoader

This commit is contained in:
2024-02-27 11:07:27 +02:00
parent 14f280baef
commit ef7a2c0896
40 changed files with 525 additions and 524 deletions

View File

@@ -9,53 +9,54 @@ namespace PluginManager.Online;
public class PluginsManager
{
private static readonly string _DefaultBranch = "releases";
private static readonly string _DefaultBranch = "releases";
private static readonly string _DefaultBaseUrl = "https://raw.githubusercontent.com/andreitdr/SethPlugins";
private static readonly string _DefaultPluginsLink = "PluginsList.json";
public string Branch { get; init; }
public string BaseUrl { get; init; }
private string PluginsLink => $"{BaseUrl}/{Branch}/{_DefaultPluginsLink}";
public PluginsManager(Uri baseUrl, string branch)
{
this.BaseUrl = baseUrl.ToString();
this.Branch = branch;
BaseUrl = baseUrl.ToString();
Branch = branch;
}
public PluginsManager(string branch)
{
this.BaseUrl = _DefaultBaseUrl;
this.Branch = branch;
BaseUrl = _DefaultBaseUrl;
Branch = branch;
}
public PluginsManager()
{
this.BaseUrl = _DefaultBaseUrl;
this.Branch = _DefaultBranch;
BaseUrl = _DefaultBaseUrl;
Branch = _DefaultBranch;
}
public async Task<List<PluginOnlineInfo?>> GetPluginsList()
{
string jsonText = await ServerCom.GetAllTextFromUrl(PluginsLink);
List<PluginOnlineInfo?> result = await JsonManager.ConvertFromJson<List<PluginOnlineInfo?>>(jsonText);
OSType currentOS = OperatingSystem.IsWindows() ? OSType.WINDOWS : OperatingSystem.IsLinux() ? OSType.LINUX : OSType.MACOSX;
var jsonText = await ServerCom.GetAllTextFromUrl(PluginsLink);
List<PluginOnlineInfo?> result = await JsonManager.ConvertFromJson<List<PluginOnlineInfo?>>(jsonText);
var currentOS = OperatingSystem.IsWindows() ? OSType.WINDOWS :
OperatingSystem.IsLinux() ? OSType.LINUX : OSType.MACOSX;
return result.FindAll(pl => (pl.SupportedOS & currentOS) != 0);
}
public async Task<PluginOnlineInfo?> GetPluginDataByName(string pluginName)
{
List<PluginOnlineInfo?> plugins = await GetPluginsList();
PluginOnlineInfo? result = plugins.Find(p => p.Name == pluginName);
List<PluginOnlineInfo?> plugins = await GetPluginsList();
var result = plugins.Find(p => p.Name == pluginName);
return result;
}
}