pub struct PortableTimeTotal {
pub group: String,
pub scope: PortableTimeFilter,
pub state: String,
pub is_partial: bool,
pub total_minutes: Option<i128>,
pub entry_count: usize,
pub malformed_count: usize,
pub undated_count: usize,
pub deleted_count: Option<usize>,
pub diagnostics: Vec<PortableTimeDiagnostic>,
}Expand description
The shared total, projected field for field (T034).
Every number is the DTO’s own — the sum, the counts beside it and the optional deleted
count — and state is the shared TimeTotalState spelling, so an empty scope
(nothing) and a scope whose entries were all unusable (unknown) stay different
answers here exactly as they are on the CLI (C-005). group is the shared
TimeGroup label and scope the
filtered scope the total was evaluated under.
Fields§
§group: StringThe shared group label (all, #3, @ada, (unattributed), a date,
(undated)).
scope: PortableTimeFilterThe filter the total was evaluated under.
state: StringThe explicit state, spelled as TimeTotalState::as_str.
is_partial: boolWhether some selected entry was left out of the sum
(TimeTotal::is_partial).
total_minutes: Option<i128>The sum of the counted entries’ minutes; null when nothing was counted, and
0 only when a zero was genuinely recorded.
entry_count: usizeValid entries counted into the sum.
malformed_count: usizeEntries whose own fields are unusable; each has its own finding.
undated_count: usizeValid entries a period-bounded scope could not place because they carry no date.
deleted_count: Option<usize>Prior values deletions left in History on the issues this total is about; null
unless the filter asked for audit context.
diagnostics: Vec<PortableTimeDiagnostic>Every finding the total carries, in the DTO’s own order.
Implementations§
Source§impl PortableTimeTotal
impl PortableTimeTotal
Sourcepub fn from_total(total: &TimeTotal) -> Self
pub fn from_total(total: &TimeTotal) -> Self
Project one shared TimeTotal.
Trait Implementations§
Source§impl Clone for PortableTimeTotal
impl Clone for PortableTimeTotal
Source§impl Debug for PortableTimeTotal
impl Debug for PortableTimeTotal
Source§impl<'de> Deserialize<'de> for PortableTimeTotal
impl<'de> Deserialize<'de> for PortableTimeTotal
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>,
impl Eq for PortableTimeTotal
Source§impl PartialEq for PortableTimeTotal
impl PartialEq for PortableTimeTotal
Source§impl Serialize for PortableTimeTotal
impl Serialize for PortableTimeTotal
impl StructuralPartialEq for PortableTimeTotal
Auto Trait Implementations§
impl Freeze for PortableTimeTotal
impl RefUnwindSafe for PortableTimeTotal
impl Send for PortableTimeTotal
impl Sync for PortableTimeTotal
impl Unpin for PortableTimeTotal
impl UnsafeUnpin for PortableTimeTotal
impl UnwindSafe for PortableTimeTotal
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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> ⓘ
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> ⓘ
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 more