rapicash / app.py
Moibe's picture
DNI Panamá Listo
435164a
import ia
from io import BytesIO
from fastapi import FastAPI, Form
from fastapi import FastAPI, File, UploadFile
from fastapi.responses import StreamingResponse, FileResponse, JSONResponse
app = FastAPI()
@app.get("/health",
tags=["Monitoreo Server"],
description="Verifica el estado de salud de la API.",
summary="Health Check"
)
async def health_check():
"""
Este endpoint devuelve una respuesta 200 OK para indicar que la API está funcionando.
"""
return JSONResponse(content={"status": "ok"}, status_code=200)
@app.post("/echo-image/",
tags=["Monitoreo Server"],
description="Test endpoint para prueba de envío de imagenes.",
summary="Mirror test para envío de imagenes"
)
async def echo_image(image: UploadFile = File(...)):
if not image.content_type.startswith("image/"):
return {"error": "El archivo no es una imagen"}
contents = await image.read()
return StreamingResponse(BytesIO(contents), media_type=image.content_type)
@app.post("/procesa-dni/",
tags=["Rapicash"],
description="Procesa DNI de Panamá obteniendo los datos deseados.",
summary="Identificación de DNI con IA"
)
async def echo_image(image: UploadFile = File(...)):
if not image.content_type.startswith("image/"):
return {"error": "El archivo no es una imagen"}
contents = await image.read()
# return StreamingResponse(BytesIO(contents), media_type=image.content_type)
return ia.inference(contents, 'en')