aboutsummaryrefslogtreecommitdiff
path: root/src/api/schema/integrations.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/schema/integrations.rs')
-rw-r--r--src/api/schema/integrations.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/api/schema/integrations.rs b/src/api/schema/integrations.rs
index 6151dedb..0fce2913 100644
--- a/src/api/schema/integrations.rs
+++ b/src/api/schema/integrations.rs
@@ -1,5 +1,22 @@
use serde::{Deserialize, Serialize};
+#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)]
+#[serde(rename_all = "snake_case")]
+pub enum IntegrationState {
+ NotInstalled,
+ Current,
+ Outdated,
+}
+
+#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)]
+pub struct IntegrationInfo {
+ pub target: IntegrationTarget,
+ pub label: String,
+ pub command: String,
+ pub available: bool,
+ pub state: IntegrationState,
+}
+
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)]
pub struct IntegrationInstallParams {
pub target: IntegrationTarget,