Skip to main content

basalt_bedrock/
integrations.rs

1use std::path::PathBuf;
2
3use serde::{Deserialize, Serialize};
4use serde_with::{serde_as, OneOrMany};
5use url::Url;
6
7/// Contains information for all things related to programmability and
8/// external integrations in Basalt.
9#[serde_as]
10#[derive(Clone, Debug, Default, Deserialize, Eq, PartialEq, Serialize)]
11pub struct Integrations {
12    /// Paths to files that will be executed on server events
13    #[serde_as(as = "OneOrMany<_>")]
14    #[serde(default, alias = "event_handler")]
15    pub event_handlers: Vec<PathBuf>,
16    #[serde_as(as = "OneOrMany<_>")]
17    #[serde(default, alias = "webhook")]
18    pub webhooks: Vec<Url>,
19}