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.Security; public class TenantSubjectRelationInternalAuthorityRelationEntity : TenantSubjectRelationInternalAuthorityRelationData, IMappingEntity, IVersionableEntity { public TenantSubjectRelationEntity? TenantSubjectRelation { get; set; } public AuthorityEntity? InternalAuthority { get; set; } } public class TenantSubjectRelationInternalAuthorityRelationVersionEntity : TenantSubjectRelationInternalAuthorityRelationData, IVersionEntity { public SubjectEntity? Suspect { get; set; } public long SuspectId { get; set; } public VersionAction Action { get; set; } public DateTimeOffset At { get; set; } public TenantSubjectRelationInternalAuthorityRelationEntity? Reference { get; set; } } public class TenantSubjectRelationInternalAuthorityRelationData where T : IConvertible { public required T TenantId { get; set; } public required T SubjectId { get; set; } public required T InternalAuthorityId { get; set; } }