added overdue endpoint

This commit was merged in pull request #42.
This commit is contained in:
Chinenye Nmoh
2025-08-20 18:08:44 +01:00
parent d50436253a
commit 97070f3fed
5 changed files with 110 additions and 4 deletions
+22 -1
View File
@@ -335,4 +335,25 @@ class Loan(db.Model):
except Exception as e:
db.session.rollback()
logger.error(f"Error updating loan balance: {e}")
raise Exception(f"Error updating loan balance: {str(e)}")
raise Exception(f"Error updating loan balance: {str(e)}")
@classmethod
def get_overdue_loans(cls):
"""
Get all overdue loans.
"""
try:
overdue_loans = cls.query.filter(
cls.due_date < datetime.now(timezone.utc),
cls.status != 'repaid'
).all()
if not overdue_loans:
logger.info("No overdue loans found.")
return []
logger.info(f"Found {len(overdue_loans)} overdue loans.")
return overdue_loans
except Exception as e:
logger.error(f"Error fetching overdue loans: {e}")
return []