// ReplaceAllNotes replaces the Notes of the authorized User's Notebook with a new set of Notes. It takes as // input a JSON formatted list of Notes and writes the added notes if succeeded or an error message otherwise to w. // Notes may be written back with different IDs than those submitted, see ReplaceNote(). func ReplaceAllNotes(w http.ResponseWriter, r *http.Request, c appengine.Context, notebook *tessernote.Notebook) { notes, err := readNotes(w, r) if err != nil { return } err = notebook.DeleteAll(c) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return } notes, err = notebook.PutAll(notes, c) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return } reply, err := json.Marshal(notes) if err != nil { c.Errorf("marshaling notes (%d): %s", len(notes), err) http.Error(w, err.Error(), http.StatusInternalServerError) return } w.Write(reply) }