mirror of
https://github.com/APIParkLab/APIPark.git
synced 2026-06-14 20:41:15 +08:00
46 lines
1.2 KiB
Go
46 lines
1.2 KiB
Go
package apinto
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/APIParkLab/APIPark/gateway/apinto/plugin"
|
|
|
|
"github.com/APIParkLab/APIPark/gateway"
|
|
admin_client "github.com/eolinker/eosc/process-admin/client"
|
|
)
|
|
|
|
var _ gateway.IPluginSetting = &PluginSettingClient{}
|
|
|
|
type PluginSettingClient struct {
|
|
client admin_client.Client
|
|
}
|
|
|
|
func (p *PluginSettingClient) Init(ctx context.Context) error {
|
|
//data, err := json.Marshal(map[string]interface{}{
|
|
// "plugins": plugin.GetGlobalPluginConf(),
|
|
//})
|
|
//log.Println(string(data), err)
|
|
return p.client.SSet(ctx, "plugin", map[string]interface{}{
|
|
"plugins": plugin.GetGlobalPluginConf(),
|
|
})
|
|
}
|
|
|
|
func (p *PluginSettingClient) Set(ctx context.Context, configs []*gateway.PluginConfig) error {
|
|
globalPlugins := make([]*plugin.GlobalPlugin, 0, len(configs))
|
|
for _, cfg := range configs {
|
|
globalPlugins = append(globalPlugins, &plugin.GlobalPlugin{
|
|
Config: cfg.Config,
|
|
Id: cfg.Id,
|
|
Name: cfg.Name,
|
|
Status: cfg.Status,
|
|
})
|
|
}
|
|
return p.client.SSet(ctx, "plugin", map[string]interface{}{
|
|
"plugins": globalPlugins,
|
|
})
|
|
}
|
|
|
|
func NewPluginSettingClient(client admin_client.Client) *PluginSettingClient {
|
|
return &PluginSettingClient{client: client}
|
|
}
|