slack_morphism/api/
stars.rs

1//!
2//! Support for Slack Stars API methods
3//!
4
5use rsb_derive::Builder;
6use rvstruct::ValueStruct;
7use serde::{Deserialize, Serialize};
8use serde_with::skip_serializing_none;
9
10use crate::models::*;
11use crate::ratectl::*;
12use crate::*;
13use futures::future::{BoxFuture, FutureExt};
14use std::collections::HashSet;
15
16impl<'a, SCHC> SlackClientSession<'a, SCHC>
17where
18    SCHC: SlackClientHttpConnector + Send,
19{
20    ///
21    /// https://api.slack.com/methods/stars.add
22    ///
23    pub async fn stars_add(
24        &self,
25        req: &SlackApiStarsAddRequest,
26    ) -> ClientResult<SlackApiStarsAddResponse> {
27        self.http_session_api
28            .http_post("stars.add", req, Some(&SLACK_TIER2_METHOD_CONFIG))
29            .await
30    }
31
32    ///
33    /// https://api.slack.com/methods/stars.remove
34    ///
35    pub async fn stars_remove(
36        &self,
37        req: &SlackApiStarsRemoveRequest,
38    ) -> ClientResult<SlackApiStarsRemoveResponse> {
39        self.http_session_api
40            .http_post("stars.remove", req, Some(&SLACK_TIER2_METHOD_CONFIG))
41            .await
42    }
43}
44
45#[skip_serializing_none]
46#[derive(Debug, PartialEq, Clone, Serialize, Deserialize, Builder)]
47pub struct SlackApiStarsAddRequest {
48    pub channel: Option<SlackChannelId>,
49    pub file: Option<SlackFileId>,
50    pub file_comment: Option<SlackFileCommentId>,
51    pub timestamp: Option<SlackTs>,
52}
53
54#[skip_serializing_none]
55#[derive(Debug, PartialEq, Clone, Serialize, Deserialize, Builder)]
56pub struct SlackApiStarsAddResponse {}
57
58#[skip_serializing_none]
59#[derive(Debug, PartialEq, Clone, Serialize, Deserialize, Builder)]
60pub struct SlackApiStarsRemoveRequest {
61    pub channel: Option<SlackChannelId>,
62    pub file: Option<SlackFileId>,
63    pub file_comment: Option<SlackFileCommentId>,
64    pub timestamp: Option<SlackTs>,
65}
66
67#[skip_serializing_none]
68#[derive(Debug, PartialEq, Clone, Serialize, Deserialize, Builder)]
69pub struct SlackApiStarsRemoveResponse {}