1use crate::client::EeroClient;
2use crate::error::Result;
3use crate::types::forward::{NewPortForward, PortForward};
4
5impl EeroClient {
6 #[tracing::instrument(skip(self))]
8 pub async fn get_port_forwards(&self, network_id: u64) -> Result<Vec<PortForward>> {
9 let url = self.url(&format!("/networks/{network_id}/forwards"));
10 self.get(&url).await
11 }
12
13 #[tracing::instrument(skip(self, forward))]
15 pub async fn create_port_forward(
16 &self,
17 network_id: u64,
18 forward: &NewPortForward,
19 ) -> Result<PortForward> {
20 let url = self.url(&format!("/networks/{network_id}/forwards"));
21 self.post(&url, forward).await
22 }
23
24 #[tracing::instrument(skip(self))]
26 pub async fn delete_port_forward(&self, forward_url: &str) -> Result<serde_json::Value> {
27 let url = self.resource_url(forward_url);
28 self.delete(&url).await
29 }
30}