slack_morphism/api/
stars.rs1use 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 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 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 {}