45 lines
1.3 KiB
C#
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<UserControl> LoadViews()
|
|
{
|
|
return [new ServerView(), new HetznerSettingsView()];
|
|
}
|
|
|
|
} |