fix 用户调整为使用名称做主键

add 插件API
This commit is contained in:
jxxghp
2023-06-19 17:04:10 +08:00
parent df0ba221f9
commit c7f897fdcd
11 changed files with 152 additions and 35 deletions

View File

@ -23,11 +23,10 @@ def init_db():
Base.metadata.create_all(bind=Engine)
# 初始化超级管理员
_db = SessionLocal()
user = User.get_by_email(db=_db, email=settings.SUPERUSER)
user = User.get_by_name(db=_db, name=settings.SUPERUSER)
if not user:
user = User(
full_name="Admin",
email=settings.SUPERUSER,
name=settings.SUPERUSER,
hashed_password=get_password_hash(settings.SUPERUSER_PASSWORD),
is_superuser=True,
)

View File

@ -10,15 +10,16 @@ class User(Base):
用户表
"""
id = Column(Integer, Sequence('id'), primary_key=True, index=True)
full_name = Column(String, index=True)
email = Column(String, unique=True, index=True, nullable=False)
name = Column(String, index=True, nullable=False)
email = Column(String, unique=True, index=True)
hashed_password = Column(String, nullable=False)
is_active = Column(Boolean(), default=True)
is_superuser = Column(Boolean(), default=False)
avatar = Column(String)
@staticmethod
def authenticate(db: Session, email: str, password: str):
user = db.query(User).filter(User.email == email).first()
def authenticate(db: Session, name: str, password: str):
user = db.query(User).filter(User.name == name).first()
if not user:
return None
if not verify_password(password, str(user.hashed_password)):
@ -26,9 +27,9 @@ class User(Base):
return user
@staticmethod
def get_by_email(db: Session, email: str):
return db.query(User).filter(User.email == email).first()
def get_by_name(db: Session, name: str):
return db.query(User).filter(User.name == name).first()
@staticmethod
def delete_by_email(db: Session, email: str):
return db.query(User).filter(User.email == email).delete()
def delete_by_name(db: Session, name: str):
return db.query(User).filter(User.name == name).delete()