Skip to content
Snippets Groups Projects
Commit 2978693d authored by Emanuel Petrinovic's avatar Emanuel Petrinovic
Browse files

add campaigns POST

parent d8d0b6f1
No related branches found
No related tags found
No related merge requests found
package handler
import (
"encoding/json"
"log"
"net/http"
"gitlab.reutlingen-university.de/petrinov/myaktion-go/model"
"gitlab.reutlingen-university.de/petrinov/myaktion-go/service"
)
func CreateCampaign(w http.ResponseWriter, r *http.Request) {
var campaign model.Campaign
err := json.NewDecoder(r.Body).Decode(&campaign)
if err != nil {
log.Printf("Can't serialize request body to campaign struct: %v", err)
http.Error(w, err.Error(), http.StatusBadRequest)
return
}
if err := service.CreateCampaign(&campaign); err != nil {
log.Printf("Error calling service CreateCampaign: %v", err)
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
w.Header().Set("Content-Type", "application/json")
if err := json.NewEncoder(w).Encode(campaign); err != nil {
log.Printf("Failure encoding value to JSON: %v", err)
http.Error(w, err.Error(), http.StatusInternalServerError)
}
}
......@@ -12,6 +12,7 @@ func main() {
log.Println("Starting My-Aktion API server")
router := mux.NewRouter()
router.HandleFunc("/health", handler.Health).Methods("GET")
router.HandleFunc("/campagins", handler.CreateCampaign).Methods("POST")
if err := http.ListenAndServe(":8000", router); err != nil {
log.Fatal(err)
}
......
......@@ -3,7 +3,7 @@ package service
import (
"log"
model "gitlab.reutlingen-university.de/petrinov/myaktion-go/Model"
model "gitlab.reutlingen-university.de/petrinov/myaktion-go/model"
)
var (
......
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