Deleting plugins is now available

This commit is contained in:
2024-02-28 13:57:12 +02:00
parent 3c3c6a1301
commit fd9cd49844
17 changed files with 128 additions and 300 deletions

View File

@@ -1,5 +1,6 @@
using System.IO;
using PluginManager.Interfaces.Updater;
using System.Collections.Generic;
using System.Linq;
using System.Text.Json.Serialization;
using PluginManager.Online.Helpers;
namespace PluginManager.Plugin;
@@ -9,17 +10,30 @@ public class PluginInfo
public string PluginName { get; private set; }
public PluginVersion PluginVersion { get; private set; }
public string FilePath { get; private set; }
public List<string> ListOfDependancies {get; private set;}
public bool IsMarkedToUninstall {get; internal set;}
public PluginInfo(string pluginName, PluginVersion pluginVersion)
[JsonConstructor]
public PluginInfo(string pluginName, PluginVersion pluginVersion, List<string> listOfDependancies, bool isMarkedToUninstall)
{
PluginName = pluginName;
PluginVersion = pluginVersion;
ListOfDependancies = listOfDependancies;
IsMarkedToUninstall = isMarkedToUninstall;
FilePath = $"{Config.AppSettings["PluginFolder"]}/{pluginName}.dll";
}
public PluginInfo(string pluginName, PluginVersion pluginVersion, List<string> listOfDependancies)
{
PluginName = pluginName;
PluginVersion = pluginVersion;
ListOfDependancies = listOfDependancies;
IsMarkedToUninstall = false;
FilePath = $"{Config.AppSettings["PluginFolder"]}/{pluginName}.dll";
}
public static PluginInfo FromOnlineInfo(PluginOnlineInfo onlineInfo)
{
return new PluginInfo(onlineInfo.Name, onlineInfo.Version);
return new PluginInfo(onlineInfo.Name, onlineInfo.Version, onlineInfo.Dependencies.Select(dep => dep.DownloadLocation).ToList());
}
}