use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ConversationSource {
#[serde(rename = "EXPLORER")]
Explorer,
#[serde(rename = "UPLOADED_FILE")]
UploadedFile,
#[serde(rename = "DIRECT_INPUT")]
DirectInput,
#[serde(rename = "PLAYGROUND")]
Playground,
}
impl std::fmt::Display for ConversationSource {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Explorer => write!(f, "EXPLORER"),
Self::UploadedFile => write!(f, "UPLOADED_FILE"),
Self::DirectInput => write!(f, "DIRECT_INPUT"),
Self::Playground => write!(f, "PLAYGROUND"),
}
}
}
impl Default for ConversationSource {
fn default() -> ConversationSource {
Self::Explorer
}
}