Impl. category editing.
This commit is contained in:
parent
aeb481b2ba
commit
0e28f8a16b
@ -20,6 +20,8 @@ var (
|
|||||||
queryCategoryGetAll string
|
queryCategoryGetAll string
|
||||||
//go:embed queries/categoryNew.sql
|
//go:embed queries/categoryNew.sql
|
||||||
queryCategoryNew string
|
queryCategoryNew string
|
||||||
|
//go:embed queries/categoryEdit.sql
|
||||||
|
queryCategoryEdit string
|
||||||
//go:embed queries/categoryDelete.sql
|
//go:embed queries/categoryDelete.sql
|
||||||
queryCategoryDelete string
|
queryCategoryDelete string
|
||||||
//go:embed queries/categoryDeleteUnused.sql
|
//go:embed queries/categoryDeleteUnused.sql
|
||||||
@ -38,6 +40,7 @@ var (
|
|||||||
stmtCategoryById *sql.Stmt
|
stmtCategoryById *sql.Stmt
|
||||||
stmtCategoryGetAll *sql.Stmt
|
stmtCategoryGetAll *sql.Stmt
|
||||||
stmtCategoryNew *sql.Stmt
|
stmtCategoryNew *sql.Stmt
|
||||||
|
stmtCategoryEdit *sql.Stmt
|
||||||
stmtCategoryDelete *sql.Stmt
|
stmtCategoryDelete *sql.Stmt
|
||||||
stmtCategoryDeleteUnused *sql.Stmt
|
stmtCategoryDeleteUnused *sql.Stmt
|
||||||
stmtPostGetAll *sql.Stmt
|
stmtPostGetAll *sql.Stmt
|
||||||
@ -69,6 +72,11 @@ func initDBStatements(db *sql.DB) error {
|
|||||||
return errors.Wrap(err, "failed to prepare queryCategoryNew")
|
return errors.Wrap(err, "failed to prepare queryCategoryNew")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
stmtCategoryEdit, err = db.Prepare(queryCategoryEdit)
|
||||||
|
if err != nil {
|
||||||
|
return errors.Wrap(err, "failed to prepare queryCategoryEdit")
|
||||||
|
}
|
||||||
|
|
||||||
stmtCategoryDelete, err = db.Prepare(queryCategoryDelete)
|
stmtCategoryDelete, err = db.Prepare(queryCategoryDelete)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.Wrap(err, "failed to prepare queryCategoryDelete")
|
return errors.Wrap(err, "failed to prepare queryCategoryDelete")
|
||||||
@ -259,6 +267,23 @@ func (s *SQLiteMindflow) NewCategory(name string) (int64, error) {
|
|||||||
return id, nil
|
return id, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *SQLiteMindflow) EditCategory(category *mindflow.Category) error {
|
||||||
|
tx, err := s.db.Begin()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
defer tx.Rollback()
|
||||||
|
|
||||||
|
_, err = tx.Stmt(stmtPostEdit).Exec(category.Name, category.ID)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
tx.Commit()
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func (s *SQLiteMindflow) GetCategoryByID(id int64) (name string, err error) {
|
func (s *SQLiteMindflow) GetCategoryByID(id int64) (name string, err error) {
|
||||||
tx, err := s.db.Begin()
|
tx, err := s.db.Begin()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -316,6 +341,7 @@ func (s *SQLiteMindflow) Close() error {
|
|||||||
stmtCategoryById.Close()
|
stmtCategoryById.Close()
|
||||||
stmtCategoryGetAll.Close()
|
stmtCategoryGetAll.Close()
|
||||||
stmtCategoryNew.Close()
|
stmtCategoryNew.Close()
|
||||||
|
stmtCategoryEdit.Close()
|
||||||
stmtCategoryDelete.Close()
|
stmtCategoryDelete.Close()
|
||||||
stmtPostDelete.Close()
|
stmtPostDelete.Close()
|
||||||
stmtPostEdit.Close()
|
stmtPostEdit.Close()
|
||||||
|
4
pkg/mindflow/database/sqlite/queries/categoryEdit.sql
Normal file
4
pkg/mindflow/database/sqlite/queries/categoryEdit.sql
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
UPDATE OR REPLACE `category`
|
||||||
|
SET
|
||||||
|
`name` = ?
|
||||||
|
WHERE `category_id` = ?;
|
@ -43,6 +43,7 @@ type Mindflow interface {
|
|||||||
Categories() ([]Category, error)
|
Categories() ([]Category, error)
|
||||||
NewCategory(name string) (int64, error)
|
NewCategory(name string) (int64, error)
|
||||||
GetCategoryByID(id int64) (string, error)
|
GetCategoryByID(id int64) (string, error)
|
||||||
|
EditCategory(category *Category) error
|
||||||
DeleteCategory(id int64) error
|
DeleteCategory(id int64) error
|
||||||
DeleteUnusedCategories() error
|
DeleteUnusedCategories() error
|
||||||
Close() error
|
Close() error
|
||||||
|
Loading…
Reference in New Issue
Block a user