Ragchatbot / app /models /user.py
MuhammadSaad16's picture
Add application file
b013985
Raw History Blame Contribute Delete
1.07 kB
from enum import Enum
from sqlalchemy import Column, Integer, String, Text, DateTime
from sqlalchemy.sql import func
from app.database import Base
class SoftwareLevel(str, Enum):
"""User's software development experience level"""
beginner = "beginner"
intermediate = "intermediate"
advanced = "advanced"
class HardwareLevel(str, Enum):
"""User's hardware/electronics experience level"""
none = "none"
basic = "basic"
experienced = "experienced"
class User(Base):
__tablename__ = "users"
id = Column(Integer, primary_key=True, index=True)
username = Column(String, unique=True, index=True, nullable=True)
email = Column(String(255), unique=True, index=True, nullable=False)
hashed_password = Column(String(60), nullable=False)
software_level = Column(String(20), nullable=False, default="beginner")
hardware_level = Column(String(20), nullable=False, default="none")
learning_goals = Column(Text, nullable=False, default="")
created_at = Column(DateTime(timezone=True), server_default=func.now())