Add User model

This commit is contained in:
Backend IM Bot 2025-03-26 19:22:34 +00:00
parent 07ce9815fd
commit 3f3b7eb76a

View File

@ -1,11 +1,22 @@
from sqlalchemy import Column, String, Boolean
from sqlalchemy import Column, String, Integer, Boolean, DateTime, ForeignKey
from sqlalchemy.orm import relationship
from sqlalchemy.sql import func
from core.database import Base
import uuid
from datetime import datetime
class User(Base):
__tablename__ = "users"
id = Column(String, primary_key=True)
username = Column(String, unique=True, index=True)
email = Column(String, unique=True, index=True)
hashed_password = Column(String)
disabled = Column(Boolean, default=False)
id = Column(String, primary_key=True, default=lambda: str(uuid.uuid4()))
username = Column(String(50), unique=True, nullable=False, index=True)
email = Column(String(100), unique=True, nullable=False, index=True)
password = Column(String(255), nullable=False)
first_name = Column(String(50), nullable=True)
last_name = Column(String(50), nullable=True)
is_active = Column(Boolean, default=True)
is_verified = Column(Boolean, default=False)
is_superuser = Column(Boolean, default=False)
last_login = Column(DateTime, nullable=True)
refresh_token = Column(String(255), nullable=True)
created_at = Column(DateTime, default=func.now())
updated_at = Column(DateTime, default=func.now(), onupdate=func.now())