This commit is contained in:
CHIEFSOFT\ameye
2025-09-02 12:38:15 -04:00
parent d113bd37b4
commit 6db6b6cf8e
2 changed files with 37 additions and 10 deletions
+26
View File
@@ -4,6 +4,7 @@ from app.models.charge import Charge
from sqlalchemy.orm import relationship
from sqlalchemy.sql import func
from sqlalchemy.exc import IntegrityError
from app.utils.logger import logger
class Payments(db.Model):
__tablename__ = 'payments'
@@ -68,6 +69,31 @@ class Payments(db.Model):
return None
return member_payments
@classmethod
def get_all_payments(cls, option_name=None, member_id=None, page=1, limit=20):
query = cls.query
logger.info(f"Get all payments back")
if member_id:
query = query.filter(cls.member_id == member_id)
if option_name:
query = query.filter(cls.option_name == option_name)
# Order by created_at descending (newest first)
query = query.order_by(cls.added.desc())
# Get total count before pagination
total_count = query.count()
# Apply pagination
offset = (page - 1) * limit
query = query.limit(limit).offset(offset)
return query.all(), total_count
def to_dict(self):
return {
"id": self.id,