-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathmain.py
More file actions
76 lines (61 loc) · 2.58 KB
/
Copy pathmain.py
File metadata and controls
76 lines (61 loc) · 2.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# from app.services.user_service import UserService
# from app.repositories.implementations.user_repository import UserRepository
# from app.db.session import AsyncSessionLocal
import logging
from contextlib import asynccontextmanager
from pathlib import Path
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from app.api.router import router
from app.core.auth.auth0_middleware import Auth0Middleware
from app.core.scoring import load_distribution
formatter = logging.Formatter(fmt="%(asctime)s | %(levelname)s | %(name)s | %(message)s", datefmt="%Y-%m-%d %H:%M:%S")
BASE_DIR = Path(__file__).resolve().parent
# Point to the CSV in that same folder
DISTRIBUTION_FILE = str(BASE_DIR / "distribution_1497.csv")
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s | %(levelname)s | %(name)s | %(message)s",
datefmt="%Y-%m-%d %H:%M:%S",
)
logging.getLogger("uvicorn.access").setLevel(logging.WARNING)
logging.getLogger("uvicorn.error").setLevel(logging.ERROR)
logging.getLogger("fastapi").setLevel(logging.WARNING)
# async def get_user_service_startup():
# async with AsyncSessionLocal() as session:
# user_repo = UserRepository(session)
# return UserService(user_repo)
@asynccontextmanager
async def lifespan(app: FastAPI):
logging.info("API Starting up")
# user_service = await get_user_service_startup()
app.state.auth_middleware = Auth0Middleware()
load_distribution(DISTRIBUTION_FILE)
yield
logging.info("API Shutting down")
app = FastAPI(
title="Misinformation Mitigation API",
response_model_exclude_unset=True,
response_validation=False,
lifespan=lifespan,
)
app.add_middleware(
CORSMiddleware,
allow_origins=[
"https://misinformation-mitigation-ui.vercel.app",
"http://localhost:3000",
"https://www.veri-fact.ai",
"https://veracity-eval-frontend-git-g0frontend-complex-data-lab.vercel.app",
"https://veracity-eval-frontend-git-g1frontend-complex-data-lab.vercel.app",
"https://veracity-eval-frontend-git-g2frontend-complex-data-lab.vercel.app",
"https://veracity-eval-frontend-git-g1frontendmod-complex-data-lab.vercel.app",
"https://veracity-eval-frontend-git-g1frontendmod2-complex-data-lab.vercel.app",
"https://veracity-eval-frontend-git-g0frontendmod-complex-data-lab.vercel.app",
"https://veracity-eval-frontend-git-feature-open-f37c90-complex-data-lab.vercel.app",
],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
expose_headers=["*"],
)
app.include_router(router, prefix="/v1")