Renamed to IsEnabled
This commit is contained in:
@@ -28,16 +28,19 @@ internal static class PluginMethods
|
||||
|
||||
var data = await ConsoleUtilities.ExecuteWithProgressBar(Application.CurrentApplication.PluginManager.GetPluginsList(), "Reading remote database");
|
||||
|
||||
TableData tableData = new(["Name", "Description", "Version", "Is Installed", "Dependencies"]);
|
||||
TableData tableData = new(["Name", "Description", "Version", "Installed", "Dependencies", "Enabled"]);
|
||||
|
||||
var installedPlugins = await ConsoleUtilities.ExecuteWithProgressBar(Application.CurrentApplication.PluginManager.GetInstalledPlugins(), "Reading local database ");
|
||||
|
||||
foreach (var plugin in data)
|
||||
{
|
||||
bool isInstalled = installedPlugins.Any(p => p.PluginName == plugin.Name);
|
||||
bool isInstalled = installedPlugins.Any(p => p.PluginName == plugin.Name);
|
||||
|
||||
if (!plugin.HasFileDependencies)
|
||||
{
|
||||
tableData.AddRow([plugin.Name, plugin.Description, plugin.Version.ToString(), isInstalled ? "Yes" : "No", "None"]);
|
||||
tableData.AddRow([plugin.Name, plugin.Description,
|
||||
plugin.Version.ToString(), isInstalled ? "[green]Yes[/]" : "[red]No[/]", "None",
|
||||
isInstalled ? installedPlugins.First(p=>p.PluginName == plugin.Name).IsEnabled ? "[green]Enabled[/]" : "[red]Disabled[/]" : "[yellow]NOT INSTALLED[/]"]);
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -66,7 +69,8 @@ internal static class PluginMethods
|
||||
|
||||
Table spectreTable = dependenciesTable.AsTable();
|
||||
|
||||
tableData.AddRow([plugin.Name, plugin.Description, plugin.Version.ToString(), isInstalled ? "Yes" : "No", spectreTable]);
|
||||
tableData.AddRow([plugin.Name, plugin.Description, plugin.Version.ToString(), isInstalled ? "[green]Yes[/]" : "[red]No[/]", spectreTable,
|
||||
isInstalled ? installedPlugins.First(p=>p.PluginName == plugin.Name).IsEnabled ? "Enabled" : "[red]Disabled[/]" : "[yellow]NOT INSTALLED[/]"]);
|
||||
}
|
||||
|
||||
tableData.HasRoundBorders = false;
|
||||
@@ -92,12 +96,12 @@ internal static class PluginMethods
|
||||
|
||||
internal static async Task DisablePlugin(string pluginName)
|
||||
{
|
||||
await Application.CurrentApplication.PluginManager.SetDisabledStatus(pluginName, true);
|
||||
await Application.CurrentApplication.PluginManager.SetEnabledStatus(pluginName, false);
|
||||
}
|
||||
|
||||
internal static async Task EnablePlugin(string pluginName)
|
||||
{
|
||||
await Application.CurrentApplication.PluginManager.SetDisabledStatus(pluginName, false);
|
||||
await Application.CurrentApplication.PluginManager.SetEnabledStatus(pluginName, true);
|
||||
}
|
||||
|
||||
internal static async Task DownloadPlugin(string pluginName)
|
||||
|
||||
@@ -59,7 +59,7 @@ public class Plugin: ICommandAction
|
||||
}
|
||||
|
||||
string pluginName = string.Join(' ', args, 1, args.Length - 1);
|
||||
await Application.CurrentApplication.PluginManager.SetDisabledStatus(pluginName, false);
|
||||
await PluginMethods.EnablePlugin(pluginName);
|
||||
|
||||
break;
|
||||
}
|
||||
@@ -72,7 +72,7 @@ public class Plugin: ICommandAction
|
||||
}
|
||||
|
||||
string pluginName = string.Join(' ', args, 1, args.Length - 1);
|
||||
await Application.CurrentApplication.PluginManager.SetDisabledStatus(pluginName, true);
|
||||
await PluginMethods.DisablePlugin(pluginName);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user