|
import funciones |
|
from io import BytesIO |
|
from fastapi import FastAPI, Form |
|
from fastapi import FastAPI, File, UploadFile |
|
from fastapi.responses import StreamingResponse, JSONResponse |
|
|
|
app = FastAPI() |
|
|
|
|
|
@app.get("/health", |
|
tags=["Health Check"], |
|
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=["Health Check"], |
|
description="Test endpoint que recibe y regresa la misma imagen, para probar envío, recepción y problemas con api o red.", |
|
summary="Summary" |
|
) |
|
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( |
|
"/identifica_documento/", |
|
tags=["Documentos"], |
|
summary="Reconocimiento Avanzado de Documentos") |
|
async def procesa_documento(image: UploadFile = File(...)): |
|
if not image.content_type.startswith("image/"): |
|
return {"error": "El archivo no es una imagen"} |
|
return await funciones.identifica_documento(image) |
|
|
|
@app.post( |
|
"/procesa_documento/", |
|
tags=["Documentos"], |
|
summary="Reconocimiento Avanzado de Documentos") |
|
async def procesa_documento(image: UploadFile = File(...)): |
|
if not image.content_type.startswith("image/"): |
|
return {"error": "El archivo no es una imagen"} |
|
return await funciones.procesa_documento(image) |
|
|
|
@app.post( |
|
"/procesa_ine/", |
|
tags=["Zurich"], |
|
summary="Documentos México") |
|
async def procesa_documento(image: UploadFile = File(...)): |
|
if not image.content_type.startswith("image/"): |
|
return {"error": "El archivo no es una imagen"} |
|
return await funciones.procesa_ine(image) |