sumaq/backend/main.py

51 lines
1.5 KiB
Python

import sys
# Compatibility patch for importlib.metadata in Python < 3.10
# This fixes the AttributeError: module 'importlib.metadata' has no attribute 'packages_distributions'
if sys.version_info < (3, 10):
try:
import importlib_metadata
import importlib
importlib.metadata = importlib_metadata
except ImportError:
pass
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from app.routers import auth, users, projects, activities, specialties, contractors, transcription, non_conformities, guest
import os
from fastapi.staticfiles import StaticFiles
app = FastAPI(title="Sistema de Supervision API", version="0.1.0")
# CORS (allow all for dev)
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
app.include_router(auth.router)
app.include_router(users.router)
app.include_router(projects.router)
app.include_router(activities.router)
app.include_router(specialties.router)
app.include_router(contractors.router)
app.include_router(transcription.router)
app.include_router(non_conformities.router)
app.include_router(guest.router)
# Mount uploads directory to serve files
if not os.path.exists("uploads"):
os.makedirs("uploads")
app.mount("/uploads", StaticFiles(directory="uploads"), name="uploads")
@app.get("/")
def read_root():
return {"message": "Sistema de Supervision API is running"}
@app.get("/health")
def health_check():
return {"status": "ok"}