50 lines
1.8 KiB
Python
50 lines
1.8 KiB
Python
from sqlalchemy import Column, Integer, String, Date, DateTime, Float, Boolean, Text, ForeignKey, Enum as SQLEnum
|
|
from sqlalchemy.sql import func
|
|
from sqlalchemy.orm import relationship
|
|
from database import Base
|
|
|
|
import enum
|
|
|
|
# Articulo 69 de codigo fiscal de la federacion!!!
|
|
# 69 article of fiscal code of federation, mexican united states.
|
|
|
|
class Supuestos(str, enum.Enum):
|
|
CANCELADOS ="cancelados"
|
|
CONDONADOS ="condonados"
|
|
FIRMES ="firmes"
|
|
SENTENCIAS ="sentencias"
|
|
EXIGIBLES ="exigibles"
|
|
RETORNO_INVERSIONES ="retorno_inversiones"
|
|
FRACCION_X ="fraccion_x"
|
|
FRACCION_VII ="fraccion_vii"
|
|
NO_LOCALIZADOS ="no_localizados"
|
|
|
|
|
|
class Credits(Base):
|
|
__tablename__="credits"
|
|
|
|
|
|
id = Column(Integer, primary_key=True, autoincrement=True, nullable=False)
|
|
title = Column(String(30), nullable=False)
|
|
rfc = Column(String(25), nullable=False)
|
|
razon_social = Column(String(100), nullable=False)
|
|
tipo_persona = Column(String(100), nullable=False)
|
|
supuesto = Column(SQLEnum(Supuestos, name="supuestos", create_type=False), nullable=False)
|
|
fecha_primera_publicacion = Column(Date, nullable=False)
|
|
fecha_publicacion_ley_transparencia = Column(Date, nullable=True)
|
|
fecha_cancelacion = Column(Date, nullable=True)
|
|
fecha_cancelacion_csd = Column(Date, nullable=True)
|
|
entidad_federativa = Column(String, nullable=False)
|
|
monto = Column(Integer, nullable=True)
|
|
motivo = Column(Text, nullable=True)
|
|
location_id = Column(Integer, ForeignKey("location.id"), nullable=False)
|
|
|
|
|
|
created_at = Column(DateTime(timezone=True), server_default=func.now(), nullable=False)
|
|
updated_at = Column(DateTime(timezone=True), server_default=func.now(), nullable=True)
|
|
|
|
uploaded_by = Column(Integer, nullable=True)
|
|
|
|
# relationships
|
|
location = relationship("Locations", back_populates="credits")
|
|
|