Files
linker/cmonitor/client/api/ApiStartup.cs
2024-04-29 14:18:38 +08:00

36 lines
1.3 KiB
C#

using cmonitor.config;
using cmonitor.startup;
using common.libs;
using Microsoft.Extensions.DependencyInjection;
using System.Reflection;
namespace cmonitor.client.api
{
public sealed class ApiStartup : IStartup
{
public StartupLevel Level => StartupLevel.Normal;
public void AddClient(ServiceCollection serviceCollection, Config config, Assembly[] assemblies)
{
}
public void AddServer(ServiceCollection serviceCollection, Config config, Assembly[] assemblies)
{
serviceCollection.AddSingleton<IApiClientServer, ApiClientServer>();
}
public void UseClient(ServiceProvider serviceProvider, Config config, Assembly[] assemblies)
{
}
public void UseServer(ServiceProvider serviceProvider, Config config, Assembly[] assemblies)
{
Logger.Instance.Info($"start client api server");
IApiClientServer clientServer = serviceProvider.GetService<IApiClientServer>();
clientServer.LoadPlugins(assemblies);
clientServer.Websocket(config.Data.Client.ApiPort, config.Data.Client.ApiPassword);
Logger.Instance.Info($"client api listen:{config.Data.Client.ApiPort}");
Logger.Instance.Info($"client api password:{config.Data.Client.ApiPassword}");
}
}
}