//! `users` koleksiyonu (DATA_MODEL.md §3.1). use mongodb::bson::Uuid; use serde::{Deserialize, Serialize}; use ts_rs::TS; #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, TS)] #[serde(rename_all = "lowercase")] #[ts(export)] pub enum Role { Owner, Member, } impl Role { pub fn as_str(self) -> &'static str { match self { Role::Owner => "owner", Role::Member => "member", } } } /// Veritabanından okunan kullanıcı (yalnızca ihtiyaç duyulan alanlar). #[derive(Debug, Deserialize)] pub struct User { #[serde(rename = "_id")] pub id: Uuid, pub household_id: Uuid, pub email: String, pub password_hash: String, pub name: String, pub role: Role, }