Spaces:
Sleeping
Sleeping
File size: 3,106 Bytes
6b725f7 |
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 |
from fastapi import Query,APIRouter
from service import DefaultService
from request import RequestDefault
from request import RequestDefault as req
from function import support_function
from response import ResponseDefault as res
from fastapi import File, UploadFile, Form
router = APIRouter()
@router.get("/is_me", tags=["Default"])
async def is_me(token: str = Query(...)):
if token.strip() == "" or token is None:
return res.ReponseError(status=400,
data=res.Message(message="Token field is required."))
if token.lower() == "none":
return res.ReponseError(status=400,
data=res.Message(message="Token cannot be None."))
if not isinstance(token, str):
return res.ReponseError(status=400,
data=res.Message(message="Token must be a non-empty string."))
try:
float(token)
return res.ReponseError(status=400,
data=res.Message(message="Token must be a string, not a number."))
except ValueError:
pass
request = RequestDefault.RequestIsMe(token=token)
return DefaultService.is_me(request)
@router.post('/create_firebase_user_google', tags=["Default"])
async def get_or_create_firebase_user(request: RequestDefault.RequestCreateFireBaseUserGoogle):
email = request.email
check = support_function.check_value_email_controller(request.email)
if check is not True:
return check
token_google = request.token_google
if token_google == "" or token_google is None:
return res.ReponseError(status=400,
data=res.Message(message="Token field is required."))
if not isinstance(token_google, str):
return res.ReponseError(status=400,
data=res.Message(message="Token must be a non-empty string."))
try:
float(token_google)
return res.ReponseError(status=400,
data=res.Message(message="Token must be a string, not a number."))
except ValueError:
pass
return DefaultService.create_firebase_user(request)
@router.get("/info_user/{user_id}", tags=["Default"])
async def get_user(user_id: str):
check = support_function.check_value_user_id_controller(user_id)
if check is not True:
return check
request = RequestDefault.RequestInfoUser(user_id=user_id)
return DefaultService.info_user(request)
ALLOWED_IMAGE_EXTENSIONS = {"jpeg", "jpg", "png"}
def allowed_file(filename: str) -> bool:
return '.' in filename and filename.rsplit('.', 1)[1].lower() in ALLOWED_IMAGE_EXTENSIONS
@router.post("/upload_image", tags=["Default"])
async def upload_image(user_id: str = Form(None), file: UploadFile = File(...)):
check = support_function.check_value_user_id_controller(user_id)
if check is not True:
return check
request = req.RequestUpLoadImage(user_id=user_id, files= file)
return DefaultService.upload_image_service(request) |