27 lines
773 B
Python
27 lines
773 B
Python
from sqlalchemy import Column, Integer, String, Enum, DateTime
|
|
import enum, datetime
|
|
|
|
from ..config import Base
|
|
|
|
class Role(str, enum.Enum):
|
|
admin = "admin"
|
|
user = "user"
|
|
mod = "mod"
|
|
|
|
class Status(str, enum.Enum):
|
|
banned = "banned"
|
|
active = "active"
|
|
suspended = "suspended"
|
|
|
|
class User(Base):
|
|
__tablename__ = "users"
|
|
user_id = Column(Integer, primary_key=True)
|
|
username = Column(String, unique=True)
|
|
name = Column(String)
|
|
surname = Column(String)
|
|
hashedPassword = Column(String)
|
|
email = Column(String, unique=True)
|
|
role = Column(Enum(Role), default=Role.user)
|
|
status = Column(Enum(Status), default=Status.active)
|
|
bio = Column(String(144))
|
|
created_date = Column(DateTime, default=datetime.datetime.utcnow)
|