slack_morphism/api/
team.rs1use rsb_derive::Builder;
6use serde::{Deserialize, Serialize};
7use serde_with::skip_serializing_none;
8
9use crate::models::*;
10use crate::ratectl::*;
11use crate::SlackClientSession;
12use crate::{ClientResult, SlackClientHttpConnector};
13
14impl<'a, SCHC> SlackClientSession<'a, SCHC>
15where
16 SCHC: SlackClientHttpConnector + Send,
17{
18 pub async fn team_info(
22 &self,
23 req: &SlackApiTeamInfoRequest,
24 ) -> ClientResult<SlackApiTeamInfoResponse> {
25 self.http_session_api
26 .http_get(
27 "team.info",
28 &vec![("team", req.team.as_ref())],
29 Some(&SLACK_TIER3_METHOD_CONFIG),
30 )
31 .await
32 }
33
34 pub async fn team_profile_get(
38 &self,
39 req: &SlackApiTeamProfileGetRequest,
40 ) -> ClientResult<SlackApiTeamProfileGetResponse> {
41 self.http_session_api
42 .http_get(
43 "team.profile.get",
44 &vec![("visibility", req.visibility.as_ref())],
45 Some(&SLACK_TIER3_METHOD_CONFIG),
46 )
47 .await
48 }
49}
50
51#[skip_serializing_none]
52#[derive(Debug, PartialEq, Clone, Serialize, Deserialize, Builder)]
53pub struct SlackApiTeamInfoRequest {
54 pub team: Option<SlackTeamId>,
55}
56
57#[skip_serializing_none]
58#[derive(Debug, PartialEq, Clone, Serialize, Deserialize, Builder)]
59pub struct SlackApiTeamInfoResponse {
60 pub team: SlackTeamInfo,
61}
62
63#[skip_serializing_none]
64#[derive(Debug, PartialEq, Clone, Serialize, Deserialize, Builder)]
65pub struct SlackApiTeamProfileGetRequest {
66 pub visibility: Option<SlackTeamId>,
67}
68
69#[skip_serializing_none]
70#[derive(Debug, PartialEq, Clone, Serialize, Deserialize, Builder)]
71pub struct SlackApiTeamProfileGetResponse {
72 pub profile: SlackTeamProfile,
73}