func UpdateValueHandler(w http.ResponseWriter, r *http.Request) { dto := models.NewValueDTO() dto.ValueId = mux.Vars(r)["value_id"] dto.UpdateFields = strings.Split(r.URL.Query().Get("fields"), ",") res := models.NewResponse() if err := dto.FromJson(r.Body); err != nil { res.Message = "unknown" res.DevMessage = err.Error() w.Write(res.ToJson()) return } value, err := Srv.Store.ValueStore().Update(dto) if err != nil { res.Message = "Ошибка обновления" res.DevMessage = err.Error() w.Write(res.ToJson()) return } res.StatusCode = http.StatusOK res.Data = value w.Write(res.ToJson()) }
func GetValueHandler(w http.ResponseWriter, r *http.Request) { dto := models.NewValueDTO() dto.ValueId = mux.Vars(r)["value_id"] res := models.NewResponse() value, err := Srv.Store.ValueStore().GetOne(dto) if err != nil { res.Message = "Ошибка загрузки" res.DevMessage = err.Error() w.Write(res.ToJson()) return } res.StatusCode = http.StatusOK res.Data = value w.Write(res.ToJson()) }
func BuildSearchByMode(mode string) func(http.ResponseWriter, *http.Request) { return func(w http.ResponseWriter, r *http.Request) { dto := models.NewValueDTO() res := models.NewResponse() dto.Keys.AddAsArray(strings.Split(mux.Vars(r)["keys"], ",")) values, err := Srv.Store.ValueStore().FindByKeys(dto, mode) if err != nil { res.Message = "Ошибка поиска" res.DevMessage = err.Error() w.Write(res.ToJson()) return } res.StatusCode = http.StatusOK res.Data = values w.Write(res.ToJson()) } }
func NewValueHandler(w http.ResponseWriter, r *http.Request) { dto := models.NewValueDTO() res := models.NewResponse() if err := dto.FromJson(r.Body); err != nil { res.Message = "unknown" res.DevMessage = err.Error() w.Write(res.ToJson()) return } value, err := Srv.Store.ValueStore().Create(dto) if err != nil { res.Message = "Ошибка создания" res.DevMessage = err.Error() w.Write(res.ToJson()) return } res.StatusCode = http.StatusOK res.Data = value w.Write(res.ToJson()) }