Coverage for mpcforces_extractor\api\main.py: 100%
16 statements
« prev ^ index » next coverage.py v7.6.4, created at 2024-11-13 12:05 +0100
« prev ^ index » next coverage.py v7.6.4, created at 2024-11-13 12:05 +0100
1from fastapi import FastAPI
2from fastapi.staticfiles import StaticFiles
3from fastapi.templating import Jinja2Templates
4from mpcforces_extractor.api.routes import (
5 database,
6 extractor,
7 file_upload,
8 html_routes,
9 nodes,
10 rbe2s,
11 rbe3s,
12 subcases,
13)
14from mpcforces_extractor.api.config import STATIC_DIR, TEMPLATES_DIR
17# Setup Jinja2 templates
18templates = Jinja2Templates(directory=TEMPLATES_DIR)
19app = FastAPI(redirect_slashes=False)
21# Mount the static files directory
22app.mount(
23 "/static",
24 StaticFiles(directory=STATIC_DIR),
25 name="static",
26)
28# Include routers with prefixes
29app.include_router(rbe2s.router, prefix="/api/v1/rbe2s", tags=["rbe2s"])
30app.include_router(rbe3s.router, prefix="/api/v1/rbe3s", tags=["rbe3s"])
31app.include_router(nodes.router, prefix="/api/v1/nodes", tags=["nodes"])
32app.include_router(subcases.router, prefix="/api/v1/subcases", tags=["subcases"])
33app.include_router(file_upload.router, prefix="/api/v1", tags=["file_upload"])
34app.include_router(extractor.router, prefix="/api/v1", tags=["extractor"])
35app.include_router(database.router, prefix="/api/v1", tags=["database"])
36app.include_router(html_routes.router, tags=["html_routes"])