//! Example: route constants + endpoint helper without constructing a client.
use athena_rs::client::build_gateway_endpoint;
use athena_rs::{
    GATEWAY_DELETE_PATH, GATEWAY_FETCH_PATH, GATEWAY_INSERT_PATH, GATEWAY_QUERY_PATH,
    GATEWAY_SQL_PATH, GATEWAY_UPDATE_PATH, GatewayRoutes,
};

fn main() {
    let base: &str = "http://localhost:4052/";
    let routes: GatewayRoutes = GatewayRoutes::for_base_url(base);

    println!("Gateway routes from struct:");
    println!("  fetch  -> {}", routes.fetch);
    println!("  insert -> {}", routes.insert);
    println!("  update -> {}", routes.update);
    println!("  delete -> {}", routes.delete);
    println!("  query  -> {}", routes.query);
    println!("  sql    -> {}", routes.sql);
    println!();

    println!("Gateway routes from constants:");
    println!("  {}", build_gateway_endpoint(base, GATEWAY_FETCH_PATH));
    println!("  {}", build_gateway_endpoint(base, GATEWAY_INSERT_PATH));
    println!("  {}", build_gateway_endpoint(base, GATEWAY_UPDATE_PATH));
    println!("  {}", build_gateway_endpoint(base, GATEWAY_DELETE_PATH));
    println!("  {}", build_gateway_endpoint(base, GATEWAY_QUERY_PATH));
    println!("  {}", build_gateway_endpoint(base, GATEWAY_SQL_PATH));
}
