about summary refs log tree commit diff
path: root/LibMatrix/Homeservers/ImplementationDetails/Synapse/Models/Responses/RegistrationTokenListResult.cs
blob: fa92ef9545c0fac75c1de9aaacc37f462a8b3581 (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
using System.Text.Json.Serialization;

namespace LibMatrix.Homeservers.ImplementationDetails.Synapse.Models.Responses;

public class SynapseAdminRegistrationTokenListResult {
    [JsonPropertyName("registration_tokens")]
    public List<SynapseAdminRegistrationTokenListResultToken> RegistrationTokens { get; set; } = new();

    public class SynapseAdminRegistrationTokenListResultToken {
        [JsonPropertyName("token")]
        public string Token { get; set; }

        [JsonPropertyName("uses_allowed")]
        public int? UsesAllowed { get; set; }

        [JsonPropertyName("pending")]
        public int Pending { get; set; }

        [JsonPropertyName("completed")]
        public int Completed { get; set; }

        [JsonPropertyName("expiry_time")]
        public long? ExpiryTime { get; set; }

        [JsonIgnore]
        public DateTime? ExpiryTimeDateTime {
            get => ExpiryTime.HasValue ? DateTimeOffset.FromUnixTimeMilliseconds(ExpiryTime.Value).DateTime : null;
            set => ExpiryTime = value.HasValue ? new DateTimeOffset(value.Value).ToUnixTimeMilliseconds() : null;
        }
    }
}