from app.models import Loan, LoanCharge class LoanService: @classmethod def get_loan_by_transaction_id(cls, transaction_id): """ Get the loan by transaction ID """ return Loan.get_loan_by_transaction_id(transaction_id) @classmethod def get_loan_by_loan_id(cls, loan_id): """ Get the loan by ID """ return Loan.get_loan_by_loan_id(loan_id) @classmethod def get_loan_by_debt_id(cls, debt_id): """ Get the loan by transaction ID """ return Loan.get_loan_by_debt_id(debt_id) @classmethod def get_loan_charge_by_debt_id(cls, debt_id): """ Get the loan charge by debt ID """ return LoanCharge.get_loan_charge_by_debt_id(debt_id) @classmethod def set_disbursement_date(cls, loan_id, customer_id): """ Update the disbursement status of the loan with the given loan_id. """ return Loan.set_disbursement_date(loan_id, customer_id) @classmethod def set_disburse_verify_date(cls, loan_id, customer_id): """ Update the disburse verify date of the loan with the given loan_id. """ return Loan.set_disburse_verify_date(loan_id, customer_id) @classmethod def set_disbursement_result(cls, loan_id, result, description): """ Update the disbursement result of the loan with the given loan_id. """ return Loan.set_disbursement_result(loan_id, result, description) @classmethod def set_disburse_verify_result(cls, loan_id, result, description): """ Update the disburse verify result of the loan with the given loan_id. """ return Loan.set_disburse_verify_result(loan_id, result, description) @classmethod def get_latest_loan_without_disburse_date(cls): """ Get the latest loan without a disbursement date. """ return Loan.get_latest_loan_without_disburse_date() @classmethod def get_latest_loan_with_disburse_date(cls): """ Get the latest loan without a disbursement date. """ return Loan.get_latest_loan_with_disburse_date() @classmethod def get_customer_loans(cls, customer_id): """ Get customer's active loans by customer_id. """ return Loan.get_customer_loans(customer_id=customer_id) @classmethod def update_status(cls, loan_id, status): """ Update the status of the loan with the given loan_id. """ # Retrieve loan return Loan.update_status(loan_id, status)