use chrono::{DateTime, Utc};
use nuts_bytes::{FromBytes, ToBytes};
use crate::datetime;
#[derive(Debug, FromBytes, ToBytes)]
pub struct Timestamps {
#[nuts_bytes(map = datetime)]
appended: DateTime<Utc>,
#[nuts_bytes(map = datetime)]
created: DateTime<Utc>,
#[nuts_bytes(map = datetime)]
changed: DateTime<Utc>,
#[nuts_bytes(map = datetime)]
modified: DateTime<Utc>,
}
impl Timestamps {
pub fn new() -> Timestamps {
let now = Utc::now();
Timestamps {
appended: now,
created: now,
changed: now,
modified: now,
}
}
pub fn appended(&self) -> &DateTime<Utc> {
&self.appended
}
pub fn created(&self) -> &DateTime<Utc> {
&self.created
}
pub fn set_created(&mut self, created: DateTime<Utc>) {
self.created = created
}
pub fn changed(&self) -> &DateTime<Utc> {
&self.changed
}
pub fn set_changed(&mut self, changed: DateTime<Utc>) {
self.changed = changed
}
pub fn modified(&self) -> &DateTime<Utc> {
&self.modified
}
pub fn set_modified(&mut self, modified: DateTime<Utc>) {
self.modified = modified
}
}