@page "/media/sources/emby/edit"
@using ErsatzTV.Application.Emby
@using ErsatzTV.Core.Emby
@implements IDisposable
@inject IMediator Mediator
@code {
private readonly CancellationTokenSource _cts = new();
public void Dispose()
{
_cts.Cancel();
_cts.Dispose();
}
private async Task LoadSecrets(RemoteMediaSourceEditViewModel viewModel)
{
EmbySecrets secrets = await Mediator.Send(new GetEmbySecrets(), _cts.Token);
viewModel.Address = secrets.Address;
viewModel.ApiKey = secrets.ApiKey;
return Unit.Default;
}
private async Task> SaveSecrets(RemoteMediaSourceEditViewModel viewModel)
{
var secrets = new EmbySecrets { Address = viewModel.Address, ApiKey = viewModel.ApiKey };
return await Mediator.Send(new SaveEmbySecrets(secrets), _cts.Token);
}
}