using W542.GandalfReborn.Data.Entities.App; 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 AppSubjectRelationInternalAuthorityRelationEntity : AppSubjectRelationInternalAuthorityRelationData, IMappingEntity, IVersionableEntity { public AppSubjectRelationEntity? AppSubjectRelation { get; set; } public AuthorityEntity? InternalAuthority { get; set; } } public class AppSubjectRelationInternalAuthorityRelationVersionEntity : AppSubjectRelationInternalAuthorityRelationData, IVersionEntity { public SubjectEntity? Suspect { get; set; } public long SuspectId { get; set; } public VersionAction Action { get; set; } public DateTimeOffset At { get; set; } public AppSubjectRelationInternalAuthorityRelationEntity? Reference { get; set; } } public class AppSubjectRelationInternalAuthorityRelationData where T : IConvertible { public required T AppId { get; set; } public required T SubjectId { get; set; } public required T InternalAuthorityId { get; set; } }