Skip to content
Snippets Groups Projects
Commit fd190505 authored by Flnal's avatar Flnal
Browse files

restliche Funktionen bzgl DB verändert

parent 77d0f6b6
1 merge request!3Master
package service
import (
"fmt"
log "github.com/sirupsen/logrus"
"gitlab.reutlingen-university.de/albrecht/myaktion-go/src/myaktion/db"
"gitlab.reutlingen-university.de/albrecht/myaktion-go/src/myaktion/model"
)
var (
campaignStore map[uint]*model.Campaign
actCampaignId uint = 1
)
func init() {
campaignStore = make(map[uint]*model.Campaign)
}
func CreateCampaign(campaign *model.Campaign) error {
result := db.DB.Create(campaign)
if result.Error != nil {
......@@ -40,12 +29,13 @@ func GetCampaigns() ([]model.Campaign, error) {
}
func GetCampaign(id uint) (*model.Campaign, error) {
campaign := campaignStore[id]
if campaign == nil {
return nil, fmt.Errorf("no campaign with ID %d", id)
var campaign model.Campaign
result := db.DB.Preload("Donations").First(&campaign, id)
if result.Error != nil {
return nil, result.Error
}
log.Tracef("Retrieved: %v", campaign)
return campaign, nil
return &campaign, nil
}
func UpdateCampaign(id uint, campaign *model.Campaign) (*model.Campaign, error) {
......@@ -57,6 +47,7 @@ func UpdateCampaign(id uint, campaign *model.Campaign) (*model.Campaign, error)
existingCampaign.OrganizerName = campaign.OrganizerName
existingCampaign.TargetAmount = campaign.TargetAmount
existingCampaign.DonationMinimum = campaign.DonationMinimum
db.DB.Save(&existingCampaign)
entry := log.WithField("ID", id)
entry.Info("Successfully updated campaign.")
entry.Tracef("Updated: %v", campaign)
......@@ -68,7 +59,8 @@ func DeleteCampaign(id uint) (*model.Campaign, error) {
if err != nil {
return campaign, err
}
delete(campaignStore, id)
db.DB.Delete(&campaign, id)
entry := log.WithField("ID", id)
entry.Info("Successfully deleted campaign.")
entry.Tracef("Deleted: %v", campaign)
......
......@@ -3,6 +3,7 @@ package service
import (
log "github.com/sirupsen/logrus"
"gitlab.reutlingen-university.de/albrecht/myaktion-go/src/myaktion/db"
"gitlab.reutlingen-university.de/albrecht/myaktion-go/src/myaktion/model"
)
......@@ -12,6 +13,7 @@ func AddDonation(campaignId uint, donation *model.Donation) error {
return err
}
campaign.Donations = append(campaign.Donations, *donation)
db.DB.Save(&campaign)
entry := log.WithField("ID", campaignId)
entry.Info("Successfully added new donation to campaign.")
entry.Tracef("Stored: %v", donation)
......
......@@ -15,4 +15,4 @@ curl -X DELETE localhost:8000/campaigns/1
curl -X PUT -H "Content-Type: application/json" -d '{"name":"new Name","organizerName":"Thomas","donationMinimum":2,"targetAmount":100,"account":{"name":"Martin","bankName":"DKB","number":"123456"}}' localhost:8000/campaigns/1
# AddDonation
curs -H "Content-Type: application/json" -d '{"amount": 12.23,"DonorName":"Stefan","ReceiptRequested":false}'
\ No newline at end of file
curl -H "Content-Type: application/json" -d '{"CampaignID":1,"amount":12.23,"DonorName":"Stefan","ReceiptRequested":false,"Status":"TRANSFERRED"}'
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment