opensubsonic/api/
scanning.rs1use crate::Client;
4use crate::data::ScanStatus;
5use crate::error::Error;
6
7impl Client {
8 pub async fn get_scan_status(&self) -> Result<ScanStatus, Error> {
12 let data = self.get_response("getScanStatus", &[]).await?;
13 let status = data
14 .get("scanStatus")
15 .ok_or_else(|| Error::Parse("Missing 'scanStatus' in response".into()))?;
16 Ok(serde_json::from_value(status.clone())?)
17 }
18
19 pub async fn start_scan(&self) -> Result<ScanStatus, Error> {
23 let data = self.get_response("startScan", &[]).await?;
24 let status = data
25 .get("scanStatus")
26 .ok_or_else(|| Error::Parse("Missing 'scanStatus' in response".into()))?;
27 Ok(serde_json::from_value(status.clone())?)
28 }
29}