Renamed to IsEnabled

This commit is contained in:
2024-07-04 16:35:17 +03:00
parent e0eae076f1
commit 48a133d58c
6 changed files with 29 additions and 25 deletions

View File

@@ -24,6 +24,6 @@ namespace DiscordBotCore.Interfaces.PluginManager
Task RemovePluginFromDatabase(string pluginName);
Task UninstallMarkedPlugins();
Task SetDisabledStatus(string pluginName, bool status);
Task SetEnabledStatus(string pluginName, bool status);
}
}

View File

@@ -21,7 +21,7 @@ internal class Loader
internal async Task Load()
{
var installedPlugins = await Application.CurrentApplication.PluginManager.GetInstalledPlugins();
var files = installedPlugins.Where(plugin=>!plugin.IsDisabled).Select(plugin => plugin.FilePath).ToArray();
var files = installedPlugins.Where(plugin=>plugin.IsEnabled).Select(plugin => plugin.FilePath).ToArray();
foreach (var file in files)
{

View File

@@ -88,9 +88,9 @@ public class PluginManager : IPluginManager
public async Task AppendPluginToDatabase(PluginInfo pluginData)
{
List<PluginInfo> installedPlugins = await JsonManager.ConvertFromJson<List<PluginInfo>>(await File.ReadAllTextAsync(Application.CurrentApplication.PluginDatabase));
foreach (var dependency in pluginData.ListOfDependancies)
foreach (var dependency in pluginData.ListOfExecutableDependencies)
{
pluginData.ListOfDependancies[dependency.Key] = GenerateDependencyLocation(pluginData.PluginName, dependency.Value);
pluginData.ListOfExecutableDependencies[dependency.Key] = GenerateDependencyLocation(pluginData.PluginName, dependency.Value);
}
installedPlugins.Add(pluginData);
@@ -160,7 +160,7 @@ public class PluginManager : IPluginManager
{
File.Delete(pluginInfo.FilePath);
foreach (var dependency in pluginInfo.ListOfDependancies)
foreach (var dependency in pluginInfo.ListOfExecutableDependencies)
File.Delete(dependency.Value);
await RemovePluginFromDatabase(pluginInfo.PluginName);
@@ -175,8 +175,8 @@ public class PluginManager : IPluginManager
foreach (var plugin in installedPlugins)
{
if (plugin.ListOfDependancies.ContainsKey(dependencyName))
return plugin.ListOfDependancies[dependencyName];
if (plugin.ListOfExecutableDependencies.ContainsKey(dependencyName))
return plugin.ListOfExecutableDependencies[dependencyName];
}
return null;
@@ -230,7 +230,7 @@ public class PluginManager : IPluginManager
await AppendPluginToDatabase(pluginInfo);
}
public async Task SetDisabledStatus(string pluginName, bool status)
public async Task SetEnabledStatus(string pluginName, bool status)
{
var plugins = await GetInstalledPlugins();
var plugin = plugins.Find(p => p.PluginName == pluginName);
@@ -238,7 +238,7 @@ public class PluginManager : IPluginManager
if (plugin == null)
return;
plugin.IsDisabled = status;
plugin.IsEnabled = status;
await RemovePluginFromDatabase(pluginName);
await AppendPluginToDatabase(plugin);

View File

@@ -10,32 +10,32 @@ public class PluginInfo
public string PluginName { get; private set; }
public PluginVersion PluginVersion { get; private set; }
public string FilePath { get; private set; }
public Dictionary<string, string> ListOfDependancies {get; private set;}
public Dictionary<string, string> ListOfExecutableDependencies {get; private set;}
public bool IsMarkedToUninstall {get; internal set;}
public bool IsOfflineAdded { get; internal set; }
public bool IsDisabled { get; internal set; }
public bool IsEnabled { get; internal set; }
[JsonConstructor]
public PluginInfo(string pluginName, PluginVersion pluginVersion, Dictionary<string, string> listOfDependancies, bool isMarkedToUninstall, bool isOfflineAdded, bool isDisabled)
public PluginInfo(string pluginName, PluginVersion pluginVersion, Dictionary<string, string> listOfExecutableDependencies, bool isMarkedToUninstall, bool isOfflineAdded, bool isEnabled)
{
PluginName = pluginName;
PluginVersion = pluginVersion;
ListOfDependancies = listOfDependancies;
ListOfExecutableDependencies = listOfExecutableDependencies;
IsMarkedToUninstall = isMarkedToUninstall;
FilePath = $"{Application.CurrentApplication.ApplicationEnvironmentVariables["PluginFolder"]}/{pluginName}.dll";
IsOfflineAdded = isOfflineAdded;
IsDisabled = isDisabled;
IsEnabled = isEnabled;
}
public PluginInfo(string pluginName, PluginVersion pluginVersion, Dictionary<string, string> listOfDependancies)
public PluginInfo(string pluginName, PluginVersion pluginVersion, Dictionary<string, string> listOfExecutableDependencies)
{
PluginName = pluginName;
PluginVersion = pluginVersion;
ListOfDependancies = listOfDependancies;
ListOfExecutableDependencies = listOfExecutableDependencies;
IsMarkedToUninstall = false;
FilePath = $"{Application.CurrentApplication.ApplicationEnvironmentVariables["PluginFolder"]}/{pluginName}.dll";
IsOfflineAdded = false;
IsDisabled = false;
IsEnabled = true;
}
public static PluginInfo FromOnlineInfo(PluginOnlineInfo onlineInfo)