rewriting
This commit is contained in:
@@ -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",
|
||||
)
|
||||
|
@@ -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,
|
||||
)
|
||||
|
18
api/models/refers_model.py
Normal file
18
api/models/refers_model.py
Normal 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]
|
@@ -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})>"
|
||||
)
|
||||
|
Reference in New Issue
Block a user