mirror of
https://github.com/johrpan/musicus.git
synced 2025-10-27 04:07:25 +01:00
19 lines
600 B
Rust
19 lines
600 B
Rust
|
|
use super::Backend;
|
||
|
|
use crate::database::Instrument;
|
||
|
|
use anyhow::Result;
|
||
|
|
|
||
|
|
impl Backend {
|
||
|
|
/// Get all available instruments from the server.
|
||
|
|
pub async fn get_instruments(&self) -> Result<Vec<Instrument>> {
|
||
|
|
let body = self.get("instruments").await?;
|
||
|
|
let instruments: Vec<Instrument> = serde_json::from_str(&body)?;
|
||
|
|
Ok(instruments)
|
||
|
|
}
|
||
|
|
|
||
|
|
/// Post a new instrument to the server and return the ID.
|
||
|
|
pub async fn post_instrument(&self, data: &Instrument) -> Result<()> {
|
||
|
|
self.post("instruments", serde_json::to_string(data)?).await?;
|
||
|
|
Ok(())
|
||
|
|
}
|
||
|
|
}
|