package controllers import ( "strconv" "github.com/gorilla/mux" "encoding/json" "ExpiryDatesManager/server/model" "ExpiryDatesManager/server/utils" "net/http" ) var GetCompanies = func(w http.ResponseWriter, r *http.Request) { data := model.GetCompanies() resp := utils.Message(true, "success") resp["data"] = data utils.Respond(w, resp) } var DeleteCompany = func(w http.ResponseWriter, r *http.Request) { vars := mux.Vars(r) companyID, err := strconv.ParseUint(vars["id"], 10, 0) if err != nil { utils.Respond(w, utils.Message(false, "Error while parsing request")) return } err = model.DeleteCompany(uint(companyID)) if err != nil { utils.Respond(w, utils.Message(false, "Nie udało się usunąć dostawcy")) return } resp := utils.Message(true, "success") utils.Respond(w, resp) } var CreateOrUpdateCompany = func(w http.ResponseWriter, r *http.Request) { company := &model.Company{} err := json.NewDecoder(r.Body).Decode(company) if err != nil { utils.Respond(w, utils.Message(false, "Error while decoding request body")) return } data := company.CreateOrUpdate() if data.ID == 0 { utils.Respond(w, utils.Message(false, "Database error")) return } resp := utils.Message(true, "success") resp["data"] = data utils.Respond(w, resp) }