slack_morphism/models/common/
assistant.rs

1use 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}