use serde::{Serialize, Deserialize}; use chrono::{DateTime, Utc}; use uuid::Uuid; #[derive(Debug, Serialize, Deserialize, sqlx::FromRow)] pub struct User { pub id: Option, pub name: String, pub password_hash: String, pub role: String, pub quota: Option, // bytes pub created_at: DateTime, } #[derive(Debug, Serialize, Deserialize, sqlx::FromRow)] pub struct File { pub id: i32, pub user_id: Option, pub original_name: String, pub storage_path: String, pub uploaded_at: DateTime, pub size: i64, } #[derive(Debug, Serialize, Deserialize, sqlx::FromRow)] pub struct Share { pub id: Uuid, pub file_id: Option, // Changed to Option pub shared_by: i32, pub created_at: DateTime, pub expires_at: Option, }