コード例 #1
0
ファイル: user.go プロジェクト: section14/go_polymer_comm_pkg
func (u *User) UpdateEmail(w http.ResponseWriter, r *http.Request, uid int64, newEmail string) error {
	//get context
	c := appengine.NewContext(r)

	//set key
	k := datastore.NewKey(c, "User", "", uid, nil)

	//start query
	q := datastore.NewQuery("User").Filter("__key__ =", k)

	//populate user slices
	var users []User
	key, err := q.GetAll(c, &users)

	if err != nil {
		//handle error
		return err
	}

	for i, r := range users {
		r.Email = newEmail

		//write to db
		_, err := datastore.Put(c, key[i], &r)

		if err != nil {
			//handle error
			return err
		}
	}

	return nil
}