initial commit

This commit is contained in:
voltsrage
2026-06-26 04:20:20 +08:00
commit 869006e5e7
64 changed files with 4632 additions and 0 deletions
@@ -0,0 +1 @@
public record AssignBatchRequest(Guid EntryClerkUserId);
@@ -0,0 +1,47 @@
/// <summary>
/// API representation of a digitization batch. Hides EF navigation properties
/// and exposes enum fields as DB string literals.
/// </summary>
public record BatchDetailResponse(
Guid Id,
string Status,
string BatchType,
string Track,
Guid? PatientId,
string DocumentRef,
string? DocumentUrl,
bool EnableRetroactiveAlerts,
Guid? EnteredByUserId,
Guid? VerifiedByUserId,
Guid? ApprovedByUserId,
string? RejectionReason,
DateTimeOffset? PromotedAt,
Guid? PromotionEncounterId,
Guid? SupersedesBatchId,
bool ClinicianAttestation,
DateTimeOffset CreatedAt,
DateTimeOffset UpdatedAt
)
{
public static BatchDetailResponse FromEntity(DigitizationBatch batch, string? documentUrl = null) =>
new(
batch.Id,
batch.Status.ToDbString(),
batch.BatchType.ToDbString(),
batch.Track.ToDbString(),
batch.PatientId,
batch.DocumentRef,
documentUrl,
batch.EnableRetroactiveAlerts,
batch.EnteredByUserId,
batch.VerifiedByUserId,
batch.ApprovedByUserId,
batch.RejectionReason,
batch.PromotedAt,
batch.PromotionEncounterId,
batch.SupersedesBatchId,
batch.ClinicianAttestation,
batch.CreatedAt,
batch.UpdatedAt
);
}
@@ -0,0 +1,8 @@
/// <summary>
/// Multipart form metadata for batch creation (file is bound separately as <c>IFormFile</c>).
/// </summary>
public record CreateBatchRequest(
string BatchType,
string? Track,
Guid? PatientId
);