from fastapi import APIRouter, Depends, HTTPException
from starlette import status

from api import get_conn
from model.bcd_request import BCDRequestModel
from model.wapi.cntl import APIToken, Mgr
from util.auth import check_auth

router = APIRouter(
    prefix="/api/bcd_request",
    tags=["bcd_request"]
)
js_mods = ['bcdrequest']


# TODO: implement methods...
@router.post('')
async def handle_request(bcd_request: BCDRequestModel, token: APIToken = Depends(check_auth), conn=Depends(get_conn)):
    user = Mgr.check_token(conn, token)

    if user:
        return "Success"

    raise HTTPException(status_code=status.HTTP_500_INTERNAL_SERVER_ERROR)