arangors 0.6.0

Rust driver for ArangoDB
Documentation
#![allow(unused_imports)]
#![allow(unused_parens)]

use anyhow::Error;

use arangors::{
    view::{ArangoSearchViewLink, ArangoSearchViewPropertiesOptions, ViewOptions},
    Connection,
};
use std::collections::HashMap;

const URL: &str = "http://localhost:8529";

#[cfg_attr(feature = "reqwest_async", tokio::main)]
#[cfg_attr(feature = "surf_async", async_std::main)]
#[cfg_attr(feature = "reqwest_blocking", maybe_async::must_be_sync)]
async fn main() -> Result<(), Error> {
    let collection_name = "test_collection".to_string();

    let conn = Connection::establish_jwt(URL, "username", "password").await?;
    let database = conn.db("test_db").await?;

    let mut links: HashMap<String, ArangoSearchViewLink> = HashMap::new();

    links.insert(
        collection_name.clone(),
        ArangoSearchViewLink::builder()
            .include_all_fields(true)
            .build(),
    );

    let view = database
        .create_view(
            ViewOptions::builder()
                .name(format!("{}_view", collection_name))
                .properties(
                    ArangoSearchViewPropertiesOptions::builder()
                        .links(links)
                        .build(),
                )
                .build(),
        )
        .await?;

    println!("{:?}", view);

    database
        .drop_view(&format!("{}_view", collection_name))
        .await?;

    Ok(())
}
#[cfg(not(any(
    feature = "reqwest_blocking",
    feature = "reqwest_async",
    feature = "surf_async"
)))]
fn main() {}