Allow rescanning media folders

Co-Authored-By: codex <[email protected]>
This commit is contained in:
janisslsmandcodex committed 2026-06-12 17:44:28 +03:00
1 parent 0a026209aa
commit 8c0986161a
3 files changed
+62 -1

No files matched your search

+26
View File
@@ -250,6 +250,32 @@ impl Client {
Ok(resp.items)
}
/// Ask Emby to rescan/refresh a library folder or media folder.
pub async fn refresh_item(&self, item_id: &str) -> Result<()> {
let url = format!("{}/Items/{item_id}/Refresh", self.server);
let resp = self
.http
.post(&url)
.headers(self.headers())
.query(&[
("Recursive", "true"),
("ImageRefreshMode", "Default"),
("MetadataRefreshMode", "Default"),
("ReplaceAllImages", "false"),
("ReplaceAllMetadata", "false"),
])
.send()
.await
.with_context(|| format!("POST {url}"))?;
let status = resp.status();
if !status.is_success() {
let body = resp.text().await.unwrap_or_default();
return Err(anyhow!("refresh failed: HTTP {status}: {body}"));
}
Ok(())
}
pub fn stream_url(&self, item_id: &str) -> String {
format!(
"{}/Videos/{}/stream?Static=true&api_key={}&DeviceId={}",