Skip to content

Commit

Permalink
Merge pull request #25 from RianIhsan/improvement/update-status-where…
Browse files Browse the repository at this point in the history
…-goalamount-achieved

improvement:update status where goalamount achieved
  • Loading branch information
RianIhsan authored Oct 31, 2023
2 parents 8c4bc30 + d2dc6c8 commit 399f1d2
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 4 deletions.
3 changes: 2 additions & 1 deletion campaign/formatter.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ type CampaignFormatter struct {
ShortDescription string `json:"short_description" gorm:"type:varchar(255)"`
GoalAmount int `json:"goal_amount"`
CurrentAmount int `json:"current_amount"`
Status string `json:"status"`
CampaignImages string `json:"campaign_images,omitempty" gorm:"foreignKey:CampaignID;constraint:OnUpdate:CASCADE,OnDelete:CASCADE"`
}

Expand All @@ -20,7 +21,7 @@ func FormatCampaign(campaign Campaign) CampaignFormatter {
campaignFormatter.ShortDescription = campaign.ShortDescription
campaignFormatter.GoalAmount = campaign.GoalAmount
campaignFormatter.CurrentAmount = campaign.CurrentAmount

campaignFormatter.Status = campaign.Status
if len(campaign.CampaignImages) > 0 {
campaignFormatter.CampaignImages = campaign.CampaignImages[0].FileName
}
Expand Down
4 changes: 1 addition & 3 deletions campaign/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,7 @@ func (s *service) CreateCampaign(input CreateCampaignInput) (Campaign, error) {
campaign.Perks = input.Perks
campaign.UserID = input.User.ID
campaign.Status = "unachieved"
if campaign.GoalAmount >= campaign.CurrentAmount {
campaign.Status = "achieved"
}

newCampaign, err := s.repository.Save(campaign)
if err != nil {
return newCampaign, err
Expand Down
3 changes: 3 additions & 0 deletions transaction/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,9 @@ func (s *service) ProsesPayment(input TransactionNotifyInput) error {
campaign.BackerCount = campaign.BackerCount + 1
campaign.CurrentAmount = campaign.CurrentAmount + updatedTransaction.Amount

if campaign.CurrentAmount >= campaign.GoalAmount {
campaign.Status = "achieved"
}
_, err := s.campaignRepository.Update(campaign)
if err != nil {
return err
Expand Down

0 comments on commit 399f1d2

Please sign in to comment.