slack_morphism/models/common/
assistant.rs1use crate::{SlackChannelId, SlackEnterpriseId, SlackTeamId, SlackTs, SlackUserId};
2use rsb_derive::Builder;
3use serde::{Deserialize, Serialize};
4use serde_with::skip_serializing_none;
5
6#[skip_serializing_none]
7#[derive(Debug, PartialEq, Clone, Serialize, Deserialize, Builder)]
8pub struct SlackAssistantThread {
9 pub user_id: SlackUserId,
10 pub context: SlackAssistantThreadContext,
11 pub channel_id: SlackChannelId,
12 pub thread_ts: SlackTs,
13}
14
15#[skip_serializing_none]
16#[derive(Debug, PartialEq, Clone, Serialize, Deserialize, Builder)]
17pub struct SlackAssistantThreadContext {
18 pub channel_id: Option<SlackChannelId>,
19 pub team_id: Option<SlackTeamId>,
20 pub enterprise_id: Option<SlackEnterpriseId>,
21}
22
23#[skip_serializing_none]
24#[derive(Debug, PartialEq, Clone, Serialize, Deserialize, Builder)]
25pub struct SlackAssistantPrompt {
26 pub title: String,
27 pub message: String,
28}