ApprovalGate

Struct ApprovalGate 

Source
pub struct ApprovalGate { /* private fields */ }
Expand description

Manages approval gates for workflow steps

Implementations§

Source§

impl ApprovalGate

Source

pub fn new() -> Self

Create a new approval gate manager

Source

pub fn request_approval( &mut self, step_id: String, message: String, timeout_ms: u64, ) -> WorkflowResult<String>

Request approval for a step

Creates an approval request and returns the request ID. The request will timeout after the specified duration.

Source

pub fn approve( &mut self, request_id: &str, comments: Option<String>, ) -> WorkflowResult<()>

Approve a pending request

Marks the approval request as approved. Returns error if the request is not found or already decided.

Source

pub fn reject( &mut self, request_id: &str, comments: Option<String>, ) -> WorkflowResult<()>

Reject a pending request

Marks the approval request as rejected. Returns error if the request is not found or already decided.

Source

pub fn get_request_status( &self, request_id: &str, ) -> WorkflowResult<ApprovalRequest>

Get the status of an approval request

Source

pub fn is_approved(&self, request_id: &str) -> WorkflowResult<bool>

Check if a step is approved

Returns true if the step has been approved, false if rejected or pending. Returns error if the request is not found or timed out.

Source

pub fn is_rejected(&self, request_id: &str) -> WorkflowResult<bool>

Check if a step is rejected

Returns true if the step has been rejected, false if approved or pending. Returns error if the request is not found or timed out.

Source

pub fn is_pending(&self, request_id: &str) -> WorkflowResult<bool>

Check if a request is still pending

Source

pub fn get_pending_requests(&self) -> Vec<ApprovalRequest>

Get all pending requests

Source

pub fn get_step_requests(&self, step_id: &str) -> Vec<ApprovalRequest>

Get all requests for a specific step

Trait Implementations§

Source§

impl Default for ApprovalGate

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.