// UpdateLocation updates a location. func UpdateLocation(c *gin.Context) (model.Location, int, error) { var location model.Location var form LocationForm id := c.Params.ByName("id") c.BindWith(&form, binding.Form) if db.ORM.First(&location, id).RecordNotFound() { return location, http.StatusNotFound, errors.New("Location is not found.") } status, err := userPermission.CurrentUserIdentical(c, location.UserId) if err != nil { return location, status, err } location.Name = form.Name location.Address = form.Address location.Latitude = form.Latitude location.Longitude = form.Longitude location.Url = form.Url location.Content = form.Content if db.ORM.Save(&location).Error != nil { return location, http.StatusBadRequest, errors.New("Location is not updated.") } return location, http.StatusOK, nil }