Files
plantillas-proyectos/backend/api/v1/modules/a76/package/routes.py
Kevin Rosales e50a86e014 Refactorización de nombres de módulos y actualizaciones:
- Creación y traducción de módulos:
  - gpaisreglaoct -> country_rule_oct
  - gpermisoreglaoct -> permission_rule_oct
  - gprecintos -> seal
  - gtipocambio -> exchange_rate
  - gfracroctava -> fraction_rule_octave
  - gbultos -> package

- Traducción de nombres de campos, clases y métodos al inglés.
- Renombrados los nombres de las tablas (__tablename__) en los modelos.
- Actualización de las importaciones en el archivo router.py para reflejar los nuevos nombres de módulos.
- Asegurada la consistencia en los nombres de clases, métodos y rutas.
- Agregado el campo tenant_id a los modelos que no lo incluían.
2025-11-06 22:05:43 -06:00

81 lines
2.2 KiB
Python

from fastapi import APIRouter, Depends, HTTPException, status
from sqlalchemy.orm import Session
from typing import List
from core.database import get_core_db
from core.security import get_current_user
from .models import GBulto
from .dto import GBultoCreateDTO, GBultoUpdateDTO, GBultoResponseDTO
from .services import GBultoService
router = APIRouter(prefix="/gbultos", tags=["GBultos"])
@router.get("/", response_model=List[GBultoResponseDTO])
async def list_bultos(
skip: int = 0,
limit: int = 100,
db: Session = Depends(get_core_db),
current_user: dict = Depends(get_current_user)
):
"""
List all GBultos with pagination.
"""
return db.query(GBulto).offset(skip).limit(limit).all()
@router.get("/{code}", response_model=GBultoResponseDTO)
async def read_bulto(
code: str,
db: Session = Depends(get_core_db),
current_user: dict = Depends(get_current_user)
):
"""
Get a specific GBulto by its CODE.
"""
bulto = GBultoService.get_bulto_by_code(db, code)
if not bulto:
raise HTTPException(status_code=404, detail="GBulto not found")
return bulto
@router.post("/", response_model=GBultoResponseDTO, status_code=status.HTTP_201_CREATED)
async def create_gbulto(
bulto_data: GBultoCreateDTO,
db: Session = Depends(get_core_db),
current_user: dict = Depends(get_current_user)
):
"""
Create a new GBulto.
"""
return GBultoService.create_gbulto(db, bulto_data)
@router.put("/{code}", response_model=GBultoResponseDTO)
async def update_bulto(
code: str,
bulto_data: GBultoUpdateDTO,
db: Session = Depends(get_core_db),
current_user: dict = Depends(get_current_user)
):
"""
Update an existing GBulto.
"""
bulto = GBultoService.update_bulto(db, code, bulto_data)
if not bulto:
raise HTTPException(status_code=404, detail="GBulto not found")
return bulto
@router.delete("/{code}", status_code=status.HTTP_204_NO_CONTENT)
async def delete_bulto(
code: str,
db: Session = Depends(get_core_db),
current_user: dict = Depends(get_current_user)
):
"""
Delete a GBulto by its CODE.
"""
bulto = GBultoService.delete_bulto(db, code)
if not bulto:
raise HTTPException(status_code=404, detail="GBulto not found")