# _*_ coding: utf-8 _*_ # @Time :2022/5/29 11:29 # @Email :508737091@qq.com # @Author :qiangyanwen # @File :user_repository.py from sqlalchemy import or_ from sqlalchemy.orm import Session from config.db_session import db_add, db_save from config.factory import AutomationResponse from entity.user_entity import UserFrom from enums.enums import RegisterUser from models.model import User from utils.jwt_token import get_md5_pwd def check_user_email(db: Session, user: UserFrom) -> bool: user = db.query(User).filter(or_(User.username == user.username, User.email == user.email)).first() if user: return True return False def register_user(db: Session, user: UserFrom) -> dict: us_er = User(**user.dict()) db_add(db, us_er) return AutomationResponse.model_to_dict(us_er, "password") async def login_user(db: Session, username, password): password = get_md5_pwd(password) user = await db.query(User).filter(User.username == username, User.password == password).first() if user.username and user.email: return True, user return False, RegisterUser.LOGIN_USER_ERROR.value async def active_user(db: Session, user_id: int, status: int): user = await db.query(User).filter(User.id == user_id).first() user.status = status db_save(db, user)