fix/conceptos-catalogo-general

This commit is contained in:
2026-04-22 07:44:07 -06:00
parent 41e262b577
commit ff1ff30e23
7 changed files with 66 additions and 10 deletions

View File

@@ -5,6 +5,7 @@ from pydantic import BaseModel, Field, ConfigDict
class ClassificationConceptBase(BaseModel):
classification: str = Field(..., max_length=30,
description="Classification")
description: Optional[str] = Field(None, max_length=255, description="Description")
class ClassificationConceptCreate(ClassificationConceptBase):
@@ -13,6 +14,7 @@ class ClassificationConceptCreate(ClassificationConceptBase):
class ClassificationConceptUpdate(BaseModel):
classification: Optional[str] = Field(None, max_length=30)
description: Optional[str] = Field(None, max_length=255)
class ClassificationConceptResponse(ClassificationConceptBase):

View File

@@ -17,3 +17,6 @@ class ClassificationConcept(Base, TenantScopedMixin, TimestampMixin):
classification: Mapped[str] = mapped_column(
String(30), nullable=False) # CLASIFICACION
description: Mapped[Optional[str]] = mapped_column(
String(255), nullable=True) # DESCRIPCION

View File

@@ -11,4 +11,5 @@ router = TenantCRUDRoutes(
tags=["a76.general_catalogs.classification_concepts"],
resource_name="Classification Concept",
enable_list=True,
enable_filters=True,
).router

View File

@@ -26,6 +26,12 @@ class ClassificationConceptService:
ClassificationConcept.company_id == company_id
)
if filters:
if filters.get("classification"):
query = query.filter(ClassificationConcept.classification.ilike(f"%{filters['classification']}%"))
if filters.get("description"):
query = query.filter(ClassificationConcept.description.ilike(f"%{filters['description']}%"))
total = query.count()
items = query.offset(skip).limit(limit).all()