Spaces:
Sleeping
Sleeping
File size: 4,369 Bytes
112c431 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 |
from fastapi import APIRouter, Query
from request import RequestUser
from response import ResponseUser as res
from service import UserService
from function import support_function
from fastapi import HTTPException
from response import ResponseUser as res
router = APIRouter()
@router.put("/update_user_info", tags=["User"])
async def update_user_info(request: RequestUser.RequestUpdateUserInfo):
user_id = request.user_id
check = support_function.check_value_user_id_controller(user_id)
if check is not True:
return check
uid = request.uid
email = request.email
display_name = request.display_name
photo_url = request.photo_url
if uid is None or uid.strip() == "":
return res.ReponseError(status=400,
data=res.Message(message="uid field is required."))
if email is None or email.strip() == "":
return res.ReponseError(status=400,
data=res.Message(message="email field is required."))
if display_name is None or display_name.strip() == "":
return res.ReponseError(status=400,
data=res.Message(message="display_name field is required."))
if photo_url is None or photo_url.strip() == "":
return res.ReponseError(status=400,
data=res.Message(message="photo_url field is required."))
return await UserService.update_user_info(request)
@router.get('/check_info_google', tags=["User"])
async def check_info_google(user_id: str = Query(None)):
check = support_function.check_value_user_id_controller(user_id)
if check is not True:
return check
request =RequestUser.RequestCheckInfoGoogle(user_id=user_id)
return await UserService.check_info_google(request)
@router.get('/check_info_google_signup', tags=["User"])
async def check_info_google_signup(email: str = None):
check = support_function.check_value_email_controller(email)
if check is not True:
return check
request =RequestUser.RequestCheckInfoGoogleEmail(email=email)
return await UserService.check_info_google_email(request)
@router.get('/check_state_login', tags=["User"])
async def check_state_login(user_id: str = Query(None), session_id_now: str = Query(None)):
check = support_function.check_value_user_id_controller(user_id)
if check is not True:
return check
if session_id_now is None or session_id_now.strip() == "":
return res.ReponseError(status=400,
data=res.Message(message="Session Id is required."))
try:
int(session_id_now)
return res.ReponseError(status=400,
data=res.Message(message="Session Id must be a string, not a number."))
except ValueError:
pass
request =RequestUser.RequestCheckStateLogin(user_id=user_id, session_id_now=session_id_now)
return await UserService.check_state_login(request)
@router.post('/reset_password', tags=["User"])
async def reset_password(request:RequestUser.RequestResetPassword):
email = request.email
check = support_function.check_value_email_controller(email)
if check is not True:
return check
return UserService.reset_password(request)
@router.put('/change_password', tags=["User"])
async def reset_password_firebase(request:RequestUser.RequestChangePassword):
user_id = request.user_id
check = support_function.check_value_user_id_controller(user_id)
if check is not True:
return check
new_password = request.new_password
current_password = request.current_password
confirm_new_password = request.confirm_new_password
if confirm_new_password is None or confirm_new_password.strip() == "":
return res.ReponseError(status=400,
data=res.Message(message="Confirm New password field is required."))
elif new_password is None or new_password.strip() == "":
return res.ReponseError(status=400,
data=res.Message(message="New password field is required."))
elif current_password is None or current_password.strip() == "":
return res.ReponseError(status=400,
data=res.Message(message="Current password field is required."))
return await UserService.change_password(request)
|