fix(page): move pages back when one is deleted inbetween.
This commit is contained in:
@@ -27,6 +27,7 @@ const GETSPECIFICSVGPAGESSQL string = "SELECT * FROM svgpage WHERE id = ?;"
|
|||||||
const DELETESVGPAGESQL string = "DELETE FROM svgpage WHERE id = ? AND page = ?;"
|
const DELETESVGPAGESQL string = "DELETE FROM svgpage WHERE id = ? AND page = ?;"
|
||||||
const DELETEALLSVGPAGESQL string = "DELETE FROM svgpage WHERE id = ?;"
|
const DELETEALLSVGPAGESQL string = "DELETE FROM svgpage WHERE id = ?;"
|
||||||
const COUNTSVGPAGESQL string = "SELECT COUNT(*) FROM svgpage WHERE id = ?;"
|
const COUNTSVGPAGESQL string = "SELECT COUNT(*) FROM svgpage WHERE id = ?;"
|
||||||
|
const UPDATEPAGESQL string = "UPDATE svgpage SET page = page - 1 WHERE page > ?;"
|
||||||
|
|
||||||
func InsertSVGPage(data *svg.TemplatePage) (int, error) {
|
func InsertSVGPage(data *svg.TemplatePage) (int, error) {
|
||||||
json, err := json.Marshal(data.TemplateKeys)
|
json, err := json.Marshal(data.TemplateKeys)
|
||||||
@@ -86,6 +87,11 @@ func DeleteSVGPage(id string, page int) (bool, error) {
|
|||||||
if num == 0 {
|
if num == 0 {
|
||||||
return false, nil
|
return false, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if err := movePages(id, page); err != nil {
|
||||||
|
return false, err
|
||||||
|
}
|
||||||
|
|
||||||
return true, nil
|
return true, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -116,3 +122,8 @@ func GetPageCount(id string) (int, error) {
|
|||||||
|
|
||||||
return count, nil
|
return count, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func movePages(id string, deletedPage int) error {
|
||||||
|
_, err := database.Exec(UPDATEPAGESQL, deletedPage)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user