| | from fastapi import FastAPI |
| | from fastapi.middleware.cors import CORSMiddleware |
| |
|
| | from .routes.records import router as records_router |
| | from .database.connection import connect_to_mongo, close_mongo_connection |
| | from .services.record_service import RecordService |
| | from .config.settings import ALLOWED_ORIGINS |
| |
|
| | app = FastAPI(title="Expense Tracker API", version="1.0.0") |
| |
|
| | |
| | app.add_middleware( |
| | CORSMiddleware, |
| | allow_origins=ALLOWED_ORIGINS, |
| | allow_credentials=True, |
| | allow_methods=["*"], |
| | allow_headers=["*"], |
| | ) |
| |
|
| | @app.on_event("startup") |
| | async def startup_event(): |
| | await connect_to_mongo() |
| | await RecordService().ensure_indexes() |
| |
|
| | @app.on_event("shutdown") |
| | async def shutdown_event(): |
| | await close_mongo_connection() |
| |
|
| | app.include_router(records_router) |
| |
|