コード例 #1
0
ファイル: location.go プロジェクト: wangmingjob/goyangi
// 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
}