From b82f3f207032e2cb6174a465b53164b337b94f4b Mon Sep 17 00:00:00 2001
From: Emanuel <Emanuel.Petrinovic@Student.Reutlingen-University.DE>
Date: Mon, 14 Apr 2025 13:00:23 +0200
Subject: [PATCH] add handler and health check

---
 src/myaktion/go.mod            |  2 ++
 src/myaktion/go.sum            |  2 ++
 src/myaktion/handler/health.go | 11 +++++++
 src/myaktion/main.go           | 54 ++++++----------------------------
 4 files changed, 24 insertions(+), 45 deletions(-)
 create mode 100644 src/myaktion/go.sum
 create mode 100644 src/myaktion/handler/health.go

diff --git a/src/myaktion/go.mod b/src/myaktion/go.mod
index 963d038..433b4f8 100644
--- a/src/myaktion/go.mod
+++ b/src/myaktion/go.mod
@@ -1,3 +1,5 @@
 module gitlab.reutlingen-university.de/petrinov/myaktion-go
 
 go 1.24.2
+
+require github.com/gorilla/mux v1.8.1 // indirect
diff --git a/src/myaktion/go.sum b/src/myaktion/go.sum
new file mode 100644
index 0000000..7128337
--- /dev/null
+++ b/src/myaktion/go.sum
@@ -0,0 +1,2 @@
+github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY=
+github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ=
diff --git a/src/myaktion/handler/health.go b/src/myaktion/handler/health.go
new file mode 100644
index 0000000..bb62dc7
--- /dev/null
+++ b/src/myaktion/handler/health.go
@@ -0,0 +1,11 @@
+package handler
+
+import (
+	"io"
+	"net/http"
+)
+
+func Health(w http.ResponseWriter, r *http.Request) {
+	w.Header().Set("Content-Type", "application/json")
+	io.WriteString(w, `{"alive": true}`)
+}
diff --git a/src/myaktion/main.go b/src/myaktion/main.go
index 3b75cb9..787e22e 100644
--- a/src/myaktion/main.go
+++ b/src/myaktion/main.go
@@ -1,54 +1,18 @@
 package main
 
 import (
-	"fmt"
+	"log"
+	"net/http"
 
-	"gitlab.reutlingen-university.de/petrinov/myaktion-go/model"
+	"github.com/gorilla/mux"
+	"gitlab.reutlingen-university.de/petrinov/myaktion-go/handler"
 )
 
 func main() {
-
-	newAccount := model.Account{
-		Name:     "NeuerAccount",
-		BankName: "NeueBank",
-		Number:   "1",
-	}
-
-	newAccount2 := model.Account{
-		Name:     "NeuerAccount3",
-		BankName: "NeueBank3",
-		Number:   "2",
-	}
-
-	newAccount3 := model.Account{
-		Name:     "NeuerAccount3",
-		BankName: "NeueBank3",
-		Number:   "3",
-	}
-
-	donation1 := model.Donation{
-		Ammount:          10.00,
-		DonorName:        "Irgendwer",
-		ReceiptRequested: false,
-		Account:          newAccount2,
-	}
-
-	donation2 := model.Donation{
-		Ammount:          5.00,
-		DonorName:        "Irgendwo",
-		ReceiptRequested: true,
-		Account:          newAccount3,
+	log.Println("Starting My-Aktion API server")
+	router := mux.NewRouter()
+	router.HandleFunc("/health", handler.Health).Methods("GET")
+	if err := http.ListenAndServe(":8000", router); err != nil {
+		log.Fatal(err)
 	}
-
-	newCampagin := model.Campaign{
-		Name:                "Neue Campaign",
-		OrganizerName:       "Aktion Mensch",
-		TargetAmmount:       100.00,
-		DonationMinimum:     20.00,
-		AmmountDonatedSoFar: 80.00,
-		Account:             newAccount,
-		Donations:           []model.Donation{donation1, donation2},
-	}
-
-	fmt.Println(newCampagin)
 }
-- 
GitLab