use indexmap::IndexMap;
use serde::{Deserialize, Serialize};
#[derive(Debug, Serialize, Deserialize)]
pub struct Config {
pub version: String,
pub types: IndexMap<String, String>,
pub scopes: Option<Scopes>,
pub ticket: Option<Ticket>,
pub templates: Templates,
}
#[derive(Debug, Serialize, Deserialize)]
#[serde(tag = "accept", rename_all = "snake_case")]
pub enum Scopes {
Any,
List {
list: Vec<String>,
},
}
#[derive(Debug, Serialize, Deserialize)]
pub struct Ticket {
pub required: bool,
pub prefixes: Vec<String>,
}
#[derive(Debug, Serialize, Deserialize)]
pub struct Templates {
pub commit: String,
}