from typing import Dict, Optional from datetime import datetime, timezone from beanie import Document from backend.models.gitea.constants import ( DepotStatus, UserAccountStatus, ) class CodeDepotDoc(Document): depot_name: str product_id: str depot_status: DepotStatus collaborators: list[str] = [] total_commits: Optional[int] = 0 last_commiter: Optional[str] = "" last_update: Optional[datetime] = datetime.now(timezone.utc) weekly_commits: Optional[Dict[str, int]] = {} class Settings: name = "code_depot"