123456789101112131415161718192021222324 |
- from typing import TYPE_CHECKING
- from sqlalchemy import Boolean, Column, Integer, String, ForeignKey
- from sqlalchemy.orm import relationship
- from app.db.base_class import Base
- if TYPE_CHECKING:
- from .enum import Membership
- class User(Base):
- id = Column(Integer, primary_key=True, index=True)
- full_name = Column(String(20), index=True)
- email = Column(String(50), unique=True, index=True, nullable=False)
- hashed_password = Column(String(100), nullable=False)
- membership_status = Column(String(10),
- ForeignKey("membership.status", onupdate="CASCADE", ondelete="RESTRICT"),
- default="normal")
- available_time = Column(Integer, default=0)
- is_active = Column(Boolean(), default=True)
- is_superuser = Column(Boolean(), default=False)
- videos = relationship("Video", back_populates="owner")
- articles = relationship("Article", back_populates="owner")
- payments = relationship("Payment", back_populates="owner")
|