blob: 28a272111d19d89953bcbf30cd54d1026d1de589 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
namespace HyperBooru;
public class LocalPrincipal : HBObject {
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 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
};
}
|