Skip to main content

unifly_api/integration/client/
wifi.rs

1use uuid::Uuid;
2
3use super::{Error, IntegrationClient, types};
4
5impl IntegrationClient {
6    // ── WiFi Broadcasts ──────────────────────────────────────────────
7
8    pub async fn list_wifi_broadcasts(
9        &self,
10        site_id: &Uuid,
11        offset: i64,
12        limit: i32,
13    ) -> Result<types::Page<types::WifiBroadcastResponse>, Error> {
14        self.get_with_params(
15            &format!("v1/sites/{site_id}/wifi/broadcasts"),
16            &[("offset", offset.to_string()), ("limit", limit.to_string())],
17        )
18        .await
19    }
20
21    pub async fn get_wifi_broadcast(
22        &self,
23        site_id: &Uuid,
24        broadcast_id: &Uuid,
25    ) -> Result<types::WifiBroadcastDetailsResponse, Error> {
26        self.get(&format!(
27            "v1/sites/{site_id}/wifi/broadcasts/{broadcast_id}"
28        ))
29        .await
30    }
31
32    pub async fn create_wifi_broadcast(
33        &self,
34        site_id: &Uuid,
35        body: &types::WifiBroadcastCreateUpdate,
36    ) -> Result<types::WifiBroadcastDetailsResponse, Error> {
37        self.post(&format!("v1/sites/{site_id}/wifi/broadcasts"), body)
38            .await
39    }
40
41    pub async fn update_wifi_broadcast(
42        &self,
43        site_id: &Uuid,
44        broadcast_id: &Uuid,
45        body: &types::WifiBroadcastCreateUpdate,
46    ) -> Result<types::WifiBroadcastDetailsResponse, Error> {
47        self.put(
48            &format!("v1/sites/{site_id}/wifi/broadcasts/{broadcast_id}"),
49            body,
50        )
51        .await
52    }
53
54    pub async fn delete_wifi_broadcast(
55        &self,
56        site_id: &Uuid,
57        broadcast_id: &Uuid,
58    ) -> Result<(), Error> {
59        self.delete(&format!(
60            "v1/sites/{site_id}/wifi/broadcasts/{broadcast_id}"
61        ))
62        .await
63    }
64}