nblm_core/client/api/
audio.rs1use reqwest::Method;
2
3use crate::error::Result;
4use crate::models::{AudioOverviewRequest, AudioOverviewResponse};
5
6use crate::client::NblmClient;
7
8impl NblmClient {
10 pub async fn create_audio_overview(
11 &self,
12 notebook_id: &str,
13 request: AudioOverviewRequest,
14 ) -> Result<AudioOverviewResponse> {
15 let path = format!(
16 "{}/audioOverviews",
17 self.url_builder.notebook_path(notebook_id)
18 );
19 let url = self.url_builder.build_url(&path)?;
20
21 let api_response: crate::models::responses::audio::AudioOverviewApiResponse = self
23 .http
24 .request_json(Method::POST, url, Some(&request))
25 .await?;
26
27 Ok(api_response.audio_overview)
28 }
29
30 pub async fn delete_audio_overview(&self, notebook_id: &str) -> Result<()> {
31 let path = format!(
32 "{}/audioOverviews/default",
33 self.url_builder.notebook_path(notebook_id)
34 );
35 let url = self.url_builder.build_url(&path)?;
36 let _response: serde_json::Value = self
37 .http
38 .request_json(Method::DELETE, url, None::<&()>)
39 .await?;
40 Ok(())
41 }
42}