@page "/resources/services/{ServiceName}"
@using RackPeek.Domain.Resources.Services
@using RackPeek.Domain.Resources.Services.UseCases
@using Shared.Rcl.Components
@using Shared.Rcl.Components
@inject IServiceRepository ServiceRepository
@inject UpdateServiceUseCase UpdateServiceUseCase
@inject NavigationManager NavigationManager
Service Details
@if (_service is null && !_loading)
{
Service not found
}
else if (_loading)
{
loading service…
}
else
{
@_service.Name (@_service.Kind)
}
@code {
[Parameter] public string ServiceName { get; set; } = string.Empty;
private Service? _service;
private bool _loading = true;
protected override async Task OnInitializedAsync()
{
_service = await ServiceRepository.GetByNameAsync(ServiceName);
_loading = false;
}
async Task UpdateService(ServiceEditModel edit)
{
await UpdateServiceUseCase.ExecuteAsync(
edit.Name,
edit.Ip,
edit.Port,
edit.Protocol,
edit.Url,
edit.RunsOn,
edit.Notes
);
}
private void OnDeleted(string obj)
{
NavigationManager.NavigateTo("/services/list");
}
}