openai-client-base 0.16.0

Auto-generated Rust client for the OpenAI API
/*
 * OpenAI API
 *
 * The OpenAI REST API. Please see https://platform.openai.com/docs/api-reference for more details.
 *
 * The version of the OpenAPI document: 2.3.0
 *
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

/// LiveSessionCreateResponse : The created Live session and its transport. WebRTC creation returns 201 Created with an SDP answer. Outbound SIP creation returns 201 Created after initialization, before the callee necessarily answers, without SDP or trunk credentials.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize, bon::Builder)]
pub struct LiveSessionCreateResponse {
    #[serde(rename = "session")]
    pub session: Box<models::Session>,
    #[serde(rename = "transport")]
    pub transport: Box<models::LiveSessionCreateResponseTransport>,
}

impl LiveSessionCreateResponse {
    /// The created Live session and its transport. WebRTC creation returns 201 Created with an SDP answer. Outbound SIP creation returns 201 Created after initialization, before the callee necessarily answers, without SDP or trunk credentials.
    pub fn new(
        session: models::Session,
        transport: models::LiveSessionCreateResponseTransport,
    ) -> LiveSessionCreateResponse {
        LiveSessionCreateResponse {
            session: Box::new(session),
            transport: Box::new(transport),
        }
    }
}

impl std::fmt::Display for LiveSessionCreateResponse {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        match serde_json::to_string(self) {
            Ok(s) => write!(f, "{}", s),
            Err(_) => Err(std::fmt::Error),
        }
    }
}