openai-client-base 0.12.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};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize, bon::Builder)]
pub struct CreateModerationResponseResultsInner {
    /// Whether any of the below categories are flagged.
    #[serde(rename = "flagged")]
    pub flagged: bool,
    #[serde(rename = "categories")]
    pub categories: Box<models::CreateModerationResponseResultsInnerCategories>,
    #[serde(rename = "category_scores")]
    pub category_scores: Box<models::CreateModerationResponseResultsInnerCategoryScores>,
    #[serde(rename = "category_applied_input_types")]
    pub category_applied_input_types:
        Box<models::CreateModerationResponseResultsInnerCategoryAppliedInputTypes>,
}

impl CreateModerationResponseResultsInner {
    pub fn new(
        flagged: bool,
        categories: models::CreateModerationResponseResultsInnerCategories,
        category_scores: models::CreateModerationResponseResultsInnerCategoryScores,
        category_applied_input_types: models::CreateModerationResponseResultsInnerCategoryAppliedInputTypes,
    ) -> CreateModerationResponseResultsInner {
        CreateModerationResponseResultsInner {
            flagged,
            categories: Box::new(categories),
            category_scores: Box::new(category_scores),
            category_applied_input_types: Box::new(category_applied_input_types),
        }
    }
}

impl std::fmt::Display for CreateModerationResponseResultsInner {
    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),
        }
    }
}