pschelpdesk/HetznerServer/HetznerServer.cs
2024-11-07 19:22:50 +01:00

45 lines
1.3 KiB
C#

using Avalonia.Controls;
using CommunityToolkit.Mvvm.DependencyInjection;
using Prise.Plugin;
using PSCHelpdesk.Plugins.HetznerServer.Menu;
using PSCHelpdesk.Plugins.HetznerServer.ViewModels;
using PSCHelpdesk.Plugins.HetznerServer.Views;
using PSCHelpdesk.Shared.Menu;
using PSCHelpdesk.Shared.Plugin;
using PSCHelpdesk.Shared.Service;
namespace PSCHelpdesk.Plugins.HetznerServer;
[Plugin(PluginType = typeof(Contract))]
public class HetznerServer : Contract
{
public string GetName()
{
return "HetznerServerPlugin";
}
public void Configure()
{
var menuService = Ioc.Default.GetRequiredService<IMenuService>();
var serverTab = new Item()
{
Header = "Server",
CommandParameter = new ServerViewModel()
};
menuService.AddMenuItem(serverTab);
var settingsService = Ioc.Default.GetRequiredService<ISettingsService>();
var hetznerSettings = new Shared.Setting.Item()
{
Header = "HetznerSettings",
CommandParameter = new HetznerSettingsViewModel()
};
settingsService.AddSetting(hetznerSettings);
}
public List<Type> LoadViews()
{
return [typeof(ServerView), typeof(HetznerSettingsView)];
}
}