65 lines
2.3 KiB
Python
65 lines
2.3 KiB
Python
import os
|
|
|
|
from fastapi import FastAPI, Request
|
|
from fastapi.openapi.docs import get_swagger_ui_html
|
|
from fastapi.openapi.utils import get_openapi
|
|
|
|
# from fastapi.staticfiles import StaticFiles
|
|
# from fastapi.templating import Jinja2Templates
|
|
|
|
from .routers_v2 import (
|
|
current, awards, teams, rarity, cardsets, players, packtypes, packs, cards, events, results, rewards, decisions,
|
|
batstats, pitstats, notifications, paperdex, gamerewards, gauntletrewards, gauntletruns, battingcards,
|
|
battingcardratings, pitchingcards, pitchingcardratings, cardpositions, scouting, mlbplayers, stratgame, stratplays)
|
|
|
|
app = FastAPI(
|
|
root_path='/api',
|
|
responses={404: {'description': 'Not found'}},
|
|
docs_url='/api/docs',
|
|
redoc_url='/api/redoc'
|
|
)
|
|
|
|
# app.mount("/static", StaticFiles(directory="storage/static"), name="static")
|
|
# templates = Jinja2Templates(directory=os.path.dirname(os.path.abspath(__file__)))
|
|
|
|
app.include_router(current.router)
|
|
app.include_router(awards.router)
|
|
app.include_router(teams.router)
|
|
app.include_router(rarity.router)
|
|
app.include_router(cardsets.router)
|
|
app.include_router(players.router)
|
|
app.include_router(packtypes.router)
|
|
app.include_router(packs.router)
|
|
app.include_router(cards.router)
|
|
app.include_router(events.router)
|
|
app.include_router(results.router)
|
|
app.include_router(rewards.router)
|
|
app.include_router(batstats.router)
|
|
app.include_router(pitstats.router)
|
|
app.include_router(notifications.router)
|
|
app.include_router(paperdex.router)
|
|
app.include_router(gamerewards.router)
|
|
app.include_router(gauntletrewards.router)
|
|
app.include_router(gauntletruns.router)
|
|
app.include_router(battingcards.router)
|
|
app.include_router(battingcardratings.router)
|
|
app.include_router(pitchingcards.router)
|
|
app.include_router(pitchingcardratings.router)
|
|
app.include_router(cardpositions.router)
|
|
app.include_router(scouting.router)
|
|
app.include_router(mlbplayers.router)
|
|
app.include_router(stratgame.router)
|
|
app.include_router(stratplays.router)
|
|
app.include_router(decisions.router)
|
|
|
|
|
|
@app.get("/api/docs", include_in_schema=False)
|
|
async def get_docs(req: Request):
|
|
print(req.scope)
|
|
return get_swagger_ui_html(openapi_url=req.scope.get('root_path')+'/openapi.json', title='Swagger')
|
|
|
|
|
|
@app.get("/api/openapi.json", include_in_schema=False)
|
|
async def openapi():
|
|
return get_openapi(title='Paper Dynasty API', version=f'0.1.1', routes=app.routes)
|