Skip to main content
Glama
status.rs2.8 kB
use serde::{ Deserialize, Serialize, }; use si_data_pg::postgres_types::ToSql; use strum::{ AsRefStr, Display, EnumIter, EnumString, }; // NOTE(nick): if we can remove the "ToSql" trait, then we can fully move this to "si-events-rs" // and delete the duplicate types. #[remain::sorted] #[derive( AsRefStr, Deserialize, Serialize, Debug, Display, EnumString, PartialEq, Eq, Copy, Clone, ToSql, EnumIter, )] pub enum ChangeSetStatus { /// No longer usable Abandoned, /// Applied this changeset to its parent Applied, /// Approved by relevant parties and ready to be applied Approved, /// Migration of Workspace Snapshot for this change set failed Failed, /// Planned to be abandoned but needs approval first /// todo(brit): Remove once rebac is done NeedsAbandonApproval, /// Planned to be applied but needs approval first NeedsApproval, /// Available for user's to modify Open, /// Request to apply was rejected Rejected, } impl ChangeSetStatus { pub fn is_active(&self) -> bool { matches!( self, ChangeSetStatus::Open | ChangeSetStatus::NeedsApproval | ChangeSetStatus::NeedsAbandonApproval | ChangeSetStatus::Approved | ChangeSetStatus::Rejected ) } } impl From<si_events::ChangeSetStatus> for ChangeSetStatus { fn from(value: si_events::ChangeSetStatus) -> Self { match value { si_events::ChangeSetStatus::Abandoned => Self::Abandoned, si_events::ChangeSetStatus::Applied => Self::Applied, si_events::ChangeSetStatus::Failed => Self::Failed, si_events::ChangeSetStatus::NeedsAbandonApproval => { ChangeSetStatus::NeedsAbandonApproval } si_events::ChangeSetStatus::NeedsApproval => Self::NeedsApproval, si_events::ChangeSetStatus::Open => Self::Open, si_events::ChangeSetStatus::Approved => Self::Approved, si_events::ChangeSetStatus::Rejected => Self::Rejected, } } } impl From<ChangeSetStatus> for si_events::ChangeSetStatus { fn from(value: ChangeSetStatus) -> Self { match value { ChangeSetStatus::Abandoned => Self::Abandoned, ChangeSetStatus::Applied => Self::Applied, ChangeSetStatus::Failed => Self::Failed, ChangeSetStatus::NeedsAbandonApproval => Self::NeedsAbandonApproval, ChangeSetStatus::NeedsApproval => Self::NeedsApproval, ChangeSetStatus::Open => Self::Open, ChangeSetStatus::Approved => Self::Approved, ChangeSetStatus::Rejected => Self::Rejected, } } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/systeminit/si'

If you have feedback or need assistance with the MCP directory API, please join our Discord server