app.py 1003 B

123456789101112131415161718192021222324252627282930313233343536
  1. from fastapi import FastAPI
  2. from fastapi.middleware.cors import CORSMiddleware
  3. from starlette.responses import RedirectResponse
  4. from config.settings import ROOT_PATH
  5. from database.sqlalchemy import engine
  6. from models.users import Base
  7. from routes.companies import router as CompaniesRouter
  8. from routes.fincas import router as FincasRouter
  9. from routes.login import router as LoginRouter
  10. from routes.measures import router as MeasuresRouter
  11. app = FastAPI(
  12. title="Viñedos API",
  13. root_path=ROOT_PATH,
  14. )
  15. app.add_middleware(
  16. CORSMiddleware,
  17. allow_origins=["*"],
  18. allow_credentials=True,
  19. allow_methods=["*"],
  20. allow_headers=["*"],
  21. )
  22. Base.metadata.create_all(bind=engine)
  23. @app.get("/", include_in_schema=False)
  24. async def root():
  25. return RedirectResponse(url="/docs")
  26. app.include_router(LoginRouter, tags=["Login"])
  27. app.include_router(MeasuresRouter, tags=["Measures"])
  28. app.include_router(CompaniesRouter, tags=["Companies"])
  29. app.include_router(FincasRouter, tags=["Fincas"])