use serde::{Deserialize, Serialize};
pub const PATH: &str = "/PII";
#[derive(Debug, Serialize, Deserialize, PartialEq, Default)]
pub enum InputMethod {
#[serde(rename = "replace")]
Replace,
#[serde(rename = "block")]
#[default]
Block,
}
#[derive(Debug, Serialize, Deserialize, PartialEq, Default)]
pub enum ReplaceMethod {
#[serde(rename = "random")]
#[default]
Random,
#[serde(rename = "mask")]
Mask,
#[serde(rename = "category")]
Category,
#[serde(rename = "fake")]
Fake,
}
#[derive(Debug, Default, Deserialize, Serialize)]
#[serde(default)]
pub struct Request {
pub(crate) prompt: String,
pub(crate) replace: bool,
pub(crate) replace_method: ReplaceMethod,
}
impl Request {
pub fn new(prompt: String, replace: bool, replace_method: ReplaceMethod) -> Request {
Self {
prompt,
replace,
replace_method,
}
}
}
#[derive(Debug, Default, Deserialize, Serialize)]
#[serde(default)]
pub struct Check {
pub new_prompt: String,
pub index: i64,
pub status: String,
}
#[derive(Debug, Default, Deserialize, Serialize)]
#[serde(default)]
pub struct Response {
pub id: String,
pub object: String,
pub created: String,
pub checks: Vec<Check>,
}