Changed Sqlite to microsoft sqlite implementation
This commit is contained in:
@@ -7,11 +7,12 @@ using DiscordBotCore.Plugin;
|
||||
|
||||
namespace DiscordBotCore.Online.Helpers;
|
||||
|
||||
internal class PluginRepository : IPluginRepository
|
||||
public class PluginRepository : IPluginRepository
|
||||
{
|
||||
private readonly IPluginRepositoryConfiguration _pluginRepositoryConfiguration;
|
||||
private readonly HttpClient _httpClient;
|
||||
internal PluginRepository(IPluginRepositoryConfiguration pluginRepositoryConfiguration)
|
||||
public HttpClient _httpClient;
|
||||
|
||||
public PluginRepository(IPluginRepositoryConfiguration pluginRepositoryConfiguration)
|
||||
{
|
||||
_pluginRepositoryConfiguration = pluginRepositoryConfiguration;
|
||||
_httpClient = new HttpClient();
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using DiscordBotCore.Interfaces.PluginManagement;
|
||||
|
||||
namespace DiscordBotCore.Online.Helpers;
|
||||
@@ -10,6 +11,7 @@ public class PluginRepositoryConfiguration : IPluginRepositoryConfiguration
|
||||
public string PluginRepositoryLocation { get; }
|
||||
public string DependenciesRepositoryLocation { get; }
|
||||
|
||||
[JsonConstructor]
|
||||
public PluginRepositoryConfiguration(string baseUrl, string pluginRepositoryLocation, string dependenciesRepositoryLocation)
|
||||
{
|
||||
BaseUrl = baseUrl;
|
||||
|
||||
@@ -9,7 +9,24 @@ using DiscordBotCore.Plugin;
|
||||
|
||||
namespace DiscordBotCore.Online;
|
||||
|
||||
public sealed class PluginManager
|
||||
public interface IPluginManager
|
||||
{
|
||||
Task<List<OnlinePlugin>> GetPluginsList();
|
||||
Task<OnlinePlugin?> GetPluginDataByName(string pluginName);
|
||||
Task AppendPluginToDatabase(PluginInfo pluginData);
|
||||
Task<List<PluginInfo>> GetInstalledPlugins();
|
||||
Task<bool> IsPluginInstalled(string pluginName);
|
||||
Task<bool> MarkPluginToUninstall(string pluginName);
|
||||
Task UninstallMarkedPlugins();
|
||||
Task<string?> GetDependencyLocation(string dependencyName);
|
||||
Task<string?> GetDependencyLocation(string dependencyName, string pluginName);
|
||||
string GenerateDependencyRelativePath(string pluginName, string dependencyPath);
|
||||
Task InstallPluginNoProgress(OnlinePlugin plugin);
|
||||
Task<Tuple<Dictionary<string, string>, List<OnlineDependencyInfo>>> GatherInstallDataForPlugin(OnlinePlugin plugin);
|
||||
Task SetEnabledStatus(string pluginName, bool status);
|
||||
}
|
||||
|
||||
public sealed class PluginManager : IPluginManager
|
||||
{
|
||||
private static readonly string _LibrariesBaseFolder = "Libraries";
|
||||
private readonly IPluginRepository _PluginRepository;
|
||||
|
||||
Reference in New Issue
Block a user