1use crate::client::EeroClient;
2use crate::error::Result;
3use crate::types::eero::{EeroNode, EeroUpdate};
4
5impl EeroClient {
6 #[tracing::instrument(skip(self))]
8 pub async fn get_eeros(&self, network_id: u64) -> Result<Vec<EeroNode>> {
9 let url = self.url(&format!("/networks/{network_id}/eeros"));
10 self.get(&url).await
11 }
12
13 #[tracing::instrument(skip(self))]
15 pub async fn get_eero(&self, eero_url: &str) -> Result<EeroNode> {
16 let url = self.resource_url(eero_url);
17 self.get(&url).await
18 }
19
20 #[tracing::instrument(skip(self, update))]
22 pub async fn update_eero(
23 &self,
24 eero_url: &str,
25 update: &EeroUpdate,
26 ) -> Result<EeroNode> {
27 let url = self.resource_url(eero_url);
28 self.put(&url, update).await
29 }
30
31 #[tracing::instrument(skip(self))]
33 pub async fn reboot_eero(&self, eero_url: &str) -> Result<serde_json::Value> {
34 let url = format!("{}/reboot", self.resource_url(eero_url));
35 self.post_empty(&url).await
36 }
37}