31 lines
1,003 B
Rust
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,
|
|
}
|