""" SQLModel database models for PostgreSQL (Supabase). Optimized for cloud deployment and mobile app integration. """ from datetime import datetime from typing import Optional, List from pydantic import BaseModel, Field class User(BaseModel): """User model for Firestore 'users' collection.""" id: Optional[str] = Field(default=None) email: str username: Optional[str] = Field(default=None) display_name: Optional[str] = Field(default=None) password_hash: Optional[str] = Field(default=None) role: str = "user" age: Optional[int] = Field(default=None) gender: Optional[str] = Field(default=None) created_at: datetime = Field(default_factory=datetime.utcnow) notesCount: Optional[int] = Field(default=0) class Config: from_attributes = True class Category(BaseModel): """Category model for Firestore 'categories' collection.""" id: Optional[str] = Field(default=None) name: str description: Optional[str] = None user_id: str created_at: datetime = Field(default_factory=datetime.utcnow) class Note(BaseModel): """ Note model for Firestore 'notes' collection. """ id: Optional[str] = Field(default=None) user_id: str video_url: str video_title: str summary_content: str category: Optional[str] = "Uncategorized" created_at: datetime = Field(default_factory=datetime.utcnow)