mrapids 0.1.31

Your OpenAPI, but executable
Documentation
use super::SdkCommand;
use crate::core::parser::UnifiedSpec;
use anyhow::Result;
use colored::*;
use std::path::Path;

pub fn generate(_cmd: SdkCommand, _spec: UnifiedSpec) -> Result<()> {
    println!("🦀 {} Rust SDK Generation", "MicroRapid".bright_cyan());
    println!("⚠️  Rust SDK generation is not yet implemented");
    Ok(())
}

/// Wrapper function for direct SDK generation (used by main.rs)
pub fn generate_rust_sdk(
    spec: &UnifiedSpec,
    output_dir: &Path,
    package_name: Option<&str>,
    include_docs: bool,
    include_examples: bool,
) -> Result<()> {
    // Create SdkCommand for the internal generate function
    let cmd = SdkCommand {
        spec: output_dir.to_path_buf(), // This is a bit hacky but needed for logging
        lang: crate::cli::SdkLanguage::Rust,
        output: output_dir.to_path_buf(),
        package_name: package_name.map(String::from),
        http_client: Some("reqwest".to_string()),
        auth: true,
        pagination: true,
        resilience: true,
        docs: include_docs,
        examples: include_examples,
    };

    generate(cmd, spec.clone())
}