51 lines
1.5 KiB
Python
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"}
|