ソースを参照

:art: One-click upgrade of downloaded marketplace packages https://github.com/siyuan-note/siyuan/issues/8390

Daniel 1 年間 前
コミット
c45e80b9e0
3 ファイル変更30 行追加0 行削除
  1. 20 0
      kernel/api/bazaar.go
  2. 1 0
      kernel/api/router.go
  3. 9 0
      kernel/model/bazzar.go

+ 20 - 0
kernel/api/bazaar.go

@@ -25,6 +25,26 @@ import (
 	"github.com/siyuan-note/siyuan/kernel/util"
 )
 
+func getBazaarPackages(c *gin.Context) {
+	ret := gulu.Ret.NewResult()
+	defer c.JSON(http.StatusOK, ret)
+
+	arg, ok := util.JsonArg(c, ret)
+	if !ok {
+		return
+	}
+
+	frontend := arg["frontend"].(string)
+	plugins, widgets, icons, themes, templates := model.BazaarPackages(frontend)
+	ret.Data = map[string]interface{}{
+		"plugins":   plugins,
+		"widgets":   widgets,
+		"icons":     icons,
+		"themes":    themes,
+		"templates": templates,
+	}
+}
+
 func getBazaarPackageREAME(c *gin.Context) {
 	ret := gulu.Ret.NewResult()
 	defer c.JSON(http.StatusOK, ret)

+ 1 - 0
kernel/api/router.go

@@ -330,6 +330,7 @@ func ServeAPI(ginServer *gin.Engine) {
 	ginServer.Handle("POST", "/api/graph/getGraph", model.CheckAuth, getGraph)
 	ginServer.Handle("POST", "/api/graph/getLocalGraph", model.CheckAuth, getLocalGraph)
 
+	ginServer.Handle("POST", "/api/bazaar/getBazaarPackages", model.CheckAuth, getBazaarPackages)
 	ginServer.Handle("POST", "/api/bazaar/getBazaarPlugin", model.CheckAuth, getBazaarPlugin)
 	ginServer.Handle("POST", "/api/bazaar/getInstalledPlugin", model.CheckAuth, getInstalledPlugin)
 	ginServer.Handle("POST", "/api/bazaar/installBazaarPlugin", model.CheckAuth, model.CheckReadonly, installBazaarPlugin)

+ 9 - 0
kernel/model/bazzar.go

@@ -29,6 +29,15 @@ import (
 	"github.com/siyuan-note/siyuan/kernel/bazaar"
 )
 
+func BazaarPackages(frontend string) (plugins []*bazaar.Plugin, widgets []*bazaar.Widget, icons []*bazaar.Icon, themes []*bazaar.Theme, templates []*bazaar.Template) {
+	plugins = BazaarPlugins(frontend, "")
+	widgets = BazaarWidgets("")
+	icons = BazaarIcons("")
+	themes = BazaarThemes("")
+	templates = BazaarTemplates("")
+	return
+}
+
 func GetPackageREADME(repoURL, repoHash, packageType string) (ret string) {
 	ret = bazaar.GetPackageREADME(repoURL, repoHash, packageType)
 	return