diff --git a/handlers/certificate.go b/handlers/certificate.go index 16ff5c1..0a7625e 100644 --- a/handlers/certificate.go +++ b/handlers/certificate.go @@ -47,7 +47,7 @@ func GenerateCertificate(c *fiber.Ctx) error { } genConfig := &models.CertificateTemplateOptions{ - Runners: certificateRequest.Runners, + Runners: addUpRunnerDonations(certificateRequest.Runners), EventName: "Event name", Footer: "Footer", CurrencySymbol: "€", @@ -71,3 +71,13 @@ func GenerateCertificate(c *fiber.Ctx) error { c.Set(fiber.HeaderContentType, "application/pdf") return c.Send(pdf) } + +func addUpRunnerDonations(runners []models.RunnerWithDonations) []models.RunnerWithDonations { + for i := 0; i < len(runners); i++ { + for j := 0; j < len(runners[i].DistanceDonations); j++ { + runners[i].TotalDonations += runners[i].DistanceDonations[j].Amount + runners[i].TotalPerDistance += runners[i].DistanceDonations[j].AmountPerDistance + } + } + return runners +}