You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
961 B
33 lines
961 B
from fastapi import APIRouter, Request, Form
|
|
from fastapi.responses import RedirectResponse, HTMLResponse
|
|
from icecream import ic
|
|
|
|
from classes.constraints import Constraints
|
|
from .db import Database
|
|
|
|
router = APIRouter()
|
|
|
|
|
|
# external api
|
|
@router.get('/api/user/{username}')
|
|
async def get_api(request: Request, username: str):
|
|
if not Database.Users.get_address(username):
|
|
return {'error': 'invalid user'}
|
|
return Database.Users.get_address(username)
|
|
|
|
|
|
@router.get('/api/all')
|
|
async def get_api_all(request: Request):
|
|
return Database.Users.get_all()
|
|
|
|
|
|
# site search redirect
|
|
@router.get('/search')
|
|
async def search_api(request: Request):
|
|
username = request.query_params['username']
|
|
ic(request.query_params.get('switch', None) == 'on')
|
|
if request.query_params.get('switch', None) == 'on':
|
|
return RedirectResponse(f'/yellwowpage/matches/{username}')
|
|
else:
|
|
return RedirectResponse(f'/yellwowpage/user/{username}')
|