"""contract_template Model.""" from abacus_common_logic.connectors.database import db from abacus_common_logic.models.base import BaseModel from sqlalchemy import Enum from abacus_contract.constants.constants import CONTRACT_TYPES class ContractTemplate(BaseModel): """contract_template Model.""" __tablename__ = 'contract_template' contract_template_id = db.Column(db.Integer, primary_key=True) template_name = db.Column(db.String(180), nullable=False) run_controller_id = db.Column(db.Integer, nullable=True) reference_signing_entity_id = db.Column( db.Integer, db.ForeignKey('reference_signing_entity.reference_signing_entity_id'), nullable=False, ) reference_sap_profit_center_id = db.Column( db.Integer, db.ForeignKey('reference_sap_profit_center.reference_sap_profit_center_id'), nullable=False, ) term_duration_year = db.Column(db.SmallInteger, nullable=True) contract_type = db.Column( Enum(*CONTRACT_TYPES, name='contract_type', create_type=False), nullable=False ) contract_terms = db.Column(db.JSON, nullable=False) contract_exclusions = db.Column(db.JSON, nullable=False) reference_sap_profit_center = db.relationship('ReferenceSapProfitCenter') reference_signing_entity = db.relationship('ReferenceSigningEntity')