Files
plantillas-proyectos/backend/api/v1/modules/a76/rule_octave/permissions/models.py
AlexeerCT ccd81d743e Add invoice processing functionality and enhance models and routes
- Introduced new routes for processing invoices in the router.
- Added `InvoiceStatus` enum to manage invoice states.
- Enhanced `InvoiceHeader` and `InvoiceFinancials` models with new fields for status tracking and total packages.
- Updated schemas to include new fields for invoice processing.
- Implemented API methods for processing invoices and checking process status in the frontend.
- Removed outdated validation files related to invoice processing.
2026-03-13 11:02:49 -05:00

33 lines
1.2 KiB
Python

from typing import Optional
from sqlalchemy import DateTime, Integer, String, UniqueConstraint
from sqlalchemy.orm import Mapped, mapped_column
from api.v1.common.base_models import TenantScopedMixin, TimestampMixin
from core.database import Base
class OctavePermission(Base, TenantScopedMixin, TimestampMixin):
"""
Permisos para la Regla Octava.
Paridad: GPermisoReglaOct (Clarion SCAII).
"""
__tablename__ = "permission_rule_octave"
__table_args__ = (
UniqueConstraint(
"tenant_id",
"company_id",
"permission",
name="uq_permissions_rule_octave_permission",
),
{"schema": "a76"},
)
id: Mapped[int] = mapped_column(Integer, primary_key=True, autoincrement=True)
permission: Mapped[str] = mapped_column(String(20), nullable=False) # PERMISO
start_date: Mapped[Optional[DateTime]] = mapped_column(DateTime()) # FECHAINICIO
end_date: Mapped[Optional[DateTime]] = mapped_column(DateTime()) # FECHAFINAL
sector: Mapped[Optional[str]] = mapped_column(String(8)) # SECTOR
system: Mapped[Optional[str]] = mapped_column(String(5)) # SISTEMA