1use crate::client::Client;
2use crate::error::Result;
3use crate::models::{
4 GenericResponse, GetSettingsResponse, SettingsAvailableProvidersResponse, SettingsUpdateRequest,
5};
6
7impl Client {
8 pub async fn get_settings(&self) -> Result<GetSettingsResponse> {
10 self.do_request::<GetSettingsResponse, ()>(
11 reqwest::Method::GET,
12 "/api/settings/v1/",
13 None,
14 None,
15 )
16 .await
17 }
18
19 pub async fn update_settings(
21 &self,
22 settings: &SettingsUpdateRequest,
23 ) -> Result<GenericResponse> {
24 self.do_request(
25 reqwest::Method::PUT,
26 "/api/settings/v1/",
27 Some(settings),
28 None,
29 )
30 .await
31 }
32
33 pub async fn list_providers(&self) -> Result<SettingsAvailableProvidersResponse> {
35 self.do_request::<SettingsAvailableProvidersResponse, ()>(
36 reqwest::Method::GET,
37 "/api/settings/v1/providers",
38 None,
39 None,
40 )
41 .await
42 }
43}