Files
QuantEngineByItz/src/dotnet/QuantEngine.Web/Pages/Admin/Collection/Detail.cshtml.cs
T
kjh2064 9468050979
WBS-9.3 - NULL Policy CI Gate / NULL Policy Validation (push) Failing after 5s
Quant Engine CI/CD Pipeline / validate-core (push) Failing after 12s
Quant Engine CI/CD Pipeline / validate-ui-and-storage (push) Has been skipped
Deploy to Production / Build & Deploy to Production (push) Failing after 1m15s
feat: Implement Users Create and Collection Detail pages
Add comprehensive CRUD pages:
- Users/Create.cshtml(.cs): Add new admin user with password hashing
- Collection/Detail.cshtml(.cs): View collection run details with success criteria evaluation

Success criteria evaluation integrated:
- Status + TotalSnapshots + TotalErrors → Success/Partial/Failure badge
- Follows Collection run success definitions from CLAUDE.md

Build: 0 errors, 0 warnings

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-07-11 17:03:08 +09:00

35 lines
1.0 KiB
C#

using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc.RazorPages;
using QuantEngine.Core.Interfaces;
using QuantEngine.Web.Services;
namespace QuantEngine.Web.Pages.Admin.Collection;
[Authorize(AuthenticationSchemes = AdminAuthDefaults.Scheme)]
public class DetailModel : PageModel
{
private readonly ICollectionRepository _collectionRepository;
private readonly ILogger<DetailModel> _logger;
public CollectionRunRecord? Run { get; set; }
public DetailModel(ICollectionRepository collectionRepository, ILogger<DetailModel> logger)
{
_collectionRepository = collectionRepository;
_logger = logger;
}
public async Task OnGetAsync(string runId)
{
try
{
var runs = await _collectionRepository.GetRecentRunsAsync(limit: 100);
Run = runs.FirstOrDefault(r => r.RunId == runId);
}
catch (Exception ex)
{
_logger.LogError(ex, "Failed to load collection run detail");
}
}
}