pub struct OkrRun {Show 14 fields
pub id: Uuid,
pub okr_id: Uuid,
pub name: String,
pub status: OkrRunStatus,
pub correlation_id: Option<String>,
pub relay_checkpoint_id: Option<String>,
pub session_id: Option<String>,
pub kr_progress: HashMap<String, f64>,
pub approval: Option<ApprovalDecision>,
pub outcomes: Vec<KrOutcome>,
pub iterations: u32,
pub started_at: DateTime<Utc>,
pub completed_at: Option<DateTime<Utc>>,
pub updated_at: DateTime<Utc>,
}Expand description
An execution run of an OKR (multiple runs per OKR are allowed)
Fields§
§id: UuidUnique identifier for this run
okr_id: UuidParent OKR ID
name: StringHuman-readable name for this run
status: OkrRunStatusCurrent status of the run
correlation_id: Option<String>Correlation ID linking to relay/session
relay_checkpoint_id: Option<String>Relay checkpoint ID for resume capability
session_id: Option<String>Session ID if applicable
kr_progress: HashMap<String, f64>Progress per key result (kr_id -> progress)
approval: Option<ApprovalDecision>Approval decision for this run
outcomes: Vec<KrOutcome>List of outcomes achieved in this run
iterations: u32Iteration count for this run
started_at: DateTime<Utc>Started timestamp
completed_at: Option<DateTime<Utc>>Completed timestamp (if finished)
updated_at: DateTime<Utc>Last update timestamp
Implementations§
Source§impl OkrRun
impl OkrRun
Sourcepub fn validate(&self) -> Result<(), OkrValidationError>
pub fn validate(&self) -> Result<(), OkrValidationError>
Validate the run
Sourcepub fn submit_for_approval(&mut self) -> Result<(), OkrValidationError>
pub fn submit_for_approval(&mut self) -> Result<(), OkrValidationError>
Submit for approval
Sourcepub fn record_decision(&mut self, decision: ApprovalDecision)
pub fn record_decision(&mut self, decision: ApprovalDecision)
Record an approval decision
Sourcepub fn start(&mut self) -> Result<(), OkrValidationError>
pub fn start(&mut self) -> Result<(), OkrValidationError>
Start execution
Sourcepub fn update_kr_progress(&mut self, kr_id: &str, progress: f64)
pub fn update_kr_progress(&mut self, kr_id: &str, progress: f64)
Update key result progress
Sourcepub fn is_resumable(&self) -> bool
pub fn is_resumable(&self) -> bool
Check if run can be resumed
Trait Implementations§
Source§impl<'de> Deserialize<'de> for OkrRun
impl<'de> Deserialize<'de> for OkrRun
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for OkrRun
impl RefUnwindSafe for OkrRun
impl Send for OkrRun
impl Sync for OkrRun
impl Unpin for OkrRun
impl UnwindSafe for OkrRun
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> Serialize for T
impl<T> Serialize for T
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<(), Error>
fn do_erased_serialize( &self, serializer: &mut dyn Serializer, ) -> Result<(), ErrorImpl>
Source§impl<T> ServiceExt for T
impl<T> ServiceExt for T
Source§fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
Apply a transformation to the response body. Read more
Source§fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using HTTP status codes. Read more
Source§fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using gRPC headers. Read more