Select Git revision
control.cpp
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
main.go 1.15 KiB
package main
import (
log "github.com/sirupsen/logrus"
"net/http"
"os"
"github.com/gorilla/mux"
"gitlab.reutlingen-university.de/go-exercises/myaktion-go-ss25/src/myaktion/handler"
)
func init() {
// init logger
log.SetFormatter(&log.TextFormatter{})
log.SetReportCaller(true)
level, err := log.ParseLevel(os.Getenv("LOG_LEVEL"))
if err != nil {
log.Info("Log level not specified, set default to: INFO")
log.SetLevel(log.InfoLevel)
return
}
log.SetLevel(level)
}
func main() {
log.Println("Starting My-Aktion API server")
router := mux.NewRouter()
router.HandleFunc("/health", handler.Health).Methods("GET")
router.HandleFunc("/campaigns", handler.CreateCampaign).Methods("POST")
router.HandleFunc("/campaigns", handler.GetCampaigns).Methods("GET")
router.HandleFunc("/campaigns/{id}", handler.UpdateCampaign).Methods("PUT")
router.HandleFunc("/campaigns/{id}", handler.PatchCampaign).Methods("PATCH")
router.HandleFunc("/campaigns/{id}", handler.DeleteCampaign).Methods("DELETE")
router.HandleFunc("/campaigns/{id}/donation", handler.AddDonation).Methods("POST")
if err := http.ListenAndServe(":8000", router); err != nil {
log.Fatal(err)
}
}