pg-api 0.1.0

A high-performance PostgreSQL REST API driver with rate limiting, connection pooling, and observability
use reqwest;
use serde_json::json;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = reqwest::Client::new();
    let api_url = "http://localhost:8580";
    let api_token = "sk_live_your_token_here";

    // Batch query execution
    let response = client
        .post(format!("{}/v1/batch", api_url))
        .header("Authorization", format!("Bearer {}", api_token))
        .json(&json!({
            "queries": [
                {
                    "query": "INSERT INTO logs (message, level) VALUES ($1, $2)",
                    "params": ["Application started", "INFO"]
                },
                {
                    "query": "UPDATE users SET last_login = NOW() WHERE id = $1",
                    "params": [123]
                },
                {
                    "query": "SELECT COUNT(*) as total FROM users WHERE active = true",
                    "params": []
                }
            ],
            "database": "main"
        }))
        .send()
        .await?;

    if response.status().is_success() {
        let results: serde_json::Value = response.json().await?;
        println!("Batch results: {}", serde_json::to_string_pretty(&results)?);
    } else {
        println!("Error: {}", response.status());
        println!("Response: {}", response.text().await?);
    }

    Ok(())
}