1use crate::{ClientError, KanidmClient};
2use kanidm_proto::scim_v1::{
3 client::{ScimEntryMessage, ScimListMessage},
4 ScimEntryGetQuery,
5};
6use uuid::Uuid;
7
8impl KanidmClient {
9 pub async fn idm_message_list(
10 &self,
11 query: Option<ScimEntryGetQuery>,
12 ) -> Result<ScimListMessage, ClientError> {
13 self.perform_get_request_query("/scim/v1/Message", query)
14 .await
15 }
16
17 pub async fn idm_message_send_test(&self, to: &str) -> Result<(), ClientError> {
19 self.perform_get_request(&format!("/scim/v1/Person/{to}/_message/_send_test"))
20 .await
21 }
22
23 pub async fn idm_message_list_ready(&self) -> Result<ScimListMessage, ClientError> {
24 self.perform_get_request("/scim/v1/Message/_ready").await
25 }
26
27 pub async fn idm_message_get(&self, message_id: Uuid) -> Result<ScimEntryMessage, ClientError> {
28 self.perform_get_request(&format!("/scim/v1/Message/{message_id}"))
29 .await
30 }
31
32 pub async fn idm_message_mark_sent(&self, message_id: Uuid) -> Result<(), ClientError> {
33 self.perform_post_request(&format!("/scim/v1/Message/{message_id}/_sent"), ())
34 .await
35 }
36}