Skip to content
Snippets Groups Projects
Commit 39d4921c authored by Martin Schmollinger's avatar Martin Schmollinger
Browse files

Added GET List of Camapaign Resources

parent 1aa6a38f
No related branches found
No related tags found
No related merge requests found
...@@ -28,3 +28,17 @@ func CreateCampaign(w http.ResponseWriter, r *http.Request) { ...@@ -28,3 +28,17 @@ func CreateCampaign(w http.ResponseWriter, r *http.Request) {
http.Error(w, err.Error(), http.StatusInternalServerError) http.Error(w, err.Error(), http.StatusInternalServerError)
} }
} }
func GetCampaigns(w http.ResponseWriter, _ *http.Request) {
campaigns, err := service.GetCampaigns()
if err != nil {
log.Printf("Error calling service GetCampaigns: %v", err)
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
w.Header().Set("Content-Type", "application/json")
if err := json.NewEncoder(w).Encode(campaigns); err != nil {
log.Printf("Failure encoding value to JSON: %v", err)
http.Error(w, err.Error(), http.StatusInternalServerError)
}
}
...@@ -14,6 +14,7 @@ func main() { ...@@ -14,6 +14,7 @@ func main() {
router := mux.NewRouter() router := mux.NewRouter()
router.HandleFunc("/health", handler.Health).Methods("GET") router.HandleFunc("/health", handler.Health).Methods("GET")
router.HandleFunc("/campaigns", handler.CreateCampaign).Methods("POST") router.HandleFunc("/campaigns", handler.CreateCampaign).Methods("POST")
router.HandleFunc("/campaigns", handler.GetCampaigns).Methods("GET")
if err := http.ListenAndServe(":8000", router); err != nil { if err := http.ListenAndServe(":8000", router); err != nil {
log.Fatal(err) log.Fatal(err)
} }
......
...@@ -23,3 +23,12 @@ func CreateCampaign(campaign *model.Campaign) error { ...@@ -23,3 +23,12 @@ func CreateCampaign(campaign *model.Campaign) error {
log.Printf("Stored: %v", campaign) log.Printf("Stored: %v", campaign)
return nil return nil
} }
func GetCampaigns() ([]model.Campaign, error) {
var campaigns []model.Campaign
for _, campaign := range campaignStore {
campaigns = append(campaigns, *campaign)
}
log.Printf("Retrieved: %v", campaigns)
return campaigns, nil
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment