chatbot_server / controller /RedirectController.py
kltn21110's picture
Upload 239 files
325b400 verified
from fastapi import APIRouter, Form, Request,Depends,HTTPException
from service import ChatService
from fastapi.security import HTTPBearer, HTTPAuthorizationCredentials
from request import RequestChat
from typing import Optional
from fastapi.requests import Request
router = APIRouter()
class JWTBearer(HTTPBearer):
def __init__(self, auto_error: bool = True):
super(JWTBearer, self).__init__(auto_error=auto_error)
async def __call__(self, request: Request):
credentials: HTTPAuthorizationCredentials = await super(JWTBearer, self).__call__(request)
if credentials:
if credentials.scheme != "Bearer":
raise HTTPException(status_code=401, detail="Invalid authentication scheme.")
return credentials.credentials
else:
raise HTTPException(status_code=401, detail="Invalid authorization code.")
jwt_bearer = JWTBearer()
import decode_token
from service import RedirectService
from typing import Optional
from fastapi import Request, Query
from fastapi.responses import JSONResponse
@router.get("/android/zalo")
async def zalo_callback_get(
amount: Optional[int] = Query(None),
appid: Optional[str] = Query(None),
apptransid: Optional[str] = Query(None),
bankcode: Optional[str] = Query(None),
checksum: Optional[str] = Query(None),
discountamount: Optional[int] = Query(None),
pmcid: Optional[int] = Query(None),
status: Optional[int] = Query(None)
):
return await RedirectService.zalo_redirect(status,apptransid)
@router.get("/android/group/zalo")
async def zalo_callback_get(
amount: Optional[int] = Query(None),
appid: Optional[str] = Query(None),
apptransid: Optional[str] = Query(None),
bankcode: Optional[str] = Query(None),
checksum: Optional[str] = Query(None),
discountamount: Optional[int] = Query(None),
pmcid: Optional[int] = Query(None),
status: Optional[int] = Query(None)
):
return await RedirectService.zalo_group_redirect(status,apptransid)
@router.get("/web/zalo")
async def zalo_web_callback_get(request: Request):
return await RedirectService.zalo_web_redirect(request.query_params)
@router.get("/android/momo")
async def return_url_handler_1(request: Request):
query_params = request.query_params
return await RedirectService.android_momo_redirect(query_params)
@router.get("/android/group/momo")
async def return_url_handler_group_momo(request: Request):
query_params = request.query_params
return await RedirectService.android_group_momo_redirect(query_params)
from urllib.parse import urlencode
@router.get("/web/momo")
async def return_url_handler_web(request: Request):
query_params = request.query_params
return await RedirectService.web_momo_redirect(query_params)
from typing import Dict
@router.get("/android/vnpay")
async def vnpay_ipn_redirect(request: Request):
params: Dict[str, str] = dict(request.query_params)
return await RedirectService.android_vnpay_ipn_redirect(params)
@router.get("/android/group/vnpay")
async def vnpay_ipn_redirect(request: Request):
params: Dict[str, str] = dict(request.query_params)
return await RedirectService.android_vnpay_group_ipn_redirect(params)
@router.get("/web/vnpay")
async def vnpay_ipn_redirect(request: Request):
query_params = request.query_params
return await RedirectService.web_vnpay_ipn_redirect(query_params)