use crate::model::Config;
use crate::rules::Level;
#[allow(dead_code)]
#[derive(schemars::JsonSchema)]
#[serde(untagged)]
pub enum RuleConfigSchema {
Level(Level),
Table(RuleTableSchema),
}
#[allow(dead_code)]
#[derive(schemars::JsonSchema)]
#[serde(rename_all = "kebab-case")]
pub struct RuleTableSchema {
pub level: Option<Level>,
pub severity: Option<Level>,
#[serde(flatten)]
pub options: std::collections::BTreeMap<String, serde_json::Value>,
}
#[must_use]
pub fn json_schema() -> serde_json::Value {
schemars::schema_for!(Config).to_value()
}