Spaces:
Sleeping
Sleeping
File size: 675 Bytes
ce673e5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | from pydantic import BaseModel, Field, ConfigDict
from typing import List, Optional
from datetime import datetime, timezone
from enum import Enum
import uuid
class UserRole(str, Enum):
MAINTAINER = "MAINTAINER"
CONTRIBUTOR = "CONTRIBUTOR"
class User(BaseModel):
model_config = ConfigDict(extra="ignore")
id: str = Field(default_factory=lambda: str(uuid.uuid4()))
githubId: int
username: str
avatarUrl: str
role: Optional[UserRole] = None
repositories: List[str] = []
createdAt: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))
updatedAt: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))
|