fraiseql_cli/config/toml_schema/
subscriptions.rs1use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Default, Deserialize, Serialize)]
18#[serde(default, deny_unknown_fields)]
19pub struct SubscriptionsConfig {
20 #[serde(default, skip_serializing_if = "Option::is_none")]
23 pub max_subscriptions_per_connection: Option<u32>,
24
25 #[serde(default, skip_serializing_if = "Option::is_none")]
27 pub hooks: Option<SubscriptionHooksConfig>,
28}
29
30#[derive(Debug, Clone, Default, Deserialize, Serialize)]
32#[serde(default, deny_unknown_fields)]
33pub struct SubscriptionHooksConfig {
34 #[serde(default, skip_serializing_if = "Option::is_none")]
36 pub on_connect: Option<String>,
37
38 #[serde(default, skip_serializing_if = "Option::is_none")]
40 pub on_disconnect: Option<String>,
41
42 #[serde(default, skip_serializing_if = "Option::is_none")]
44 pub on_subscribe: Option<String>,
45
46 #[serde(default = "default_hook_timeout_ms")]
48 pub timeout_ms: u64,
49}
50
51fn default_hook_timeout_ms() -> u64 {
52 500
53}