normogen/backend/src/models/appointment.rs

31 lines
1,003 B
Rust

use serde::{Deserialize, Serialize};
use mongodb::bson::{oid::ObjectId, DateTime};
use super::health_data::EncryptedField;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Appointment {
#[serde(rename = "_id", skip_serializing_if = "Option::is_none")]
pub id: Option<ObjectId>,
#[serde(rename = "appointmentId")]
pub appointment_id: String,
#[serde(rename = "userId")]
pub user_id: String,
#[serde(rename = "profileId")]
pub profile_id: String,
#[serde(rename = "appointmentData")]
pub appointment_data: EncryptedField,
#[serde(rename = "reminders")]
pub reminders: Vec<AppointmentReminder>,
#[serde(rename = "createdAt")]
pub created_at: DateTime,
#[serde(rename = "updatedAt")]
pub updated_at: DateTime,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AppointmentReminder {
#[serde(rename = "reminderId")]
pub reminder_id: String,
#[serde(rename = "scheduledTime")]
pub scheduled_time: String,
}