Add audit logging, processing stages, delete functionality, and bug fixes

- Add audit logging system for tracking CV uploads, processing, deletion,
  report views, and PDF exports for billing/reference purposes
- Add processing stage display on dashboard instead of generic "Processing"
- Add delete button for CV checks on dashboard
- Fix duplicate primary key error in CompanyCache (race condition)
- Fix DbContext concurrency in Dashboard (concurrent delete/load operations)
- Fix ProcessCVCheckJob to handle deleted records gracefully
- Fix duplicate flags in verification report by deduplicating on Title+Description
- Remove internal cache notes from verification results
- Add EF migrations for ProcessingStage and AuditLog table

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-20 20:58:12 +01:00
parent 652aa2e612
commit 0eee5473e4
21 changed files with 1559 additions and 123 deletions

View File

@@ -0,0 +1,28 @@
using System.ComponentModel.DataAnnotations;
namespace TrueCV.Domain.Entities;
public class AuditLog
{
[Key]
public Guid Id { get; set; }
public Guid UserId { get; set; }
[Required]
[MaxLength(64)]
public string Action { get; set; } = string.Empty;
[MaxLength(128)]
public string? EntityType { get; set; }
public Guid? EntityId { get; set; }
[MaxLength(1024)]
public string? Details { get; set; }
[MaxLength(64)]
public string? IpAddress { get; set; }
public DateTime CreatedAt { get; set; }
}