diff --git a/kernel/api/bazaar.go b/kernel/api/bazaar.go index 53e1bf944..e05ad04dd 100644 --- a/kernel/api/bazaar.go +++ b/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) diff --git a/kernel/api/router.go b/kernel/api/router.go index 6af5564d5..fc6e51ee2 100644 --- a/kernel/api/router.go +++ b/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) diff --git a/kernel/model/bazzar.go b/kernel/model/bazzar.go index a531f9a27..a01c3a36e 100644 --- a/kernel/model/bazzar.go +++ b/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