diff --git a/kernel/api/bazaar.go b/kernel/api/bazaar.go index a5055840d..b7fd59352 100644 --- a/kernel/api/bazaar.go +++ b/kernel/api/bazaar.go @@ -72,9 +72,13 @@ func getInstalledPlugin(c *gin.Context) { } frontend := arg["frontend"].(string) + var keyword string + if keywordArg := arg["keyword"]; nil != keywordArg { + keyword = keywordArg.(string) + } ret.Data = map[string]interface{}{ - "packages": model.InstalledPlugins(frontend), + "packages": model.InstalledPlugins(frontend, keyword), } } diff --git a/kernel/model/bazzar.go b/kernel/model/bazzar.go index dcb14f601..27a567207 100644 --- a/kernel/model/bazzar.go +++ b/kernel/model/bazzar.go @@ -60,9 +60,9 @@ func filterPlugins(plugins []*bazaar.Plugin, keyword string) (ret []*bazaar.Plug return } -func InstalledPlugins(frontend string) (plugins []*bazaar.Plugin) { +func InstalledPlugins(frontend, keyword string) (plugins []*bazaar.Plugin) { plugins = bazaar.InstalledPlugins(frontend, true) - + plugins = filterPlugins(plugins, keyword) petals := getPetals() for _, plugin := range plugins { petal := getPetalByName(plugin.Name, petals)