Linked Plugin List and Plugin Install endpoints between web and console

This commit is contained in:
2024-12-15 22:49:45 +02:00
parent a12aa66660
commit 424bf2196f
13 changed files with 180 additions and 19 deletions

View File

@@ -10,7 +10,7 @@ namespace DiscordBotCore.API.Endpoints.PluginManagement;
public class PluginInstallEndpoint : IEndpoint
{
public string Path => "/api/plugin/install";
public EndpointType HttpMethod => EndpointType.Put;
public EndpointType HttpMethod => EndpointType.Post;
public async Task<ApiResponse> HandleRequest(string? jsonRequest)
{
Dictionary<string, string> jsonDict = await JsonManager.ConvertFromJson<Dictionary<string, string>>(jsonRequest);

View File

@@ -13,7 +13,11 @@ public class PluginListEndpoint : IEndpoint
{
var onlineInfos = await Application.CurrentApplication.PluginManager.GetPluginsList();
var response = await JsonManager.ConvertToJson(onlineInfos, [nameof(PluginOnlineInfo.Name), nameof(PluginOnlineInfo.Author), nameof(PluginOnlineInfo.Version)]);
var response = await JsonManager.ConvertToJson(onlineInfos, [
nameof(PluginOnlineInfo.Name),
nameof(PluginOnlineInfo.Author),
nameof(PluginOnlineInfo.Description)
]);
return ApiResponse.From(response, true);
}

View File

@@ -21,7 +21,7 @@ public sealed class PluginManager
_PluginRepository = pluginRepository;
}
public async Task<List<PluginOnlineInfo>?> GetPluginsList()
public async Task<List<PluginOnlineInfo>> GetPluginsList()
{
var jsonText = await _PluginRepository.JsonGetAllPlugins();
List<PluginOnlineInfo> result = await JsonManager.ConvertFromJson<List<PluginOnlineInfo>>(jsonText);