From 5041873c2ba598fb7af8bfdd03d05a1295f52486 Mon Sep 17 00:00:00 2001 From: Chris Chen Date: Wed, 27 May 2026 13:44:10 -0700 Subject: [PATCH] feat: add AuditableEntity and SoftDeleteEntity base classes --- API/ROLAC.API/Entities/Base/AuditableEntity.cs | 9 +++++++++ API/ROLAC.API/Entities/Base/SoftDeleteEntity.cs | 8 ++++++++ 2 files changed, 17 insertions(+) create mode 100644 API/ROLAC.API/Entities/Base/AuditableEntity.cs create mode 100644 API/ROLAC.API/Entities/Base/SoftDeleteEntity.cs diff --git a/API/ROLAC.API/Entities/Base/AuditableEntity.cs b/API/ROLAC.API/Entities/Base/AuditableEntity.cs new file mode 100644 index 0000000..f60b8b2 --- /dev/null +++ b/API/ROLAC.API/Entities/Base/AuditableEntity.cs @@ -0,0 +1,9 @@ +namespace ROLAC.API.Entities.Base; + +public abstract class AuditableEntity +{ + public DateTime CreatedAt { get; set; } + public string CreatedBy { get; set; } = null!; // FK → AspNetUsers.Id + public DateTime UpdatedAt { get; set; } + public string UpdatedBy { get; set; } = null!; // FK → AspNetUsers.Id +} diff --git a/API/ROLAC.API/Entities/Base/SoftDeleteEntity.cs b/API/ROLAC.API/Entities/Base/SoftDeleteEntity.cs new file mode 100644 index 0000000..48ff67f --- /dev/null +++ b/API/ROLAC.API/Entities/Base/SoftDeleteEntity.cs @@ -0,0 +1,8 @@ +namespace ROLAC.API.Entities.Base; + +public abstract class SoftDeleteEntity : AuditableEntity +{ + public bool IsDeleted { get; set; } = false; + public DateTime? DeletedAt { get; set; } + public string? DeletedBy { get; set; } // FK → AspNetUsers.Id +}