47 lines
1.4 KiB
C#
47 lines
1.4 KiB
C#
using CommunityToolkit.Mvvm.DependencyInjection;
|
|
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;
|
|
|
|
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 = "Hetzner",
|
|
CommandParameter = new HetznerSettingsViewModel()
|
|
};
|
|
settingsService.AddSetting(hetznerSettings);
|
|
var checkmkSettings = new Shared.Setting.Item()
|
|
{
|
|
Header = "CheckMK",
|
|
CommandParameter = new CheckMKSettingsViewModel()
|
|
};
|
|
settingsService.AddSetting(checkmkSettings);
|
|
}
|
|
|
|
public List<Type> LoadViews()
|
|
{
|
|
return [typeof(ServerView), typeof(HetznerSettingsView), typeof(CheckMKSettingsView)];
|
|
}
|
|
|
|
} |