"""TermsAndConditions Persister. Handles doing CRUD operations on the terms_and_conditions table. """ from sqlalchemy import desc from sqlalchemy.orm.session import Session from collaborator.connectors import mysql from collaborator.models.rds.terms_and_conditions import TermsAndConditions class TermsAndConditionsPersister: """Handles high level operations for terms and conditonss.""" @classmethod @mysql.db_session def get_latest(cls, session: Session) -> dict | None: """Get latest terms and conditons. Args: session (sqlalchemy.orm.session.Session): database session. Returns: Response: the terms and conditons for the requested vendor """ result = ( session.query(TermsAndConditions) .order_by(desc(TermsAndConditions.terms_and_conditions_id)) .first() ) return result.to_dict() if result else None