// RenameCommand renames a Note func RenameCommand(c *cli.Context, i storage.Impl) (nName string, newName string, err error) { nName, err = NoteName(c) if err != nil { return nName, newName, err } n, err := i.LoadNote(nName) if err != nil { return nName, newName, err } reader := bufio.NewReader(os.Stdin) fmt.Print(fmt.Sprintf("Rename note '%s' to: ", n.Name)) newName, err = reader.ReadString('\n') if err != nil { return nName, newName, err } newName = strings.Trim(newName, "\n") if newName == "" { return nName, newName, errors.New("Note name can't be blank") } if i.NoteExists(newName) == true { return nName, newName, fmt.Errorf("Note '%s' already exists", newName) } if err = i.RenameNote(n.ID, newName); err != nil { return nName, newName, fmt.Errorf("Failed to rename note '%s' to '%s'.", nName, newName) } return nName, newName, nil }
// InfoCommand shows information about a Note func InfoCommand(c *cli.Context, i storage.Impl) (n storage.Note, err error) { nName, err := NoteName(c) if err != nil { return storage.Note{}, err } n, err = i.LoadNote(nName) if err != nil { return storage.Note{}, err } return n, nil }
// DeleteCommand deletes a Note func DeleteCommand(c *cli.Context, i storage.Impl) (n storage.Note, err error) { nName, err := NoteName(c) if err != nil { return n, err } n, err = i.LoadNote(nName) if err != nil { return n, err } if i.DeleteNote(n) != nil { return n, err } return n, nil }
// ReadCommand reads a Note func ReadCommand(c *cli.Context, i storage.Impl) (err error) { nName, err := NoteName(c) if err != nil { return err } n, err := i.LoadNote(nName) if err != nil { return err } if err := reader.ReadNote(n); err != nil { return err } return nil }
// KeepCommand keeps/unkeeps a Note func KeepCommand(c *cli.Context, i storage.Impl, k bool) (n storage.Note, err error) { nName, err := NoteName(c) if err != nil { return n, err } n, err = i.LoadNote(nName) if err != nil { return n, err } n.Temporary = !k if err := i.SaveNote(&n); err != nil { return n, err } return n, err }
// ShareCommand shares a Note func ShareCommand(c *cli.Context, i storage.Impl) (n storage.Note, url string, err error) { nName, err := NoteName(c) if err != nil { return n, url, err } n, err = i.LoadNote(nName) if err != nil { return n, url, err } url, err = reader.ShareNote(n, "http://hastebin.com/documents") if err != nil { return n, url, err } return n, url, nil }
// EditCommand edits a Note func EditCommand(c *cli.Context, i storage.Impl) (n storage.Note, err error) { nName, err := NoteName(c) if err != nil { return n, err } n, err = i.LoadNote(nName) if err != nil { return n, err } if err := writer.WriteNote(&n); err != nil { return n, err } if err := i.SaveNote(&n); err != nil { return n, err } return n, nil }