//! Weekly review domain types. use chrono::{DateTime, Utc}; use serde::{Deserialize, Serialize}; use crate::id_types::{WeeklyReviewId, UserId}; // ============ Weekly Review ============ /// A weekly review record tracking completion status. #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct WeeklyReview { /// Unique identifier. pub id: WeeklyReviewId, /// Owner user ID. pub user_id: UserId, /// The Monday of the week being reviewed (YYYY-MM-DD). pub week_start_date: chrono::NaiveDate, /// When the review was completed. pub completed_at: DateTime, /// Optional notes from the review. pub notes: String, /// Days marked as vacation for the coming week (0=Mon, 1=Tue, ... 6=Sun). pub vacation_days: Vec, }