forked from marcorichetta/fastapi-vercel
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.py
43 lines (38 loc) · 1.55 KB
/
app.py
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
from fastapi import FastAPI, Depends
from fastapi.middleware.cors import CORSMiddleware
from routes import submission
from routes import users
from routes import solution
from routes import lesson
from routes import task_generator
from routes import topics
from routes import task
from routes import course
from routes import session
### Create FastAPI instance with custom docs and OpenAPI URL
app = FastAPI(docs_url="/docs", openapi_url="/openapi.json")
origins = [
"http://localhost:3000", # Next.js frontend on port 3000
"http://localhost:3001", # If your frontend runs on port 3001
"http://localhost:3002", # If your frontend runs on port 3002
"http://localhost:8000", # FastAPI backend on port 8000
"https://frontend-template-lilac.vercel.app", # Vercel frontend address
"https://dhdk.vercel.app", # Vercel frontend address
# Add any other origins that need access
]
app.add_middleware(
CORSMiddleware,
allow_origins=origins, # Use the list of specific origins
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
app.include_router(submission.router, tags=["Submissions"])
app.include_router(users.router, tags=["Users"])
app.include_router(solution.router, tags=["Solutions"])
app.include_router(lesson.router, tags=["Lessons"])
app.include_router(task_generator.router, tags=["Task Generator"])
app.include_router(topics.router, tags=["Topics"])
app.include_router(task.router, tags=["Tasks"])
app.include_router(course.router, tags=["Courses"])
app.include_router(session.router, tags=["Sessions"])