From 35ec0e5e779b29094f1a2ea931133eda36966b1e Mon Sep 17 00:00:00 2001 From: Martin Schmollinger <martin.schmollinger@reutlingen-university.de> Date: Sun, 7 May 2023 19:19:44 +0200 Subject: [PATCH] Updated first two service methods using database --- src/myaktion/service/campaign.go | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/myaktion/service/campaign.go b/src/myaktion/service/campaign.go index 33632a8..6205e87 100644 --- a/src/myaktion/service/campaign.go +++ b/src/myaktion/service/campaign.go @@ -5,6 +5,7 @@ import ( log "github.com/sirupsen/logrus" + "gitlab.reutlingen-university.de/go-exercises/myaktion-go/src/myaktion/db" "gitlab.reutlingen-university.de/go-exercises/myaktion-go/src/myaktion/model" ) @@ -18,19 +19,22 @@ func init() { } func CreateCampaign(campaign *model.Campaign) error { - campaign.ID = actCampaignId - campaignStore[actCampaignId] = campaign - actCampaignId += 1 - log.Printf("Successfully stored new campaign with ID %v in database.", campaign.ID) - log.Printf("Stored: %v", campaign) + result := db.DB.Create(campaign) + if result.Error != nil { + return result.Error + } + log.Infof("Successfully stored new campaign with ID %v in database.", campaign.ID) + log.Tracef("Stored: %v", campaign) return nil } func GetCampaigns() ([]model.Campaign, error) { var campaigns []model.Campaign - for _, campaign := range campaignStore { - campaigns = append(campaigns, *campaign) + result := db.DB.Preload("Donations").Find(&campaigns) + if result.Error != nil { + return nil, result.Error } + log.Tracef("Retrieved: %v", campaigns) return campaigns, nil } -- GitLab