resourcespace-client 0.1.0

A Rust client for the communicating with ResourceSpace API
Documentation

resourcespace-client

A Rust client library for the ResourceSpace Digital Asset Management API.

GitHub crates.io docs.rs

resourcespace-client provides an ergonomic async Rust interface to the ResourceSpace API. ResourceSpace is an open-source Digital Asset Management system developed.

  • Support userkey and sessionkey authentication
  • Support all (non-native usermode) API endpoints
  • Async API
  • Create resources, metadata fields, and more via builder patterns.

Quick start

This example initializes a simple client to search for resources and then update a metadata field. For more examples view the examples directory.

use resourcespace_client::Client;

#[tokio::main]
async fn main() -> Result<(), Error> {
    let client = Client::builder()
        .base_url("https://your-rs-instance.com/")?
        .user_key("your_username", "your_api_key")
        .build()?;

    // Search for resources
    let results = client
        .search()
        .do_search(DoSearchRequest::new("landscape"))
        .await?;

    // Update a metadata field
    client
        .metadata()
        .update_field(UpdateFieldRequest::new(42, "title", "My Asset"))
        .await?;

    Ok(())
}

Status

This crate follows Semantic Versioning. While on 0.x, minor versions may contain breaking changes as the API stabilises. See CHANGELOG.md for details.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.