11from contextlib import asynccontextmanager
22from fastapi import FastAPI
33from fastapi .middleware .cors import CORSMiddleware
4- from app .database import init_db
5- from app .routes import pet , booking
64from fastapi .staticfiles import StaticFiles
75from fastapi .responses import FileResponse
6+ from app .database import init_db
7+ from app .routes import pet , booking
88
9- # 1. El lifespan maneja eventos de inicio y cierre de la app de forma asíncrona
9+ # 1. El lifespan gestiona els esdeveniments d'inici de manera asíncrona
1010@asynccontextmanager
1111async def lifespan (app : FastAPI ):
12- # Conectar a MongoDB al iniciar
12+ # Connectar a MongoDB al iniciar
1313 await init_db ()
1414 yield
15- # Aquí iría la lógica de desconexión si fuera necesaria
1615
17- # 2. Instanciar la aplicación una sola vez con toda la configuración
16+ # 2. Instanciar l'aplicació una sola vegada amb tota la configuració
1817app = FastAPI (
1918 title = "Pet Hotel API" ,
20- description = "API para la gestión de un hotel de mascotas usando FastAPI y MongoDB" ,
19+ description = "API per a la gestió d' un hotel de mascotes usant FastAPI i MongoDB" ,
2120 version = "1.0.0" ,
2221 lifespan = lifespan
2322)
2423
25- # 3. Configurar el Middleware del CORS (Imprescindible para el frontend)
24+ # 3. Configurar el Middleware del CORS (Imprescindible per al frontend)
2625app .add_middleware (
2726 CORSMiddleware ,
2827 allow_origins = ["*" ],
@@ -31,14 +30,14 @@ async def lifespan(app: FastAPI):
3130 allow_methods = ["*" ],
3231)
3332
34- # 4. Incluir Rutas de la API
33+ # 4. Incloure les rutes de la teva API
3534app .include_router (pet .router )
3635app .include_router (booking .router )
3736
38- # 5. Servir el Frontend estático en la raíz (Reemplaza el antiguo mensaje de bienvenida )
37+ # 5. Servir la pàgina web principal (Frontend estàtic )
3938@app .get ("/" )
4039async def read_index ():
4140 return FileResponse ("static/index.html" )
4241
43- # 6. Montar la carpeta static para otros recursos (CSS, JS, imágenes)
42+ # 6. Muntar la carpeta static per a recursos addicionals
4443app .mount ("/static" , StaticFiles (directory = "static" ), name = "static" )
0 commit comments