pub struct RecordUpdate {
pub record_id: ValidName,
pub meta: Option<ValidMeta>,
pub components: Vec<Component>,
pub start_time: Option<DateTime<Utc>>,
pub stop_time: DateTime<Utc>,
}Expand description
RecordUpdate represents a single accountable unit that is used to set the stop_time of a
Record.
Initially, records are added to Auditor by pushing a RecordAdd, where the stop_time field
is optional. To later set the stop_time of the record, push a RecordUpdate with the same
record_id to auditor.
Use the constructor to build a new record.
§Note
All strings must not include the characters /()"<>\{}.
When created using the constructor, the record is already valid in terms of all checks that Auditor performs when receiving it.
Currently, only the stop_time can be updated.
Setting other fields such as meta or components has no effect.
§Examples
Create a valid record
use chrono::{DateTime, TimeZone, Utc};
let stop_time: DateTime<Utc> = Utc.with_ymd_and_hms(2023, 1, 1, 12, 0, 0).unwrap();
let record = RecordUpdate::new("123456", HashMap::new(), Vec::new(), stop_time)?;Fields§
§record_id: ValidNameUnique identifier of the record.
meta: Option<ValidMeta>Meta information, a collection of key value pairs in the form of String -> Vec<String>.
components: Vec<Component>List of components that are accounted for.
start_time: Option<DateTime<Utc>>Start time of the record.
stop_time: DateTime<Utc>Stop time of the record.
Implementations§
Trait Implementations§
Source§impl Clone for RecordUpdate
impl Clone for RecordUpdate
Source§fn clone(&self) -> RecordUpdate
fn clone(&self) -> RecordUpdate
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RecordUpdate
impl Debug for RecordUpdate
Source§impl<'de> Deserialize<'de> for RecordUpdate
impl<'de> Deserialize<'de> for RecordUpdate
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>,
Source§impl From<RecordUpdate> for Record
impl From<RecordUpdate> for Record
Source§fn from(r: RecordUpdate) -> Self
fn from(r: RecordUpdate) -> Self
Source§impl Serialize for RecordUpdate
impl Serialize for RecordUpdate
Auto Trait Implementations§
impl Freeze for RecordUpdate
impl RefUnwindSafe for RecordUpdate
impl Send for RecordUpdate
impl Sync for RecordUpdate
impl Unpin for RecordUpdate
impl UnwindSafe for RecordUpdate
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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