Add: update tag info

This commit is contained in:
2021-12-12 12:56:32 +08:00
parent 1bbcecfb2e
commit af444f0bbb
5 changed files with 86 additions and 3 deletions

View File

@@ -1,5 +1,7 @@
package database
import "errors"
func (database *Database) InsertTag(tag string, description string) (*Tag, error) {
result, err := database.stmt.insertTag.Exec(tag, description)
if err != nil {
@@ -38,3 +40,18 @@ func (database *Database) GetTags() ([]Tag, error) {
}
return tags, nil
}
func (database *Database) UpdateTag(tag *Tag) (*Tag, error) {
result, err := database.stmt.updateTag.Exec(tag.Name, tag.Description, tag.ID)
if err != nil {
return nil, err
}
rowsAffected, err := result.RowsAffected()
if err != nil {
return nil, err
}
if rowsAffected == 0 {
return nil, errors.New("No rows affected")
}
return database.GetTag(tag.ID)
}

View File

@@ -176,6 +176,8 @@ var getTagQuery = `SELECT id, name, description FROM tags WHERE id = ? LIMIT 1;`
var getTagsQuery = `SELECT id, name, description FROM tags;`
var updateTagQuery = `UPDATE tags SET name = ?, description = ? WHERE id = ?;`
type Stmt struct {
initFilesTable *sql.Stmt
initFoldersTable *sql.Stmt
@@ -211,6 +213,7 @@ type Stmt struct {
insertTag *sql.Stmt
getTag *sql.Stmt
getTags *sql.Stmt
updateTag *sql.Stmt
}
func NewPreparedStatement(sqlConn *sql.DB) (*Stmt, error) {
@@ -485,5 +488,11 @@ func NewPreparedStatement(sqlConn *sql.DB) (*Stmt, error) {
return nil, err
}
// init updateTag
stmt.updateTag, err = sqlConn.Prepare(updateTagQuery)
if err != nil {
return nil, err
}
return stmt, err
}