pub struct Okr {
pub id: Uuid,
pub title: String,
pub description: String,
pub status: OkrStatus,
pub key_results: Vec<KeyResult>,
pub owner: Option<String>,
pub tenant_id: Option<String>,
pub tags: Vec<String>,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
pub target_date: Option<DateTime<Utc>>,
}Expand description
A high-level objective with associated key results
Fields§
§id: UuidUnique identifier for this OKR
title: StringHuman-readable title of the objective
description: StringDetailed description of what this objective aims to achieve
status: OkrStatusCurrent status of the OKR
key_results: Vec<KeyResult>Key results that measure success
owner: Option<String>Owner of this OKR (user ID or team)
tenant_id: Option<String>Tenant ID for multi-tenant isolation
Tags for categorization
created_at: DateTime<Utc>Creation timestamp
updated_at: DateTime<Utc>Last update timestamp
target_date: Option<DateTime<Utc>>Target completion date
Implementations§
Source§impl Okr
impl Okr
Sourcepub fn new(title: impl Into<String>, description: impl Into<String>) -> Self
pub fn new(title: impl Into<String>, description: impl Into<String>) -> Self
Create a new OKR with a generated UUID
Sourcepub fn validate(&self) -> Result<(), OkrValidationError>
pub fn validate(&self) -> Result<(), OkrValidationError>
Validate the OKR structure
Sourcepub fn is_complete(&self) -> bool
pub fn is_complete(&self) -> bool
Check if all key results are complete
Sourcepub fn add_key_result(&mut self, kr: KeyResult)
pub fn add_key_result(&mut self, kr: KeyResult)
Add a key result to this OKR
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Okr
impl<'de> Deserialize<'de> for Okr
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 Okr
impl RefUnwindSafe for Okr
impl Send for Okr
impl Sync for Okr
impl Unpin for Okr
impl UnwindSafe for Okr
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