Пример #1
0
func UpdateUser(w http.ResponseWriter, r *http.Request) {
	vars := mux.Vars(r)
	userId, _ := strconv.Atoi(vars["userId"])
	user := repository.GetUserById(userId)

	// oldPassword := r.FormValue("oldPassword")
	// newPassword := r.FormValue("newPassword")

	// if oldPassword != "" && newPassword != "" {
	// 	result := updatePassword(&user, oldPassword, newPassword)

	// 	if result {
	// 		w.Write([]byte(`{"result":true}`))
	// 	} else {
	// 		w.Write([]byte(`{"result":false}`))
	// 	}

	// 	return
	// }

	// User is exist
	displayName := r.FormValue("displayName")
	email := r.FormValue("email")
	if displayName != "" {
		user.DisplayName = displayName
	}
	user.Email.Scan(email)

	repository.UpdateUser(&user)
	json.NewEncoder(w).Encode(user)
}
Пример #2
0
func GetUserById(w http.ResponseWriter, r *http.Request) {
	vars := mux.Vars(r)
	userId, _ := strconv.Atoi(vars["userId"])

	// TODO validate userId is number
	user := repository.GetUserById(userId)

	json.NewEncoder(w).Encode(user)
}
Пример #3
0
func GetPhotosByUserId(w http.ResponseWriter, r *http.Request) {
	vars := mux.Vars(r)
	userId, _ := strconv.Atoi(vars["userId"])

	user := repository.GetUserById(userId)
	if user.Id == 0 {
		w.Write([]byte(`{"Error":"Khong co user"}`))
		return
	}

	photos := repository.GetPhotosByUserId(userId)
	json.NewEncoder(w).Encode(photos)
}
Пример #4
0
func CreateComment(w http.ResponseWriter, r *http.Request) {

	// Verify user

	u := repository.GetUserByToken(r.FormValue("token"))

	// Create

	vars := mux.Vars(r)
	_photoId, _ := strconv.Atoi(vars["photoId"])

	c := models.Comment{}
	c.UserId, _ = strconv.Atoi(r.FormValue("userId"))
	c.PhotoId = _photoId
	c.Content = r.FormValue("content")
	c.UserId = u.Id
	c.User = u

	_processTags(c.Content, _photoId)

	repository.CreateComment(&c)

	json.NewEncoder(w).Encode(c)
}
Пример #5
0
func GetPhotosByUserId(w http.ResponseWriter, r *http.Request) {
	vars := mux.Vars(r)
	userId, _ := strconv.Atoi(vars["userId"])
	photos := repository.GetPhotosByUserId(userId)
	json.NewEncoder(w).Encode(photos)
}