normogen/backend/src/models/family.rs
goose e1ef96b9b0
Some checks failed
Lint and Build / Lint (push) Failing after 1m35s
Lint and Build / Build (push) Has been skipped
Lint and Build / Docker Build (push) Has been skipped
fix(clippy): resolve all clippy warnings
- Add #![allow(dead_code)] to modules with future features
- Fix trailing whitespace in main.rs
- Remove unused imports (Claims, ObjectId, Deserialize, Serialize)
- Fix unnecessary map_err in health_stats.rs
- Add allow attributes for experimental and redundant code
- Fix redundant pattern matching in health.rs
2026-03-12 09:03:38 -03:00

51 lines
1.3 KiB
Rust

#![allow(dead_code)]
#![allow(unused_imports)]
use mongodb::{
bson::{doc, oid::ObjectId, DateTime},
Collection,
};
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Family {
#[serde(rename = "_id", skip_serializing_if = "Option::is_none")]
pub id: Option<ObjectId>,
#[serde(rename = "familyId")]
pub family_id: String,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "nameIv")]
pub name_iv: String,
#[serde(rename = "nameAuthTag")]
pub name_auth_tag: String,
#[serde(rename = "memberIds")]
pub member_ids: Vec<String>,
#[serde(rename = "createdAt")]
pub created_at: DateTime,
#[serde(rename = "updatedAt")]
pub updated_at: DateTime,
}
pub struct FamilyRepository {
collection: Collection<Family>,
}
impl FamilyRepository {
pub fn new(collection: Collection<Family>) -> Self {
Self { collection }
}
pub async fn create(&self, family: &Family) -> mongodb::error::Result<()> {
self.collection.insert_one(family, None).await?;
Ok(())
}
pub async fn find_by_family_id(
&self,
family_id: &str,
) -> mongodb::error::Result<Option<Family>> {
self.collection
.find_one(doc! { "familyId": family_id }, None)
.await
}
}