use ordinary_types::Field;
use serde::{Deserialize, Serialize};
#[cfg_attr(feature = "utoipa", derive(utoipa::ToSchema))]
#[cfg_attr(feature = "docs", derive(schemars::JsonSchema))]
#[derive(Deserialize, Serialize, Debug, Clone, Default)]
pub struct DatabaseConfig {
pub models: Vec<DatabaseModelConfig>,
pub seeds_path: Option<String>,
}
#[cfg_attr(feature = "utoipa", derive(utoipa::ToSchema))]
#[cfg_attr(feature = "docs", derive(schemars::JsonSchema))]
#[derive(Deserialize, Serialize, Debug, Clone)]
pub struct DatabaseModelConfig {
pub idx: u8,
pub name: String,
pub fields: Vec<Field>,
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default)]
pub uuid: Option<UuidVersion>,
}
#[cfg_attr(feature = "utoipa", derive(utoipa::ToSchema))]
#[cfg_attr(feature = "docs", derive(schemars::JsonSchema))]
#[derive(Deserialize, Serialize, Debug, Clone, Default)]
pub enum UuidVersion {
V4,
#[default]
V7,
}