pub struct Day {
pub date: NaiveDate,
pub kind: WorkdayKind,
pub started_at: DateTime<Utc>,
pub ended_at: Option<DateTime<Utc>>,
pub worked_seconds: Option<i64>,
pub paused_count: i64,
pub paused_seconds: i64,
pub pauses: Vec<Pause>,
pub tasks: Vec<Task>,
pub norm_seconds: i64,
}Expand description
One day, with everything stored under it.
Field names follow DayUpload where they mean the same thing: an agent
author reading both ends of the API should not have to learn two
vocabularies for one day.
Fields§
§date: NaiveDate§kind: WorkdayKindWhat kind of day it was, as the agent reported it: worked, or away.
A day the agent said nothing about is work (ADR 0017).
started_at: DateTime<Utc>§ended_at: Option<DateTime<Utc>>Absent while the day is still open on the agent.
worked_seconds: Option<i64>Seconds between start and end, minus what was paused. None for a day
that has not ended: a half-finished day has no total, and reporting the
hours so far as the day’s figure would make an open day look short.
paused_count: i64How many times the day was interrupted, and for how long in total. Always answered - computed from the stored pauses where they exist, and read off the day where the policy summarized them away.
paused_seconds: i64§pauses: Vec<Pause>§tasks: Vec<Task>§norm_seconds: i64What this date was meant to be worked, in seconds: the calendar and the person’s share of a full day, with leave excused. Zero on a weekend, a holiday, and a day the employee was away.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Day
impl RefUnwindSafe for Day
impl Send for Day
impl Sync for Day
impl Unpin for Day
impl UnsafeUnpin for Day
impl UnwindSafe for Day
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
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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> ⓘ
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