Add SCSI INQUIRY response details view with data loading

This commit is contained in:
2025-09-12 15:29:25 +01:00
parent dc51390bb3
commit d993027a06
2 changed files with 57 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
@page "/admin/scsi/{id:int}"
@using Aaru.Decoders.SCSI
@attribute [Authorize]
@layout AdminLayout
@rendermode InteractiveServer
@inject Microsoft.EntityFrameworkCore.IDbContextFactory<DbContext> DbContextFactory
<PageTitle>SCSI INQUIRY response</PageTitle>
@if(!_initialized)
{
<div class="stats-section">
<h1 style="color: red; align-content: center; padding: 2rem">Loading...</h1>
</div>
return;
}
<section class="stats-section">
<div>
<h4>SCSI INQUIRY response</h4>
<hr />
@((MarkupString)Inquiry.Prettify(_model?.InquiryData)?.Replace("\n", "<br />")))
</div>
<div>
<a href="/admin/scsi" class="btn btn-secondary">Back to List</a>
</div>
</section>

View File

@@ -0,0 +1,28 @@
using Microsoft.AspNetCore.Components;
using Microsoft.EntityFrameworkCore;
using DbContext = Aaru.Server.Database.DbContext;
namespace Aaru.Server.Components.Admin.Pages.Scsi;
public partial class Details
{
bool _initialized;
CommonTypes.Metadata.Scsi? _model;
[Parameter]
public int Id { get; set; }
protected override async Task OnInitializedAsync()
{
await base.OnInitializedAsync();
StateHasChanged();
await using DbContext ctx = await DbContextFactory.CreateDbContextAsync();
_model = await ctx.Scsi.FirstOrDefaultAsync(m => m.Id == Id);
_initialized = true;
StateHasChanged();
}
}