Files
mini-erp/mini-backend/routers/catalogs.py
T
GeorgeandClaude Sonnet 5 ab3c613165 Initial commit: mini-erp (backend FastAPI + frontend React/Vite)
Base para el flujo de ramas por cliente.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-17 10:34:12 -05:00

80 lines
1.9 KiB
Python

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()
#