monitoring/repository/user_repository.py

36 lines
1.1 KiB
Python

# _*_ 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
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.username and user.email:
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")
def login_user(db: Session, username, password):
password = get_md5_pwd(password)
user = 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