revai-api / app /models /user.py
Shaankar39's picture
Deploy RevAI API
3d1332e
Raw
History Blame Contribute Delete
1.03 kB
import uuid
import datetime
from sqlalchemy import Column, String, DateTime, Boolean
from sqlalchemy.orm import relationship
from app.database import Base
class User(Base):
__tablename__ = "users"
id = Column(String, primary_key=True, default=lambda: str(uuid.uuid4()))
email = Column(String, unique=True, index=True, nullable=False)
hashed_password = Column(String, nullable=False)
name = Column(String, default="")
tier = Column(String, default="free") # free, maker, growth, scale, enterprise
stripe_customer_id = Column(String, default="")
stripe_subscription_id = Column(String, default="")
is_active = Column(Boolean, default=True)
created_at = Column(DateTime, default=datetime.datetime.utcnow)
api_keys = relationship("APIKey", back_populates="user", cascade="all, delete-orphan")
usage_records = relationship("UsageRecord", back_populates="user", cascade="all, delete-orphan")
ml_models = relationship("MLModel", back_populates="user", cascade="all, delete-orphan")