Skip to main content
Glama
approval_requirement_definition.rs2.17 kB
use axum::{ Router, response::{ IntoResponse, Response, }, routing::{ delete, get, put, }, }; use dal::{ WorkspaceSnapshotError, WsEventError, entity_kind::EntityKindError, }; use sdf_core::api_error::ApiError; use thiserror::Error; use crate::AppState; mod add_individual_approver; mod list; mod new; mod remove; mod remove_individual_approver; #[remain::sorted] #[derive(Debug, Error)] pub enum ApprovalRequirementDefinitionError { #[error("dal approval requirement error: {0}")] DalApprovalRequirement(#[from] dal::approval_requirement::ApprovalRequirementError), #[error("dal change set error: {0}")] DalChangeSet(#[from] dal::ChangeSetError), #[error("dal transactions error: {0}")] DalTransactions(#[from] dal::TransactionsError), #[error("entity kind error: {0}")] EntityKind(#[from] EntityKindError), #[error("SpiceDb Error: {0}")] SpiceDb(#[from] si_data_spicedb::Error), #[error("SpiceDb client not found")] SpiceDbClientNotFound, #[error("Ulid Decode Error: {0}")] UlidDecode(#[from] ulid::DecodeError), #[error("Workspace Snapshot Error: {0}")] WorkspaceSnapshot(#[from] WorkspaceSnapshotError), #[error("WsEvent Error: {0}")] WsEvent(#[from] WsEventError), } impl IntoResponse for ApprovalRequirementDefinitionError { fn into_response(self) -> Response { let err_string = self.to_string(); #[allow(clippy::match_single_binding)] let (status_code, maybe_message) = match self { _ => (ApiError::DEFAULT_ERROR_STATUS_CODE, None), }; ApiError::new(status_code, maybe_message.unwrap_or(err_string)).into_response() } } pub fn v2_routes() -> Router<AppState> { Router::new() .route("/", put(new::new)) .route("/entity/:entity-id", get(list::list_for_entity)) .route("/:id", delete(remove::remove)) .route( "/:id/individual-approver/:user-id", put(add_individual_approver::add_individual_approver) .delete(remove_individual_approver::remove_individual_approver), ) }

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