diff options
Diffstat (limited to 'LocalPrincipal.cs')
| -rw-r--r-- | LocalPrincipal.cs | 48 |
1 files changed, 8 insertions, 40 deletions
diff --git a/LocalPrincipal.cs b/LocalPrincipal.cs index 28a2721..36428ef 100644 --- a/LocalPrincipal.cs +++ b/LocalPrincipal.cs @@ -1,49 +1,17 @@ -namespace HyperBooru; +using Microsoft.EntityFrameworkCore; -public class LocalPrincipal : HBObject { +namespace HyperBooru; + +[Index(nameof(Name))] +[Index(nameof(Sid))] +public class LocalPrincipal : IPrincipal { public string Name { get; set; } public SecurityIdentifier Sid { get; set; } public List<LocalGroup> MemberOf { get; set; } - - public static implicit operator Principal(LocalPrincipal principal) => - new() { - Name = principal.Name, - Sid = principal.Sid, - }; - - public static implicit operator LocalPrincipal(Principal principal) => - new() { - Name = principal.Name, - Sid = principal.Sid - }; } -public class LocalUser : LocalPrincipal { +public class LocalUser : LocalPrincipal, IUser { public string PasswordHash { get; set; } - - public static implicit operator User(LocalUser user) => - new() { - Name = user.Name, - Sid = user.Sid, - }; - - public static implicit operator LocalUser(User user) => - new() { - Name = user.Name, - Sid = user.Sid - }; } -public class LocalGroup : LocalPrincipal { - public static implicit operator Group(LocalGroup group) => - new() { - Name = group.Name, - Sid = group.Sid, - }; - - public static implicit operator LocalGroup(Group group) => - new() { - Name = group.Name, - Sid = group.Sid - }; -} +public class LocalGroup : LocalPrincipal, IGroup {} |
