Adding EnsureBot plugin helper. (#10542)
* Adding EnsureBot plugin helper. * Removing unessisary GetBot call. * Moving to own file and error handling cleanup. * Removing patch functionaliy. Plugins should manage their own bot account updates for now. * Adding tests and cleaning up errors. * Modify to not shadow err. * Moving helpers to seperate interface. * Feedback fixes
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
2d3fb4f426
Коммит
6d336e0666
@@ -7,16 +7,21 @@ import (
|
||||
"github.com/hashicorp/go-plugin"
|
||||
)
|
||||
|
||||
const (
|
||||
INTERNAL_KEY_PREFIX = "mmi_"
|
||||
BOT_USER_KEY = INTERNAL_KEY_PREFIX + "botid"
|
||||
)
|
||||
|
||||
// Starts the serving of a Mattermost plugin over net/rpc. gRPC is not yet supported.
|
||||
//
|
||||
// Call this when your plugin is ready to start.
|
||||
func ClientMain(pluginImplementation interface{}) {
|
||||
if impl, ok := pluginImplementation.(interface {
|
||||
SetAPI(api API)
|
||||
SetAPI(api API, helpers Helpers)
|
||||
}); !ok {
|
||||
panic("Plugin implementation given must embed plugin.MattermostPlugin")
|
||||
} else {
|
||||
impl.SetAPI(nil)
|
||||
impl.SetAPI(nil, nil)
|
||||
}
|
||||
|
||||
pluginMap := map[string]plugin.Plugin{
|
||||
@@ -31,11 +36,13 @@ func ClientMain(pluginImplementation interface{}) {
|
||||
|
||||
type MattermostPlugin struct {
|
||||
// API exposes the plugin api, and becomes available just prior to the OnActive hook.
|
||||
API API
|
||||
API API
|
||||
Helpers Helpers
|
||||
}
|
||||
|
||||
// SetAPI persists the given API interface to the plugin. It is invoked just prior to the
|
||||
// OnActivate hook, exposing the API for use by the plugin.
|
||||
func (p *MattermostPlugin) SetAPI(api API) {
|
||||
func (p *MattermostPlugin) SetAPI(api API, helpers Helpers) {
|
||||
p.API = api
|
||||
p.Helpers = helpers
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user