diff options
Diffstat (limited to 'src/schema.rs')
-rw-r--r-- | src/schema.rs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/schema.rs b/src/schema.rs index 0143301..be6b7a1 100644 --- a/src/schema.rs +++ b/src/schema.rs @@ -103,6 +103,7 @@ pub(crate) struct Team { people: TeamPeople, #[serde(default)] permissions: Permissions, + rfcbot: Option<RfcbotData>, website: Option<WebsiteData>, #[serde(default)] lists: Vec<TeamList>, @@ -125,6 +126,10 @@ impl Team { self.people.leads.iter().map(|s| s.as_str()).collect() } + pub(crate) fn rfcbot_data(&self) -> Option<&RfcbotData> { + self.rfcbot.as_ref() + } + pub(crate) fn website_data(&self) -> Option<&WebsiteData> { self.website.as_ref() } @@ -218,6 +223,14 @@ struct TeamPeople { include_all_team_members: bool, } +#[derive(serde_derive::Deserialize, Debug)] +#[serde(rename_all = "kebab-case", deny_unknown_fields)] +pub(crate) struct RfcbotData { + pub(crate) label: String, + pub(crate) name: String, + pub(crate) ping: String, +} + pub(crate) struct DiscordInvite<'a> { pub(crate) url: &'a str, pub(crate) channel: &'a str, |