X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/15c9d047033f2dd64a677aca8139a3ecd34e9472..4ce194afe28e8918d066b267dec8ea9cf6b4b2a0:/client/src/jsonrpc.rs diff --git a/client/src/jsonrpc.rs b/client/src/jsonrpc.rs index 3a117ff4..3b6d583b 100644 --- a/client/src/jsonrpc.rs +++ b/client/src/jsonrpc.rs @@ -1,8 +1,7 @@ use std::path::Path; use jsonrpsee::async_client::ClientBuilder; -use jsonrpsee::core::client::SubscriptionClientT; -use jsonrpsee::core::Error; +use jsonrpsee::core::client::{Error, SubscriptionClientT}; use jsonrpsee::http_client::HttpClientBuilder; use jsonrpsee::proc_macros::rpc; use serde::Deserialize; @@ -46,7 +45,24 @@ pub trait Rpc { account: Option, id: String, recipient: Option, - group_id: Option, + #[allow(non_snake_case)] groupId: Option, + ) -> Result; + + #[method(name = "getAvatar", param_kind = map)] + fn get_avatar( + &self, + account: Option, + contact: Option, + profile: Option, + #[allow(non_snake_case)] groupId: Option, + ) -> Result; + + #[method(name = "getSticker", param_kind = map)] + fn get_sticker( + &self, + account: Option, + #[allow(non_snake_case)] packId: String, + #[allow(non_snake_case)] stickerId: u32, ) -> Result; #[method(name = "getUserStatus", param_kind = map)] @@ -54,6 +70,7 @@ pub trait Rpc { &self, account: Option, recipients: Vec, + usernames: Vec, ) -> Result; #[method(name = "joinGroup", param_kind = map)] @@ -231,6 +248,15 @@ pub trait Rpc { stop: bool, ) -> Result; + #[method(name = "sendMessageRequestResponse", param_kind = map)] + fn send_message_request_response( + &self, + account: Option, + recipients: Vec, + #[allow(non_snake_case)] groupIds: Vec, + r#type: String, + ) -> Result; + #[method(name = "setPin", param_kind = map)] fn set_pin(&self, account: Option, pin: String) -> Result; @@ -285,6 +311,8 @@ pub trait Rpc { account: Option, deviceName: Option, unrestrictedUnidentifiedSender: Option, + discoverableByNumber: Option, + numberSharing: Option, ) -> Result; #[method(name = "updateConfiguration", param_kind = map)] @@ -374,7 +402,9 @@ pub struct JsonLink { pub device_link_uri: String, } -pub async fn connect_tcp(tcp: impl ToSocketAddrs) -> Result { +pub async fn connect_tcp( + tcp: impl ToSocketAddrs, +) -> Result { let (sender, receiver) = super::transports::tcp::connect(tcp).await?; Ok(ClientBuilder::default().build_with_tokio(sender, receiver)) @@ -382,12 +412,12 @@ pub async fn connect_tcp(tcp: impl ToSocketAddrs) -> Result, -) -> Result { +) -> Result { let (sender, receiver) = super::transports::ipc::connect(socket_path).await?; Ok(ClientBuilder::default().build_with_tokio(sender, receiver)) } -pub async fn connect_http(uri: &str) -> Result { +pub async fn connect_http(uri: &str) -> Result, Error> { HttpClientBuilder::default().build(uri) }