from fastapi import APIRouter from core.sap import forward_to_sapb1 from core.crud_router import make_crud_router router = APIRouter( tags=["Catálogos"] ) for _resource in ("Warehouses", "SalesTaxCodes", "FactoringIndicators"): router.include_router( make_crud_router( _resource, tags=["Catálogos"], supports_get_by_key=False, supports_create=False, supports_patch=False, ) ) @router.get("/api/Currencies") async def get_currencies(): return forward_to_sapb1( method="GET", endpoint_path="Currencies", params={"$select": "Code,Name", "$top": 200} ).json() @router.get("/api/BusinessPartnerGroups") async def get_business_partner_groups(): return forward_to_sapb1( method="GET", endpoint_path="BusinessPartnerGroups", params={"$select": "Number,GroupName"} ).json() @router.get("/api/Sunat/BusinessPartners/DocumentType") async def get_sunat_businesspartners_document_type(): sap_params = { "$skip": 0, "$top": 200, "$inlinecount": "allpages" } sap_params["$filter"] = "TableName eq 'OCRD' and Name eq 'EXX_TIPODOCU'" base_headers = {"B1S-PageSize": "200"} return forward_to_sapb1( method="GET", endpoint_path="UserFieldsMD", params=sap_params, extra_headers=base_headers ).json() @router.get("/api/ItemGroups") async def get_item_groups(): sap_params = { "$skip": 0, "$top": 200, "$inlinecount": "allpages" } sap_params["$select"] = "Number,GroupName" base_headers = {"B1S-PageSize": "200"} return forward_to_sapb1( method="GET", endpoint_path="ItemGroups", params=sap_params, extra_headers=base_headers ).json() #