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

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

public class SynapseAdminRoomDeleteRequest {
    [JsonPropertyName("new_room_user_id")]
    public string? NewRoomUserId { get; set; }

    [JsonPropertyName("room_name")]
    public string? RoomName { get; set; }

    [JsonPropertyName("block")]
    public bool Block { get; set; }

    [JsonPropertyName("purge")]
    public bool Purge { get; set; }

    [JsonPropertyName("message")]
    public string? Message { get; set; }

    [JsonPropertyName("force_purge")]
    public bool ForcePurge { get; set; }
}

public class SynapseAdminRoomDeleteResponse {
    [JsonPropertyName("delete_id")]
    public string DeleteId { get; set; } = null!;
}

public class SynapseAdminRoomDeleteStatusList {
    [JsonPropertyName("results")]
    public List<SynapseAdminRoomDeleteStatus> Results { get; set; }
}
public class SynapseAdminRoomDeleteStatus {
    [JsonPropertyName("status")]
    public string Status { get; set; } = null!;

    [JsonPropertyName("shutdown_room")]
    public RoomShutdownInfo ShutdownRoom { get; set; }

    public class RoomShutdownInfo {
        [JsonPropertyName("kicked_users")]
        public List<string>? KickedUsers { get; set; }

        [JsonPropertyName("failed_to_kick_users")]
        public List<string>? FailedToKickUsers { get; set; }

        [JsonPropertyName("local_aliases")]
        public List<string>? LocalAliasses { get; set; }

        [JsonPropertyName("new_room_id")]
        public string? NewRoomId { get; set; }
    }
}