summaryrefslogtreecommitdiff
path: root/LocalPrincipal.cs
diff options
context:
space:
mode:
authorJake Mannens <jake@asger.xyz>2023-09-29 16:20:23 +1000
committerJake Mannens <jake@asger.xyz>2023-09-29 16:28:00 +1000
commitc5ff0b57a12b605a5ae5ae8a92ce7a4e8eaec77a (patch)
treea59c3ef10b277a7733a274f107472dc8f00cfc9a /LocalPrincipal.cs
parent76e4bf609c3d196bd20619188a317fca66f4a04a (diff)
Separated HBPrincipal into IPrincipal and LocalPrincipal
Diffstat (limited to 'LocalPrincipal.cs')
-rw-r--r--LocalPrincipal.cs48
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 {}