File size: 1,200 Bytes
0f24635
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import os
from fastapi import FastAPI
from pydantic import BaseModel
from src.core.config import settings
from src.services.user_router import router as user_router
from src.services.cv_router import router as cv_router
from src.services.interview_history_router import router as interview_history_router
from src.services.feedback_router import router as feedback_router

app = FastAPI(
    title="Data Access API",
    description="API for accessing data from MongoDB and PostgreSQL.",
    version="1.0.0",
    docs_url="/docs",
    redoc_url="/redoc"
)

app.include_router(user_router, prefix="/api/v1", tags=["Users"])
app.include_router(cv_router, prefix="/api/v1", tags=["CVs"])
app.include_router(interview_history_router, prefix="/api/v1", tags=["Interview Histories"])
app.include_router(feedback_router, prefix="/api/v1", tags=["Feedbacks"])

class HealthCheck(BaseModel):
    status: str = "ok"

@app.get("/", response_model=HealthCheck, tags=["Status"])
async def health_check():
    return HealthCheck()

if __name__ == "__main__":
    import uvicorn
    port = int(os.getenv("PORT", 8003)) # Use PORT environment variable, default to 8003
    uvicorn.run(app, host="0.0.0.0", port=port)