gosuki/bookmarks.go

38 lines
883 B
Go
Raw Normal View History

2017-11-19 16:00:37 +00:00
package main
import (
"strings"
)
2017-11-20 15:05:44 +00:00
// Bookmark type
2017-11-19 16:00:37 +00:00
type Bookmark struct {
2017-11-26 20:17:30 +00:00
URL string `json:"url"`
2017-11-23 20:50:06 +00:00
Metadata string `json:"metadata"`
Tags []string `json:"tags"`
Desc string `json:"desc"`
2018-05-27 15:36:03 +00:00
Node *Node `json:"-"`
2017-11-19 16:00:37 +00:00
//flags int
}
func (bk *Bookmark) add(db *DB) {
2018-05-27 15:36:03 +00:00
//log.Debugf("Adding bookmark %s", bk.URL)
2018-05-27 15:55:27 +00:00
_db := db.Handle
2017-11-19 16:00:37 +00:00
tx, err := _db.Begin()
logPanic(err)
2018-05-27 15:36:03 +00:00
// TODO
// Handle unique constraint errors for when inserting into existing db
// Should check if err is constraint and return it
// Or create addAndUpdate function that updates at the same time
2017-11-19 16:00:37 +00:00
stmt, err := tx.Prepare(`INSERT INTO bookmarks(URL, metadata, tags, desc, flags) VALUES (?, ?, ?, ?, ?)`)
logError(err)
defer stmt.Close()
2017-11-30 15:08:12 +00:00
_, err = stmt.Exec(bk.URL, bk.Metadata, strings.Join(bk.Tags, TagJoinSep), "", 0)
2017-11-26 20:17:30 +00:00
sqlErrorMsg(err, bk.URL)
2017-11-19 16:00:37 +00:00
err = tx.Commit()
logError(err)
}