use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
pub struct SafetyRating {
pub category: SafetyCategory,
pub level: SafetyLevel,
}
#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
#[serde(tag = "kind", content = "raw", rename_all = "snake_case")]
pub enum SafetyCategory {
Harassment,
HateSpeech,
SexuallyExplicit,
DangerousContent,
Other(String),
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
#[serde(rename_all = "snake_case")]
pub enum SafetyLevel {
Negligible,
Low,
Medium,
High,
}