---
source: src/test_helpers.rs
expression: "&generated_code"
---
//! Generated types from OpenAPI specification
//!
//! This file contains all the generated types for the API.
//! Do not edit manually - regenerate using the appropriate script.
#![allow(clippy::large_enum_variant)]
#![allow(clippy::format_in_format_args)]
#![allow(clippy::let_unit_value)]
#![allow(unreachable_patterns)]
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct CreateMessageParams {
pub content: String,
pub model: Model,
}
///Available model identifiers
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum Model {
Claude3Opus,
Claude3Sonnet,
Claude3Haiku,
/// Custom or unknown model identifier
Custom(String),
}
impl<'de> serde::Deserialize<'de> for Model {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
let value = String::deserialize(deserializer)?;
match value.as_str() {
"claude-3-opus" => Ok(Model::Claude3Opus),
"claude-3-sonnet" => Ok(Model::Claude3Sonnet),
"claude-3-haiku" => Ok(Model::Claude3Haiku),
_ => Ok(Model::Custom(value)),
}
}
}
impl serde::Serialize for Model {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
let value = match self {
Model::Claude3Opus => "claude-3-opus",
Model::Claude3Sonnet => "claude-3-sonnet",
Model::Claude3Haiku => "claude-3-haiku",
Model::Custom(s) => s.as_str(),
};
serializer.serialize_str(value)
}
}