Files
Academic-Affairs-System/src/Jiaowu.Api/Domain/Academic/Archiving.cs
T
2026-09-07 19:34:03 +08:00

24 lines
761 B
C#

using System.ComponentModel.DataAnnotations;
using Jiaowu.Api.Domain.Common;
namespace Jiaowu.Api.Domain.Academic;
public interface IArchivable
{
bool IsArchived { get; set; }
DateTime? ArchivedAt { get; set; }
Guid? ArchivedByUserId { get; set; }
string? ArchiveReason { get; set; }
}
// Append-only history; deliberately independent of entity deletion and login-account lifecycle.
public sealed class ArchiveEvent : EntityBase
{
[MaxLength(20)] public required string Kind { get; set; }
public Guid EntityId { get; set; }
public bool IsArchived { get; set; }
public Guid ActorUserId { get; set; }
[MaxLength(256)] public string? ActorName { get; set; }
[MaxLength(500)] public required string Reason { get; set; }
}