33 lines
870 B
Rust
33 lines
870 B
Rust
//! Basic usage example for immich-sdk
|
|
|
|
use immich_sdk::Client;
|
|
|
|
#[tokio::main]
|
|
async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|
// Create a client
|
|
let client = Client::from_url("https://immich.example.com")?.with_api_key("your-api-key");
|
|
|
|
// Get server version
|
|
let version = client.server().version().await?;
|
|
println!("Server version: {}", version);
|
|
|
|
// List albums
|
|
let albums = client.albums().list().execute().await?;
|
|
println!("Found {} albums", albums.len());
|
|
|
|
// Create a new album
|
|
let album = client
|
|
.albums()
|
|
.create()
|
|
.name("My New Album")
|
|
.execute()
|
|
.await?;
|
|
println!("Created album: {} (ID: {})", album.album_name, album.id);
|
|
|
|
// List assets
|
|
let assets = client.assets().list().execute().await?;
|
|
println!("Found {} assets", assets.len());
|
|
|
|
Ok(())
|
|
}
|