use serde::{Deserialize, Serialize};
#[cfg(feature = "utoipa")]
use utoipa::ToSchema;
#[cfg(feature = "validator")]
use validator::Validate;
#[derive(Debug, Clone, Serialize, Deserialize)]
#[cfg_attr(feature = "utoipa", derive(ToSchema))]
#[cfg_attr(feature = "validator", derive(Validate))]
pub struct MessageCreateRequest {
#[cfg_attr(feature = "validator", validate(length(min = 8, max = 20)))]
pub to: String,
#[cfg_attr(feature = "validator", validate(length(min = 1, max = 1600)))]
pub body: String,
pub messaging_service_sid: Option<String>,
pub from: Option<String>,
pub media_urls: Option<Vec<String>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[cfg_attr(feature = "utoipa", derive(ToSchema))]
pub struct MessageCreateResponse {
pub sid: String,
pub to: String,
pub status: String,
}