blob: 313290622c14171b40128ffdf2c3d0c3a522d3a9 (
plain) (
blame)
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
using System.Text.Json.Serialization;
namespace LibMatrix.Homeservers.ImplementationDetails.Synapse.Models.Responses;
public class SynapseAdminUserListResult {
[JsonPropertyName("offset")]
public int Offset { get; set; }
[JsonPropertyName("total")]
public int Total { get; set; }
[JsonPropertyName("next_token")]
public string? NextToken { get; set; }
[JsonPropertyName("users")]
public List<SynapseAdminUserListResultUser> Users { get; set; } = new();
public class SynapseAdminUserListResultUser {
[JsonPropertyName("name")]
public string Name { get; set; }
[JsonPropertyName("is_guest")]
public bool? IsGuest { get; set; }
[JsonPropertyName("admin")]
public bool? Admin { get; set; }
[JsonPropertyName("user_type")]
public string? UserType { get; set; }
[JsonPropertyName("deactivated")]
public bool Deactivated { get; set; }
[JsonPropertyName("erased")]
public bool Erased { get; set; }
[JsonPropertyName("shadow_banned")]
public bool ShadowBanned { get; set; }
[JsonPropertyName("displayname")]
public string? DisplayName { get; set; }
[JsonPropertyName("avatar_url")]
public string? AvatarUrl { get; set; }
[JsonPropertyName("creation_ts")]
public long CreationTs { get; set; }
[JsonPropertyName("last_seen_ts")]
public long? LastSeenTs { get; set; }
[JsonPropertyName("locked")]
public bool Locked { get; set; }
// Requires enabling MSC3866
[JsonPropertyName("approved")]
public bool? Approved { get; set; }
[JsonIgnore]
public DateTime CreationTsDateTime {
get => DateTimeOffset.FromUnixTimeMilliseconds(CreationTs).DateTime;
set => CreationTs = new DateTimeOffset(value).ToUnixTimeMilliseconds();
}
[JsonIgnore]
public DateTime? LastSeenTsDateTime {
get => LastSeenTs.HasValue ? DateTimeOffset.FromUnixTimeMilliseconds(LastSeenTs.Value).DateTime : null;
set => LastSeenTs = value.HasValue ? new DateTimeOffset(value.Value).ToUnixTimeMilliseconds() : null;
}
}
}
|