diff --git a/kernel/api/asset.go b/kernel/api/asset.go index cb5bd4e55..ad8ebbb34 100644 --- a/kernel/api/asset.go +++ b/kernel/api/asset.go @@ -202,6 +202,25 @@ func getDocImageAssets(c *gin.Context) { ret.Data = assets } +func getDocAssets(c *gin.Context) { + ret := gulu.Ret.NewResult() + defer c.JSON(http.StatusOK, ret) + + arg, ok := util.JsonArg(c, ret) + if !ok { + return + } + + id := arg["id"].(string) + assets, err := model.DocAssets(id) + if err != nil { + ret.Code = -1 + ret.Msg = err.Error() + return + } + ret.Data = assets +} + func setFileAnnotation(c *gin.Context) { ret := gulu.Ret.NewResult() defer c.JSON(http.StatusOK, ret) diff --git a/kernel/api/router.go b/kernel/api/router.go index 54d53b5e0..6ba91db2b 100644 --- a/kernel/api/router.go +++ b/kernel/api/router.go @@ -279,6 +279,7 @@ func ServeAPI(ginServer *gin.Engine) { ginServer.Handle("POST", "/api/asset/removeUnusedAsset", model.CheckAuth, model.CheckAdminRole, model.CheckReadonly, removeUnusedAsset) ginServer.Handle("POST", "/api/asset/removeUnusedAssets", model.CheckAuth, model.CheckAdminRole, model.CheckReadonly, removeUnusedAssets) ginServer.Handle("POST", "/api/asset/getDocImageAssets", model.CheckAuth, getDocImageAssets) + ginServer.Handle("POST", "/api/asset/getDocAssets", model.CheckAuth, getDocAssets) ginServer.Handle("POST", "/api/asset/renameAsset", model.CheckAuth, model.CheckAdminRole, model.CheckReadonly, renameAsset) ginServer.Handle("POST", "/api/asset/getImageOCRText", model.CheckAuth, model.CheckAdminRole, model.CheckReadonly, getImageOCRText) ginServer.Handle("POST", "/api/asset/setImageOCRText", model.CheckAuth, model.CheckAdminRole, model.CheckReadonly, setImageOCRText) diff --git a/kernel/model/assets.go b/kernel/model/assets.go index 4741f8351..50909bd4e 100644 --- a/kernel/model/assets.go +++ b/kernel/model/assets.go @@ -75,6 +75,16 @@ func DocImageAssets(rootID string) (ret []string, err error) { return } +func DocAssets(rootID string) (ret []string, err error) { + tree, err := LoadTreeByBlockID(rootID) + if err != nil { + return + } + + ret = assetsLinkDestsInTree(tree) + return +} + func NetAssets2LocalAssets(rootID string, onlyImg bool, originalURL string) (err error) { tree, err := LoadTreeByBlockID(rootID) if err != nil {