use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(untagged)]
pub enum MessageObjectContentInner {
MessageContentImageFileObject(Box<models::MessageContentImageFileObject>),
MessageContentImageUrlObject(Box<models::MessageContentImageUrlObject>),
MessageContentTextObject(Box<models::MessageContentTextObject>),
MessageContentRefusalObject(Box<models::MessageContentRefusalObject>),
}
impl Default for MessageObjectContentInner {
fn default() -> Self {
Self::MessageContentImageFileObject(Default::default())
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Type {
#[serde(rename = "image_file")]
ImageFile,
#[serde(rename = "image_url")]
ImageUrl,
#[serde(rename = "text")]
Text,
#[serde(rename = "refusal")]
Refusal,
}
impl Default for Type {
fn default() -> Type {
Self::ImageFile
}
}