rewriting

This commit is contained in:
2024-03-29 00:29:35 +03:00
parent 2adfaecabd
commit 9ce9456d50
25 changed files with 226 additions and 478 deletions

View File

@@ -1,7 +1,9 @@
from .base_model import Base
from .base_model import BaseModel
from .refers_model import RefersModel
from .user_model import UserModel
__all__ = (
"Base",
"BaseModel",
"UserModel",
"RefersModel",
)

View File

@@ -4,11 +4,10 @@ from sqlalchemy.dialects.postgresql import UUID
from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column
class Base(DeclarativeBase):
class BaseModel(DeclarativeBase):
__abstract__ = True
id: Mapped[uuid.UUID] = mapped_column(
UUID(as_uuid=True),
primary_key=True,
default=uuid.uuid4,
)

View File

@@ -0,0 +1,18 @@
from uuid import UUID
from sqlalchemy import ForeignKey
from sqlalchemy.orm import Mapped, mapped_column, relationship
from api.models import BaseModel
class RefersModel(BaseModel):
__tablename__ = "refers"
referer: Mapped[UUID] = mapped_column(ForeignKey("user.id"))
referals: Mapped[list["UserModel"]] = relationship(
"UserModel",
backref="refers",
lazy="selectin",
)
is_active: Mapped[bool]

View File

@@ -1,25 +1,11 @@
from sqlalchemy.orm import Mapped, mapped_column
from . import Base
from api.models import BaseModel
class UserModel(Base):
__tablename__ = "users"
first_name: Mapped[str]
mid_name: Mapped[str]
last_name: Mapped[str]
class UserModel(BaseModel):
__tablename__ = "user"
name: Mapped[str]
email: Mapped[str] = mapped_column(unique=True)
telegram_id: Mapped[str] = mapped_column(unique=True)
hashed_password: Mapped[str]
is_active: Mapped[bool] = mapped_column(default=False)
def __repr__(self):
return (
f"<User(id={self.id}, "
f'email="{self.email}", '
f'hashed_password="{self.hashed_password}", '
f"is_active={self.is_active})>"
)