feat: Implement general catalogs for ports, unit conversions, and units of measure

- Added models, DTOs, services, and routes for ports, including CRUD operations.
- Introduced unit conversions with corresponding models, DTOs, services, and routes.
- Developed units of measure with detailed models, DTOs, services, and routes for various types.
- Ensured all new features are integrated with FastAPI and SQLAlchemy for seamless database interactions.
This commit is contained in:
2025-12-08 10:13:02 -06:00
parent 235129a04a
commit dc0fac9b3e
98 changed files with 2666 additions and 300 deletions

View File

@@ -1,18 +1,12 @@
from api.v1.common.base_models import TenantScopedMixin
from api.v1.common.base_models import TenantScopedMixin, TimestampMixin
from core.database import Base
from sqlalchemy import ForeignKeyConstraint, Integer, PrimaryKeyConstraint, String
from sqlalchemy.orm import Mapped, mapped_column
class SClasses(Base, TenantScopedMixin):
class SClasses(Base, TenantScopedMixin, TimestampMixin):
__tablename__ = "inv_classes" # SClases
__table_args__ = (
ForeignKeyConstraint(
["tenant_id"], ["a76.tenants.id"], name="fk_sclasses_tenants"
),
ForeignKeyConstraint(
["company_id"], ["a76.company.id"], name="fk_sclasses_company"
),
ForeignKeyConstraint(
["class_id"], ["a76.clases.class_id"], name="fk_sclasses_classes"
),

View File

@@ -4,13 +4,13 @@ Modelos ORM para gestión de localización
from typing import Optional
from api.v1.common.base_models import TenantScopedMixin
from api.v1.common.base_models import TenantScopedMixin, TimestampMixin
from core.database import Base
from sqlalchemy import Integer, PrimaryKeyConstraint, String, UniqueConstraint
from sqlalchemy.orm import Mapped, mapped_column
class Location(Base, TenantScopedMixin):
class Location(Base, TenantScopedMixin, TimestampMixin):
"""
Modelo para la tabla Location - Localización
"""