siera_cloudagent_python/cloudagent/
multitenancy.rs

1use crate::agent::CloudAgentPython;
2use async_trait::async_trait;
3use serde_json::{json, Value};
4use siera_agent::modules::multitenancy::MultitenancyModule;
5use siera_agent::{error::Result, modules::multitenancy::MultitenancyCreateResponse};
6
7#[async_trait]
8impl MultitenancyModule for CloudAgentPython {
9    /// TODO: this only returns the wallet id for now
10    async fn create(&self) -> Result<MultitenancyCreateResponse> {
11        let url = self.create_url(&["multitenancy", "wallet"])?;
12
13        self.post::<MultitenancyCreateResponse>(url, None, Some(json!({})))
14            .await
15    }
16
17    async fn remove(&self, wallet_id: String) -> Result<()> {
18        let url = self.create_url(&["multitenancy", "wallet", &wallet_id, "remove"])?;
19
20        self.post::<Value>(url, None, None).await?;
21
22        Ok(())
23    }
24}