using W542.GandalfReborn.Data.Entities.Base; using W542.GandalfReborn.Data.Entities.Subject; using W542.GandalfReborn.Data.Entities.Tenant; using W542.GandalfReborn.Data.Entities.Version; namespace W542.GandalfReborn.Data.Entities.App; public class AppRelationEntity : AppRelationData, IVersionableEntity { public TenantEntity? Tenant { get; set; } public HashSet Subjects { get; set; } = []; } public class AppRelationVersionEntity : AppRelationData, IVersionEntity { public SubjectEntity? Suspect { get; set; } public long SuspectId { get; set; } public VersionAction Action { get; set; } public DateTimeOffset At { get; set; } public AppRelationEntity? Reference { get; set; } } public abstract class AppRelationData : TenantRelationData { public required string Name { get; set; } }