Phase 2.2: MongoDB connection and models

This commit is contained in:
goose 2026-02-14 15:37:02 -03:00
parent 1cf927f527
commit 154c3d1152
13 changed files with 544 additions and 5 deletions

View file

@ -0,0 +1,32 @@
use serde::{Deserialize, Serialize};
use mongodb::bson::{oid::ObjectId, DateTime};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct HealthData {
#[serde(rename = "_id", skip_serializing_if = "Option::is_none")]
pub id: Option<ObjectId>,
#[serde(rename = "healthDataId")]
pub health_data_id: String,
#[serde(rename = "userId")]
pub user_id: String,
#[serde(rename = "profileId")]
pub profile_id: String,
#[serde(rename = "familyId")]
pub family_id: Option<String>,
#[serde(rename = "healthData")]
pub health_data: Vec<EncryptedField>,
#[serde(rename = "createdAt")]
pub created_at: DateTime,
#[serde(rename = "updatedAt")]
pub updated_at: DateTime,
#[serde(rename = "dataSource")]
pub data_source: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EncryptedField {
pub encrypted: bool,
pub data: String,
pub iv: String,
pub auth_tag: String,
}