// DeleteAllNotes deletes all Notes from the authorized User's Notebook. It writes true if Notes were deleted, // and false if the Notebook was empty to w. func DeleteAllNotes(w http.ResponseWriter, c appengine.Context, notebook *tessernote.Notebook) { empty := len(notebook.NoteKeys) == 0 err := notebook.DeleteAll(c) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return } reply, err := json.Marshal(!empty) if err != nil { c.Errorf("marshaling delete all response: %s", err) http.Error(w, err.Error(), http.StatusInternalServerError) return } w.Write(reply) }
// 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) }