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) }
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) }
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) }
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) }
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) }