functions for campaign model and ambassador goal

This commit is contained in:
Yisroel Baum 2024-09-24 14:36:24 +03:00
parent d2a04f8b5a
commit 959c98fe79

View file

@ -11,6 +11,7 @@ class AmbassadorMap(db.Model):
id = Column('id', INTEGER(), primary_key=True)
campaign_id = Column('campaign_id', INTEGER(), nullable=False)
user_id = Column('user_id', INTEGER(), nullable=False)
goal = Column('ambassador_goal', INTEGER())
@ -25,8 +26,17 @@ class Campaign(db.Model):
def get_donations(self):
from app.main.models import Donation
return Donation.query.filter_by(campaign_id=self.id).all()
def get_amount_raised(self):
donations = self.get_donations()
total = 0
for donation in donations:
total += donation.amount
return total
def get_ambassadors(self):
return AmbassadorMap.query.filter_by(campaign_id=self.id).all()
def __repr__(self) -> str:
return f"{self.id} - {self.title}"
# donation_id = Column(INTEGER, ForeignKey('donation.id'))
return f"{self.id} - {self.title}"