| Crates.io | moosicbox_music_api_api |
| lib.rs | moosicbox_music_api_api |
| version | 0.1.4 |
| created_at | 2025-07-21 20:01:59.071345+00 |
| updated_at | 2025-07-21 20:01:59.071345+00 |
| description | MoosicBox "Music API" API package |
| homepage | |
| repository | https://github.com/MoosicBox/MoosicBox |
| max_upload_size | |
| id | 1762576 |
| size | 91,719 |
API models and endpoint implementations for music API management.
The MoosicBox Music API API package provides:
Add this to your Cargo.toml:
[dependencies]
moosicbox_music_api_api = { path = "../music_api/api" }
# Enable API endpoints
moosicbox_music_api_api = {
path = "../music_api/api",
features = ["api"]
}
# Enable authentication features
moosicbox_music_api_api = {
path = "../music_api/api",
features = ["auth-username-password", "auth-poll"]
}
use moosicbox_music_api_api::models::convert_to_api_music_api;
use moosicbox_music_api::MusicApi;
// Convert MusicApi to API model
let api_model = convert_to_api_music_api(&*music_api).await?;
println!("Service: {}", api_model.name);
println!("Logged in: {}", api_model.logged_in);
println!("Supports scan: {}", api_model.supports_scan);
use moosicbox_music_api_api::models::{AuthMethod, AuthValues};
// Check authentication method
match api_model.auth_method {
Some(AuthMethod::UsernamePassword) => {
println!("Requires username and password");
}
Some(AuthMethod::Poll) => {
println!("Uses polling authentication");
}
None => {
println!("No authentication required");
}
}
// Provide authentication values
let auth_values = AuthValues::UsernamePassword {
username: "user".to_string(),
password: "pass".to_string(),
};
// Access service information
println!("Service ID: {}", api_model.id);
println!("Display Name: {}", api_model.name);
println!("Authentication Status: {}", api_model.logged_in);
println!("Scan Support: {}", api_model.supports_scan);
println!("Scan Enabled: {}", api_model.scan_enabled);
api: Enable API endpoint implementationsauth-username-password: Enable username/password authenticationauth-poll: Enable polling-based authenticationopenapi: Enable OpenAPI schema generationThis package is designed for: