1
from datetime import datetime
3
from fastapi_users_db_sqlalchemy import SQLAlchemyBaseUserTable
4
from sqlalchemy import (JSON, TIMESTAMP, Boolean, Column, ForeignKey, Integer,
7
from database import Base, metadata
12
Column("id", Integer, primary_key=True),
13
Column("name", String, nullable=False),
14
Column("permissions", JSON),
20
Column("id", Integer, primary_key=True),
21
Column("email", String, nullable=False),
22
Column("username", String, nullable=False),
23
Column("registered_at", TIMESTAMP, default=datetime.utcnow),
24
Column("role_id", Integer, ForeignKey(role.c.id)),
25
Column("hashed_password", String, nullable=False),
26
Column("is_active", Boolean, default=True, nullable=False),
27
Column("is_superuser", Boolean, default=False, nullable=False),
28
Column("is_verified", Boolean, default=False, nullable=False),
32
class User(SQLAlchemyBaseUserTable[int], Base):
33
id = Column(Integer, primary_key=True)
34
email = Column(String, nullable=False)
35
username = Column(String, nullable=False)
36
registered_at = Column(TIMESTAMP, default=datetime.utcnow)
37
role_id = Column(Integer, ForeignKey(role.c.id))
38
hashed_password: str = Column(String(length=1024), nullable=False)
39
is_active: bool = Column(Boolean, default=True, nullable=False)
40
is_superuser: bool = Column(Boolean, default=False, nullable=False)
41
is_verified: bool = Column(Boolean, default=False, nullable=False)