Skip to main content

rmux_proto/request/
server.rs

1use serde::{Deserialize, Serialize};
2
3use crate::SessionName;
4
5/// Request payload for `kill-server`.
6#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Serialize, Deserialize)]
7pub struct KillServerRequest;
8
9/// Request payload for `lock-server`.
10#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Serialize, Deserialize)]
11pub struct LockServerRequest;
12
13/// Request payload for `lock-session`.
14#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
15pub struct LockSessionRequest {
16    /// The exact target session name.
17    pub target: SessionName,
18}
19
20/// Request payload for `lock-client`.
21#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
22pub struct LockClientRequest {
23    /// The target client identifier or `=`.
24    pub target_client: String,
25}
26
27/// Request payload for `server-access`.
28#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
29pub struct ServerAccessRequest {
30    /// Whether the user should be added or updated.
31    #[serde(default)]
32    pub add: bool,
33    /// Whether the user should be denied and disconnected.
34    #[serde(default)]
35    pub deny: bool,
36    /// Whether the current ACL should be listed.
37    #[serde(default)]
38    pub list: bool,
39    /// Whether the resulting entry should be read-only.
40    #[serde(default)]
41    pub read_only: bool,
42    /// Whether the resulting entry should be read-write.
43    #[serde(default)]
44    pub write: bool,
45    /// The optional username argument.
46    #[serde(default)]
47    pub user: Option<String>,
48}