summaryrefslogtreecommitdiffstats
path: root/db/models.py
blob: b66f5bc598b092388d5409794211a050c81158a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
from uuid import uuid4, UUID

from sqlmodel import SQLModel, Field


class BaseModel(SQLModel):
    id: int | None = Field(primary_key=True, default=None)

class ExternalModelMixin:
    external_id: UUID = Field(index=True, unique=True, default_factory=uuid4)

class User(BaseModel, ExternalModelMixin, table=True):
    username: str = Field(unique=True, index=True)