jacquard_api/place_stream/
server.rs

1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: place.stream.server.defs
4//
5// This file was automatically generated from Lexicon schemas.
6// Any manual changes will be overwritten on the next regeneration.
7
8pub mod create_webhook;
9pub mod delete_webhook;
10pub mod get_webhook;
11pub mod list_webhooks;
12pub mod settings;
13pub mod update_webhook;
14
15#[jacquard_derive::lexicon]
16#[derive(
17    serde::Serialize,
18    serde::Deserialize,
19    Debug,
20    Clone,
21    PartialEq,
22    Eq,
23    jacquard_derive::IntoStatic,
24    Default
25)]
26#[serde(rename_all = "camelCase")]
27pub struct RewriteRule<'a> {
28    /// Text to search for and replace.
29    #[serde(borrow)]
30    pub from: jacquard_common::CowStr<'a>,
31    /// Text to replace with.
32    #[serde(borrow)]
33    pub to: jacquard_common::CowStr<'a>,
34}
35
36/// A webhook configuration for receiving Streamplace events.
37#[jacquard_derive::lexicon]
38#[derive(
39    serde::Serialize,
40    serde::Deserialize,
41    Debug,
42    Clone,
43    PartialEq,
44    Eq,
45    jacquard_derive::IntoStatic,
46    bon::Builder
47)]
48#[serde(rename_all = "camelCase")]
49pub struct Webhook<'a> {
50    /// Whether this webhook is currently active.
51    pub active: bool,
52    /// When this webhook was created.
53    pub created_at: jacquard_common::types::string::Datetime,
54    /// A description of what this webhook is used for.
55    #[serde(skip_serializing_if = "std::option::Option::is_none")]
56    #[builder(into)]
57    #[serde(borrow)]
58    pub description: Option<jacquard_common::CowStr<'a>>,
59    /// Number of consecutive errors for this webhook.
60    #[serde(skip_serializing_if = "std::option::Option::is_none")]
61    #[builder(into)]
62    pub error_count: Option<i64>,
63    /// The types of events this webhook should receive.
64    #[serde(borrow)]
65    pub events: Vec<jacquard_common::CowStr<'a>>,
66    /// Unique identifier for this webhook.
67    #[serde(borrow)]
68    #[builder(into)]
69    pub id: jacquard_common::CowStr<'a>,
70    /// When this webhook was last triggered.
71    #[serde(skip_serializing_if = "std::option::Option::is_none")]
72    #[builder(into)]
73    pub last_triggered: Option<jacquard_common::types::string::Datetime>,
74    /// Words to filter out from chat messages. Messages containing any of these words will not be forwarded.
75    #[serde(skip_serializing_if = "std::option::Option::is_none")]
76    #[builder(into)]
77    #[serde(borrow)]
78    pub mute_words: Option<Vec<jacquard_common::CowStr<'a>>>,
79    /// A user-friendly name for this webhook.
80    #[serde(skip_serializing_if = "std::option::Option::is_none")]
81    #[builder(into)]
82    #[serde(borrow)]
83    pub name: Option<jacquard_common::CowStr<'a>>,
84    /// Text to prepend to webhook messages.
85    #[serde(skip_serializing_if = "std::option::Option::is_none")]
86    #[builder(into)]
87    #[serde(borrow)]
88    pub prefix: Option<jacquard_common::CowStr<'a>>,
89    /// Text replacement rules for webhook messages.
90    #[serde(skip_serializing_if = "std::option::Option::is_none")]
91    #[builder(into)]
92    #[serde(borrow)]
93    pub rewrite: Option<Vec<crate::place_stream::server::RewriteRule<'a>>>,
94    /// Text to append to webhook messages.
95    #[serde(skip_serializing_if = "std::option::Option::is_none")]
96    #[builder(into)]
97    #[serde(borrow)]
98    pub suffix: Option<jacquard_common::CowStr<'a>>,
99    /// When this webhook was last updated.
100    #[serde(skip_serializing_if = "std::option::Option::is_none")]
101    #[builder(into)]
102    pub updated_at: Option<jacquard_common::types::string::Datetime>,
103    /// The webhook URL where events will be sent.
104    #[serde(borrow)]
105    pub url: jacquard_common::types::string::Uri<'a>,
106}