use reqwest::Method;
use serde_json::json;
use super::{create, delete, get, list, resource, seg, update, Uninstall};
use crate::models::*;
use crate::Request;
resource!(
Integrations,
"integration"
);
impl Integrations<'_> {
list!(IntegrationResponse);
get!(IntegrationResponse);
create!(IntegrationCreateRequest => IntegrationResponse);
update!(IntegrationUpdateRequest => IntegrationResponse);
delete!(DeleteResponse);
pub fn install(
&self,
integration_id: &str,
is_enabled: bool,
) -> Request<EnvironmentIntegrationResponse> {
self.client
.request(Method::POST, "environment-integration")
.body(json!({ "integration_id": integration_id, "is_enabled": is_enabled }))
}
pub fn uninstall(
&self,
integration_id: &str,
) -> Uninstall<EnvironmentIntegrationDeleteResponse> {
Uninstall::new(
self.client,
"environment-integration",
"integration_id",
integration_id,
)
}
pub fn tools(&self, id: &str) -> Request<IntegrationToolsResponse> {
self.client
.request(Method::GET, format!("{}/{}/tools", Self::PATH, seg(id)))
}
pub fn unified_apis(&self, id: &str) -> Request<IntegrationUnifiedApisResponse> {
self.client.request(
Method::GET,
format!("{}/{}/unified-apis", Self::PATH, seg(id)),
)
}
pub fn capabilities(&self, id: &str) -> Request<CapabilitiesResponse> {
self.client.request(
Method::GET,
format!("{}/{}/capabilities", Self::PATH, seg(id)),
)
}
}
resource!(
UnifiedModels,
"unified-model"
);
impl UnifiedModels<'_> {
list!(UnifiedModelResponse);
get!(UnifiedModelResponse);
create!(UnifiedModelCreateRequest => UnifiedModelResponse);
update!(UnifiedModelUpdateRequest => UnifiedModelResponse);
delete!(UnifiedModelDeleteResponse);
pub fn install(&self, unified_model_id: &str) -> Request<EnvironmentUnifiedModelResponse> {
self.client
.request(Method::POST, "environment-unified-model")
.body(json!({ "unified_model_id": unified_model_id }))
}
pub fn uninstall(
&self,
unified_model_id: &str,
) -> Uninstall<EnvironmentUnifiedModelDeleteResponse> {
Uninstall::new(
self.client,
"environment-unified-model",
"unified_model_id",
unified_model_id,
)
}
}