Skip to main content

max / goingson

603 B · 21 lines History Blame Raw
1 //! Daily review note domain types.
2
3 use chrono::{DateTime, NaiveDate, Utc};
4 use serde::{Deserialize, Serialize};
5 use crate::id_types::{DailyNoteId, UserId};
6
7 /// A daily review note capturing end-of-day reflection.
8 #[derive(Debug, Clone, Serialize, Deserialize)]
9 #[serde(rename_all = "camelCase")]
10 pub struct DailyNote {
11 pub id: DailyNoteId,
12 pub user_id: UserId,
13 pub note_date: NaiveDate,
14 pub went_well: String,
15 pub could_improve: String,
16 pub is_reviewed: bool,
17 pub reviewed_at: Option<DateTime<Utc>>,
18 pub created_at: DateTime<Utc>,
19 pub updated_at: DateTime<Utc>,
20 }
21