🎨 提供重建单个文档索引的 API https://github.com/siyuan-note/siyuan/issues/5719

This commit is contained in:
Liang Ding 2022-08-27 22:21:59 +08:00
parent 0959994e73
commit da5f467a5e
No known key found for this signature in database
GPG key ID: 136F30F901A2231D
3 changed files with 33 additions and 0 deletions

View file

@ -32,6 +32,25 @@ import (
"github.com/siyuan-note/siyuan/kernel/util"
)
func reindexTree(c *gin.Context) {
ret := gulu.Ret.NewResult()
defer c.JSON(http.StatusOK, ret)
arg, ok := util.JsonArg(c, ret)
if !ok {
return
}
path := arg["path"].(string)
err := model.ReindexTree(path)
if nil != err {
ret.Code = -1
ret.Msg = err.Error()
ret.Data = map[string]interface{}{"closeTimeout": 5000}
return
}
}
func refreshFiletree(c *gin.Context) {
ret := gulu.Ret.NewResult()
defer c.JSON(http.StatusOK, ret)

View file

@ -88,6 +88,7 @@ func ServeAPI(ginServer *gin.Engine) {
ginServer.Handle("POST", "/api/filetree/heading2Doc", model.CheckAuth, model.CheckReadonly, heading2Doc)
ginServer.Handle("POST", "/api/filetree/li2Doc", model.CheckAuth, model.CheckReadonly, li2Doc)
ginServer.Handle("POST", "/api/filetree/refreshFiletree", model.CheckAuth, model.CheckReadonly, refreshFiletree)
ginServer.Handle("POST", "/api/filetree/reindexTree", model.CheckAuth, model.CheckReadonly, reindexTree)
ginServer.Handle("POST", "/api/format/autoSpace", model.CheckAuth, model.CheckReadonly, autoSpace)
ginServer.Handle("POST", "/api/format/netImg2LocalAssets", model.CheckAuth, model.CheckReadonly, netImg2LocalAssets)

View file

@ -449,6 +449,19 @@ func parseKTree(kramdown []byte) (ret *parse.Tree) {
return
}
func ReindexTree(path string) (err error) {
luteEngine := NewLute()
tree, err := loadTree(path, luteEngine)
if nil != err {
return
}
treenode.ReindexBlockTree(tree)
sql.UpsertTreeQueue(tree)
sql.WaitForWritingDatabase()
return
}
func RefreshFileTree() {
WaitForWritingFiles()