19 releases

0.2.1 May 27, 2022
0.2.0 May 24, 2022
0.1.17 Jun 24, 2021
0.1.11 Jan 22, 2021
0.1.10 Apr 28, 2020

#677 in Authentication

35 downloads per month

MIT/Apache

115KB
2K SLoC

Build Status

ImageVault

The imagevault crate supplies a convenient way to consume the ImageVault API using a Client with the choice of multiple Authentication methods.

This crate consumes the ImageVault REST API using the reqwest crate. All requests are asynchronous. No attempts will be made to document the ImageVault API, this information is available in the original ImageVault documentation.

The aim of this crate is to support as much of the apiv2 version as possible. At this time a limited set is covered:

Supported authentication methods

  • Client Credentials
  • Pin code

Supported services

  • assets/info
  • assets/search
  • categoryservice/getcategories
  • info/version
  • mediacontentservice/storecontentinvault
  • mediaservice/deletemediaitem
  • mediaservice/deletemediaitems
  • mediaservice/ensurepublishingsource
  • mediaservice/find
    • Supports filtering and retrieving Original, Image and WebMedia conversions
  • mediaservice/save
  • uploadservice/upload
  • vaultservice/delete

Remarks

This is still a pre-release, major API changes and rewrites can occur until a stable version 1.0.

Although the creator of this crate is an ImageVault employee, this is not an official ImageVault product. The ImageVault product and company names are trademarks of their respective holders.

Example usage

let authentication = ClientCredentialsAuthentication::default();

let client = Client::new(
    "identity",
    "secret",
    "https://myimagevault.se",
    )?
    .with_authentication(authentication);

let info = assets::info(&client).await?;

let query = assets::SearchBuilder::new("cat")
    .filter("isOrganized")
    .top(20)
    .build();

let search_result = assets::search(&client, &query).await?;

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.

Dependencies

~7–19MB
~267K SLoC