mirror of
https://gh-proxy.org/https://github.com/klinsmaya/SQLBot.git
synced 2026-11-08 09:17:06 +08:00
25 lines
1004 B
Python
25 lines
1004 B
Python
|
|
from sqlmodel import Session, select
|
|
from ..models.user import sys_user, user_grid
|
|
from common.core.security import verify_md5pwd
|
|
|
|
def get_user_by_account(*, session: Session, account: str) -> sys_user | None:
|
|
#statement = select(sys_user).where(sys_user.account == account)
|
|
statement = select(user_grid.id, user_grid.account, user_grid.oid, user_grid.password).where(user_grid.account == account)
|
|
session_user = session.exec(statement).first()
|
|
result_user = sys_user.model_validate(session_user)
|
|
return result_user
|
|
|
|
def get_user_info(*, session: Session, user_id: int) -> sys_user | None:
|
|
db_user = session.get(user_grid, user_id)
|
|
if not db_user:
|
|
return None
|
|
return db_user
|
|
|
|
def authenticate(*, session: Session, account: str, password: str) -> sys_user | None:
|
|
db_user = get_user_by_account(session=session, account=account)
|
|
if not db_user:
|
|
return None
|
|
if not verify_md5pwd(password, db_user.password):
|
|
return None
|
|
return db_user |