using Microsoft.EntityFrameworkCore; using System.ComponentModel.DataAnnotations.Schema; namespace HyperBooru; [Index(nameof(Name))] [Index(nameof(Sid))] public class LocalPrincipal : IPrincipal { [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int LocalPrincipalId { get; set; } public string Name { get; set; } public SecurityIdentifier Sid { get; set; } public List MemberOf { get; set; } } public class LocalUser : LocalPrincipal, IUser { public string PasswordHash { get; set; } } public class LocalGroup : LocalPrincipal, IGroup {}