Added pages for module and plugin download
This commit is contained in:
@@ -40,11 +40,19 @@ public class PluginInfo
|
||||
|
||||
public static PluginInfo FromOnlineInfo(PluginOnlineInfo onlineInfo)
|
||||
{
|
||||
return new PluginInfo(onlineInfo.Name,
|
||||
onlineInfo.Version,
|
||||
onlineInfo.Dependencies
|
||||
.Where(dep => dep.IsExecutable)
|
||||
.Select(dep => new KeyValuePair<string, string>(dep.DependencyName, dep.DownloadLocation))
|
||||
.ToDictionary());
|
||||
var pluginName = onlineInfo.Name;
|
||||
var version = onlineInfo.Version;
|
||||
var dependencies= onlineInfo.Dependencies;
|
||||
|
||||
if(dependencies is null)
|
||||
{
|
||||
return new PluginInfo(pluginName, version, new Dictionary<string, string>());
|
||||
}
|
||||
|
||||
var executableDependencies = dependencies.Where(dep => dep.IsExecutable);
|
||||
var dictDependencies = executableDependencies.Select(dep => new KeyValuePair<string, string>(dep.DependencyName, dep.DownloadLocation)).ToDictionary();
|
||||
|
||||
return new PluginInfo(pluginName, version, dictDependencies);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,19 +9,21 @@ namespace DiscordBotCore.Plugin;
|
||||
public class PluginOnlineInfo
|
||||
{
|
||||
public string Name { get; private set; }
|
||||
public string Author { get; private set; }
|
||||
public PluginVersion Version { get; private set; }
|
||||
public string DownLoadLink { get; private set; }
|
||||
public string Description { get; private set; }
|
||||
public List<OnlineDependencyInfo> Dependencies { get; private set; }
|
||||
public List<OnlineScriptDependencyInfo> ScriptDependencies { get; private set; }
|
||||
public List<OnlineDependencyInfo>? Dependencies { get; private set; }
|
||||
public List<OnlineScriptDependencyInfo>? ScriptDependencies { get; private set; }
|
||||
public OSType SupportedOS { get; private set; }
|
||||
public bool HasFileDependencies => Dependencies is not null && Dependencies.Count > 0;
|
||||
public bool HasScriptDependencies => ScriptDependencies is not null && ScriptDependencies.Count > 0;
|
||||
|
||||
[JsonConstructor]
|
||||
public PluginOnlineInfo(string name, PluginVersion version, string description, string downLoadLink, OSType supportedOS, List<OnlineDependencyInfo> dependencies, List<OnlineScriptDependencyInfo> scriptDependencies)
|
||||
public PluginOnlineInfo(string name, string author, PluginVersion version, string description, string downLoadLink, OSType supportedOS, List<OnlineDependencyInfo> dependencies, List<OnlineScriptDependencyInfo> scriptDependencies)
|
||||
{
|
||||
Name = name;
|
||||
Author = author;
|
||||
Version = version;
|
||||
Description = description;
|
||||
DownLoadLink = downLoadLink;
|
||||
@@ -30,9 +32,10 @@ public class PluginOnlineInfo
|
||||
ScriptDependencies = scriptDependencies;
|
||||
}
|
||||
|
||||
public PluginOnlineInfo(string name, PluginVersion version, string description, string downLoadLink, OSType supportedOS)
|
||||
public PluginOnlineInfo(string name, string author, PluginVersion version, string description, string downLoadLink, OSType supportedOS)
|
||||
{
|
||||
Name = name;
|
||||
Author = author;
|
||||
Version = version;
|
||||
Description = description;
|
||||
DownLoadLink = downLoadLink;
|
||||
@@ -48,6 +51,6 @@ public class PluginOnlineInfo
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return $"{Name} - {Version} ({Description})";
|
||||
return $"{Name} <{Author}> - {Version} ({Description})";
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user