示例#1
0
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())
}
示例#2
0
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())
}
示例#3
0
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())
	}
}
示例#4
0
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())
}