use crate::domain::entry::Entry;
use crate::utils::date;
use chrono::NaiveDateTime;
use serde::{Deserialize, Serialize};
use uuid::Uuid;
#[derive(Debug, Serialize, Deserialize, Clone)]
pub struct Page {
pub id: Uuid,
pub date: NaiveDateTime,
pub entries: Vec<Entry>,
}
impl Page {
pub fn new(date: NaiveDateTime) -> Self {
let id = date::generate_reproducible_id_from_datetime(date);
Page {
id,
date,
entries: Vec::new(),
}
}
pub fn add_entry(&mut self, entry: Entry) {
self.entries.push(entry);
}
}