File size: 1,131 Bytes
6a55491
959f0ee
593cf5c
 
c871f28
593cf5c
 
 
1fe3b9d
9cd6077
1fe3b9d
869c145
 
 
 
 
 
b89e59a
c871f28
 
 
 
 
 
869c145
 
 
a6847dd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from fastapi import FastAPI, Query
from pydantic import BaseModel
import requests
import json
from tabulate import tabulate

app = FastAPI()

class EatcHeadersResponse(BaseModel):
    report: str

@app.get("/eatc-headers", response_model=EatcHeadersResponse)
async def get_eatc_headers(eatc_code: str = Query(..., description="EATC code to retrieve headers for")):
    url = f"https://donantes.eatcloud.info/api/abaco/eatc_dona_headers?eatc-code={eatc_code}"
    response = requests.get(url)
    if response.status_code == 200:
        response_json = json.loads(response.text)
        if len(response_json) >= 2 and "res" in response_json and response_json["res"]:
            data = [
                ["eatc_code", response_json["res"][0]["eatc-code"]],
                ["eatc_match_asignation_rule", response_json["res"][0].get("eatc_match_asignation_rule", "")]
            ]
            report = tabulate(data, headers="firstrow", tablefmt="grid")
            return {"report": report}
        else:
            return {"error": "Invalid response from API"}
    else:
        return {"error": "API returned error status code"}