use conjure_http::endpoint;
#[conjure_http::conjure_endpoints(
name = "IntegrationsService",
use_legacy_error_serialization
)]
pub trait IntegrationsService {
#[endpoint(
method = GET,
path = "/scout/v2/integrations/slack-oauth/init-webhook",
name = "generateSlackWebhookLink",
produces = conjure_http::server::StdResponseSerializer
)]
fn generate_slack_webhook_link(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[query(
name = "workspace",
decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
safe
)]
workspace: Option<
super::super::super::super::super::objects::api::rids::WorkspaceRid,
>,
#[query(
name = "isGovSlack",
decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
log_as = "isGovSlack"
)]
is_gov_slack: Option<bool>,
) -> Result<
super::super::super::super::super::objects::scout::integrations::api::GenerateSlackWebhookResponse,
conjure_http::private::Error,
>;
#[endpoint(
method = GET,
path = "/scout/v2/integrations/slack-oauth/redirect",
name = "createSlackWebhook"
)]
fn create_slack_webhook(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[query(
name = "code",
decoder = conjure_http::server::conjure::FromPlainDecoder
)]
code: String,
#[query(
name = "state",
decoder = conjure_http::server::conjure::FromPlainDecoder
)]
state: String,
) -> Result<(), conjure_http::private::Error>;
#[endpoint(
method = POST,
path = "/scout/v2/integrations",
name = "createIntegration",
produces = conjure_http::server::StdResponseSerializer
)]
fn create_integration(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(
deserializer = conjure_http::server::StdRequestDeserializer,
log_as = "createIntegrationRequest"
)]
create_integration_request: super::super::super::super::super::objects::scout::integrations::api::CreateIntegrationRequest,
) -> Result<
super::super::super::super::super::objects::scout::integrations::api::Integration,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/scout/v2/integrations/internal/secure-webhook",
name = "createSecureWebhookIntegration",
produces = conjure_http::server::StdResponseSerializer
)]
fn create_secure_webhook_integration(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::super::objects::scout::integrations::api::CreateSecureWebhookIntegrationRequest,
) -> Result<
super::super::super::super::super::objects::scout::integrations::api::CreateSecureWebhookIntegrationResponse,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/scout/v2/integrations/internal/secure-webhook/{integrationRid}",
name = "sendSecureWebhookMessage",
produces = conjure_http::server::StdResponseSerializer
)]
fn send_secure_webhook_message(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "integrationRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "integrationRid",
safe
)]
integration_rid: super::super::super::super::super::objects::scout::integrations::api::IntegrationRid,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::super::objects::scout::integrations::api::SendSecureWebhookMessageRequest,
) -> Result<
super::super::super::super::super::objects::scout::integrations::api::SendSecureWebhookMessageResponse,
conjure_http::private::Error,
>;
#[endpoint(
method = DELETE,
path = "/scout/v2/integrations/{integrationRid}",
name = "deleteIntegration"
)]
fn delete_integration(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "integrationRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "integrationRid",
safe
)]
integration_rid: super::super::super::super::super::objects::scout::integrations::api::IntegrationRid,
) -> Result<(), conjure_http::private::Error>;
#[endpoint(
method = PUT,
path = "/scout/v2/integrations/{integrationRid}",
name = "updateIntegrationMetadata",
produces = conjure_http::server::StdResponseSerializer
)]
fn update_integration_metadata(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "integrationRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "integrationRid",
safe
)]
integration_rid: super::super::super::super::super::objects::scout::integrations::api::IntegrationRid,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::super::objects::scout::integrations::api::UpdateIntegrationRequest,
) -> Result<
super::super::super::super::super::objects::scout::integrations::api::Integration,
conjure_http::private::Error,
>;
#[endpoint(
method = PUT,
path = "/scout/v2/integrations/{integrationRid}/details",
name = "updateIntegrationDetails",
produces = conjure_http::server::StdResponseSerializer
)]
fn update_integration_details(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "integrationRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "integrationRid",
safe
)]
integration_rid: super::super::super::super::super::objects::scout::integrations::api::IntegrationRid,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::super::objects::scout::integrations::api::UpdateIntegrationDetailsRequest,
) -> Result<
super::super::super::super::super::objects::scout::integrations::api::Integration,
conjure_http::private::Error,
>;
#[endpoint(
method = GET,
path = "/scout/v2/integrations/{integrationRid}",
name = "getIntegration",
produces = conjure_http::server::StdResponseSerializer
)]
fn get_integration(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "integrationRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "integrationRid",
safe
)]
integration_rid: super::super::super::super::super::objects::scout::integrations::api::IntegrationRid,
) -> Result<
super::super::super::super::super::objects::scout::integrations::api::Integration,
conjure_http::private::Error,
>;
#[endpoint(
method = GET,
path = "/scout/v2/integrations/list",
name = "listIntegrations",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
fn list_integrations(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[query(
name = "workspaces",
decoder = conjure_http::server::conjure::FromPlainSeqDecoder<_>,
safe
)]
workspaces: std::collections::BTreeSet<
super::super::super::super::super::objects::api::rids::WorkspaceRid,
>,
) -> Result<
Vec<
super::super::super::super::super::objects::scout::integrations::api::Integration,
>,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/scout/v2/integrations/send-message",
name = "sendMessage"
)]
fn send_message(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::super::objects::scout::integrations::api::SendMessageRequest,
) -> Result<(), conjure_http::private::Error>;
#[endpoint(
method = POST,
path = "/scout/v2/integrations/internal/{integrationRid}/rotate-signing-key",
name = "rotateSecureWebhookIntegrationSigningKey",
produces = conjure_http::server::StdResponseSerializer
)]
fn rotate_secure_webhook_integration_signing_key(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "integrationRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "integrationRid",
safe
)]
integration_rid: super::super::super::super::super::objects::scout::integrations::api::IntegrationRid,
) -> Result<
super::super::super::super::super::objects::scout::integrations::api::RotateWebhookSigningKeyResponse,
conjure_http::private::Error,
>;
}
#[conjure_http::conjure_endpoints(
name = "IntegrationsService",
use_legacy_error_serialization
)]
pub trait AsyncIntegrationsService {
#[endpoint(
method = GET,
path = "/scout/v2/integrations/slack-oauth/init-webhook",
name = "generateSlackWebhookLink",
produces = conjure_http::server::StdResponseSerializer
)]
async fn generate_slack_webhook_link(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[query(
name = "workspace",
decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
safe
)]
workspace: Option<
super::super::super::super::super::objects::api::rids::WorkspaceRid,
>,
#[query(
name = "isGovSlack",
decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
log_as = "isGovSlack"
)]
is_gov_slack: Option<bool>,
) -> Result<
super::super::super::super::super::objects::scout::integrations::api::GenerateSlackWebhookResponse,
conjure_http::private::Error,
>;
#[endpoint(
method = GET,
path = "/scout/v2/integrations/slack-oauth/redirect",
name = "createSlackWebhook"
)]
async fn create_slack_webhook(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[query(
name = "code",
decoder = conjure_http::server::conjure::FromPlainDecoder
)]
code: String,
#[query(
name = "state",
decoder = conjure_http::server::conjure::FromPlainDecoder
)]
state: String,
) -> Result<(), conjure_http::private::Error>;
#[endpoint(
method = POST,
path = "/scout/v2/integrations",
name = "createIntegration",
produces = conjure_http::server::StdResponseSerializer
)]
async fn create_integration(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(
deserializer = conjure_http::server::StdRequestDeserializer,
log_as = "createIntegrationRequest"
)]
create_integration_request: super::super::super::super::super::objects::scout::integrations::api::CreateIntegrationRequest,
) -> Result<
super::super::super::super::super::objects::scout::integrations::api::Integration,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/scout/v2/integrations/internal/secure-webhook",
name = "createSecureWebhookIntegration",
produces = conjure_http::server::StdResponseSerializer
)]
async fn create_secure_webhook_integration(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::super::objects::scout::integrations::api::CreateSecureWebhookIntegrationRequest,
) -> Result<
super::super::super::super::super::objects::scout::integrations::api::CreateSecureWebhookIntegrationResponse,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/scout/v2/integrations/internal/secure-webhook/{integrationRid}",
name = "sendSecureWebhookMessage",
produces = conjure_http::server::StdResponseSerializer
)]
async fn send_secure_webhook_message(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "integrationRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "integrationRid",
safe
)]
integration_rid: super::super::super::super::super::objects::scout::integrations::api::IntegrationRid,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::super::objects::scout::integrations::api::SendSecureWebhookMessageRequest,
) -> Result<
super::super::super::super::super::objects::scout::integrations::api::SendSecureWebhookMessageResponse,
conjure_http::private::Error,
>;
#[endpoint(
method = DELETE,
path = "/scout/v2/integrations/{integrationRid}",
name = "deleteIntegration"
)]
async fn delete_integration(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "integrationRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "integrationRid",
safe
)]
integration_rid: super::super::super::super::super::objects::scout::integrations::api::IntegrationRid,
) -> Result<(), conjure_http::private::Error>;
#[endpoint(
method = PUT,
path = "/scout/v2/integrations/{integrationRid}",
name = "updateIntegrationMetadata",
produces = conjure_http::server::StdResponseSerializer
)]
async fn update_integration_metadata(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "integrationRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "integrationRid",
safe
)]
integration_rid: super::super::super::super::super::objects::scout::integrations::api::IntegrationRid,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::super::objects::scout::integrations::api::UpdateIntegrationRequest,
) -> Result<
super::super::super::super::super::objects::scout::integrations::api::Integration,
conjure_http::private::Error,
>;
#[endpoint(
method = PUT,
path = "/scout/v2/integrations/{integrationRid}/details",
name = "updateIntegrationDetails",
produces = conjure_http::server::StdResponseSerializer
)]
async fn update_integration_details(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "integrationRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "integrationRid",
safe
)]
integration_rid: super::super::super::super::super::objects::scout::integrations::api::IntegrationRid,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::super::objects::scout::integrations::api::UpdateIntegrationDetailsRequest,
) -> Result<
super::super::super::super::super::objects::scout::integrations::api::Integration,
conjure_http::private::Error,
>;
#[endpoint(
method = GET,
path = "/scout/v2/integrations/{integrationRid}",
name = "getIntegration",
produces = conjure_http::server::StdResponseSerializer
)]
async fn get_integration(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "integrationRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "integrationRid",
safe
)]
integration_rid: super::super::super::super::super::objects::scout::integrations::api::IntegrationRid,
) -> Result<
super::super::super::super::super::objects::scout::integrations::api::Integration,
conjure_http::private::Error,
>;
#[endpoint(
method = GET,
path = "/scout/v2/integrations/list",
name = "listIntegrations",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
async fn list_integrations(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[query(
name = "workspaces",
decoder = conjure_http::server::conjure::FromPlainSeqDecoder<_>,
safe
)]
workspaces: std::collections::BTreeSet<
super::super::super::super::super::objects::api::rids::WorkspaceRid,
>,
) -> Result<
Vec<
super::super::super::super::super::objects::scout::integrations::api::Integration,
>,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/scout/v2/integrations/send-message",
name = "sendMessage"
)]
async fn send_message(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::super::objects::scout::integrations::api::SendMessageRequest,
) -> Result<(), conjure_http::private::Error>;
#[endpoint(
method = POST,
path = "/scout/v2/integrations/internal/{integrationRid}/rotate-signing-key",
name = "rotateSecureWebhookIntegrationSigningKey",
produces = conjure_http::server::StdResponseSerializer
)]
async fn rotate_secure_webhook_integration_signing_key(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "integrationRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "integrationRid",
safe
)]
integration_rid: super::super::super::super::super::objects::scout::integrations::api::IntegrationRid,
) -> Result<
super::super::super::super::super::objects::scout::integrations::api::RotateWebhookSigningKeyResponse,
conjure_http::private::Error,
>;
}
#[conjure_http::conjure_endpoints(
name = "IntegrationsService",
use_legacy_error_serialization,
local
)]
pub trait LocalAsyncIntegrationsService {
#[endpoint(
method = GET,
path = "/scout/v2/integrations/slack-oauth/init-webhook",
name = "generateSlackWebhookLink",
produces = conjure_http::server::StdResponseSerializer
)]
async fn generate_slack_webhook_link(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[query(
name = "workspace",
decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
safe
)]
workspace: Option<
super::super::super::super::super::objects::api::rids::WorkspaceRid,
>,
#[query(
name = "isGovSlack",
decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
log_as = "isGovSlack"
)]
is_gov_slack: Option<bool>,
) -> Result<
super::super::super::super::super::objects::scout::integrations::api::GenerateSlackWebhookResponse,
conjure_http::private::Error,
>;
#[endpoint(
method = GET,
path = "/scout/v2/integrations/slack-oauth/redirect",
name = "createSlackWebhook"
)]
async fn create_slack_webhook(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[query(
name = "code",
decoder = conjure_http::server::conjure::FromPlainDecoder
)]
code: String,
#[query(
name = "state",
decoder = conjure_http::server::conjure::FromPlainDecoder
)]
state: String,
) -> Result<(), conjure_http::private::Error>;
#[endpoint(
method = POST,
path = "/scout/v2/integrations",
name = "createIntegration",
produces = conjure_http::server::StdResponseSerializer
)]
async fn create_integration(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(
deserializer = conjure_http::server::StdRequestDeserializer,
log_as = "createIntegrationRequest"
)]
create_integration_request: super::super::super::super::super::objects::scout::integrations::api::CreateIntegrationRequest,
) -> Result<
super::super::super::super::super::objects::scout::integrations::api::Integration,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/scout/v2/integrations/internal/secure-webhook",
name = "createSecureWebhookIntegration",
produces = conjure_http::server::StdResponseSerializer
)]
async fn create_secure_webhook_integration(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::super::objects::scout::integrations::api::CreateSecureWebhookIntegrationRequest,
) -> Result<
super::super::super::super::super::objects::scout::integrations::api::CreateSecureWebhookIntegrationResponse,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/scout/v2/integrations/internal/secure-webhook/{integrationRid}",
name = "sendSecureWebhookMessage",
produces = conjure_http::server::StdResponseSerializer
)]
async fn send_secure_webhook_message(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "integrationRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "integrationRid",
safe
)]
integration_rid: super::super::super::super::super::objects::scout::integrations::api::IntegrationRid,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::super::objects::scout::integrations::api::SendSecureWebhookMessageRequest,
) -> Result<
super::super::super::super::super::objects::scout::integrations::api::SendSecureWebhookMessageResponse,
conjure_http::private::Error,
>;
#[endpoint(
method = DELETE,
path = "/scout/v2/integrations/{integrationRid}",
name = "deleteIntegration"
)]
async fn delete_integration(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "integrationRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "integrationRid",
safe
)]
integration_rid: super::super::super::super::super::objects::scout::integrations::api::IntegrationRid,
) -> Result<(), conjure_http::private::Error>;
#[endpoint(
method = PUT,
path = "/scout/v2/integrations/{integrationRid}",
name = "updateIntegrationMetadata",
produces = conjure_http::server::StdResponseSerializer
)]
async fn update_integration_metadata(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "integrationRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "integrationRid",
safe
)]
integration_rid: super::super::super::super::super::objects::scout::integrations::api::IntegrationRid,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::super::objects::scout::integrations::api::UpdateIntegrationRequest,
) -> Result<
super::super::super::super::super::objects::scout::integrations::api::Integration,
conjure_http::private::Error,
>;
#[endpoint(
method = PUT,
path = "/scout/v2/integrations/{integrationRid}/details",
name = "updateIntegrationDetails",
produces = conjure_http::server::StdResponseSerializer
)]
async fn update_integration_details(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "integrationRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "integrationRid",
safe
)]
integration_rid: super::super::super::super::super::objects::scout::integrations::api::IntegrationRid,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::super::objects::scout::integrations::api::UpdateIntegrationDetailsRequest,
) -> Result<
super::super::super::super::super::objects::scout::integrations::api::Integration,
conjure_http::private::Error,
>;
#[endpoint(
method = GET,
path = "/scout/v2/integrations/{integrationRid}",
name = "getIntegration",
produces = conjure_http::server::StdResponseSerializer
)]
async fn get_integration(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "integrationRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "integrationRid",
safe
)]
integration_rid: super::super::super::super::super::objects::scout::integrations::api::IntegrationRid,
) -> Result<
super::super::super::super::super::objects::scout::integrations::api::Integration,
conjure_http::private::Error,
>;
#[endpoint(
method = GET,
path = "/scout/v2/integrations/list",
name = "listIntegrations",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
async fn list_integrations(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[query(
name = "workspaces",
decoder = conjure_http::server::conjure::FromPlainSeqDecoder<_>,
safe
)]
workspaces: std::collections::BTreeSet<
super::super::super::super::super::objects::api::rids::WorkspaceRid,
>,
) -> Result<
Vec<
super::super::super::super::super::objects::scout::integrations::api::Integration,
>,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/scout/v2/integrations/send-message",
name = "sendMessage"
)]
async fn send_message(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::super::objects::scout::integrations::api::SendMessageRequest,
) -> Result<(), conjure_http::private::Error>;
#[endpoint(
method = POST,
path = "/scout/v2/integrations/internal/{integrationRid}/rotate-signing-key",
name = "rotateSecureWebhookIntegrationSigningKey",
produces = conjure_http::server::StdResponseSerializer
)]
async fn rotate_secure_webhook_integration_signing_key(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "integrationRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "integrationRid",
safe
)]
integration_rid: super::super::super::super::super::objects::scout::integrations::api::IntegrationRid,
) -> Result<
super::super::super::super::super::objects::scout::integrations::api::RotateWebhookSigningKeyResponse,
conjure_http::private::Error,
>;
}