增加email域名验证
This commit is contained in:
parent
52b2483bc7
commit
db5226549f
|
@ -6,6 +6,7 @@ from sqlalchemy.orm import Session
|
|||
from Context.common import ctx
|
||||
from Crud.UserCrud import get_user_by_email, create_user, rest_user_password
|
||||
from Crud import AppCrud
|
||||
from CrudModel.AllowedEmail import allowed_email_crud, AllowedEmailQuery
|
||||
from Schemas import UserSchemas
|
||||
from Schemas.ApiCommonSchemas import CommonRes
|
||||
from Utils.AuthUtils import Token, token_data_depend, create_token
|
||||
|
@ -69,7 +70,7 @@ def login(body: UserSchemas.LoginReqBody, db: Session = Depends(get_db)):
|
|||
def login(body: UserSchemas.LoginReqBody, db: Session = Depends(get_db)):
|
||||
if not body.app_id:
|
||||
raise HTTPException(status_code=202, detail="未传入应用ID")
|
||||
app = AppCrud.get_app_by_id(db,body.app_id)
|
||||
app = AppCrud.get_app_by_id(db, body.app_id)
|
||||
if not app:
|
||||
raise HTTPException(status_code=202, detail="应用信息错误")
|
||||
# 图片验证码校验
|
||||
|
@ -100,6 +101,16 @@ def register(body: UserSchemas.RegisterReqBody, db: Session = Depends(get_db)):
|
|||
user_obj = get_user_by_email(db, body.email)
|
||||
if user_obj is not None:
|
||||
raise HTTPException(status_code=202, detail="该邮箱已注册")
|
||||
# 判断邮箱是否合规
|
||||
count, item_list = allowed_email_crud.query(db, AllowedEmailQuery())
|
||||
email_checked = False
|
||||
for item in item_list:
|
||||
if body.email.endswith(item.email):
|
||||
email_checked = True
|
||||
break
|
||||
if not email_checked:
|
||||
raise HTTPException(status_code=202, detail="该域名邮箱不允许注册")
|
||||
|
||||
# 邮箱验证码校验
|
||||
check_res = EmailVerifyCode.check_code(body.email, body.email_verify_code)
|
||||
if not check_res:
|
||||
|
|
|
@ -20,7 +20,7 @@ class LoginReqBody(BaseModel):
|
|||
|
||||
|
||||
class EmailSendReqBody(BaseModel):
|
||||
email: EMailRegex = "xxxx@fecr.com.cn"
|
||||
email: str = "xxxx@fecr.com.cn"
|
||||
|
||||
|
||||
class UserInfo(BaseModel):
|
||||
|
@ -55,13 +55,13 @@ class LoginResBody(UserInfo):
|
|||
|
||||
|
||||
class RegisterReqBody(BaseModel):
|
||||
email: EMailRegex
|
||||
email: str
|
||||
password: passwordRegex
|
||||
email_verify_code: str
|
||||
|
||||
|
||||
class RestPasswordReqBody(BaseModel):
|
||||
email: EMailRegex
|
||||
email: str
|
||||
password: passwordRegex
|
||||
email_verify_code: str
|
||||
|
||||
|
|
|
@ -139,7 +139,7 @@ class CRUDBase(Generic[DbModelType, ModelType, IdSchemaType, CreateSchemaType, U
|
|||
db.query(self.db_model).filter_by(id=update_model_obj.id).update(update_model_obj.dict())
|
||||
db.commit()
|
||||
|
||||
def query(self, db: Session, params: QuerySchemaType) -> [int, List[ModelType]]:
|
||||
def query(self, db: Session, params: QuerySchemaType) -> [int]:
|
||||
params_dict = params.dict()
|
||||
query = db.query(self.db_model)
|
||||
for key, value in params_dict.items():
|
||||
|
@ -188,12 +188,6 @@ def create_crud_model(db_model: Base, name, auto_create_keys=['id'], index_key='
|
|||
def auto_create_crud(db_model: Base, name, chinese_name="", auto_create_keys=['id'], index_key='id'):
|
||||
"""
|
||||
自动创建CRUD类
|
||||
:param db_model:
|
||||
:param name:
|
||||
:param chinese_name:
|
||||
:param auto_create_keys:
|
||||
:param index_key:
|
||||
:return:
|
||||
"""
|
||||
[model, model_id, model_create, model_update, model_query] = create_crud_model(db_model, name,
|
||||
auto_create_keys, index_key)
|
||||
|
|
Loading…
Reference in New Issue