Cambios en backend: - Actualizado ClassResponseDTO con campos de tenant y timestamps - Agregados métodos estáticos en servicio (get_all, get_by_id, create, update, delete) - Reemplazados endpoints de rutas con inicialización de TenantCRUDRoutes - Corregida ruta de importación del modelo Company en security.py - Actualizados nombres de campos en DTO para coincidir con modelo (description_es/en) - Agregada validación para constraint de foreign key de material_key - Agregada validación de class_code duplicado en método create - Agregado TimestampMixin al modelo Class - Creada migración de Alembic para agregar columnas timestamp a tabla classes - Corregido orden de parámetros en firma del método update Cambios en frontend: - Actualizados componentes de UI para módulo de clases
25 lines
631 B
Python
25 lines
631 B
Python
"""
|
|
Endpoints API para gestión de clases SCAII y SCAF
|
|
"""
|
|
|
|
from api.v1.common.tenant_crud_routes import TenantCRUDRoutes
|
|
|
|
from .dto import ClassCreateDTO, ClassResponseDTO, ClassUpdateDTO
|
|
from .service import ClassService
|
|
|
|
# Create router with generic CRUD routes
|
|
router = TenantCRUDRoutes(
|
|
service=ClassService,
|
|
create_schema=ClassCreateDTO,
|
|
update_schema=ClassUpdateDTO,
|
|
response_schema=ClassResponseDTO,
|
|
prefix="/classes",
|
|
tags=["a76 / classes"],
|
|
resource_name="Class",
|
|
id_name="class_id",
|
|
enable_list=True,
|
|
enable_filters=True,
|
|
default_page_size=50,
|
|
max_page_size=100,
|
|
).router
|