2025-04-23 21:23:33 -05:00
|
|
|
using LANCommander.SDK;
|
2025-11-16 12:31:25 -06:00
|
|
|
using LANCommander.SDK.Interceptors;
|
2025-09-24 20:58:23 -05:00
|
|
|
using LANCommander.SDK.Services;
|
2025-04-23 21:23:33 -05:00
|
|
|
using LANCommander.Server.Services;
|
|
|
|
|
|
|
|
|
|
namespace LANCommander.Server.Startup;
|
|
|
|
|
|
|
|
|
|
public static class Beacon
|
|
|
|
|
{
|
|
|
|
|
public static async Task StartBeaconAsync(this WebApplication app)
|
|
|
|
|
{
|
2025-11-16 12:31:25 -06:00
|
|
|
var settingsProvider = app.Services.GetRequiredService<SettingsProvider<Settings.Settings>>();
|
2025-09-24 20:58:23 -05:00
|
|
|
var beaconService = app.Services.GetRequiredService<BeaconClient>();
|
2025-11-16 12:31:25 -06:00
|
|
|
var interceptor = app.Services.GetRequiredService<IBeaconMessageInterceptor>();
|
2025-05-04 19:25:08 -05:00
|
|
|
|
2025-09-24 20:58:23 -05:00
|
|
|
beaconService.Initialize();
|
2025-11-16 12:31:25 -06:00
|
|
|
beaconService.AddBeaconMessageInterceptor(interceptor);
|
2025-04-23 21:23:33 -05:00
|
|
|
|
2025-11-16 12:31:25 -06:00
|
|
|
if (settingsProvider.CurrentValue.Server.Beacon.Enabled)
|
|
|
|
|
await beaconService.StartBeaconAsync(settingsProvider.CurrentValue.Server.Beacon.Port, settingsProvider.CurrentValue.Server.Beacon.Address, settingsProvider.CurrentValue.Server.Beacon.Name);
|
2025-04-23 21:23:33 -05:00
|
|
|
}
|
|
|
|
|
}
|