Added pages for module and plugin download

This commit is contained in:
2024-08-29 21:32:14 +03:00
parent 046c9bf98b
commit 34a54cd78f
10 changed files with 127 additions and 46 deletions

View File

@@ -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);
}
}

View File

@@ -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})";
}
}