ocr-2 / ocr /__init__.py
brestok's picture
added consult notes
adb81a7
import os
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from starlette.exceptions import HTTPException as StarletteHTTPException
from starlette.staticfiles import StaticFiles
from ocr.core.config import settings
from ocr.core.wrappers import OcrResponseWrapper, ErrorOcrResponse
def create_app() -> FastAPI:
app = FastAPI()
from ocr.api.report import report_router
app.include_router(report_router, tags=['report'])
from ocr.api.message import message_router
app.include_router(message_router, tags=['message'])
from ocr.api.consult import consult_router
app.include_router(consult_router, tags=['consult'])
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_methods=["*"],
allow_headers=["*"],
)
static_directory = os.path.join(settings.BASE_DIR, 'static')
if not os.path.exists(static_directory):
os.makedirs(static_directory)
app.mount(
'/static',
StaticFiles(directory='static'),
)
@app.exception_handler(StarletteHTTPException)
async def http_exception_handler(_, exc):
return OcrResponseWrapper(
data=None,
successful=False,
error=ErrorOcrResponse(message=str(exc.detail))
).response(exc.status_code)
@app.get("/")
async def read_root():
return {"report": "Hello world!"}
return app