Files
plantillas-proyectos/backend/api/v1/modules/a76/fraction_rule_octave/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

66 lines
2.0 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 .dto import GFracROctavaCreateDTO, GFracROctavaResponseDTO
from .services import GFracROctavaService
router = APIRouter(prefix="/gfracroctava", tags=["GFracROctava"])
@router.get("/", response_model=List[GFracROctavaResponseDTO])
async def list_fractions(
db: Session = Depends(get_core_db),
current_user: dict = Depends(get_current_user)
):
"""
List all GFracROctava entries.
"""
return db.query(GFracROctavaService).all()
@router.get("/{permission}/{line}/{fraction}", response_model=GFracROctavaResponseDTO)
async def read_fraction(
permission: str,
line: int,
fraction: str,
db: Session = Depends(get_core_db),
current_user: dict = Depends(get_current_user)
):
"""
Get a specific GFracROctava by its composite key.
"""
frac = GFracROctavaService.get_fraction_by_permission_line(db, permission, line, fraction)
if not frac:
raise HTTPException(status_code=404, detail="GFracROctava not found")
return frac
@router.post("/", response_model=GFracROctavaResponseDTO, status_code=status.HTTP_201_CREATED)
async def create_frac(
frac_data: GFracROctavaCreateDTO,
db: Session = Depends(get_core_db),
current_user: dict = Depends(get_current_user)
):
"""
Create a new GFracROctava entry.
"""
return GFracROctavaService.create_frac(db, frac_data)
@router.delete("/{permission}/{line}/{fraction}", status_code=status.HTTP_204_NO_CONTENT)
async def delete_fraction(
permission: str,
line: int,
fraction: str,
db: Session = Depends(get_core_db),
current_user: dict = Depends(get_current_user)
):
"""
Delete a GFracROctava by its composite key.
"""
frac = GFracROctavaService.delete_fraction(db, permission, line, fraction)
if not frac:
raise HTTPException(status_code=404, detail="GFracROctava not found")